Hey - looks cool :)

Hi DolceTriade,
I've been rooting around all things Tremulous and Unvanquished the last couple days (after having an idea for trying to set up a round-based version).
This tutorial looks quite interesting (reminds me of a tutorial I started for an Open Source RTS once :P ). I'm betting / guessing you are on the Unvanquished IRC - which nick do you go by?  (I'm SeanCJ pretty much every where, so not hard to make me out).
If you could give me a hand showing how to get this tutorial going, that'd be cool (and I'd be interested in expanding, perhaps together ?).
Regards,
Sean

Ah, Ishq - I've seen you already then :).
I'll be around. I think freem was saying it seems like it'd be a good idea to get the Lua support "mainlined" :P. Seeing all the stuff you've been doing with it, I reckon he's right!
As soon as I can test (might be a while I guess :)  ), I'll get back to you.

I've not yet tried getting Unvanquish to compile (still plan too though).
What's the status from your side on this: https://github.com/Unvanquished/Unvanquished/issues/2552#issuecomment-1487438024 ?
My impression was you're looking for stronger confirmation than just freem's before you'd go ahead?

I need to spend some time to rebase my changes. Will need to be a weekend project since I'm somewhat busy during the weekdays.

Didn't want to push you.
And I agree that it probably makes sense to make sure a merge would have widespread support first!
I guess I was just hoping this doesn't drop off into Limbo again, cause I'd really love to see it mainlined :).

I guess I'll ask around on the Develop channel, maybe get some feedback from the other "core" devs - so there's a clearer picture in case you would like to move this forwards.


enhance:Postgres expression

Builder for postgres.
Generate SQL statements that may have postgres dependencies, such as placeholder symbols for parameters, functions, and types.

You may be able to get the variable name using the nameof function.
nameof(variable);

Because the issue is not specific, it is being reorganized.
Close here.


Extracting species abundance from uBiome FASTQ outputs

We now have sequencing data from uBiome as both raw FASTQ sequences and taxonomy-level abundance summaries. We'd like to compute taxonomical abundance from the FASTQ data using an open source pipeline, as part of this repository. I haven't done anything like this before.
@eliesbik mentioned that the programs mothur (mothur/mothur) or Quime could be useful. Here's a comparison blog post. Note that Qiime version 1 (qiime/qiime) will soon be replaced by Qiime2 (qiime2/qiime2). @eliesbik also mentioned that someone familiar with the process at uBiome may be interested in contributing.
There's a ubiome-opensource/microbiome-tools repository by @richardsprague, which contains information on analyzing uBiome data. However, it looks like this project currently focuses on analyzing the taxonomic summaries rather than the raw FASTQ data.
On Biostars, there was a question about processing uBiome FASTQ data, but the answers are inconclusive.
Anyways, we'll use this discussion for coordinating how to process the FASTQ data.

For a single sequencing run (ssr_300909.zip in this example), there are multiple FASTQ files:
ssr_300909__R1__L001.fastq.gz
ssr_300909__R1__L002.fastq.gz
ssr_300909__R1__L003.fastq.gz
ssr_300909__R2__L001.fastq.gz
ssr_300909__R2__L003.fastq.gz
ssr_300909__R2__L004.fastq.gz

In ssr_300921.zip there are:
ssr_300921__R1__L002.fastq.gz
ssr_300921__R1__L003.fastq.gz
ssr_300921__R1__L004.fastq.gz
ssr_300921__R2__L001.fastq.gz
ssr_300921__R2__L002.fastq.gz
ssr_300921__R2__L003.fastq.gz
ssr_300921__R2__L004.fastq.gz

So what do the multiple parts of these file names refer to?
My understanding is that R1/R2 refers to the paired end sequencing, such that R1__L002 and R2__L002 contain the respective ends of the same sequences? However, there's not always a compliment (not every R1 has an R2), which confuses me.
The L001 through L004 refer to sequencing lane? Multiple samples are sequenced in the same lane, but the demultiplexing has already been performed, so only sequence for the listed sample are part of the FASTQ file?


Move the DelegationService constructor fields into onCreate.

I probably will want to change the name of the classConstructor field, but with this in place, your orientation fix and with notifications enabled, TWA Play Billing integration finally works.

Thanks for the merge!
I'll rename the variable in a follow up PR.


Scrollbar Issue

Hello,
So a quick background of my current website I am working on, it has the following:
-wow.js
-animate.css
-lightbox 2
I removed each of them to test what was causing it and its animate.css.
To get the thumbnail images I used inline-block and when I remove that piece of code the thumbnails load straight down the left like they would but fit in within the browser. So my guess is animate.css is thinking it shouldn't be inline but straight down in a single line thus the extended scroll bar.

hopefully this makes sense..
Thanks in advance.
UPDATE 1: It seems to be only a problem in Chrome. But it is still an effect of animate.css I believe.
UPDATE 2: I referenced #1 but it didn't fix the problem in Chrome.

@HelloKadyn Please post any test case using jsfiddle OR codepen.

@Yeswanth-JG I read about Google Chrome having a bug with display: inline-block and someone had commented saying if you put  between the elements with inline-block it fixes it which it does. So I am sure this thread can be closed, but thank you anyways.


helix: 22.08 -> 22.08.1

Description of changes
This is a small patch release that fixes a panic that was quite easy to trigger 😅
https://github.com/helix-editor/helix/releases/tag/22.08.1
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg eval

Result of nixpkgs-review pr 189327 run on x86_64-linux 1

1 package built:

helix


Timetable navigation

Pull Request Test Coverage Report for Build 439

80 of 80 (100.0%) changed or added relevant lines in 8 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 90.334%

Totals

Change from base Build 436:
0.2%

Covered Lines:
3486

Relevant Lines:
3859

💛  - Coveralls


Scrolling changes values in "Deploy Market" view

If you hover over the price of an asset and then scroll up or down, the value is incremented/decremented. We don't want this. Note that this makes it possible to set the price to negative values.

Disable standard scroll behavior
Create single input component that can be re-used throughout the app


Rely less on earthly and more on pure docker instructions

So they can easily be moved into the dockerfiles

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

This is part of: https://github.com/kairos-io/kairos/issues/1897
E.g. if we move the rest of the steps to a script and we run it inside the Dockerfiles, 1897 is pretty much done.

Let keep this open until we investigate alternative ways (e.g. put each distro logic to its own Dockerfile, even if there is some duplication)

Closing in favor of: https://github.com/kairos-io/kairos/issues/1897


Adapt to Coq PR #12146: tactic subst now inactive on section variables with indirect dependency in goal

The fix is a priori backward-compatible and can be merged now.
See coq/coq#12139 for the motivation.

The fix is a priori backward-compatible and can be merged now.

I double-checked and the fix is backward-compatible. The best would be to merge it now to prevent Coq CI disruption.

@ppedrot informed me that this PR does not pass the MetaCoq CI. On my side (and on Coq CI), it compiled. The MetaCoq CI is testing branch coq-8.11 of MetaCoq. Is it expected? On its side, Coq CI is testing the master branch of MetaCoq.
What probably happened is that when I first submitted the PR, it was coq-8.11 and I did not pay attention to it. If testing against coq-8.11 is indeed not expected this is probably because the CI did not take into account that I changed the base to master only in a second step.

@herbelin yes, you should be careful to target metacoq:master which is not the default one.

In any case, great that the confusion is resolved!


Error threshold description is contradictory

https://github.com/mjhea0/cypress-visual-regression#to-use

Value can range from 0.00 (no difference) to 1.00 (every pixel is different). So, if you enter an error threshold of 0.50, the test would fail only if 0.51 percent of pixels are different.

If 1.00 means every pixel is different, that means 100%. In which case 0.50 would imply 50% of pixels, not 0.51%.

@vvanpo thanks for bringing this to my attention.
Does this wording suffice:
Value can range from 0.00 (no difference) to 1.00 (every pixel is different). So, if you enter an error threshold of 0.51, the test would fail only if > 51% of pixels are different.
More examples:

Threshold
Fails when

.25
> 25%

.30
> 30%

.50
> 50%

.75
> 75%

@mjhea0 Yep, that clears up the ambiguity.

Updated https://github.com/mjhea0/cypress-visual-regression/pull/24


Instead of promisifying all methods of mongoose, plugin bluebird into…

… mongoose

Coverage increased (+0.04%) to 92.13% when pulling 8a15388266a977de3b9a3c9bb9a70d3a147e01d3 on develop-plugin-bluebird into 4917e6b52ba8401452b2349b7312d0f7f38f6830 on develop.


Existing file showing incorrect PERIOD

When uploading file with the correct format but the order of start-date and end-date is reverse in the filename, it still allows to upload by correctly reverse the order. However, when the file is successfully uploaded, it shows the incorrect order in the existing file lists. Please see the image

It is difficult to understand what the problem is just from a screenshot. Would you be able to provide information regarding the content of your database objects. This will help understand what might be happening here.

@fguitton : yes, for example the filename is: IAAAAAA-BEDJC6TJT-20200905-20200704.EXT, indicating that the start-date is 2020/09/05, and end-date is 2020/07/04 -> should be wrong. Interestingly, in the upload page, it automatically switches the start-date and end-date, become: start date:  2020/07/04  and end-date 2020/09/05. However, in database, it stores exactly as in the filename (start-date > end-date), which is wrong.
This, You can see in the list of files (figure) that the start-date is 2020/09/05 and end-date is 2020/07/04 :dagger:


Add runnables support

This adds support for runnables, which allow writing tasks like this:
[
  {
    "label": "Scala run",
    "command": "scala-cli $ZED_FILE",
    "tags": ["scala-main"]
  }
]

@tgodzik, are there any other ways that the main function/object can be defined that you know of?

Are these the main three? If yes, I'd say that's enough for now, that's already much better than before

I would say those are the main 3 yeah

Then, if you are okay with these changes, this is ready to merge. I'm also going to add automatic metals installation and bump the version tomorrow


using emojis 👍 👎 instead of colors

The current sidebar is peppered with so many colours that it becomes a bit overwhelming to grab necessary information.
I feel adding emojis (which people are familiar with) and icons would help reduce the information clutter.
cc @rasagy @geohacker @manoharuss

May be change the background colour of the entire row?

@kepta @geohacker Good point, adding this in the list of things we want to iterate (from a design perspective). 🙇

added some icons to make it a bit smoother.

@kepta Nice! The icons look good but I think we should stick to using big text in green, yellow and red for consistency across tools and OSM. @rasagy


gsoc2023: net: http: culminating pull request

This PR includes all commits for the gsoc2023 HTTP project.
Please see each commit message for details.

Say you had a uC with a single core, not even multi-threading capable. Say that the firmware on this uC had to do lots of things like read GPIO, read / write from flash memory, serve / respond to HTTP traffic, etc

int http_client_input_work(client_context *ctx)
{
  // how many bytes to read?
  // depends on http parser state
  // depends also on how much data is available on your transport
  // in Linux:
  int bytes_available_to_read;
  int ret = ioctl(ctx->fd, FIONREAD, &bytes_available_to_read);
  // in Zephyr?

}

int http_client_output_work(client_context *ctx)
{
  // how many bytes to read?
  // depends on http parser state

  // depends also on how much data is available on your transport
  // in Linux:
  int bytes_available_to_write;
  int ret = ioctl(ctx->fd, FIONWRITE, &bytes_available_to_read);
  // in Zephyr?

  // how many bytes we can write on ctx->fd WITHOUT blocking at all
  int bytes_to_write = MIN(bytes_available_to_write, ctx->output_buffer_size);

  // linear buffer (array)
  int bytes_written = write(ctx->fd, ctx->output_buffer, bytes_to_write);
  // check for errors...
  __ASSERT_NO_MSG(bytes_written == bytes_to_write);
  // downside of linear buffer is that we either keep track of offset or use memmove to move data to the front of the array
  memmove( ... );

  // struct ring_buffer approach
  ret = write(ctx->fd, ctx->output_ring, /* MIN(bytes_to_write, ring_buffer_bytes_to_end_of_ring) */ );
  // check for errors..
  bytes_written += ret;
  bytes_to_write -= ret;
  // drain N bytes from ring buffer (essentially update internal counters)

  if (bytes_to_write > 0) {
    ret = write(ctx->fd, ctx->output_ring[offs], /* MIN(bytes_to_write, ring_buffer_bytes_to_end_of_ring) */ );
    // check for errors
    // drain bytes_to_write bytes from ring buffer
  }
}

int do_http_work(void)
{
  int server_fd;
  int cancel_fd;
  struct pollfd pfd[1 /* server_fd */ + 1 /* cancellation_fd */ + max_num_clients ];

  // condition pfd array (POLLIN, POLLOUT)

  int ret = poll(pfd, ARRAY_SIZE(pfd), 0);
  switch(ret) {
  case 0:
    return;
  case -1:
    // report error to main as -EINTR
    return -errno;
  default:
    break;
  }

  // ret contains the number of file descriptors in pfd that have events
  for(int i = 0; ret > 0; --ret, ++i) {
    struct pollfd *p = &pfd[i];

    if (p->fd == cancel_fd) {
      if (!(ctx->client_fds[i].revents & POLLIN)) {
        http_server_shutdown();
        return;
      }
    }

    if (p->fd in client_fds) {
      if ((ctx->client_fds[i].revents & POLLERR) == POLLERR) {
        // handle error
        close_client_connection();
      if ((ctx->client_fds[i].revents & POLLHUP) == POLLHUP) {
        // handle socket close
        close_client_connection();
      } else if ((ctx->client_fds[i].revents & POLLOUT) == POLLOUT) {
        // there is room to write data on this socket
        // even our outgoing traffic has to be stateful!
        // so sendAll() cannot work in a fully async system
        http_client_output_work(&client_context[p->fd]);
      } else if ((ctx->client_fds[i].revents & POLLIN) == POLLIN) {
        // there is room to write data on this socket
        // even our outgoing traffic has to be stateful!
        // so sendAll() cannot work in a fully async system
        http_client_input_work(&client_context[p->fd]);
      }
    }

    if (p->fd == server_fd) {
      // check if server *can* accept new client (check if num clients < max)
    }
  }
}

int main()
{
  do {
    // all of these functions would need to be more or less instantaneous
    do_gpio_work();
    do_flash_memory_work();
    do_http_work();
    // sleep until some event happens
  } while(1);
}

One thing I'm leaning towards is dropping the '2' from the majority of the structure names and constants.
Certainly many of them will be used to support http/1.1 and maybe even http/3.
I think adding the '2' needlessly complicates the http namespace.

Hi all, what is the plan with this one (considering merging)? There are lot of commits (a bit too much imho), and reviewing becomes harder. Is there something major still missing from this?
Should we just remove the draft status and have a normal PR so that more people would look at it?
Also we might consider merging this even if not ready so that remaining issues could be resolved more easily. We could add to documentation that this is still very experimental. WDYT?

ping @cfriedt, any ideas / suggestions regarding my question?

ping @cfriedt, any ideas / suggestions regarding my question?

@jukkar - are you on Discord by any chance?

are you on Discord by any chance?

Yes, my nick is jukkar

Moving the work to #64465, please add comments there. Closing this one.


Transform block sometimes not work

 - (void)yy_setImageWithURL:(NSURL *)imageURL
               placeholder:(UIImage *)placeholder
                   options:(YYWebImageOptions)options
                  progress:(YYWebImageProgressBlock)progress
                 transform:(YYWebImageTransformBlock)transform
                completion:(YYWebImageCompletionBlock)completion;

The transform block doesn't invoke sometimes when I use this method.

This block will be invoked once only if the image is loaded from remote/local URL.

When I resize and round the image in transform block in UICollectionViewCell, there are some images haven't be resized and rounded and others had be resized and rounded. I am sure all image load from remote are the same size.

I recommend to use a custom image manager with another image cache to store the transformed images.
For example:
https://github.com/ibireme/YYKit/blob/master/Demo/YYKitDemo/WBStatusHelper.m#L81-L94
https://github.com/ibireme/YYKit/blob/master/Demo/YYKitDemo/WBStatusCell.m#L754-L760
You man clear your image cache, and run your code again to see the result.

Great, thanks a lot.


Is it possible to use drab without elixir?

I can see in the javascript files that there is some elixir templating to inject values. But is it somehow possible to use this with a different backend?
Sorry if this isn't the right place to ask.

No, it is not. Drab is made with Elixir and Phoenix only.

On 24 Jan 2022, at 05:22, Hassan El-Mehalawi @.***> wrote:
I can see in the javascript files that there is some elixir templating to inject values. But is it somehow possible to use this with a different backend?
Sorry if this isn't the right place to ask.
—
Reply to this email directly, view it on GitHub https://github.com/grych/drab/issues/208, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAYVXTE4QW7GWUGRVMGWXLUXTHZRANCNFSM5MUKD6KQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.


Remapped keys don't work in the windows emoji picker

Microsoft PowerToys version
0.64.1
Installation method
WinGet
Running as admin
Yes
Area(s) with issue?
Keyboard Manager
Steps to reproduce
Remap a key, open the emoji picker using Win + . and try pressing the remapped key in the search bar.
✔ Expected Behavior
The remapped key should be typed out in the emoji picker
❌ Actual Behavior
No character gets typed in the search bar
Other Software
No response

/dup #14328


I have a question about a game with blocked achievements

hello, my question is if they can make the achievements blocked (in this case it is the super monday night combat) a game that I tried to play but it no longer exists, it can no longer be played and its servers no longer work, I can not enter to the menu etc, I mean a useless game, and also with blocked achievements
can you make super monday night combat unlockable or is there something preventing it?

Those achievements are server-sided. SAM cannot unlock anything that isn't stored locally on your system.


Relative positional encodings with Hyena

Hello,
Is there a way to implement relative positional encodings with Hyena similar to what was done in the Transformer-XL paper? Any tips on how to implement that?

Are you interested in trying relative encodings for the implicit long convolution filter (HyenaFilter) or a more traditional implementation of encodings that would work at the HyenaOperator level? In our experience, the latter does not appear to affect performance much, since Hyena is not permutation equivariant.
We recevied requests for a version with KERPLE positional embeddings, so that might be something to consider.

Hi,
I was thinking more of the former (relative encodings for the implicit long conv filter), have you tried that?


.DZI creator using grid images.

Hello!
Is it possible to create a full resolution image using openSeadragon? I have a 300X300 image, I want to display the mosaiced image. The images can be assembled without any processing (without crop, blending etc.), joining vertically and horizontally. I am using Pyvips to create .dzi image but it's taking huge RAM around 20GB for this set, I want it to bring down <4GB RAM uses. I just need to see the full resolution image. Is there any API to do this, How can this be done?

So you're creating a mosaic out of 300px square images? And you want to go directly from those images to a DZI, without going through the step of stitching it together into a giant image first? Theoretically it should be possible, but you'll need to right a custom script for it; I'm not aware of an existing script that will do that.
Take a look at the DZI docs:
https://github.com/openseadragon/openseadragon/wiki/The-DZI-File-Format
... To get an idea of what you're building. You'll want your tile size to be 300 and your overlap to be 0. Then layout all of your 300px images using the DZI filename structure. That's your high resolution layer. Then you need to make the lower resolution layers, by taking quartets of tiles and turning them into single 300px tiles; that's your next layer. From there just keep repeating until you get to the smallest level.
Of course maybe you don't care about the lower levels and just want to visualize the highest resolution? If that's the case, making a custom tile source is probably best:
http://openseadragon.github.io/examples/tilesource-custom/
You can have it only care about the one layer.
Anyway, let me know if I understood your question properly, and if you have any questions about my answer :)

I see from https://stackoverflow.com/questions/51588329/tiling-of-large-numer-of-images-using-database that your images are actually 640px by 480px (and that you have 300x300 of them). Note that the DZI format requires square tiles, so you wouldn't be able to have one tile per image. You could still build a DZI this way, but you would have to do more math to figure out which images go in which tiles.
I believe it's possible to make a custom tile source with non-square tiles (use tileWidth and tileHeight instead of tileSize).

Thanks @iangilman
I have understood the concept of .dzi. I can create it manually at each level and resolution. The whole mosaiced image can be cropped in 256X256 and the remaining area can be padded, but we need to have prior information of mosaiced image size and coordinates of images and thus it can be mapped in different resoltuions and levels.
Still I am searching for some open source code which can do my job.

Okay, good luck! I don't know of such code, but it must be out there!


West Bengal data stopped updating after 1st Feb

Hi,
Is there a new version for data-all.json ? I was using https://api.covid19india.org/v4/data-all.json but from 1st of Feb it's not being updated. The source have new data though https://www.wbhealth.gov.in/pages/corona/bulletin
Is there a new API for this? Or the google spreadsheet (I couldn't find/view it) is not updated anymore for WB ? Let me know if I can personally update the sheets for WB somewhere.
Thanks for this awesome project!

Hey @amritb, we ran into some space issues with GitHub and v4/data-all.json. Hence, we deprecated the unminified version. Please use https://api.covid19india.org/v4/min/data-all.min.json. It's the same file, just smaller.


Inherit aliases from .cargo/config.toml

Feature Description
I have a number of aliases defined in my .cargo/config.toml file, like this:
[alias]
quiz = "test --all-targets --all-features"
exam = "test --all-features"
clip = "clippy --all-targets --all-features"

There should be a way in cargo-make to run those aliases without the boilerplate of re-defining them in Makefile.toml.
Describe The Solution You'd Like
If I run cargo make quiz, cargo-make should first look for a "quiz" target, and if it fails to find one, it should behave as if the following target were present:
[tasks.quiz]
command = "cargo"
args = ["quiz"]

I realized that I can invert this structure: define the helper commands in Makefile.toml and write aliases to them in .cargo/config.toml.  This requires that the user have cargo-make installed.

that's a really interesting idea.
you can invert as you said, and ya it means users need cargo-make installed, but usually it also means you build needs it anyway.
regardless, defining tasks from those aliases is a really neat idea.
let me take a look at what i can do

@sffc just push this support to the development branch.
Basically to enable cargo aliases to be automatically loaded as tasks as well, you have to enable it in the makefile config section as follows:
[config]
cargo_load_aliases = true

@sffc this feature is now published. thanks a lot

That's awesome; thanks!!
Note: I see the option is called load_cargo_aliases, not cargo_load_aliases as in your post above.

right, my mixup. that's what you get when you don't copy paste :)


Chrome -  Socks5 IP authoriz.

Hello, pls add ip authorization  login:password for socks5
and add ip=domain.
many services have domain:port, not ip:port
thanx.

currently, this feature can't - https://bugs.chromium.org/p/chromium/issues/detail?id=256785
in the future chrome add the option for password auth will implement it


Support ST chip identification

ST has a proprietary method to identify chips, based on the DBGMCU_IDCODE register. This is described in the reference manuals of the chips.
We should support this to properly identify ST chips.
See #113 for more discussion of this.

Hi @Tiwalun, I'd like to give this a shot this weekend, but I'd need some tips. It's my first time contributing. I can figure out the stuff out of the reference manual but I wouldn't know where to start in the code.

Welcome @andresovela :wave:, thanks for helping out!
The autodetect functionality currently starts with the try_arm_autodetect function in session.rs:
https://github.com/probe-rs/probe-rs/blob/c44a1ec444895594104c901361d645f3376c79aa/probe-rs/src/session.rs#L289
Currently, this function then tries to identify the chip by reading the ROM table, which is accesible over the debug port. It  tries to find a matching chip by comparing the manufacturer ID and peripheral ID from the ROM table with the stored values in the target files (in the probe-rs/targets subfolder).
Two changes should be necessary to support the STM chips:

[ ] The autodect code should be changed so that it reads the DBGMCU_IDCODE register, when a STM32 chip is detected.
[ ] The target description file format has to be adapted so that the ST-specific ID code can be stored.

If you have more questions, feel also free to ask in the probe-rs channel on Matrix.

Thanks, I'll see what I can do 👍

I just found https://docs.rs/stm32-device-signature/, it seems that the flash size can be read from some registers as well. I'm not sure if this works for any chips, however.

If the target information is updated to include the address for DBGMCU_IDCODE (it seems to be different for some chip families), it would be very nice if DBGMCU_CR information could be added because it's part of the same subsystem and should be easy to do in the process. This will be useful for fixing #350.

Note that this is partially covered in #431, but it's not as much info because it's taken from the arm romtable.

Yeah the problem here is that the values in the romtables are not unique to one chip but family, unfortunately. This has been confirmed by the author of pyOCD who's an ARM employee even.
Most manufacturers have custom registers in place tho, which uniquely identify the chip if the ARM provided IDs are not unique as they should be as per spec.
So now that 0.10.0 is out, my focus will be on a) hardware testing to prevent any kind of regressions and b) bringing up debug sequences which will bring vendor provided special procedures (such as chip unlocking, etc.) to probe-rs. In the same go, I would like to add a sequence type, which can determine the chip (on a per family basis), effectively making it possible to autodetect the chip!
I am not sure if I have written this down previously, but it has been a hot topic on Matrix some time ago :)


Create a separate test for exceptions

Description
It is good to keep the workflow testing logic separated - one per test.
Create a new test for the cases when we are waiting for an exception.
Are you interested in working on this improvement yourself?

Yes, I am.

I will take this up @gmuraru.


for yolov2  header = np.fromfile(fp, count=5, dtype=np.int32)

Do you mean the header of the newest darknet contains 5 int？

int major;
int minor;
int revision;

fread(&major, sizeof(int), 1, fp);
fread(&minor, sizeof(int), 1, fp);

fread(&revision, sizeof(int), 1, fp);

if ((major*10 + minor) >= 2){
    fread(net->seen, sizeof(size_t), 1, fp);

} else {
    int iseen = 0;
    fread(&iseen, sizeof(int), 1, fp);

    *net->seen = iseen;
}

sizeof(size_t)==8

I use darknet2caffe.py to convert  tiny-yolo model,the caffe output's precision  is a bit lower than darknet
how to deal with it, any suggestion?

The normalized and maxpool (stride=1, size=2) in darknet are different from caffe
normalize_cpu:
x[index] = (x[index] - mean[f])/(sqrt(variance[f] + .00001f));

it's very kind of you,do me a lot favor

you are welcome!


update readme

just add another picture on readme

Hi @owlfox. It's great to see that you've made a map using Terria. We're always excited to see more people using Terria to make great applications. Let us know if you want us to feature you in our TerriaJS readme. We have a section https://github.com/TerriaJS/terriajs/blob/master/README.md#not-data61 to publicise maps made by the community.

Hi @steve9164,
Thank you for closing the pull request, It looks like I opened it by mistake.
I'm still integrating slowly with the air quality sensor open data from government or LASS(Location Aware Sensing System) https://lass-net.org/ and introduce to more people in Taiwan.
Thank you all for such a great work, it's really easy to pull in different geo datasets!


Terminal cursor not visible when opening terminal

Issue Type: Bug
When opening the terminal the cursor is not visible, you will not see the terminal line. You have to press enter to  let the terminal input show.
VS Code version: Code 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60, 2019-02-12T02:20:54.427Z)
OS version: Windows_NT x64 10.0.17763

/duplicate of #57803


Point out that PR needs to remove GraalVM reachability metadata related to MBeans

What does this PR do?

Fixes https://github.com/oracle/graalvm-reachability-metadata/issues/133 .

Checklist before merging

[x] I have properly formatted metadata files (see CONTRIBUTING document)
[x] I have added thorough tests. (see this)

I don't think there's anything Spring or Spring Boot-specific about the problem. It will be harder to reproduce now after the corrections to the metadata. Please open the requested GraalVM issue and I'll help out there as time permits. IMO, linking to https://github.com/spring-projects/spring-boot/issues/33210 would be a good start.

I should also have said that, while I agree that this should be fixed on the Graal side, I don't think metadata contributions should include anything for types like com.sun.management.GarbageCollectorMXBean which they never even touch irrespective of whether or not that cause a failure. If this PR has been declined, what alternative measures can we put in place to prevent future metadata updates causing problems or being too broad in scope?

We have a check now that makes sure that all conditions in the metadata are related to the library in question. This way, all unintentional metadata additions of this kind should be avoided.

Great stuff! Thank you.

I still can't create a minimal reproducible Example, so I just opened https://github.com/oracle/graal/issues/6322.


tells me to boot local node, but it is already booted?

Notice the yellow bar at the top telling me to boot local node, but the error message telling me it is already booted.
I am not even sure how I made that happen, but I got it to do it twice.  After I updated I clicked runMon.  The third time I just clicked runNcc and runNis and then just went to the landing page and it worked fine.
logs https://www.dropbox.com/sh/r17buodssahmn7y/AADSaogQPCtdyLHahokOVWCOa?dl=0

I can repeat this error via clicking runMon in the installer, but again if I just click runNcc and runNis and then go to the landing page manually, it works fine.
Ruben is using the installer and has now reported the exact same bug showing up there too.

I continue to have a problem with running NEM monitor in stand alone on 0.6.28
the problem is that after NEM starts I get a yellow bar the top telling me to boot local node, yet when I try I get an error telling me it is already booted
the problem is solved by not running monitor 😊
instead click runNcc and then runNis and then go to the landing page
and then NEM works fine. So clearly it is a problem with monitor.

Both Wiser and Reuben both have this problem.  We were able to solve it by backing up wallets/private keys.  Deleting both NEM folders (in programs and users), clearing Java cache, and installing again.


feat: support join error match for eris.Is and eris.As

What's changed and what's your intention?
Checklist

[ ] I have written the necessary docs and comments
[ ] I have added necessary unit tests and integration tests

Refer to a related PR or issue link (optional)

I think this LGTM, but let's wait with merging until the discussion in https://github.com/risingwavelabs/eris/pull/26 is done.


Windows 11 - CUDA + onnxruntime setup

I am having some difficulty with adding CUDA/openvino execution providers.
[dependencies.ort]
version = "2.0.0-alpha.4"
# I've also tried `git = "https://github.com/pykeio/ort.git"`, `2.0.0-rc.0`
optional = true
default-features = false
features = [
  "cuda",
  "load-dynamic",
  "ndarray",
  "openvino",
]

I've tried both onnxruntime-win-x64-cuda12-1.17.1.zip and onnxruntime-win-x64-gpu-1.17.1.zip pre-built releases, using the following environment:
ONNXRUNTIME_DIR="C:\Users\hctim\repos\bevy_ort\onnxruntime\" ORT_DYLIB_PATH="C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime_providers_openvino.dll" cargo run

❯ echo $CUDA_HOME
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
12.2
❯ echo $CUDNN_HOME
C:\Program Files\NVIDIA\CUDNN
9.0

execution provider library loading error
2024-03-09T18:17:08.521250Z  INFO ort: Loaded ONNX Runtime dylib with version '1.17.1'
2024-03-09T18:17:08.615835Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `CoreMLExecutionProvider`: Error trying to load symbol `OrtSessionOptionsAppendExecutionProvider_CoreML` from dynamic library: GetProcAddress failed
2024-03-09T18:17:08.626525Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `CUDAExecutionProvider`: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1209 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime_providers_cuda.dll"

2024-03-09T18:17:08.627192Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `OpenVINOExecutionProvider`: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1209 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime_providers_openvino.dll"

2024-03-09T18:17:08.627943Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `DmlExecutionProvider`: Error trying to load symbol `OrtSessionOptionsAppendExecutionProvider_DML` from dynamic library: GetProcAddress failed
2024-03-09T18:17:08.630242Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `TensorrtExecutionProvider`: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1209 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime_providers_tensorrt.dll"

2024-03-09T18:17:08.630606Z  INFO apply_execution_providers: ort::execution_providers: Successfully registered `CPUExecutionProvider`

ORT_DYLIB_PATH="C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime_providers_openvino.dll"

This is not valid. ORT_DYLIB_PATH must point to the onnxruntime.dll, not the provider DLLs as those only implement the EPs and not the ORT API itself.

I see, thanks for clarifying. there is a similar behavior with ORT_DYLIB_PATH=.../onnxruntime.dll:
❯ ORT_DYLIB_PATH="C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime.dll" cargo run
...
2024-03-09T19:30:13.299127Z  INFO ort: Loaded ONNX Runtime dylib with version '1.17.1'
2024-03-09T19:30:13.394502Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `CoreMLExecutionProvider`: Error trying to load symbol `OrtSessionOptionsAppendExecutionProvider_CoreML` from dynamic library: GetProcAddress failed
2024-03-09T19:30:13.501907Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `CUDAExecutionProvider`: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1209 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime_providers_cuda.dll"

2024-03-09T19:30:13.502453Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `OpenVINOExecutionProvider`: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1209 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "C:\Users\hctim\repos\bevy_ort\onnxruntime\onnxruntime_providers_openvino.dll"

2024-03-09T19:30:13.502789Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `DmlExecutionProvider`: Error trying to load symbol `OrtSessionOptionsAppendExecutionProvider_DML` from dynamic library: GetProcAddress failed
2024-03-09T19:30:13.503113Z  WARN apply_execution_providers: ort::execution_providers: An error occurred when attempting to register `TensorrtExecutionProvider`: TensorRT execution provider is not enabled in this build.
2024-03-09T19:30:13.503340Z  INFO apply_execution_providers: ort::execution_providers: Successfully registered `CPUExecutionProvider`

There are additional prerequisites for OpenVINO, it's possible it can't find a DLL thus the LoadLibrary error: https://onnxruntime.ai/docs/execution-providers/OpenVINO-ExecutionProvider.html
Also: is onnxruntime_providers_shared.dll present in the onnxruntime folder?

the onnxruntime folder looks like this, copied from here: onnxruntime-win-x64-cuda12-1.17.1.zip
❯ cd onnxruntime
❯ ls
onnxruntime.dll  onnxruntime_providers_cuda.dll  onnxruntime_providers_shared.dll
onnxruntime.lib  onnxruntime_providers_cuda.lib  onnxruntime_providers_shared.lib
onnxruntime.pdb  onnxruntime_providers_cuda.pdb  onnxruntime_providers_shared.pdb

I can't reproduce this (Windows 11 + CUDA 12.1) with the onnxruntime-win-x64-cuda12-1.17.1.zip you uploaded:
$env:ORT_DYLIB_PATH = 'E:\Downloads\onnxruntime-win-x64-cuda12-1.17.1\onnxruntime-win-x64-cuda-1.17.1\lib\onnxruntime.dll';
cargo run --features cuda

CUDA is registered successfully. Maybe there's an issue with your CUDA install? Is cuDNN in the PATH? Maybe zlibwapi.dll is missing?
onnxruntime_providers_openvino.dll has nothing to do with Microsoft's CUDA binaries since they weren't compiled with OpenVINO support. If you want to have access to both OpenVINO + CUDA you'd have to compile ONNX Runtime from source; simply placing the EP DLL there unfortunately doesn't work.

I've resolved this by downgrading cuDNN from v9.0 -> v8.9.7. thanks for the help!

Where can I find onnxruntime_providers_openvino.dll


Add support for optionally creating iam service account members.

To disable the creation of the google project iam service account
members, users can provide the following in terraform.tfvars:
create_iam_service_account_members = false
This commit fixes #39

@ryanmoran - Thanks for catching the README.md issue. I have since fixed it in this PR.


Made port scanner script and added subparser allowing to use it

Example use of this subparser.

That's not super relevant to this PR but this is a (close to) rewrite of this code in Rust. The range-splitting math part is not perfectly working here (quick and dirty code written while in a car :smiley_cat:)
use std::net::TcpStream;
use std::thread;
use std::process::Command;

fn main() {
    let host_to_scan = "<IP_ADDRESS>";

    let mut threads = Vec::new();
    let nproc_out = Command::new("nproc").output().expect("nproc not found");
    let nproc_str = String::from_utf8(nproc_out.stdout).unwrap();
    let thread_num = nproc_str.trim().parse().unwrap();
    for i in 0..thread_num {
        threads.push(thread::spawn(move || {
            for port in (65535/thread_num)*i..(65535/thread_num)*(i+1) {
                if let Ok(_) = TcpStream::connect((host_to_scan, port)) {
                    println!("[+] Port {port} open");
                }
            }
        }));
    }
    for thread in threads {
        thread.join().unwrap();
    }
}

If you wanna play around with it. It's +- 10x faster

ship it :rocket:


Allowing aggregates to be loaded to a certain version

Closes #29

Although Travis says it failed, clicking through shows the tests actually passed.


Remove ExtensionTemplate.yml in template repos

This workflows isn't needed in templates.
It can be removed when running the set_extension_name.py script.

good idea, thanks!

Thanks @samansmink !


show record topic in slow-work warning message

Hi,
We are using "WARN" log level and switching to "INFO"/"DEBUG" level will lead to a lot of noise - though "Warning: {} records in the queue have been waiting longer than {}" is important enough but lacks details to troubleshoot the potential problem.
Shall at least topic names be added to that log message?

Let me know how you get on..


Loading of gemspec/version.rb interferes with autoloading mechanisms.

The standard rubygem setup has a lib/my_gem/version.rb which defines
module MyGem
  VERSION = "0.0.1"
end

This file is loaded in the .gemspec  When the gem is referenced by a path, Bundler loads the gemspec, which causes MyGem to become defined.  Libraries or frameworks (Rails, Guard) which use const_missing or other forms of reflection to load or optimize loading will then not trigger loading of the main module because the constant is already defined.
Minimal test case:
https://github.com/JustinLove/bundler_version_autoload_test_case

That is completely correct, as far as I know. Is there some way that this is related to Bundler, or is an issue that needs to be addressed?

Right, I lost some of the story in the process of writing things up.
The issue is that the application's behavior changed because of the manner in which gems were identified in Bundler.  So far as I can tell, identifying a gem by path causes Bundler to read the gemspec, which changes the set of defined constants that the app starts running with.
One thing I've figured out is that Bundler normally nukes this problem use by autorequring everything.  When I moved a gem from being listed in the gemfile to being listed in a gemspec which was listed in the gemfile, it became "part of the gemset" but not something which gets autorequired.  Work around is to immediately require the child gem in the file which bundler is going to autorequire.
That was in Rails.  Second place I've smacked into this was bringing in a guard by path reference.  Guard normally operates as a DSL, so it's conventional to require things (by bundler autorequire or otherwise)  Guard sniffs for a constant before requiring the extension, so when Bundler causes a conventional version.rb to be loaded, it breaks.

Interesting. Is this problem different from any other case that happens to load the gemspec or requires the version file? Do you have a proposed solution? Bundler can't really do anything about gems that decide to define a constant or module when the gemspec is evaluated.

I'm not sure it's a bug per-se, but it's definitely unexpected and frustrating ;^)  I don't think it's different from other cases; I'm not familiar with the RubyGem machinery but I wouldn't have expected the gemspec to be loaded except when installing gems and such.
I suppose one simple thing would be to change bundle gem to not produce that style of version.rb
Beyond that, I'd have to dig farther into the Bundler source to see if my theories are correct, and if it's possible to load gemspecs without affecting the global namespace.  Could you give me some pointers into the code to get me sniffing around the right area?

Well, the only reason that bundle gem produces that style of gemspec and version file is because that was (by rough consensus) found to be the best practice for gems by the wider community. That standard was not invented by Bundler, and we simply included the already-existing "standard" gem template in Bundler to make things easier for gem authors.
There are really only two widely used options in gems, a VERSION file or the version.rb file that we are discussing here. Given the vast number of gems already using this version.rb file, and the way that it has been adopted as a standard by the larger rubygems community outside of Bundler, I'm not really sure that changing bundle gem is going to help your problem.
AFAIK, it is not possible to load gemspecs without affecting the global namespace. It might be possibly to hack something up that undefines constants that were defined during the loading of a gemspec, but I'm pretty wary of that, too, because Bundler loads hundreds or thousands of gemspecs. Slowing down that process could make the experience of using Bundler significantly worse.
How are you running into this problem, exactly? If you use bundle exec guard, for example, the Bundler ruby process (that loads the gemspecs) will exec itself away into a new ruby process that loads guard. They won't share namespaces or constants.

Thanks for the tip on VERSION convention, I'll look it up.
One thing I omitted in my example was running instructions.  I was under the impression that bundler amounted to an automated (and stricter) version of the first case, with additional management/locking/path/git etc.  Do I misunderstand it?
$ ruby -Iinternal/lib main.rb
pass

$ bundle exec ruby main.rb
main.rb:3:in `<main>': undefined method `imp' for Internal:Module (NoMethodError)


Removed custom user agent string from outgoing requests.

Fixes #1248
===
This reverts #1092 as the custom user agent does not apply to outgoing requests from the extensions, however, Electron automatically attaches one of the form BotFrameworkEmulator/{version} to all outgoing requests originating in the app.

Pull Request Test Coverage Report for Build 2364

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.001%) to 55.42%

Totals

Change from base Build 2348:
-0.001%

Covered Lines:
4892

Relevant Lines:
8318

💛  - Coveralls

Pull Request Test Coverage Report for Build 2362

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.001%) to 55.42%

Totals

Change from base Build 2348:
-0.001%

Covered Lines:
4892

Relevant Lines:
8318

💛  - Coveralls


TypeError: axios_1.default.post is not a function

Hi, I've connected the ton client import { TonClient } from '@ton/ton';, but I'm getting an error every time when I'm communicating with a contract, is it a known issue?
my dependencies:
  "dependencies": {
    "@orbs-network/ton-access": "^2.3.3",
    "@reduxjs/toolkit": "^1.9.7",
    "@ton/core": "^0.57.0",
    "@ton/crypto": "^3.3.0",
    "@ton/ton": "^15.0.0",
    "@tonconnect/protocol": "^2.2.6",
    "@tonconnect/sdk": "^3.0.5",
    "@tonconnect/ui-react": "^2.0.9",
    "@twa-dev/sdk": "^7.8.0",
    "buffer": "^6.0.3",

Error:
2HttpApi.js:263 Uncaught (in promise) TypeError: axios_1.default.post is not a function
    at HttpApi.doCall (HttpApi.js:263:1)
    at HttpApi.callGetMethod (HttpApi.js:235:1)
    at TonClient.runMethod (TonClient.js:40:1)
    at TonClient.callGetMethod (TonClient.js:55:1)
    at Object.get (TonClient.js:372:1)
    at Counter.getCounter (useCounterContract.ts:12:1)
    at Proxy.<anonymous> (openContract.js:38:1)
    at getValue (useCounterContract.ts:49:1)
    at useCounterContract.ts:53:1
    at commitHookEffectListMount (react-dom.development.js:23189:1)

Workaround to fix an issue:
add into package.json
"dependencies": {
   ...
   "axios": "^0.28.1",
   ...
 },
 "resolutions": {
   "axios": "^0.28.1"
 },

Does anyone know a solution to fix it?

i moved my project from Webpack to Vite and the problem was resolved

This is happening to me too, has anyone found out how to fix this? I have axios as a dependency and im explicitly setting my axios import as httpAdapter to no avail.


Return default 200 status on redirect url

Return default 200 status on redirect url.
Pull Request Checklist

[x] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] The changes are tested.
[x] The code is documented (docstrings, project documentation).
[x] Python code quality checks pass: pycodestyle, pydocstyle, pylint.
[x] JavaScript code quality checks pass: eslint.

Codecov Report

Merging #1515 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1515   +/-   ##
=======================================
  Coverage   82.57%   82.57%
=======================================
  Files         131      131
  Lines        5665     5665
  Branches      643      643
=======================================
  Hits         4678     4678
  Misses        823      823
  Partials      164      164

Impacted Files
Coverage Δ

saleor/dashboard/product/views.py
70.76% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5efdec2...0f1496d. Read the comment docs.


npm run tsd.... will not pass params correctly to tsd

I tried to install typings file in a private repos based on this project, where I ran into an odd situation
npm run tsd install sugar --save

><EMAIL_ADDRESS>tsd /Users/jesper/src/angular2-seed
> tsd "install" "sugar"

 - sugar / sugar

>> running install..
>> written 1 file:

    - sugar/sugar.d.ts

Now, while this installed the sugar/sugar.d.ts (in the ignored typings folder), it FAILED TO UPDATE tsd.json.
I would expect a dirty tsd.json file:

On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

Workaround:
You can install tsd globally, and it works:
 tsd install sugar --save

 - sugar / sugar

>> running install..

>> written 1 file:

    - sugar/sugar.d.ts

now the tsd.json is updated correctly:
$ git status

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   tsd.json

no changes added to commit (use "git add" and/or "git commit -a")

The error
is probably that npm run tsd will not correctly pass params to tsd command. Instead, --save is probably eaten by npm. Question is how we can solve this?
For reference to tsd/typings workflow, see also issues #200, #201, #232

closing, as I accidentally duplicated as #251


fix: reconnect instead of restart when connection is lost due to standby

This explores the option to simply reconnect to the socket once the connection is lost due to standby instead of restarting the entire flix compiler, which takes longer.
I will have to run a couple more tests later today to make sure this works, but initially it seems to work.

I have tested both the Flix: Restart Compiler action and the standby reconnection, and both seem to work well. The interruption after a standby should be very brief with solution. I also made sure no more than two java instances were running.
I wasn’t sure if we wanted to add a log message when the connection was lost. Without it we would have multiple Flix <version> Ready! messages right after each other after a standby, which felt odd without any context.
Example with the log message:

Let's try something like this. Should we put a rate limiter so we dont reconnect too fast?

Or perhaps after a few retries we try to restart the compiler or something?

Or perhaps after a few retries we try to restart the compiler or something?

I haven't experienced the socket not being able to reconnect, but having a fallback seems like a good idea.
I believe my latest commit tries to reconnect 5 times before falling back to simply restarting the compiler. I ran the same tests as previous, and this still seems to work. I haven't been able to create a case where I couldn't reconnect, but when I faked the behavior, the compiler was restarted as expected.

OK, I will give it a spin at home :)
What happens if you kill -9 the Java process? Maybe that only works on Linux?

 Maybe that only works on Linux?

I know there is a way to kill the java process on windows, but I haven't tested this. I would assume that this sends a close event to the socket, ending in a restart of the compiler. I can test this later.

 Maybe that only works on Linux?

I know there is a way to kill the java process on windows, but I haven't tested this. I would assume that this sends a close event to the socket, ending in a restart of the compiler. I can test this later.

OK, let me know how it goes.
Then I propose to merge this, deploy it, and see how it goes.
Perhaps we should meet later this week to discuss next steps?

When killing the java process for the "OUTPUT" terminal, the "client listener" is killed at the same time, not allowing me to call initialiseSocket on the port. We can check for the listener being dead and then immediately bail out and restart the compiler with something like:
const uriPort = _.toInteger(uri.slice(-4));
getPort({port: uriPort},(err, freePort)=> {
    if (uriPort == freePort) {
        console.log("Restarting the flix compiler...")
        sendNotification(jobs.Request.internalRestart)
        return
    }
})

It seems to work, but I haven’t committed it yet, since I’m not sure if we want this?

What is uriPort where does uri come from?

(I guess we have to be careful with multiple instances of VSCode running multiple instances of the Flix compiler.)

How about I merge this now, and then we try your extension in another PR?

If I kill the process I get:
Connection to the flix server was lost, trying to reconnect...
node:events:504
      throw er; // Unhandled 'error' event
      ^

Error: connect ECONNREFUSED <IP_ADDRESS>:8888
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16)
Emitted 'error' event on WebSocket instance at:
    at emitErrorAndClose (x:\Work\GitHub\flix\vscode-flix\server\node_modules\ws\lib\websocket.js:1002:13)
    at ClientRequest.<anonymous> (x:\Work\GitHub\flix\vscode-flix\server\node_modules\ws\lib\websocket.js:854:5)
    at ClientRequest.emit (node:events:526:28)
    at Socket.socketErrorListener (node:_http_client:442:9)
    at Socket.emit (node:events:526:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
  errno: -4078,
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '<IP_ADDRESS>',
  port: 8888
}
[Info  - 18.08.33] Connection to server got closed. Server will restart.
Debugger listening on ws://<IP_ADDRESS>:6009/439ea406-be4f-4d7a-8383-e44585088591

but the server is never restarted.

Lets continue that in a new issue.


Make XXXWriter Pool configurable

Introduce a poolSize parameters on OutputWriter that use a TCP or UDP pool.
The pool used for those output writers is stormpot [1]. Have a look at its
documentation [2] for details.
This fixes #432.
[1] https://github.com/chrisvest/stormpot
[2] http://chrisvest.github.io/stormpot/site/apidocs/stormpot/Config.html

This pull request is now managed with CodeReviewHub. Refresh.


Add examples for mapping constructor changes for 1.2.0

Description:
$title.
Need to add examples that cover:

[x] variable name as a field
[x] spread operator
[x] type inferring

Added with #21776.


Project board template

What are some simple prompts we can put together for new projects to get them moving forward? Or a checklist to get the project up and running in a standard way so it's easy for new volunteers to join?
Something like this was started here: https://github.com/CivicTechWR/OrgOrg/issues/8

Created templates and tweaking their content/wording.
Repo: https://github.com/CivicTechWR/CTWR-Template
Project: https://github.com/orgs/CivicTechWR/projects/18/views/2
Project template is still private - need permission to change visibility @BreakableHoodie


doc: Windows default build from source behavior is CGO enabled but docs don't mention C compiler dependency

I was installing Go from source on a new clean Windows installation today and the installation broke because the default build behavior is CGO enabled whereas Windows doesn't come with a C compiler installed by default. This is not documented in the installing from source page.
While the fix is pretty simple (either disable CGO via an environment flag or install a C compiler), this should be documented in the install from source doc. A known working compiler should also be recommended if we want CGO enabled like we used to earlier.
I installed TDM-GCC as I seem to recall Go 1.4 build-steps used to recommend it and got a working installation but I also seem to recall Go used to recommend a different C compiler installation for windows in earlier days.

This information, https://github.com/golang/go/wiki/WindowsBuild, used to
be referenced from the install page. The information was moved to the wiki
because it was changing at an incompatible rate.
On Wed, Jan 27, 2016 at 10:00 AM, GopherBot<EMAIL_ADDRESS>wrote:

CL https://golang.org/cl/18937 mentions this issue.
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/13954#issuecomment-175282796.


converts dataset format messages required for training

This PR adds a function that converts dataset format to messages and saves an additional jsonl along with each generate and does that for both train and test dataset.
This resolves https://github.com/instructlab/sdg/issues/60

The e2e is failing, is it because I changed the name of the output file? Will re-instating the name back fix it?

The e2e is failing, is it because I changed the name of the output file? Will re-instating the name back fix it?

yes, changing the filenames would break it

e2e workflow succeeded on this PR: View run, congrats!

just FYI -- this job runs the full pipeline, but does not run training, as we do not have the new training method (training library) working in CI yet.

Fixed the file names for E2E to pass. Seems like the E2E is failing on a training step.

e2e workflow succeeded on this PR: View run, congrats!

just FYI -- this job runs the full pipeline, but does not run training, as we do not have the new training method (training library) working in CI yet.

so is the e2e expected to fail right now?

e2e workflow succeeded on this PR: View run, congrats!

just FYI -- this job runs the full pipeline, but does not run training, as we do not have the new training method (training library) working in CI yet.

so is the e2e expected to fail right now?

No, it should be passing.
You can see the history of runs here: https://github.com/instructlab/sdg/actions/workflows/e2e.yml
My comment above was about the separate job that is executed on demand and runs the full pipeline. The one that runs automatically (and is failing) runs the simple pipeline.

We are generating  these 3 files
1. generated_Mixtral-8x7B-Instruct-v0_2024-07-08T18_23_10.json
2. test_Mixtral-8x7B-Instruct-v0_2024-07-08T18_23_10.jsonl
3. train_Mixtral-8x7B-Instruct-v0_2024-07-08T18_23_10.jsonl

The e2e fails since it expects these keys in the train data for the full train 3. as well as the qlora train 1.
 "system": _SYS_PROMPT,
  "user": _unescape(user),
  "assistant": assistant

The e2e needs to be updated to validate different formats for both 1 and 3
The SDG generates

Training dataset in a format needed for qlora train generated_Mixtral-8x7B-Instruct-v0_2024-07-08T18_23_10.json

 "system": _SYS_PROMPT,
  "user": _unescape(user),
  "assistant": assistant

Generated dataset in the messages format needed for full train train_Mixtral-8x7B-Instruct-v0_2024-07-08T18_23_10.jsonl

 "inputs": _unescape(user),
"targets": assistant,
"system": _SYS_PROMPT,

For test

Testing dataset used for testing old/new model behavior with the original questions test_Mixtral-8x7B-Instruct-v0_2024-07-08T18_23_10.jsonl

"system": _SYS_PROMPT,
"user": _unescape(user),
"assistant": _unescape(seed_example["output"]),

Spoke to @RobotSail and we are not sure what the generated_*.jsonl form is being used for right now. Added a change to drop that file and keep train_ and test_ files intact to be compatible with the CLI.

ah seems like that seems to fix it, the CI passes

@russellb can you please take a quick look?

@russellb can you please take a quick look?

don't worry about that last failure. The CI job broke because of https://github.com/instructlab/instructlab/pull/1471

e2e workflow failed on this PR: View run, please investigate.

Ignore again. Still broken related to https://github.com/instructlab/instructlab/pull/1471

e2e workflow failed on this PR: View run, please investigate.

sigh. continue to ignore these.

I think this is ready for merge. @russellb is this good to go from your end

I think this is ready for merge. @russellb is this good to go from your end

yeah, you don't need to block on me. I'll run the full sdg CI workflow again on this repo when it's fixed. Thanks for checking!

... though I just looked and it's still removing one of the files that used to be created?  (the one with a generated_ prefix)
but maybe nothing cares

yeah, it is removing that one since it was a duplicate, does not seem to be needed on the CLI from when @RobotSail and I checked, hopefully its just a duplicate

yeah, it is removing that one since it was a duplicate, does not seem to be needed on the CLI from when @RobotSail and I checked, hopefully its just a duplicate

I see it used in the CLI repo in functional_tests.sh

functional_tests.sh
Thanks for finding it. Maybe that should also use the train_.jsonl, but that should be tracked as a cli issue, I can keep it here then

both the simple and full SDG pipelines are now passing in CI based on this PR, so I'm good with it.  thanks everyone!


"Or you can use your GitHub profile pic"

I saw this mentioned in the configuration file. Could you clarify how one uses his GitHub profile pic?

In the config:
URL of your avatar or profile pic (you could use your GitHub profile pic)
avatar: https://avatars1.githubusercontent.com/u/6239399?v=2&s=460

OK, so just use the URL of the image in the Profile page.
Thanks!

Thanks for answering, @Koxzi95 :smiley:

Use this stackoverflow answer
attention max size is 460px

https://github.com/twbs.png
https://github.com/npm.png?size=200
https://github.com/github.png?size=40

Thank you!


Any example of uploading image?

I want to upload image from my local computer (where bot is running) to telegram. how do I do it? any example?

okay, after looking at source, I figured. just need to call send_photo on Telegram object. Something like this:
tg.send_photo(peer, '/path/to/image')

This needs indeed Documentation.
Now (#19) more then ever.


Add Tunnelmole as an open source tunnelling option

This PR adds Tunnelmole as a tunneling option.
Tunnelmole is a FOSS tunneling solution with a growing community. It can be self hosted with the Tunnelmole Service or users can use the hosted service, which is the default. Both the client and service are open source.
Example:
➜  ~ tmole 8000
http://bvdo5f-ip-49-183-170-144.tunnelmole.net is forwarding to localhost:8000
https://bvdo5f-ip-49-183-170-144.tunnelmole.net is forwarding to localhost:8000

@microsoft-github-policy-service agree

@HeidiSteen
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@HeidiSteen thanks, I've updated all of these sections.

#sign-off


Clusters showing as custom instead of vsphere after rancher upgrade

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Created Vsphere clusters, upgraded rancher from 2.2.3 to 2.2.4
Result:
Some clusters show as Custom, instead of Vsphere after upgrade
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.2.4
Installation option (single install/HA): Single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Vsphere, rancher created

Machine type (cloud/VM/metal) and specifications (CPU/memory): VM

Kubernetes version (use kubectl version): various 1.14.1, 1.13.4
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:02:58Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):
17.3.2

@dan-evolvere  After upgrading to 2.2.4 , are you viewing this cluster as user who did not create this cluster ?

yes, the cluster was created with a different user.

This issue is tracked in https://github.com/rancher/rancher/issues/12038#issuecomment-502291089.

Close in favor of https://github.com/rancher/rancher/issues/12038


Update calibration tutorials part 1

Closes #3933.
This reframes the advanced calibration tutorial as an example / benchmark of XEB calibration.
The notebook will be renamed xeb_calibration_example.ipynb in a follow-up PR. (Not done here to see the diff.) This second PR will also introduce calibration_api.ipynb, an overview / basic usage tutorial for Floquet & XEB calibration. See #4226 for reference.

Superseded by #4258.


error: Undefined Behavior: attempting a read access using <981690> at alloc412474[0x0], but that tag does not exist in the borrow stack for this location.

The rustfft::accuracy test_planned_fft_forward_f32 reports undefined behavior, and from what it seems like, it is coming from butterfles.rs. Here is the full stacktrace generated by rust-lang/miri:
FAIL [   3.042s] rustfft::accuracy test_planned_fft_forward_f32

--- STDOUT:              rustfft::accuracy test_planned_fft_forward_f32 ---

running 1 test
test test_planned_fft_forward_f32 ...
--- STDERR:              rustfft::accuracy test_planned_fft_forward_f32 ---
error: Undefined Behavior: attempting a read access using <981690> at alloc412474[0x0], but that tag does not exist in the borrow stack for this location
   --> /root/build/src/array_utils.rs:64:9
    |
64  |         *self.ptr.add(index)
    |         ^^^^^^^^^^^^^^^^^^^^
    |         |
    |         attempting a read access using <981690> at alloc412474[0x0], but that tag does not exist in the borrow stack for this location
    |         this error occurs as part of an access at alloc412474[0x0..0x8]
    |
    = help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
    = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
help: <981690> was created by a SharedReadOnly retag at offsets [0x0..0x20]
   --> /root/build/src/array_utils.rs:37:18
    |
37  |             ptr: slice.as_ptr(),
    |                  ^^^^^^^^^^^^^^
help: <981690> was later invalidated at offsets [0x0..0x20] by a Unique FnEntry retag inside this call
   --> /root/build/src/algorithm/butterflies.rs:221:1
    |
221 | boilerplate_fft_butterfly!(Butterfly4, 4, |this: &Butterfly4<_>| this.direction);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: BACKTRACE:
    = note: inside `rustfft::array_utils::RawSlice::<rustfft::num_complex::Complex<f32>>::load` at /root/build/src/array_utils.rs:64:9
note: inside `rustfft::algorithm::butterflies::Butterfly4::<f32>::perform_fft_contiguous` at /root/build/src/algorithm/butterflies.rs:240:26
   --> /root/build/src/algorithm/butterflies.rs:240:26
    |
240 |         let mut value0 = input.load(0);
    |                          ^^^^^^^^^^^^^
note: inside `rustfft::algorithm::butterflies::Butterfly4::<f32>::perform_fft_butterfly` at /root/build/src/algorithm/butterflies.rs:17:17
   --> /root/build/src/algorithm/butterflies.rs:221:1
    |
221 | boilerplate_fft_butterfly!(Butterfly4, 4, |this: &Butterfly4<_>| this.direction);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside closure at /root/build/src/algorithm/butterflies.rs:61:21
   --> /root/build/src/algorithm/butterflies.rs:221:1
    |
221 | boilerplate_fft_butterfly!(Butterfly4, 4, |this: &Butterfly4<_>| this.direction);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `rustfft::array_utils::iter_chunks::<rustfft::num_complex::Complex<f32>, [closure@<rustfft::algorithm::butterflies::Butterfly4<f32> as rustfft::Fft<f32>>::process_with_scratch::{closure#0}]>` at /root/build/src/array_utils.rs:155:9
   --> /root/build/src/array_utils.rs:155:9
    |
155 |         chunk_fn(head);
    |         ^^^^^^^^^^^^^^
note: inside `<rustfft::algorithm::butterflies::Butterfly4<f32> as rustfft::Fft<f32>>::process_with_scratch` at /root/build/src/algorithm/butterflies.rs:60:30
   --> /root/build/src/algorithm/butterflies.rs:221:1
    |
221 | boilerplate_fft_butterfly!(Butterfly4, 4, |this: &Butterfly4<_>| this.direction);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `rustfft::algorithm::Radix4::<f32>::perform_fft_out_of_place` at /root/build/src/algorithm/radix4.rs:117:9
   --> /root/build/src/algorithm/radix4.rs:117:9
    |
117 |         self.base_fft.process_with_scratch(spectrum, &mut []);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside closure at /root/build/src/common.rs:126:21
   --> /root/build/src/algorithm/radix4.rs:145:1
    |
145 | boilerplate_fft_oop!(Radix4, |this: &Radix4<_>| this.len);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `rustfft::array_utils::iter_chunks::<rustfft::num_complex::Complex<f32>, [closure@<rustfft::algorithm::Radix4<f32> as rustfft::Fft<f32>>::process_with_scratch::{closure#0}]>` at /root/build/src/array_utils.rs:155:9
   --> /root/build/src/array_utils.rs:155:9
    |
155 |         chunk_fn(head);
    |         ^^^^^^^^^^^^^^
note: inside `<rustfft::algorithm::Radix4<f32> as rustfft::Fft<f32>>::process_with_scratch` at /root/build/src/common.rs:125:30
   --> /root/build/src/algorithm/radix4.rs:145:1
    |
145 | boilerplate_fft_oop!(Radix4, |this: &Radix4<_>| this.len);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `rustfft::algorithm::BluesteinsAlgorithm::<f32>::new` at /root/build/src/algorithm/bluesteins_algorithm.rs:85:9
   --> /root/build/src/algorithm/bluesteins_algorithm.rs:85:9
    |
85  |         inner_fft.process_with_scratch(&mut inner_fft_input, &mut inner_fft_scratch);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ControlCache::<f32>::plan_fft` at tests/accuracy.rs:103:18
   --> tests/accuracy.rs:103:18
    |
103 |         Arc::new(BluesteinsAlgorithm::new(len, inner_fft))
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `test_planned_fft_forward_f32` at tests/accuracy.rs:117:23
   --> tests/accuracy.rs:117:23
    |
117 |         let control = cache.plan_fft(len);
    |                       ^^^^^^^^^^^^^^^^^^^
note: inside closure at tests/accuracy.rs:112:1
   --> tests/accuracy.rs:112:1
    |
111 |   #[test]
    |   ------- in this procedural macro expansion
112 | / fn test_planned_fft_forward_f32() {
113 | |     let direction = FftDirection::Forward;
114 | |     let cache: ControlCache<f32> = ControlCache::new(TEST_MAX, direction);
115 | |
...   |
123 | |     }
124 | | }
    | |_^
    = note: this error originates in the macro `boilerplate_fft_butterfly` which comes from the expansion of the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)

note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace

error: aborting due to previous error

but the Stacked Borrows rules it violated are still experimental

Note: the stacked borrow rules are still pretty experimental. I haven't investigated the issue further, but if someone makes the effort they should keep in mind that this could be a false positive.

Definitely could be a false positive.

I tried this quickly yesterday and got the same error on *self.ptr.add(index) in array_utils.rs, but called from a completely different place.
The stuff in array_utils.rs is quite simple, don't really see how it could manage to do something unexpected. Especially while still producing the correct results in all tests.

One obvious source of undefined behavior is that we deliberately create an aliasing mutable pointer. butterflies.rs line 16:
pub(crate) unsafe fn perform_fft_butterfly(&self, buffer: &mut [Complex<T>]) {
    self.perform_fft_contiguous(RawSlice::new(buffer), RawSliceMut::new(buffer));
}```
I wanted to reuse the same code for inplace and out of place butterflies, since aside from which pointer you're writing to it's always the same logic. So this little bit has been chugging away for 2 and a half years from now to just pass a single pointer to the underlying code as both the immutable input and mutable output.

It's a night-and-day convenience improvement, but I wouldn't be the least bit surprised if this was the underlying problem miri was complaining about. If so, we should find a way to move away from this code.

Is this running within miri? If so, it's possible that we're relying on some undefined behavior that ends up producing the correct result in final compiled code.

Exactly. This code was indeed running inside of miri.

Is this running within miri? If so, it's possible that we're relying on some undefined behavior that ends up producing the correct result in final compiled code.

I'm not sure this is valid reasoning. If things are "working" during UB for a set of tests, on a set of platforms for a specific configurations, it does not mean it will work for other untested tests, platforms or configurations. From the wiki:

In computer programming, undefined behavior (UB) is the result of executing a program whose behavior is prescribed to be unpredictable, in the language specification to which the computer code adheres. This is different from unspecified behavior, for which the language specification does not prescribe a result, and implementation-defined behavior that defers to the documentation of another component of the platform (such as the ABI or the translator documentation).

I believe you're arguing that the behaviour is "specified" by the tests, even though the compiler hits something it determines as UB. AFAIK it's much more complicated than that.
UB is an indication that some invariant IS being broken. It working for a set of specific configurations does not rule out all configurations. It could be that it will produce incorrect results when:

Compiler optimisations are applied
Targeting a different platform
Running with untested input
Slight changes are made to the source code, subtly changing the output binary
Using a different version of rustc
Just compiling again (I don't think the compiler is necessarily deterministic)

I'm not convinced that this is not a false positive though. But if this IS UB, then it's definitely something that should be addressed.

To add to @WalterSmuts's comments, this might also be unsound behavior (though I highly doubt that miri would have reported such a case). From "Behavior considered undefined" in Rust's documentation:

unsafe code that satisfies this property for any safe client is called sound; if unsafe code can be misused by safe code to exhibit undefined behavior, it is unsound.

Deterministic compilation is not quite there yet, but there is a moderate amount of work put into it. Check out https://github.com/rust-lang/rust/labels/A-reproducibility.

I'm open to fixing this. I'm resistant to (but still not entirely ruling out) re-duplicating all of that code, because of the maintenance burden it'd place on the butterfly portion of the project. But if there's another solution I'll gladly take it.

I don't think this issue should be closed.

@ejmahler I believe I've figured out a good solution to remove the usage of RawSlice and RawSliceMut from butterflies.rs and put together PR #113. Please let me know what you think!

PR merged! Thanks to @michaelgrigoryan25 for reporting this, thanks to @WalterSmuts and @HEnquist for contributing some research, and thanks to @groscoe2 for implementing the solution!

I believe #32 can be closed now.


rsyslog: 8.38.0 -> 8.39.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/rsyslog/versions.
meta.description for rsyslog is: '"Enhanced syslog implementation"'.

Checks done (click to expand)

built on NixOS
/nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin/logctl passed the binary check.
/nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin/rscryutil passed the binary check.
/nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin/rsyslogd passed the binary check.
3 of 3 passed binary check by having a zero exit code.
1 of 3 passed binary check by having the new version present in output.
found 8.39.0 with grep in /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0
directory tree listing: https://gist.github.com/2ab94f8f703043a635aca123bd3a128d
du listing: https://gist.github.com/2799b07f63786da252fcaae4251e5f04

Outpath report (click to expand)

Outpath difference report
6 total rebuild paths
2 package rebuilds
2 x86_64-linux rebuilds
2 i686-linux rebuilds
0 x86_64-darwin rebuilds
2 aarch64-linux rebuilds
First ten rebuilds by attrpath
rsyslog
rsyslog-light

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A rsyslog https://github.com/r-ryantm/nixpkgs/archive/3866470845aa2121ee5ff926221aab5f07d47317.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0
ls -la /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin

cc @wkennington for testing.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: rsyslog
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: rsyslog
Partial log (click to expand)
shrinking /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/lib/rsyslog/lmnetstrms.so
shrinking /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/lib/rsyslog/lmnet.so
shrinking /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/lib/rsyslog/lmzlibw.so
shrinking /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/lib/rsyslog/lmregexp.so
gzipping man pages under /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/lib  /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/bin  /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/sbin
patching script interpreter paths in /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0
checking for references to /build in /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0...
moving /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/sbin/* to /nix/store/752b738k97bcxfhxfbvsvk5nr2anpy98-rsyslog-8.39.0/bin

Success on x86_64-linux (full log)
Attempted: rsyslog
Partial log (click to expand)
shrinking /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin/logctl
shrinking /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin/rscryutil
shrinking /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/sbin/rsyslogd
gzipping man pages under /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/lib  /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin  /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/sbin
patching script interpreter paths in /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0
checking for references to /build in /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0...
moving /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/sbin/* to /nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0/bin
/nix/store/803gdyj6j0l1jfni7kbbnz0ra3b64836-rsyslog-8.39.0

@GrahamcOfBorg test rsyslogd

Success on x86_64-linux
Attempted: tests.rsyslogd
No partial log is available.

Success on aarch64-linux
Attempted: tests.rsyslogd
No partial log is available.


Populating MealPlan Objects!

FYI @ggracez I changed ingredientList to String,Float (from String,Integer) to match IRecipe and how Hobie is providing the ingredientList via doGetIngredientList


github supports vyper

So you don't need this

fixed in https://github.com/Cyfrin/moccasin/pull/177


Having issues while building the app on Android

ANDROID build failed.
I have imported and also initalized it in Packages in MainActivity.java.

* What went wrong:
A problem occurred configuring project ':react-native-color-picker-light'.
> Failed to notify project evaluation listener.
   > Could not create task ':react-native-color-picker-light:compileDebugAndroidTestKotlin'.
      > Cannot use @TaskAction annotation on method AbstractKotlinCompile.execute() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method.
   > KotlinJvmAndroidCompilation with name 'debugAndroidTest' not found.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 7s
error Failed to install the app. Command failed with exit code 1: ./gradlew tasks FAILURE: Build failed with an exception. * What went wrong:
A problem occurred configuring project ':react-native-color-picker-light'.
> Failed to notify project evaluation listener. > Could not create task ':react-native-color-picker-light:compileDebugAndroidTestKotlin'. > Cannot use @TaskAction annotation on method AbstractKotlinCompile.execute() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method. > KotlinJvmAndroidCompilation with name 'debugAndroidTest' not found. * Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 7s
> Task :gradle-plugin:compileKotlin UP-TO-DATE
> Task :gradle-plugin:compileJava NO-SOURCE
> Task :gradle-plugin:pluginDescriptors UP-TO-DATE
> Task :gradle-plugin:processResources UP-TO-DATE
> Task :gradle-plugin:classes UP-TO-DATE
> Task :gradle-plugin:jar UP-TO-DATE
> Task :gradle-plugin:inspectClassesForKotlinIC UP-TO-DATE Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. See https://docs.gradle.org/8.0.1/userguide/command_line_interface.html#sec:command_line_warnings
5 actionable tasks: 5 up-to-date.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.```

Since this repository didn't update for long time, it may use some deprecated API in framework.


Pin default miniconda version to 4.2.12.

-Allow setting MINICONDA_VARIANT by metadata again
-Fix variable existence checks to accommodate for this
-Also add MINICONDA_VERSION as metadata option
-Rename MINICONDA_VER to MINICONDA_VERSION

Just fyi this just broke my stuff, for some reason my pyspark jobs are using python3 now. Trying to find a fix now and will post here.

Alright I was setting MINICONDA_VARIANT through an environment variable in a customized initialization-action script.
Like this:
MINICONDA_VARIANT=2 ./dataproc-initialization-actions/conda/bootstrap-conda.sh

But that doesn't work anymore. I am now setting MINICONDA_VARIANT with a metadata option.

Sorry about that, I figured it'd be safe since prior to merging https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/pull/104/files there was already the MINICONDA_VARIANT=$(/usr/share/google/get_metadata_value attributes/MINICONDA_VARIANT || true) line which is what ends up "blocking" the environment variable settings from a caller, so the behavior should've been the same as prior to yesterday.
Sounds like in your case it was a series of coincidences:

You had been exporting MINICONDA_VARIANT=2 since before yesterday, but it was actually a no-op due to the metadata fetch line causing it to be an empty string instead, and then the bug of using "-v MINICONDA_VARIANT" in the presence of empty strings made it point at a non-python-version-prefixed install, e.g. "Miniconda-latest.*" which happens to map to Python 2.
Yesterday, the cleanup patch got merged, which removed the metadata line, such that your env variable started actually being used. So it started explicitly specifying "Miniconda2-latest".
My update, despite preserving the intended default of Python 3, thus broke this case by "blocking" the  environment variable.

Generally using metadata options is probably going to be the preferred route though as we progress towards official support of init actions, where users ideally won't need to maintain separate forks too much and instead and customize options through metadata values.
In your case, is the metadata option a reasonable long-term solution?

Yeah metadata works fine! Not sure why I was using an environment variable for this, since I was already using metadata for PYTHON_PACKAGES...

@dennishuo Hi Dennis,
What is the actual fix for juniper.sh?
When I spin a cluster, providing an init action file juniper.sh, it goes well. But when I actually try to use Jupyter, invoking something primitive such as spark.sql(" select * from parquet.'...' "), I get the following error:
NameError                                 Traceback (most recent call last)
 in ()
----> 2 imps = spark.sql("select * from parquet.gs://...")
NameError: name 'spark' is not defined
Which was not the case last Friday, when I simply forked a repo under my account and created a branch with fixed MINICONDA_VER=4.2.12
How does it work now?
Thanks!

Hmm, strange; I tested this change with out-of-the-box settings as part of fixing https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/issues/105 - are you passing any other settings like a specific --image-version or other metadata values? Are you using the hosted jupyter.sh, or your own version of it?

Hi @dennishuo
Thanks for following up. Yes I do pass extra options, such as below:
gcloud dataproc clusters create cl01-jupyter --bucket=*** --zone us-east1-d
--metadata "JUPYTER_CONDA_PACKAGES=numpy:pandas:scikit-learn:matplotlib,INIT_ACTIONS_REPO=https://github.com//dataproc-initialization-actions.git,INIT_ACTIONS_BRANCH=miniconda_4.2.12"
--initialization-actions gs:///dataproc-initialization-actions/jupyter/jupyter.sh
--properties
spark:spark.executorEnv.PYTHONHASHSEED=0,
spark:spark.executor.extraJavaOptions=-XX:+UseG1GC,
spark:spark.dynamicAllocation.enabled=false,
spark:spark.executor.cores=7,
spark:spark.executor.memory=8g,
spark:spark.yarn.executor.memoryOverhead=4g,
spark:spark.driver.memory=8g,
spark:spark.driver.maxResultSize=6g,
spark:spark.kryoserializer.buffer.max=1g,
spark:spark.yarn.driver.memoryOverhead=4g,
spark:spark.driver.cores=7,
spark:spark.master=yarn,
spark:spark.master.DeployMode=cluster,
spark:spark.executor.instances=28
--image-version=1.1
--master-machine-type=n1-standard-4
--worker-machine-type=custom-8-40960
--master-boot-disk-size=10GB
--worker-boot-disk-size=10GB
--num-workers=4
--num-worker-local-ssds 4
--project ***
It works because I use a repo that I forked last week. Also I have noticed when I pass options for dynamic allocation, it failed to recognize spark sessions, giving me the error that I mentioned earlier e.g:
...
spark:spark.executorEnv.PYTHONHASHSEED=0,
spark:spark.executor.extraJavaOptions=-XX:+UseG1GC,
spark:spark.shuffle.service.enabled=true,
spark:spark.dynamicAllocation.enabled=true,
spark:spark.dynamicAllocation.minExecutors=4,
spark:spark.dynamicAllocation.maxExecutors=48,
spark:spark.executor.cores=7,
spark:spark.yarn.executor.memoryOverhead=4g,
spark:spark.driver.maxResultSize=6g,
spark:spark.kryoserializer.buffer.max=1g,
spark:spark.yarn.driver.memoryOverhead=4g,
spark:spark.driver.cores=7,
spark:spark.master=yarn,
spark:spark.master.DeployMode=cluster
...


[dash-p4] Create macro for creating direct counters

This is to simplify the code for creating and attaching the direct counters.
No SAI updates will be introduced with this change.

ouch, seems like we get some infra issue with certs... let me retry the test and see.

retry works! great!


Fixed IE8 compatibility issue.

I'll be that guy.
IE<9 doesn't allow accessing attributes named after reserved words with dot
notation.
Fixed, works fine once shims for some other ~weird IE behavior~ are loaded.

nice, thanks. will merge after figuring out CI issue


Implement ActionFilters to execute some common functionality before or after an action is run (in both API and MVC)

All action methods, in most of the controllers, have some common checks they make before moving to the business logic. It's better to enclose these checks in action filters, and apply these filters to the controller.
https://github.com/yahya-abdul-majeed/CodeRefactoring2023/blob/13fd912b300904b6ff8bfb51da2be73ad1126bca/CLabManager-API/Controllers/ComputersController.cs#L34-L45

Is it the duplicate code? Or what?

Is it the duplicate code? Or what?

@LidiaIvanova Yes, it removes common checks in actions.


services.tt-rss: nginx presents all PHP as blank pages & 200 OK

Issue description
I'm on nixos-17.03. I was trying to set up Tiny Tiny RSS via this. I tried this both inside in a container, and outside of one, on two separate hosts.
The nginx configuration that this uses always seems to make PHP files render as blank pages (which makes Tiny Tiny RSS completely unusable). If I download them via curl -v, I see near the end something like:
< HTTP/1.1 200 OK
< Server: nginx
< Date: Sun, 02 Jul 2017 05:07:33 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-Powered-By: PHP/7.1.5

indicating that the file is indeed making it to PHP.
Steps to reproduce
Add this snippet into a configuration:
  services.nginx.enable = true;
  services.tt-rss.enable = true;
  services.tt-rss.root = "/var/www/ttrss";
  services.tt-rss.selfUrlPath = "http://localhost";
  services.tt-rss.database.host = "localhost";
  services.tt-rss.database.name = "tt_rss";
  services.tt-rss.database.user = "tt_rss";
  services.tt-rss.database.password = "password";
  services.tt-rss.virtualHost = "localhost";
  services.postgresql.enableTCPIP = true;
  services.postgresql.enable = true;
  services.postgresql.package = pkgs.postgresql95;

I don't show the steps of creating the Postgresql user & database given in services.tt-rss.database but it seems to make no difference; I tried both with and without this.
With this running, go to http://localhost or something like http://localhost/config.php. It seems to show always as a blank page. A few observations:

You can put a non-PHP file inside of services.tt-rss.root and see that it loads that.
You can put a PHP file completely unrelated to Tiny Tiny RSS (e.g. just a Hello World script) in that same directory and observe the same blank page behavior.
You can request a nonexistent file and properly see a 404 error.

Technical details

System: 17.03.1395.9b948ea439 (Gorilla)
Nix version: nix-env (Nix) 1.11.11
Nixpkgs version: "17.03.1395.9b948ea439"
Sandboxing enabled: Yes

@cleverca22 tells me that he's reproduced the issue in https://gist.github.com/cleverca22/a32177e4b2b8b7c1e443b6d0fa102827

If you are able could you try testing with this modification applied:
diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix
index 5193814da7..98b6f19e2f 100644
--- a/nixos/modules/services/web-apps/tt-rss.nix
+++ b/nixos/modules/services/web-apps/tt-rss.nix
@@ -481,7 +481,6 @@ let
             fastcgi_split_path_info ^(.+\.php)(/.+)$;
             fastcgi_pass unix:${phpfpmSocketName};
             fastcgi_index index.php;
-            fastcgi_param SCRIPT_FILENAME ${cfg.root}/$fastcgi_script_name;
           '';
         };
       };

With that in place it starts producing output for me:
Unable to connect to database (as tt_rss to localhost, database tt_rss):Unable to connect to database (as tt_rss to localhost, database tt_rss):

however I have not tested any further.
I believe the relevant comment is https://github.com/NixOS/nixpkgs/pull/18047#discussion-diff-76527874 As noted fastcgi.conf is included by default in http scope however as per nginx documentation:

These directives are inherited from the previous level if and only if there are no fastcgi_param directives defined on the current level.

so due to the inclusion of  fastcgi_param SCRIPT_FILENAME ${cfg.root}/$fastcgi_script_name; they wouldn't be inherited. If my understanding is correct there shouldn't be a need to set it here as it is already set within fastcgi.conf.
Again I have not tested any further (I have no personal interest in using this service).
The above applies to NixOS 17.03, I haven't verified against master.

This works for me. With proper DB credentials, I make it to Tiny Tiny RSS's front page.


Support for getHeaders removed

Broken by the fix for #1001

Is this still an issue? I would like to submit a pull request to caseless if it is


Early reset scratchBytes in Lucene90BlockTreeTermsWriter.compileIndex.

Description

Hello again @vsop-479 -- can you please explain what this change is trying to accomplish?  Thanks.

Maybe help saving memory because resetting can early happens? I am not sure.

I will close it, since it is insignificant.


Rename :latent_killer_balance: to :latent_killer_balanced:

This is already done I'm just documenting the fact that I did it

Necessary because of #1091