[v2.8] KDM Update for K8s May 2024 patch release

KDM Updates
TO BE RELEASED: With Rancher v2.8.5

New Kubernetes Version
Min Rancher Version
Min RKE Version

1.28.10-rancher1-1
2.8.3-patch0
1.5.0-rc0

1.27.14-rancher1-1
2.8.0-patch0
1.5.0-rc0

Rancher System Images & Add-ons
Note: Please update system images and add-ons in the template as needed.
TBD
Developer Changelog

Add templates for new K8s versions. If a template that hasn't been released yet already exists, update it in place.
Update the default K8s version, and add or update the version information (MinRancherVersion and MinRKEVersion) in k8s_version_info.go for new K8s versions if needed (Use table from above).
Confirm versions for system images, add-on templates are correct using versioning reference table from below (expand details to view the table). Update the table if new versions are introduced.
Confirm add-on template version constraints in template.go are correct using versioning reference table from below (expand details to view the table). Update the table if needed.

Versioning Reference

Expand for system images & add-on templates versioning table

Note: Truncated repository names with a * indicates there are multiple images with that prefix. All repository names that match a truncated prefix should be checked for the same version stated in the table.
For example: rancher/weave-* matches weaveworks/weave-kube and weaveworks/weave-npc, and they should both have the same version.
v1.28.10-rancher1-1

Repository
Tag

rancher/mirrored-coreos-etcd
v3.5.10

rancher/hyperkube
v1.28.10-rancher1

rancher/rke-tools
v0.1.96

rancher/mirrored-k8s-dns-*
1.22.28

rancher/mirrored-cluster-proportional-autoscaler
1.8.9

rancher/flannel-cni
v0.3.0-rancher9

rancher/mirrored-flannel-flannel
v0.24.2

rancher/mirrored-calico-*
v3.27.0

weaveworks/weave-*
2.8.1

noiro/* (All ACI images)
<IP_ADDRESS>.81c2369

rancher/mirrored-pause
3.7

rancher/nginx-ingress-controller
nginx-1.9.6-rancher1

rancher/mirrored-nginx-ingress-controller-defaultbackend
1.5-rancher1

rancher/mirrored-jettech-kube-webhook-certgen
v20231226-1a7112e06

rancher/mirrored-metrics-server
v0.7.0

rancher/mirrored-coredns-coredns
1.10.1

rancher/mirrored-cluster-proportional-autoscaler
1.8.9

rancher/mirrored-k8s-dns-node-cache
1.22.28

Add-on Name
Add-on Template Version Constraint

Calico
calicov3261Rancher2

Canal
canalv3261Rancher2

Flannel
flannelv0214

CoreDNS
coreDnsv183Rancher2

KubeDNS
kubeDnsv116

MetricsServer
metricsServerv061

Weave
weavev122

Aci
aciv6032

NginxIngress
nginxIngressv194Rancher1

Nodelocal
nodelocalv121

v1.27.14-rancher1-1

Repository
Tag

rancher/mirrored-coreos-etcd
v3.5.10

rancher/hyperkube
v1.27.14-rancher1

rancher/rke-tools
v0.1.96

rancher/mirrored-k8s-dns-*
1.22.28

rancher/mirrored-cluster-proportional-autoscaler
1.8.9

rancher/flannel-cni
v0.3.0-rancher8

rancher/mirrored-flannel-flannel
v0.21.4

rancher/mirrored-calico-*
v3.26.3

weaveworks/weave-*
2.8.1

noiro/* (All ACI images)
<IP_ADDRESS>.81c2369

rancher/mirrored-pause
3.7

rancher/nginx-ingress-controller
nginx-1.9.4-rancher1

rancher/mirrored-nginx-ingress-controller-defaultbackend
1.5-rancher1

rancher/mirrored-jettech-kube-webhook-certgen
v20231011-8b53cabe0

rancher/mirrored-metrics-server
v0.6.3

rancher/mirrored-coredns-coredns
1.10.1

rancher/mirrored-cluster-proportional-autoscaler
1.8.9

rancher/mirrored-k8s-dns-node-cache
1.22.28

Add-on Name
Add-on Template Version Constraint

Calico
calicov3261Rancher2

Canal
canalv3261Rancher2

Flannel
flannelv0214

CoreDNS
coreDnsv183Rancher2

KubeDNS
kubeDnsv116

MetricsServer
metricsServerv061

Weave
weavev122

Aci
aciv6032

NginxIngress
nginxIngressv194Rancher1

Nodelocal
nodelocalv121

Fresh install checks - PASS

On rancher version v2.8.4 KDM pointing to dev-v2.8-2024-05-patches branch, cluster creation succeeds for 1.28.10-rancher1-1 and v1.27.14-rancher1-1 on all network providers - canal/flannel/weave/calico
Network checks look good
Canal network checks look good

Upgrade checks - PASS

On rancher v2.8.4, KDM pointing to release-v2.8, cluster creation succeeds for k8s 1.28.9-rancher1-1 and v1.27.13-rancher1-1 version with all network providers.
Pre-upgrade checks look good.
KDM points to `dev-v2.8-2024-05-patches
Upgraded cluster to k8s versions -   1.28.10-rancher1-1 and v1.27.14-rancher1-1
Post upgrade checks look good.

Minimum Rancher checks - PASS

On rancher version v2.8.0, KDM pointing to dev-v2.8-2024-05-patches branch, cluster creation succeeds for v1.27.14-rancher1-1 on all network providers - canal/flannel/weave/calico

Network checks look good
Canal network checks look good

On rancher version v2.8.3, KDM pointing to dev-v2.8-2024-05-patches branch, cluster creation succeeds for v1.28.10-rancher1-1 on all network providers - canal/flannel/weave/calico

Network checks look good
Canal network checks look good

RKE default k8s version - PASS
dev-v2.8-2024-05-patches should have the default as v1.28.10-rancher1-1
"RKEDefaultK8sVersions": {
  "0.3": "v1.16.3-rancher1-1",
  "default": "v1.28.10-rancher1-1"
 }

RKE Checks passed with rke v1.5.10-rc.1. Also, checked if images are getting pulled successfully.

Ran rke config --system-images
Pulled all the docker images manually.
Images are getting pulled successfully.


ol.source.Vector: ol.FeatureLoader triggered endlessly

I defined a featureLoader function for my vector source. If I call source.clear() or source.clear(true) in the ajax callback, the function is immediatly called again. If I call it before the ajax call everythings works fine:
private featureLoaderFunction(extent: number[], resolution: number, projection: any) {
        let bbox: string;
        if (this.dataProjection !== projection.getCode()) {
            bbox = ol.proj.transformExtent(extent, projection.getCode(), this.dataProjection) + ',' + this.dataProjection;
        } else {
            bbox = extent + ',' + projection.getCode();
        }
        let source = this.layer.getSource();
        this.mapService.addLoading();

        source.clear(); // this works fine

        let oReq = new XMLHttpRequest();
        oReq.open("GET", this.requestUrl + '&BBOX=' + bbox);
        oReq.onload = () => {
            let features = this.format.readFeatures(oReq.response);
            // source.clear(true); // bug -> this triggers the function again
            source.addFeatures(features);
            this.mapService.addLoaded();
        };
        oReq.send();
    }

The idea is to call the clear function right before the new data is added to avoid an empty layer during the request.

The behavior you are observing is by design. It looks like what you are looking for is the bbox or tile ol.loadingstrategy, which should give you the expected behavior.


Investigate the possibility of creating and reusing plots and plot settings

Explore the feasibility of creating and reusing plots and their settings within the Kandy library.

Make an example of that feature
Documenting this feature

Part of #85

Why is this closed? I consider adding a function that allows to add new layers and override layout for existing plot.

There is a link to the original issue in the description - #85


Random channel closing on linux

Describe the bug
Request often fails mid streaming  with "channel closed"
To Reproduce
make requests that have a large response
Expected behavior
no channel closed. timeout issue ?
Screenshots/Logs
> a request
start of answer then
The cursor position could not be read within a normal duration

Failed to send ReplyEvent::Done

Caused by:
    channel closed

> .info
model                   claude:claude-3-5-sonnet-20240620
max_output_tokens       8192 (current model)
temperature             -
top_p                   -
dry_run                 false
stream                  true
save                    false
keybindings             emacs
wrap                    no
wrap_code               false
save_session            -
compress_threshold      4000
function_calling        true
use_tools               -
rag_reranker_model      -
rag_top_k               4
highlight               true
light_theme             false
config_file             /home/tiphaine/.config/aichat/config.yaml
roles_dir               /home/tiphaine/.config/aichat/roles
env_file                /home/tiphaine/.config/aichat/.env
functions_dir           /home/tiphaine/.config/aichat/functions
rags_dir                /home/tiphaine/.config/aichat/rags
sessions_dir            /home/tiphaine/.config/aichat/sessions
messages_file           /home/tiphaine/.config/aichat/messages.md

Configuration

Environment (please complete the following information):

os version: NAME="TUXEDO OS"
VERSION="3 22.04.4"
aichat version: 0.21.1
terminal version: kitty 0.35.2

There are currently API issues reported as of two minutes ago: https://status.anthropic.com/incidents/090c72v2y6pd

@tiphaineruy
Normally, the error Failed to send ReplyEvent::Done should not occur. Even if there is a network issue, it shouldn't happen.
The relevant code has been stable for at least 4 months, and you are the only one reporting this bug.
Can you describe it in detail or provide some logs?

I've actually been having this issue for 1 or 2 months on my new linux machine.
Afraid there isn't much more logs than this unless I can enable a verbose mode in aichat ? Happy to help if need. I'll try from source later and see If I get the same errors
but the use case is  start aichat, make requests, and at some point randomly the error message that is displayed in my original post is appended
The cursor position could not be read within a normal duration

Failed to send ReplyEvent::Done

Caused by:
    channel closed

ending the response
the cli doesn´t crash and if I make subsequent request they succeed.

@tiphaineruy
After some investigation, I found that the problem here.
https://github.com/sigoden/aichat/blob/d92f102a85eb98ee0cb3eaa8a775b7d3528090ac/src/render/stream.rs#L81
// https://github.com/crossterm-rs/crossterm/blob/9a6d740ed52c23c3ebaa3d24841d4a441817e160/src/cursor/sys/unix.rs#L39-L50
fn read_position_raw() -> io::Result<(u16, u16)> {
    // Use `ESC [ 6 n` to and retrieve the cursor position.
    let mut stdout = io::stdout();
    stdout.write_all(b"\x1B[6n")?;
    stdout.flush()?;

    loop {
        match poll_internal(Some(Duration::from_millis(2000)), &CursorPositionFilter) {
            Ok(true) => {
                if let Ok(InternalEvent::CursorPosition(x, y)) =
                    read_internal(&CursorPositionFilter)
                {
                    return Ok((x, y));
                }
            }
            Ok(false) => {
                return Err(Error::new(
                    ErrorKind::Other,
                    "The cursor position could not be read within a normal duration",
                ));
            }
            Err(_) => {}
        }
    }
}

It seems your terminal has poor performance, and it is unable to get the cursor position within 2 seconds.

@tiphaineruy
I find it difficult to reproduce this issue on my end. I have submitted a fix, and could you test it?


can not get rhx_gis from sharedData

now you visit https://www.instagram.com and view the source code of this html page, you can't
find "rhx_gis" . Therefore methods relevant to "rhx_gis" will not work (getMedias, getMediasByUserId. etc).
It seems that instagram updates their policy to prevent from scraping.
Any new way to solve this problem？？
@raiym

oh it seems that you just need to remove 'rhx_gis', and you will get the response.
it means you don't need to call generateGisToken() when you generate request headers
in method getMediasByUserId like:
// $response = Request::get(Endpoints::getAccountMediasJsonLink($variables), $this->generateHeaders($this->userSession, $this->generateGisToken($variables)));
            $response = Request::get(Endpoints::getAccountMediasJsonLink($variables), $this->generateHeaders($this->userSession));

Hello!
From today I get an exception "Could not extract gis from page" when calling the method getMedias().
What offer to solve? @raiym

@newvv88
As what I mentioned aboved, Instagram will not render "rhx_gis" in the page from now on, and when you call method getMedias(), it will call method generateGisToken(), which causes the exception you had.
So what you need to do is that get into method getMedias(), and replace
$response = Request::get(Endpoints::getAccountMediasJsonLink($variables), $this->generateHeaders($this->userSession, $this->generateGisToken($variables)));

to
$response = Request::get(Endpoints::getAccountMediasJsonLink($variables), $this->generateHeaders($this->userSession));

hope it makes sense to you

Yes thanks this works :]
Also combined with silencing any errors with '@' to stop the site breaking just in case Instagram changes again, as suggested here
    $instagram = new \InstagramScraper\Instagram();
    $nonPrivateAccountMedias = @$instagram->getMedias('example', 30);

Originally posted by @MathiasGmeiner in https://github.com/postaddictme/instagram-php-scraper/issues/484#issuecomment-493123894


Search music by artist.

Not much to this one, I'd like to ask if it would be possible to add a feature to search for songs  by artist name, instead of only by song title.
Or if it's already a thing, and I've just somehow not realized it.

you can go to the artist's channel and hit the music tab.

But yeah sure i guess future search systems should have artist search functionality? it's a bit awk though since we're not google and don't specialize in superduper awesome search algorithms.

Ahh ofc fair enough.


Ability to access placeId parameter from google.maps.api on click event

Is your feature request related to a problem? Please describe.
Yes, currently unable to get the placeId parameter when user clicks on a POI icon on the map, as the event returned is always MouseEvent and not IconMouseEvent as described here: https://developers.google.com/maps/documentation/javascript/reference/map#IconMouseEvent
and here
https://developers.google.com/maps/documentation/javascript/examples/event-poi
Describe the solution you'd like
The event returned with click by leaflet should include placeId in addition to latLng (see leaflet _fireDOMEvent)
Describe alternatives you've considered
Could not find any
Additional context
https://developers.google.com/maps/documentation/javascript/examples/event-poi

What you are linking to is Google Maps documentation. Leaflet is a different product.

"You can add the Google Maps API as a Leaflet layer with the GoogleMutant plugin"
https://github.com/Leaflet/Leaflet/blob/master/FAQ.md
Leflet is wrapping the events and somehow only passing MouseEvent instead of IconMouseEvent

Thank you for the suggestion. I am not sure where the issue is yet.

This might be related, i'll dig more into that https://stackoverflow.com/questions/46103259/can-default-google-map-click-and-hover-behaviors-be-preserved-when-used-in-leafl
Thank you


Connections are created in Custom view with no selected options

System information:

Operating system (distribution) and version Win10
DBeaver version 21. 0

Steps to reproduce, if exist:

Create a new connection
Check its view in DB Navigator

Expected: Advanced view is displayed by default, if another type has not been set
Actual result: custom view with no options is selected

Default navigator settings can be configured in preferences (page Connections).
It works as expected in my env.

Verified


Buildkite source

Description

Provide description here

Type of change

[ ] Bug fix
[x] New feature
[ ] Breaking change

Related issues

Fix #1

Migration notes

Describe migration notes if any

Extra info

Add any additional information

Format JSON, GQL files.
Add description to spec.json's properties.
Remove commented code and src/buildkite/resources folder if it doesn't use.
I recommend to install "Code Spell Checker" extention.
Can you remove or use organization property in getOrganizations function
Add incremental modes to streams. To pull incremental's builds you need to execute getBuilds function with needed params, as in StatusPage cutoff option.
You can pull Builds without calling getPipelines and fetchPipelineBuilds, The same for Jobs. Documentation to pull Builds and to pull Jobs
To pull pipelines use organizations set in config as in Phabricator example and add description like "You can pull pipelines to every organization or pull pipelines to organizations set in the config".

Good job!

Do you run acceptance-tests?
lerna run build && ./scripts/source-acceptance-test.sh buildkite-source
If you have an issue with it write to me I'll help you

@Roma-Kyrnis I can run acceptance-tests, please test on your local

Acceptance tests are working! Good job!

@yevgenius what I need to update?

@huongtn Please resolve the merge conflicts.

Also rotate the token. Assume it was exposed
-Matthew

After rotating the token, use https://onetimesecret.com to send me the new token so we can include it in our testing workflow.

Already test e2e

If it is possibly null or undefined, i.e. variables with the sign "?". It is better to check writing data, for example: if (!job.build?.pipeline) { return []; }

Does the Buildkite API allow specifying dates in requests (e.g. for fetching jobs or builds) so that we can only fetch records after a certain date? This will enable using incremental streams.

Yes, you can use cursors for it. See https://github.com/faros-ai/feeds/blob/master/feeds/cicd/buildkite-feed/src/buildkite.ts

@huongtn Please update the builds and jobs streams to support incremental mode by adding a parameter to the GraphQL query to only pull records after a given timestamp, similar to how our feed operates.

I've merged all the latest commits from the main branch into this one, be sure to pull before making changes.

@huongtn Please update the builds and jobs streams to support incremental mode by adding a parameter to the GraphQL query to only pull records after a given timestamp, similar to how our feed operates.

GraphQL do not support parameter to only pull records after a given timestamp, we only query after "curser" field
for ex: jobs(first:10, after:"ktkhMjAyMS0xMi0yMCAwMzozNzo0MC44ODU1MzYwMDAgVVRD2SQ0NDNmNzFlZi1lMjY0LTQwNTEtYTA2Mi1lNmYyYjRlOTExNzA=")

@huongtn Use cursor for incremental sync. See our Buildkite implementation in our internal feeds repository.

@huongtn Use cursor for incremental sync. See our Buildkite implementation in our internal feeds repository.

@tovbinm  I saw our internal feeds repository have parameter "pipelineSlug", Do we need to add to connector?


[Vectorized][Feature] support function conv

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
support function conv
Use case
MySQL [ssb]> select conv('b',16,10);
+-------------------+
| conv('b', 16, 10) |
+-------------------+
| 11                |
+-------------------+
1 row in set (0.017 sec)

MySQL [ssb]> select conv(9,16,10);
+-----------------+
| conv(9, 16, 10) |
+-----------------+
| 9               |
+-----------------+
1 row in set (0.014 sec)

MySQL [ssb]> select conv(9,10,2);
+----------------+
| conv(9, 10, 2) |
+----------------+
| 1001           |
+----------------+
1 row in set (0.017 sec)

Related issues
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Can you add a document?
I still don't know what is this thing used for after see your user case.

Can you add a document? I still don't know what is this thing used for after see your user case.
Ok, I will add a document.
conv is a function what can converts numbers between different number bases.
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_conv


Let the user specify a custom user-agent when a request is triggered

Currently the only way to add a new user agent is by using the method addAlgoliaAgent on the client instance. However autocomplete.js does not have access to the client but only to an index instance. To solve this, it would be perfect if we could set the user agent directly when the request is sent.
For now this is only required for searching (autocomplete.js)
Proposal
Since it's only required for search and the ability not documented, we could implement a new method (to limit the complexity of the signature of the function):
var maybeResults  = index.searchWithAlgoliaAgent('my new fancy agent', 'query');

index.searchWithAlgoliaAgent('my new fancy agent', 'query', (err, results) => {console.log(err, results);});

WDYT?

Alt. proposal, use x-algolia-agent in params. Right now, it's ignored but we can append its content to the ua. (seen with @vvo)

now part of requestOptions: #590

index.search(
  {
    query: "...",
  },
  {
    requestOptions: {
      userAgent: 'InstantSearch for dogs (v1)',
    },
  }
);

This v4.0 is in progress, and we took into consideration all those points.


Add Histogram meter primitive

The history of Dropwizard and Prometheus client-side quantile computation is too much to ignore.

The prometheus implementation is essentially just a grouping of counters, so that method could be used if spectator doesn't support histograms.

Spectator has support with specializations of timer and distribution summary: BucketTimer and BucketDistributionSummary. Even more specialized is PercentileTimer and PercentileDistributionSummary.

Near equilavent of Prometheus' server-side histogram_buckets is Atlas' percentiles.

Spectator bucket meters are non-cumulative, determined on a per-sample basis by LongFunction<String>. Prometheus histograms are cumulative, buckets are always mathy.


First Go Round, and some questions.

So I followed your instructions as best I could with the following caveats:
The STL’s didn’t match the written descriptions.
1- In the calibration discussion you mention a separate “square” at integer multiples of the print layer hieght (i.e. 0.10, 0.20, 0.30 and so on for a .10mm layers hieght).  Yet the STL’s first “square” was 0.20 and the rest incremented by the 0.10 layer height.   Is there a reason for the first one having double the layer height?
2 - While it wasn’t explicitly called out the separate STL (full length but a flat 0.10mm Z across the entire surface) appears to be designed to print under the stair step gradients and should be printed in white (gathering that from whatever slicer was shown there (I’ve never used anything but prusa slicer so was unfamiliar with the UI), so I’m assuming I have the correct assumption there.
Following the other comments, I decided to go the 7 layers of 0.07mm LH, and it dawned on me that that might change or need to be so I built a fully parameterized model in fusion that’s set up where you specify the number of steps, the square size, the target layer height for each step an an optional “first step addtional Z height” in case what I viewed with the demo calibration SLT really needed to be there.  It also takes a separate “first” layer height for what I believe to be the “needed” white layer under the whole thing.
It then builds the steps and the ‘white’ base
I then set it up for 7 steps @ 0.07 @ 25mm square, with a 0.15 white first layeer under the whole thing.   Exported that, and filled the need with IIIDmax’s light blue, yelllow, fushia, white and black.
I then printed those, and that led to the next question..
How do you calibrate measuring the colors?   I’ve got a multi level LED panel with various white color temps (not sure on the exact values though as the manual is in Chinese)  and variable brightness.   I put the strips on that, took several photos at various color temps and brightnesses (noticing my iPhone camera auto compensated for the various brigntnesses, as all of them imported looking mostly the same).
What wasn’t clear at all was how to white balance this.   I’ve done a ton of professional photography back in the SLR days and know how to pull a white balance there (I still have several neutral gray targets with specific color temp ranges) but this is a whole different beast, and being backlit makes the prospect of getting an accurate color balance a puzzle.
So what I ended up doing was importing them to photoshop, and noticed the “white” border around the strips was anything but.   the Iphones’ auto compensate had rendered those various shades of gray.
So my next thought was to try to get the border white stuff back to white without importing a hue shift and just sticking to levels and brightness / contrast adjustements.    That “sorta” worked.
The next thing was measuring the colors - even with ironing on some (particularly the whites and blacks) still showed the lines.   My “sorta” solution for that was to run a Gaussian blur on the image, as it’ll change contrast and edge deltas but shouldn’t muck with the hue much at all and only diddle the saturation a little.  It was either that or run an average calc on all the pixels in a selected area and the Gaussian blur was way less work.
Next i expanded the JSON color palettes to 7 layers for each color.  What wasn’t super clear though, was where you pulled your hex HSL (least I think that first JSON parameter is HSL (hope it’s not RGB or I really screwed it up).  So where does THAT first one come from?   The middle of the spectrum of your swatches?  The first?  The Last? Does it even matter?  that part wasn’t clear.
So I transferred over all the HSL values from color slurp (which if you’re on a mac is great for this sort of thing as you can create templates for the output format when you copy a value out of a pallete, whcih gave me the entire entry, pre formatted per your JSON layout in one go per color.   saved a LOT of time.
So I updated the palette, added in my 5 IIIDMax initial filaments, and saved that with your  jar and the other files to a directory and cloned the sample.bat file and started modifying that.   What I noticed is that my hues and satruarations for the IIDMax counterparts for the CMY stuff was in the same ballpark, by L values were generally off from yours by a good 20 points in most cases.   Ergo the question about what’s the best practice for both backlighting these and measuring them..
From there it was onto the batch file modifications.
The first thing I noticed is when you drop that on terminal (at least in Mac OS Monterey) the shell is expecting fully qualified paths for EVERYTHING, so I needed to drop the files one at a time on terminal to get those paths, paste that into the batch file and then applied your suggested settings for a 0.40 nozzle.   I noticed there, that the default backing height at (0.24mm) wasn’t an even multiple of the 0.10 layer height, and the neither was the texture thickness default.
Thinking that having a non integer multiple of the layer height (particularly for the texture file might have an adverse impact I settled for 0.28 for the base (at a 0.07mm layer height)  thus giving me 4 layers of backing, and a similar integer # of layers for the  texture  height (Cant’ remember the value but it was close to your suggested 0.4mm default, just rounded to the closest integer multiple of my 0.07mm layer height.
My source image was a 1200DPI color can of a magazine cover, which I cleaned up in photoshop (to ditch the offset printing Moire effects you get on a scanned print, some basic straightening, skew correction and my eyeballed color correction based on having shot some 200,000 or so posted photos over the years.  I did a image resolution drop on that bringing it down to 300 DPI and that became the source image.
I bumped the color layers from 5 to 7, left the rest at defaults and let it rip.
I unpacked the zip, dropped all of em into PrusaSlicer (which asked if they were all a single file with multiple parts) and I answered yes, and it (apparently got the stacking order correct).   Sent it to slice with 100% rectilinear infill and off the printer it went.   At 130mm x axis (portrait orientation) this was a 13 hour print.
So here’s my source color pallete against the light pad ::

these were all the  various (indecipherable chinese) color temp values of the backlight.  the sometimes illegible squiggly marks on the swatches was due to my fusion model baking in the exact layer height of each swatch square so if I have multiples of these at different layer heights I’ll be able to tell which is which.
So here’s the print, again on the same backlit pad at various color temps and brightnesses.
Was pretty happy (very actually)  with the detail, not so keen on the very white highlights on her face, and the  color stuff is somewhat close but the TIME lettering and the non subject gray background is all over the map color wise.

So here’s some close ups of the details:

And the original source:

So, curious as to where I may have messed up, how I could better or more accurately handle the color palette sampling, and any other recommendations you might have as to how best use this thing.
Also, as I’m also a programmer, I could probably cook up a gui app for mac and windows that would handle the creation of the JSON Pallette by feeding the app the pix of the calibration swatches and picking the colors and cratering a library of sorts for the filaments, and the generate specific Pallette files using any subset of the  filament libraries “sampled” colors to be saved as a preset, or applied to a specific image, and allow the user to use standard OS hosted input output dialogs for getting the source images and the designation image, and feed that all to  your jar on behalf of the user.   Shouldn’t be too terribly tough to cook up as you’ve already done all the heavy lifting.

Hi @LewnWorx ,

1- In the calibration discussion you mention a separate “square” at integer multiples of the print layer hieght (i.e. 0.10, 0.20, 0.30 and so on for a .10mm layers hieght). Yet the STL’s first “square” was 0.20 and the rest incremented by the 0.10 layer height. Is there a reason for the first one having double the layer height?

Each layer height must have a Z-step height (so for a 0.1m step: 0.10, 0.20, 0.30, etc. But my main concern is to have a really uniform visible layer. For this, I use a neutral (white) base of 0.1mm, on which the layers I want to calibrate rest. This allows me to obtain a true first layer of color on which I can activate ironing (Bambu Studio refuses to do ironing on a first layer). I also noticed that it doesn't change much in the final result.
So if you take into account the base, yes, the first layer will be 0.2mm. but how it will be white (and that your other color will be different), it will actually be 0.1mm.
Now, if you manage to have consistent values without this base, then it will be better.

2 - While it wasn’t explicitly called out the separate STL (full length but a flat 0.10mm Z across the entire surface) appears to be designed to print under the stair step gradients and should be printed in white (gathering that from whatever slicer was shown there (I’ve never used anything but prusa slicer so was unfamiliar with the UI), so I’m assuming I have the correct assumption there.

Yes, that's correct.

Following the other comments, I decided to go the 7 layers of 0.07mm LH, and it dawned on me that that might change or need to be so I built a fully parameterized model in fusion that’s set up where you specify the number of steps, the square size, the target layer height for each step an an optional “first step addtional Z height” in case what I viewed with the demo calibration SLT really needed to be there. It also takes a separate “first” layer height for what I believe to be the “needed” white layer under the whole thing.

Yes, in 4 colors, that seems to be the best choice. @MadMax389 's results are amazing.

How do you calibrate measuring the colors? I’ve got a multi level LED panel with various white color temps (not sure on the exact values though as the manual is in Chinese) and variable brightness. I put the strips on that, took several photos at various color temps and brightnesses (noticing my iPhone camera auto compensated for the various brigntnesses, as all of them imported looking mostly the same).

The ideal is to use the same temperature as the LED strip you are using.
My phone also has an option to correct photos with AI. I strongly advise you to disable this option. I also recommend using the pro mode of your phone to choose the ISO, speed, and temperature yourself.

The next thing was measuring the colors - even with ironing on some (particularly the whites and blacks) still showed the lines. My “sorta” solution for that was to run a Gaussian blur on the image, as it’ll change contrast and edge deltas but shouldn’t muck with the hue much at all and only diddle the saturation a little. It was either that or run an average calc on all the pixels in a selected area and the Gaussian blur was way less work.

Before using ironing, I also tried using Gaussian blur. Thanks to ironing, it was no longer necessary for me.

Next i expanded the JSON color palettes to 7 layers for each color. What wasn’t super clear though, was where you pulled your hex HSL (least I think that first JSON parameter is HSL (hope it’s not RGB or I really screwed it up). So where does THAT first one come from? The middle of the spectrum of your swatches? The first? The Last? Does it even matter? that part wasn’t clear.

In lithophane mode, the first hexadecimal value doesn't matter. It's useful in the "FULL" mode which doesn't use color blending but directly the filament "as is". It represents the color of the filament. I personally put the color declared by the manufacturer. But again, in lithophane mode, it doesn't matter.

So I updated the palette, added in my 5 IIIDMax initial filaments, and saved that with your jar and the other files to a directory and cloned the sample.bat file and started modifying that. What I noticed is that my hues and satruarations for the IIDMax counterparts for the CMY stuff was in the same ballpark, by L values were generally off from yours by a good 20 points in most cases. Ergo the question about what’s the best practice for both backlighting these and measuring them..

To be honest, I don't have the slightest idea. Just like you, I'm also learning to master all of this.

The first thing I noticed is when you drop that on terminal (at least in Mac OS Monterey) the shell is expecting fully qualified paths for EVERYTHING, so I needed to drop the files one at a time on terminal to get those paths, paste that into the batch file and then applied your suggested settings for a 0.40 nozzle. I noticed there, that the default backing height at (0.24mm) wasn’t an even multiple of the 0.10 layer height, and the neither was the texture thickness default.

The first thing I noticed is when you drop that on terminal (at least in Mac OS Monterey) the shell is expecting fully qualified paths for EVERYTHING, so I needed to drop the files one at a time on terminal to get those paths, paste that into the batch file and then applied your suggested settings for a 0.40 nozzle. I noticed there, that the default backing height at (0.24mm) wasn’t an even multiple of the 0.10 layer height, and the neither was the texture thickness default.
Thinking that having a non integer multiple of the layer height (particularly for the texture file might have an adverse impact I settled for 0.28 for the base (at a 0.07mm layer height) thus giving me 4 layers of backing, and a similar integer # of layers for the texture height (Cant’ remember the value but it was close to your suggested 0.4mm default, just rounded to the closest integer multiple of my 0.07mm layer height.

My suggested settings are primarily for 0.12mm layers, which is one of the default profiles on Bambulab for the 0.4mm nozzle.
I indeed wasn't very clear.
As you understood, the base needs to be compatible with the height of the first layer + a multiple of the other layers (if you print the base in multiple parts), and the height of the colors needs to be equal to the layer height in the slicer.

So, curious as to where I may have messed up, how I could better or more accurately handle the color palette sampling, and any other recommendations you might have as to how best use this thing.

I think you got it wrong anywhere.
I actually find that image 3 is the best in my opinion. I don't think I could have done better with 4 colors.
In reality, It's just very difficult to print skin color with only 4 colors.
I admit that I mainly created this program to explore the possibilities of lithophanes using more than 4 colors. To be able to use 8, 12, or 16... .
I personally use between 7 and 10 colors (8 in 90% of cases.), and with beige and brown to have more shades available to manage skin colors.

Also, as I’m also a programmer, I could probably cook up a gui app for mac and windows that would handle the creation of the JSON Pallette by feeding the app the pix of the calibration swatches and picking the colors and cratering a library of sorts for the filaments, and the generate specific Pallette files using any subset of the filament libraries “sampled” colors to be saved as a preset, or applied to a specific image, and allow the user to use standard OS hosted input output dialogs for getting the source images and the designation image, and feed that all to your jar on behalf of the user. Shouldn’t be too terribly tough to cook up as you’ve already done all the heavy lifting.

Well, It will be a pleasure.
That said, I am currently exploring a new way for the color palette.
I'm not sure yet if it will be worth it because it adds quite a bit of complexity to the calibration.
My idea is to print all possible combinations in a matrix and use these actual "obtained colors" to deduce all usable colors.

I made a prototype that directly uses an image as a reference (so no need to retrieve HSL values anymore).

I don't know what it's going to turn out like. Especially since I put this project on hold a month ago.

What wasn’t clear at all was how to white balance this. I’ve done a ton of professional photography back in the SLR days and know how to pull a white balance there (I still have several neutral gray targets with specific color temp ranges) but this is a whole different beast, and being backlit makes the prospect of getting an accurate color balance a puzzle.
So what I ended up doing was importing them to photoshop, and noticed the “white” border around the strips was anything but. the Iphones’ auto compensate had rendered those various shades of gray.
So my next thought was to try to get the border white stuff back to white without importing a hue shift and just sticking to levels and brightness / contrast adjustements. That “sorta” worked.
The next thing was measuring the colors - even with ironing on some (particularly the whites and blacks) still showed the lines. My “sorta” solution for that was to run a Gaussian blur on the image, as it’ll change contrast and edge deltas but shouldn’t muck with the hue much at all and only diddle the saturation a little. It was either that or run an average calc on all the pixels in a selected area and the Gaussian blur was way less work.

I'm not a photographic expert, but I snapped pictures using my Pixel, always using the same light source. I did simple white balance on the resulting image.

I also had issues selecting a pixel to generate the hex value. Paint.net has a cool picker that averages the value over a 51x51 square.

I've had pretty good luck with 5 color 3DMax Red White Yellow Blue and Violet.

I've become so obsessed, I would up buying a hand held colorimeter to play around with. When I receive it, hopefully, I will be able to generate hex values directly from the swatch.

@gaugo87 @MadMax389 :
First, thanks for the replies.   Good to know I’m not completely out in the weeds.
A couple things I picked up on between your two replies:
The “quality” of the color sampling is pretty important.     A white balance of the source image based on the LED source of the backlight appears to be pretty key.   In the interim I did manage to translate the tech specs of the panel I’m using, which gave the color temp values of the various modes.   whether or not that’s actually accurate is a good question, I’m almost thinking of tearing it apart to get the actual chip models of the LED and driver SMD’s to look those up.
But I did notice Max’s white balanced sources he fed to the color picker are a lot more white than mine (even just visually to the raw eye) and that most likely has skewed my color values, and further his 51 pix rect that gets averaged is a whole lot better than my Gaussian blurred single pixel grab per tile.   Gonna have to look to see how they did that.   I’m not 100% sure but I think there’s support for color averaging in in one of the Javasscript libraries.    I’ll have to dig into the API and see if that’s there.   Back in the day when very few folks had 24 bit graphics cards, pretty much all images are 8 bit based on a Pallette and Pallette optimization was something of a fine science, and Equalibrium’s Debabilzer pro had probably the best tool on the planet for creating really good palettes, and essentially what we’re doing here is essentially that same thing.
Kinna funny how this stuff has all come full circle.
It’s been a while since I’ve cut a desktop app for stuff like this as I’ve had a couple job hops since then.   My go to tool for this sort of thing has been Xojo as they handle all the platform specific api wrappers for you and you write platform agnostic code and just pick your target platforms and with a single code base you can puke out Windows, MacOS, iOS, Linux, etc.  Sadly, becasue  I haven’t been doing that stuff for several years (my more recent development work has all been database stuff), my compiler license has expired, and thus my most recent build of the thing is several years old, although the build I have that I can use probably can do what I need it to do for this as it’s not inherently leveraging any “state of the art” OS specific api wrappered stuff.  Dunno, will check when I get a bit of time.   I’d rather not pony up $900 for a renewal.
@MadMax389, what’d you end up going with for a colorimeter?
I need to get ahold of Sergio over at IIIDmax, as he mentioned he’s got a buddy who’s working on a hardware based colorometer specifically for filament usage.   Dunno much about it but I get the sense it’s like a pi or Arduino or adafruit thing with a support board and firmware.
Also, you mentioned you were getting 5 hour print times with your stuff.    The one I did (at 130mm x 170mm) rolled in at over 12 hours on my 5 tool head XL with input shaping on.    Feed parameters to the jar were -f 0.28 -b 0.07 -l 7 -w 130.    Print settings were 0.15mm first layer (white) and 0.07 mm for 2nd and on layers.  Infill was 100% rectalinear.   However just noticed on opening it back up I still had ironing on from the color sample prints.     DOH, but re-slicing with that off is still showing 10 hours.    Not sure why your print times are so much better than mine.
Also you’d mentioned your output STL’s from PIXEstl were huge.   Mine are weighing in between 24-39 mb per which really isnt’ that bad.   Are you feeding PIXEstl any values I’m not (like pixel size of some of the other ones?)    My source image was 2528x3280 @ 300dpi, downsampled from a ludicrous 1200 dpi scan that was a 402mb TIFF coming out of photoshop post cleanup.
At any rate, I’ll rework the palettes based off this stuff, wait for your response as to what you’re using for command line parameters and fire off another round.
Thanks…

@LewnWorx I wound up with the cheapest thing I could find on AliExpress for $120. Similar ones at Amazon were twice the price. Not sure if it will work or if it's worth it, but like I said, I'm obsessed :). It does output Hex and RGB (no HSL) that I can convert to HSL in Excel.

I've talked to Sergio about some other things, but I think he's working with the HueForge guy. I could be mistaken, but I think that colorimeter they are developing is to measure transmittance on a strand of filament, or maybe swatches as well. It might be applicable to lithos and a lot cheaper.
I arrived at simple white balancing after creating profiles from non-corrected images. Colors were way off on the lithos. I used the "white" on the diffuser to set the baseline. By correcting this way, I think it standardizes all my palettes and removes or minimizes variability in lighting, temp, or camera.
My 5 hour prints are for my 115mm2 hex lithophanes. The 144x108 lithos of the same image take 9 to 10 hours. I did a lot of playing around with color width and texture resolution. I wanted to make lithos for upload that could be printed with either a .2mm or .4mm nozzle without having to create separate stls. I tested various color widths and texture resolutions with both nozzles and compromised on the following settings. I use .3mm line width in the slicer.

Regarding mesh size, they were a lot bigger before Beta 2. Now, cumulative size for all 6 stl's for 144x108mm is about 500MB (more for 5 and 6 color lithos)

Thanks for all that.
So I re white balanced, and found a dirt simple means of getting the average in photoshop, you can convert any selection to an average color, so I was able to use the other tools to build up a selection that didn't have any artifacts in it and once that was done average the whole mess for each sample that I then fed to Colorslurp (which on the Mac is an awesome tool for this sort of thing as you can define the output format of any color format, so I have a preset built the generates the json already formatted with all the same spacing / tabs etc that I can just drop in the 3 lines for each entry for the layers.
My output palette (sans the other colors I haven't printed swatches for yet or processed is essentially this:
{   "#004785":   { 	"name": "PLA - IIID Max - PLA+ - Light Blue", 	"active": true, 	"layers": {     "7": {       "H": 208,       "S": 100,       "L": 26     },     "6": {       "H": 205,       "S": 95,       "L": 29     },     "5": {       "H": 208,       "S": 63,       "L": 36     }, 	"4": {       "H": 208,       "S": 52,       "L": 39     },     "3": {       "H": 208,       "S": 35,       "L": 45     },     "2": {       "H": 205,       "S": 25,       "L": 49     },     "1": {       "H": 207,       "S": 16,       "L": 51     }}   },   "#C95CA2":   { 	"name": "PLA - IIID Max - PLA+ - Fushia", 	"active": true, 	"layers": {     "7": {       "H": 321,       "S": 50,       "L": 57     },     "6": {       "H": 323,       "S": 59,       "L": 65     },     "5": {       "H": 323,       "S": 60,       "L": 68     }, 	"4": {       "H": 324,       "S": 59,       "L": 70     },     "3": {       "H": 323,       "S": 54,       "L": 72     },     "2": {       "H": 325,       "S": 43,       "L": 72     },     "1": {       "H": 327,       "S": 23,       "L": 69     }}   },   "#AA8400":   { 	"name": "PLA - IIID Max - PLA + - Yellow", 	"active": true, 	"layers": {     "7": {       "H": 47,       "S": 100,       "L": 33     },     "6": {       "H": 48,       "S": 100,       "L": 37     },     "5": {       "H": 50,       "S": 100,       "L": 38     }, 	"4": {       "H": 51,       "S": 100,       "L": 38     },     "3": {       "H": 52,       "S": 100,       "L": 39     },     "2": {       "H": 54,       "S": 94,       "L": 39     },     "1": {       "H": 53,       "S": 40,       "L": 52     }}   },   "#FFFFFF":   { 	"name": "PLA - CC3D - PLA Max - White", 	"active": true, 	"layers": {     "7": {       "H": 35,       "S": 7,       "L": 56     },     "6": {       "H": 37,       "S": 6,       "L": 61     },     "5": {       "H": 32,       "S": 6,       "L": 65     }, 	"4": {       "H": 42,       "S": 4,       "L": 64     },     "3": {       "H": 48,       "S": 3,       "L": 65     },     "2": {       "H": 50,       "S": 4,       "L": 66     },     "1": {       "H": 39,       "S": 2,       "L": 64     }}   },   "#000000":   { 	"name": "PLA - IIID MAX - PLA + - Black", 	"active": true, 	"layers": {     "7": {       "H": 358,       "S": 3,       "L": 15     },     "6": {       "H": 28,       "S": 2,       "L": 21     },     "5": {       "H": 62,       "S": 1,       "L": 29     },     "4": {       "H": 62,       "S": 1,       "L": 33     },     "3": {       "H": 152,       "S": 1,       "L": 39     },     "2": {       "H": 240,       "S": 0,       "L": 42     }, 	"1": {       "H": 208,       "S": 1,       "L": 48     }}   },
I've also got the parameterized F360 model that creates the swatches for ya if you want that, lemme know and I'll email it to ya.
I did mod your settings a bit, I used a texture height that was evenly divisible by the 0.07 layer height, and also added a non default entry for the minimum texture height (as the layer height is 0.07), so the parameter part of the equation ended up as:
-b 0.07 -cW .3 -f 0.15 -l 7 -w 120 -M 1.68 -m 0.07 -tW .2
I'm not sure if the minimum texture height helped changing from defaults as I haven't had enough time to change one paremeter at a time and compare the differences.
Print time jumped from 12 to 16 hours on the XL as a result.   and the file sizes jumped quite a bit as well:

However the previews look a LOT better.
The R1 previews:

The R2 Previews:

Now the texture in R1 isn't a whole lot different than in R2, and it looks really decent on the actual print, and as a result I'm toying with the idea of doing two separate runs with different parameters, and using the lower "res" version of the texture file with the higher "res" colors and creating a layer modifier in the slicer to change the print width from your 0.3 to the stock 0.45 (that was what was used in the first rev) as a means of perhaps saving some of that additional print time.
Not sure why I'm getting such huge print times vs yours, as for normal (non litho  work) the XL flat out smokes my I3 (by like a factor of almost 4x) on multi material stuff, simply because the color changes are damn near instantaneous, so any advantage the Bambu might have had in raw print speed over the xl is lost with all the layer changes.   But that's a whole different fish to fry at this point.
I keep forgetting to call Sergio, need to.

The output from Colorslurp is amazing. I was converting each hex code to HSL using a converter website and then editing each entry of the .json in Notepad++. A true pain. Not having coding experience, other than for industrial PLC's, your post inspired me to create a poor man's substitute for elegant code in Excel. I found some VBA to convert hex to RGB, then RGB to HSL. Simple concatenations generate text for the json. Now I can enter hex values from the colorimeter and generate the code automatically. Thanks for the inspiration.

So I've got an ever growing palette in color slurp as I'm cooking these 7 layer swatches (well If my older fillaments I had forgotten to change out the desiccant would stop breaking in the PTFE long enough to print that is).   Got a Sunny 4 bay dryer on since last year and it still hasn't shipped, so doing em 1 at ta time is taking forever).
At any rate, in colorlslrup they look like:

but it's real strength is those custom formats, which I use in a bunch of ways.   We have a digital media server product you have to create you're own layouts for and industrial control products that we roll guis for and they all have some goofy format for getting RGB stuff in and out.
So for each of these I've cooked up the format it wants to see the  color in.   You can mix and match (like have bot HSL and RBG or whatever in any given format:

Back to the swatches, does it matter if we're using 0.10 or 0.15 or something else on the bases?
Just dawned on my my first run the the CYMK IIIDMax stuff was 0.10 for both the base layer and the color layer:

And the last couple batches were 0.15 / 0.07:

Suppose I could update the fusion model to show Both the backing value and the color values on the swatch currently just shows the color:

And going back to @gaugo87 's STLS, I'm still a tad fuzzy on that.
The first STL, was a flat one, (the white backing) which was 0.10 for the whole thing.
So I have that in my fusion model as a paraem (fist Layer Height) which yields this:

Now I added the color stuff at 0.10 for the first batch:

SO that's what I used.   However when I cracked up @gaugo87 's separate staristepped STL I  found a "double" 0.10 for the first portion of the stair step:

Yielding this in your STLf for the color stuff:

Now we could interpret that to mean (but the first 0.10 is always white (like my earlier one shows) - OR - the first COLOR step has that additional 0.10 in it AND the separate STL base, as such:

But I interpreted it to be:

This raises the question of should be be doing these palettes off whichever of those is correct, or if (like in my and max's case) where we're using different actual values for the First layer, but tighter layer heights on the colors:

I.E. would the values in the palette be better if they were based of the color layers actual print height?   Or are they even used?
I guess I'm not super clear on how the values of the palette are being mapped to the values in the source images and how that drives the depth values of the color "pixels".
I did notice last night (trying to toss a quickie valentine's card together for my wife that it's not actually using some of the values in the palettes:
`Last login: Tue Feb 13 21:25:48 on ttys001
marklewno@Marks-Home-CMP-Monterey ~ % /Volumes/homes/Mark\ NAS/Cad\ Work/3d\ Printing/Color\ Lithophanes/Projects/Valentines/Valentines
Palette generation... (165 colors found)
Calculating color distances with the image...
Nb color used=21
Generating previews...
Generating STL files...
Layer[0.0] :PLA - IIID MAX - PLA + - Black, PLA - IIID Max - PLA+ - Light Blue, PLA - IIID Max - PLA + - Yellow, PLA - IIID Max - PLA+ - Fushia, PLA - CC3D - PLA Max - White
GENERATION COMPLETE ! (18659 ms)
marklewno@Marks-Home-CMP-Monterey ~ % /Volumes/homes/Mark\ NAS/Cad\ Work/3d\ Printing/Color\ Lithophanes/Projects/Valentines/Valentines
Palette generation... (165 colors found)
Calculating color distances with the image...
Nb color used=22
Generating previews...
Generating STL files...
Layer[0.0] :PLA - IIID MAX - PLA + - Black, PLA - IIID Max - PLA+ - Light Blue, PLA - IIID Max - PLA + - Yellow, PLA - IIID Max - PLA+ - Fushia, PLA - CC3D - PLA Max - White
GENERATION COMPLETE ! (20111 ms)
marklewno@Marks-Home-CMP-Monterey ~ % /Volumes/homes/Mark\ NAS/Cad\ Work/3d\ Printing/Color\ Lithophanes/Projects/Valentines/Valentines
Palette generation... (165 colors found)
Calculating color distances with the image...
Nb color used=25
Generating previews...
Generating STL files...
Layer[0.0] :PLA - IIID MAX - PLA + - Black, PLA - IIID Max - PLA+ - Light Blue, PLA - IIID Max - PLA + - Yellow, PLA - IIID Max - PLA+ - Fushia, PLA - CC3D - PLA Max - White
GENERATION COMPLETE ! (21464 ms)
marklewno@Marks-Home-CMP-Monterey ~ % /Volumes/homes/Mark\ NAS/Cad\ Work/3d\ Printing/Color\ Lithophanes/Projects/Valentines/Valentines
Palette generation... (239 colors found)
Calculating color distances with the image...
Nb color used=22
Generating previews...
Generating STL files...
Layer[0.0] :PLA - IIID MAX - PLA + - Black, PLA - IIID Max - PLA+ - Light Blue, PLA - IIID Max - PLA + - Yellow, PLA - IIID Max - PLA+ - Fushia, PLA - CC3D - PLA Max - White
GENERATION COMPLETE ! (24346 ms)
marklewno@Marks-Home-CMP-Monterey ~ % /Volumes/homes/Mark\ NAS/Cad\ Work/3d\ Printing/Color\ Lithophanes/Projects/Valentines/Valentines
Palette generation... (239 colors found)
Calculating color distances with the image...
Nb color used=32
Generating previews...
Generating STL files...
Layer[0.0] :PLA - IIID MAX - PLA + - Black, PLA - IIID Max - PLA+ - Light Blue, PLA - IIID Max - PLA + - Yellow, PLA - IIID Max - PLA+ - Fushia, PLA - CC3D - PLA Max - White
`
As well as it did on the "all over the map" Taylor Pic I'd have figured something without a lot of tonal range would have come across pretty well:
Iteration 1:
Source:

Output:

Iteration 2:
Source:

Output:

Now I also noted in your sample palette, you had a lot of filaments in there that weren't "active".
I'm taking that as you can store em all in a common file, and turn on and off the actives based on the colors you'll actually use in the print.
If I am correct on that my next assumption was I could "tilt" the palette for a given print to utilize filaments that were more predominantly used in the source image.   Like in this case I have a bunch of different pinks, reds, maroons etc filament wise and therefor I "COULD" load the palette to use those (and my main reason for this is on that card run it didn't even use any of the cyan stuff from my IIIDMax light blue, there wasn't even a STL in the output for that color at all.
So still trying to get my head around this stuff to figure out best practices.
FWIW, I picked up a Hueforge license and woah.   I can't even begin to get my head around that.   AFAICT, everything these is based off additive layers based solely on luminance so it's not really  (again AFAICT) doing a color separation.   Played with it for a couple hours and couldn't get anything even vaguely close to what I was feeding it.
Looking at it most of the examples I've seen are either source images with a very limited color range, or highly stylized stuff where the output is very limited color range wise as well.    Lots of stuff looking like duo and tri tone prints of days gone by.

The output from Colorslurp is amazing. I was converting each hex code to HSL using a converter website and then editing each entry of the .json in Notepad++. A true pain. Not having coding experience, other than for industrial PLC's, your post inspired me to create a poor man's substitute for elegant code in Excel. I found some VBA to convert hex to RGB, then RGB to HSL. Simple concatenations generate text for the json. Bulky, but effective. Now I can enter hex values from the colorimeter and generate the code automatically. Thanks for the inspiration.

If you want, I can modify the code to accept either a hexadecimal value or an HSL value for each layer in the JSON. I chose HSL because it seemed most relevant to me, but honestly, if you find it more convenient to use hexadecimal, that's fine with me.

@LewnWorx ,
You're overthinking it with this 0.1mm base.
It's just there to enable ironing from the first layer of color. I added it because during my tests, I noticed its impact was negligible on the final result. So, if it bothers you, don't use it. Just print layers of 0.07, 0.14, 0.21, etc...
Second advice, I suggest not calibrating white and black and leaving the values I've set. That's exactly it, it allows me to selectively enable or disable filaments based on the images. I think your results will be better that way.

Now I also noted in your sample palette, you had a lot of filaments in there that weren't "active".
I'm taking that as you can store em all in a common file, and turn on and off the actives based on the colors you'll actually use in the print.
If I am correct on that my next assumption was I could "tilt" the palette for a given print to utilize filaments that were more predominantly used in the source image. Like in this case I have a bunch of different pinks, reds, maroons etc filament wise and therefor I "COULD" load the palette to use those (and my main reason for this is on that card run it didn't even use any of the cyan stuff from my IIIDMax light blue, there wasn't even a STL in the output for that color at all.
So still trying to get my head around this stuff to figure out best practices.

That's exactly it, it allows me to selectively enable or disable filaments regarding he images.

@LewnWorx,
One last thing. Avoid images with color gradients (like your image from iteration 2), especially in 4 colors.
The results will often be disappointing.

If you want, I can modify the code to accept either a hexadecimal value or an HSL value for each layer in the JSON. I chose HSL because it seemed most relevant to me, but honestly, if you find it more convenient to use hexadecimal, that's fine with me.

@gaugo87 That would be fantastic. For me, it would be much easier to create profiles. I have been creating a lot of them trying different color and filament combinations.

One last thing. Avoid images with color gradients (like your image from iteration 2), especially in 4 colors.
The results will often be disappointing.

I definitely find that images with contrasting colors next to each other produce the best lithophanes. Skin tones are really difficult with 4 and 5 color profiles.

Hi @MadMax389,

@gaugo87 That would be fantastic. For me, it would be much easier to create profiles. I have been creating a lot of them trying different color and filament combinations.

Done in the version 0.3.0
  "#0086D6":
  {
    "name": "Cyan[PLA Basic]",
    "active": true,
    "layers": {
    "5": {
      "hexcode": "#018BE6"
    },
    "4": {
      "hexcode": "#059EEE"
    },
    "3": {
      "hexcode": "#1EAEF5"
    },
    "2": {
      "hexcode": "#49C4FF"
    },
    "1": {
      "hexcode": "#92D6FD"
    }}
  },
...


ScriptExtension::_get_language missing

Describe the bug
E 0:00:01:0615   _gdvirtual__get_language_call: Required virtual method ScriptExtension::_get_language must be overridden before calling.
  <C++ Source>   ./core/object/script_language_extension.h:133 @ _gdvirtual__get_language_call()

Expected behavior
No response
Actual behavior
No response
How to Reproduce?
Change test locale in internationalization in Project Settings
Godot full version
v4.3.dev5.official [c9c17d6ca]
Orchestrator version
v2.0
Additional information
No response

Fixed by this upstream PR https://github.com/godotengine/godot/pull/90776 as its a Godot bug.


Docker image and automated builds

Would you be willing to accept a PR for a Dockerfile so we can publish automated builds of this thing? I'd like to try out your ergonomadic

Absolutely.

So I have some local commits that get this going but ran into an issue:
Removing intermediate container 38428b75ca94
Step 12/12 : RUN go install -v
 ---> Running in 2d20e8283a6d
github.com/docopt/docopt-go
github.com/gorilla/websocket
golang.org/x/net/context
github.com/mattn/go-sqlite3
# github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in $PATH
golang.org/x/crypto/blowfish
golang.org/x/crypto/bcrypt
golang.org/x/text/transform
golang.org/x/text/unicode/norm
gopkg.in/yaml.v2
golang.org/x/crypto/ssh/terminal
The command '/bin/sh -c go install -v' returned a non-zero code: 2

Any objections to swapping out SQLite for something more Go native like BoltDB? Do we really need a relationship database to store state here

Let's first get the Docker build going, then we can change to BoltDB or whatever makes sense. It looks like you just need to apt-get build-essentials for gcc.

I'm using the ever popular and smaller alpine as a base image but yeah effectively the same (install gcc) -- Okay I'l do that for now and put the PR up and then we can identify whether SQLite is really the best choice here (in a separate issue)


KeyError: 'pipeline' when running ns-train

Describe the bug
I just did a fresh install of Anaconda3 & nerf studio, following the guide at https://docs.nerf.studio/en/latest/quickstart/installation.html
When running ns-train, even without any arguments, I get the following error:
Traceback (most recent call last):
  File "/home/josh/anaconda3/envs/nerfstudio/bin/ns-train", line 8, in <module>
    sys.exit(entrypoint())
  File "/home/josh/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/scripts/train.py", line 249, in entrypoint
    tyro.cli(
  File "/home/josh/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/tyro/_cli.py", line 125, in cli
    _cli_impl(
  File "/home/josh/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/tyro/_cli.py", line 289, in _cli_impl
    parser_definition.apply(parser)
  File "/home/josh/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/tyro/_parsers.py", line 241, in apply
    prev_subparser_tree_nodes = subparsers.apply(
  File "/home/josh/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/tyro/_parsers.py", line 499, in apply
    subparser_def.apply(subparser)
  File "/home/josh/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/tyro/_parsers.py", line 235, in apply
    arg.add_argument(group_from_prefix[arg.prefix])
KeyError: 'pipeline'

To Reproduce
Not sure exactly how to reproduce, other than to follow the installation instructions.
Additional context
Running in WSL2, Ubuntu 20.04.4, Anaconda 22.9.0, and nerfstudio 0.1.7 is installed - I tried with 0.1.6 as well.
Weirdly, this was working yesterday with a previous installation on the same machine. I reinstalled Anaconda and the nerfstudio env to try to fix an instant-ngp issue, but nerfacto was working yesterday.
Any thoughts on what could be going on here?

Odd. I'm unable to replicate on my machine. Maybe @brentyi has an idea.

Not sure where the bug belongs, but modifying tyro's _parsers.py line 238 to:
if arg.lowered.help is not argparse.SUPPRESS:
    arg.add_argument(group_from_prefix[arg.prefix])

gets me working

Spoke too soon in my last (deleted) comment - it got no-arguments working, but didn't pass in the pipeline to run

Getting the same issue when trying to run in colab:
Traceback (most recent call last):
  File "/usr/local/bin/ns-train", line 8, in <module>
    sys.exit(entrypoint())
  File "/usr/local/lib/python3.7/site-packages/scripts/train.py", line 251, in entrypoint
    description=convert_markup_to_ansi(__doc__),
  File "/usr/local/lib/python3.7/site-packages/tyro/_cli.py", line 132, in cli
    **deprecated_kwargs,
  File "/usr/local/lib/python3.7/site-packages/tyro/_cli.py", line 289, in _cli_impl
    parser_definition.apply(parser)
  File "/usr/local/lib/python3.7/site-packages/tyro/_parsers.py", line 242, in apply
    self, prev_subparser_tree_nodes
  File "/usr/local/lib/python3.7/site-packages/tyro/_parsers.py", line 499, in apply
    subparser_def.apply(subparser)
  File "/usr/local/lib/python3.7/site-packages/tyro/_parsers.py", line 235, in apply
    arg.add_argument(group_from_prefix[arg.prefix])
KeyError: 'pipeline'

This appears to be a bug in tyro 0.3.28, which was released 3 hours ago. I downgraded to 0.3.27 & all is good.

i used the command pip install --upgrade tyro==0.3.27 to do that (to save a few seconds of googling for anyone here)

Just yanked 0.3.28 from PyPI, sorry for the inconvenience!
Will make sure whatever's causing this is in tyro's unit tests before re-releasing.

Thanks @brentyi!


Run the Moorea BioCode DMP through the DataCite jupyter notebooks

We're testing the new DMP ID and the DataCite PID graph by utilizing an old DMP for the Moorea BioCode project.
The plan is here: https://dmptool.org/plans/67767/
DMP ID: https://dmphub.cdlib.org/dmps/doi:10.48321/D1F88S
Project docs:

https://www.moorea.berkeley.edu/programs/research/moorea-biocode
https://link-springer-com.colorado.idm.oclc.org/article/10.1007/s00338-011-0845-0#author-information
http://biocode.berkeley.edu/
https://www.moore.org/grant-detail?grantId=GBMF624
https://merritt.cdlib.org/m/moorea_biocode
https://rams.ucnrs.org/manager/reserves/100001/applications/9190

@erinmr is working on a spreadsheet collating DOIs connected to the project. We will then share this with DataCite to connect via the notebooks

Erin ran this, and it looks pretty good! However, a few issues with the metadata emerged and are being tracked here: https://github.com/CDLUC3/dmphub/issues/59.
We all agreed that the graphic needs some additional work to be developed once we begin work on the dashboard interface/DataCite Commons.


how to get the depth image

Hi, now I want to use the depth controlnet as a guide, so how can I get the depth form the render material, I want to get such image as it

Hi,
For rendering the depth image, you may refer to the below links (from NVDiffRast repository)

https://github.com/NVlabs/nvdiffrast/issues/172
https://github.com/NVlabs/nvdiffrast/issues/118#issuecomment-1666875029

Thanks.

Please reopen this issue if you need more help regarding this.


Check for Helm Up is Problematic

kraken.services/tasks/run-services.yaml
The Helm/Tiller steps have some potential issues:

Helm Init is synchronous.  It returns up or error.
The next "Wait for Tiller" step should not be needed.  But if we want to do this, we should not be looking  under the helm covers to determine its readiness.  i.e.  We should not be querying via kubectl for any pods/deployments for this.  Helm may change the way they do things.
We should perform helm readiness with a helm command itself.  e.g. helm ls   (the only true judge of helm is helm itself).
The readiness loop should not be every second, but some longer time period.
Currently, if the helm init task fails (after 60 retries)...the next readiness check is still performed, forcing another 600 sec wait.   The rest of the helm tasks should be skipped if the helm init fails.

Also, helm readiness is generally faster than 5 minutes, it should actually be immediate if the helm init did not return an error.

True, but in testing it was not sufficient. Despite returning after success, tiller was not always immediately listening. It's possible that's changed with more recent versions.
Why not? There's no rate limiting from kubernetes (nor helm) so let's do this as quickly as possible instead of waiting some longer amount of time and wasting a portion of it.


Add argument to prepend a code cell to the notebook from file

This small PR adds a new command line argument --prepend-code-cell to allow insertion of custom code, e.g. for intiialization, to any notebook run via Princess. Its motivation is related to set-up of logging for pycalibration (internal issue).
Questions:

Should this also allow insertion of markdown cells, e.g. by looking at file extension?

I don't entirely love this design, which kind of feels like a kludge, but I accept it's a simple, pragmatic answer to what we want, and I don't have any obvious better solution right now.
One question I have is whether it's better to add the code to the notebook (so there's an extra cell in the output, and all the other cell numbers are bumped), or to quietly execute it without modifying the notebook. Jupyter has a silent=True option when executing that doesn't produce output or increment the cell number. I'm not sure what's the right answer here, but I maybe lean towards not modifying the notebook, so you can re-run the notebook with --save without inserting several copies of the same cell.

Oh, I did not think of the problem of repeatedly inserting the same cell when running notebooks with --save, thanks!
Another option would be to remove the inserted cell after execution and before saving. I didn't fully understand how exactly the solution with silent=True would look like.

Superseded by #5.


File Watcher Settings not Working

My application uses sqlite and the db file in located in resources folder.the problem is that I use vite file watcher in development but when ever something changes in db of course vite catch this change and restart app.The problem is I try everything in electron.vite.config.js to ignore the db file using ignore paramaterer in server.watch but nothing changes.even i give empty object and false parameter to make sure this params is working but still no effect.
I tried every possibility.

import { resolve } from 'path'
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  server:{
    watch:false
  },
  main: {
    server:{
      watch:false
    },
    plugins: [externalizeDepsPlugin()]
  },
  renderer: {
    server:{
      watch:false
    },
    resolve: {
      alias: {
        '@renderer': resolve('src/renderer/src')
      }
    },
    plugins: [react()]
  }
})```

Sorry looks like wrong repo :))


proycon-wayout: init at 0.1.2

Description of changes
Adds ~proycon/wayout. From sxmo-nix. This is a dependency of sxmo.
Note: the binary has been renamed from 'wayout' to 'proycon-wayout' to avoid a conflict with the existing wayout package.
This shouldn't pose any issues for sxmo down the road as an sxmo package can use an alias to select the correct wayout.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux (both native and x86_64->aarch64 cross-compile tested)
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] 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.

version bump from 0.1.2 to 0.1.3 as it's been updated while this PR awaits review
Rebased

In case it's useful, here's a script that can be used to test this on any wayland session:
(
while : ; do
  echo "foo"
  echo ""
  sleep 10
done
) | proycon-wayout -v -p

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1290

Apologies for the review pings, that was a bad rebase.


After update psalm dies to unknown class

Bug Description
Running psalm on a codebase with recent version of PHPAT (which is included in vendor due to running in development) ends up with psalm dying:
Uncaught Exception: InvalidArgumentException Could not get class storage for spaze\phpstan\rules\disallowed\allowed\allowdirectivesconfig
Emitted in /.../vendor/vimeo/psalm/src/Psalm/Internal/Provider/ClassLikeStorageProvider.php:45

Additional context
Seems to be related to line  179 in \vendor\spaze\phpstan-disallowed-calls\src\Allowed\Allowed.php: * @phpstan-param AllowDirectivesConfig $allowed where indeed AllowDirectivesConfig is undefined and not found across the project.

Woops, this is a wrong repository to report to


issue in item image

steps to reproduce :

open an item edit page of any item having image
then close that edit page
then open any other item detail page having image  and verify the image

https://github.com/techgebra/polosys-books-mobile/assets/138277245/3e8341b7-01e6-4ca3-96c5-2685e0535af3

issue closed


Deprecate IHostBuilder

In hindsight, IHostBuilder and IWebHostBuilder were mistakes. There's no need to have these be abstractions. The concrete class should be good enough. We can't do much about IWebHostBuilder right now but we can start to write extension methods on top of HostBuilder instead of IHostBuilder.
cc @Tratcher @glennc

Lets not do this for now. We'll see if it still makes sense when we move things to the generic host.


remove some deprecated code

Kills:

OptimisticLockException
MappingNotFoundException
BasicQueryContract

These types were already deprecated in 5 and there's no reason to not just remove them from 6.

So now I have a batch-related test failing only on postgres. Any clues?

I'll look into it, but since it's also failing on wip/6.0, it's unrelated to your changes.


how to view license from business central ?

Hi All,
Is it possible to see license from business central like RTC ?
Regards,
Muthu

This issue is a question. Please submit your questions on business central community  or on BC development yammer groups.


add a test commit for hackathon fix issue 777

I made some additional updates to the Kitematic User Guide to match the new UI. This is the first pass. Additional changes to follow

Proposed changes

Unreleased project version (optional)

Related issues (optional)

@constanzekratel What's the story here?

@johndmulhausen sorry this was just a test commit as Jim was showing me how to clone the repo on github. Can you please disregard this PR and close it?

@constanzekratel Thanks :)


Set1Task3: Perform basic string formatting

Closing this issue as the corresponding PR "Set1Task3: Perform basic string formatting #5' is closed


Amount of CPU cores used to build X++ Code

Dear MS Team,
in the article you are writing "However, the compiler will use available resources, so more RAM and more cores may translate into faster compilations ..."
As far as I know the X++ build process will always just utilize one CPU core. Is this still true?
The statement above makes me think that compiler "[...] will use available resources [...]" which includes more CPUs, too?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4edde57d-5529-f34f-e343-b2cff4610d57
Version Independent ID: 007d952e-9b06-3f87-479d-d1bb6d6234df
Content: Development system requirements - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/dev-tools/development-system-requirements.md
Service: dynamics-ax-platform
GitHub Login: @RobinARH
Microsoft Alias: robadawy

@erikpaperik, Thanks for taking the time to provide feedback about our documentation. I've passed your suggestion on to the author of this topic so it's noted for future updates. In the meantime, you might want to go to the Dynamics 365 for Finance and Operations community page to get help with your questions from the Dynamics community.

Bug 278479 has been logged to track this issue.

Compiler in D365FO uses all available cores(you can see this by executing Build for the Application source model), so the phrase is correct. I think the issues should be closed

@TrudAX
Thx for clarification.


Center the place modal vertically

I'd like to mantain the modal at the bottom of the page, because on the mobile view I think is more immediate to change the wait time value and submit the modal by positioning it at the bottom

I'll open a new PR with changes only for larger screen sizes then!


Update Kelvin-helmholtz example

I created this PR based on https://github.com/tomchor/AGUOSM22-LES-tutorial/pull/4 as a working area for solving a weird behavior associated with it. I didn't want to "pollute" that PR with this issue, but also wanted a place to store progress. Note that this PR merges into tc/kh-dynamics, not main.
Also @glwagner I thought things here might be relevant to our discussion in https://github.com/CliMA/Oceananigans.jl/pull/2205
Here's the explanation:
Here I'm updating the code to use an LES closure and I'm setting diffusive_cfl=0.1. Since the simulation in so coarse (done on purpose for now) the diffusivity is actually pretty high, and diffusive_cfl is the limiting factor. However, the TimeStepWizard doesn't seem to control for that parameter (meaning the diffusive_cfl does go over 0.1 apparently without TimeStepWizard trying to reduce it).
 I might be forgetting something and I'm gonna investigate this behavior more in depth later.

What if we use a max time step of 20 seconds?


Blazor can't use EventCallback with array TypeParam value

I've isolated my issue to a small bit of code, having a component like this:
MyArrValComp.razor
@typeparam TKey
@code {
    [Parameter]
    public TKey[] Value { get; set; }

    [Parameter]
    public EventCallback<TKey[]> ValueChanged { get; set; }
}

I call the component like in Index.razor like this:
<MyArrValComp @bind-Value="val1" TKey="int"/>
@code
{
    private int[] val1 = new []{ 1, 2, 3 };
}

and it won't compile, it will give misleading error messages like this:
The type or namespace name 'TKey' could not be found (are you missing a using directive ... Index.razor.g.cs
The type or namespace name 'TKey' could not be found (are you missing a using  ... Index.razor
after experimentation I realized that Arrays won't work with EventCallback I need to use IEnumerable<T> instead, that fixed it.

so the error messages are definitely misleading,
also not sure if you're aware about this issue, I haven't noticed in the docs saying that we can't use arrays with EventCallback
is it possible to bind to any collection, I was hoping since Value and ValueChanged are IEnumerable<T> I'll be able to bind to any collection (including T[] ) but no, it only accepts IEnumerable<T> ?

Any updates on this?


Revert path token merge

Remove the more specific path token feature we had merged. The other "extra data" feature from a different contributor looks more well thought-out and useful so we'll try that.

Created this to the wrong target, closing.


Shift + i show warning: Can not make changes, modifiable is off.

Self-Diagnosis

[x] I have searched the issues for an answer to my question.
[x] I have reviewed the NERDTree documentation. :h NERDTree
[x] I have reviewed the Wiki.
[x] I have searched the web for an answer to my question.

Environment (for bug reports)

[ ] Operating System: Kubuntu 20.04
[ ] Vim/Neovim version :echo v:version: gvim 802
[ ] NERDTree version, found on 1st line in NERDTree quickhelp ?: 6.7.13
[ ] vimrc settings

[ ] NERDTree variables

Other NERDTree-dependent Plugins

[ ] jistr/vim-nerdtree-tabs
[ ] ryanoasis/vim-devicons
[ ] tiagofumo/vim-nerdtree-syntax-highlight
[ ] Xuyuanp/nerdtree-git-plugin
[ ] Others (specify):

[x] I've verified the issue occurs with only NERDTree installed.

Steps to Reproduce the Issue

Open a folder which is having some hidden files
Shift + i to show hidden file

Current Result (Include screenshots where appropriate.)
Can not make changes, 'modifiable' is off
Expected Result
Hidden file is shown

Doublecheck the key assigned to that function : echo NERDTreeMapToggleHidden. I is the default, but you might have changed it.
Make sure you or another plugin hasn't redefined the Shift+i mapping. Type the command :verbose map I while in the NERDTree window to see what it is asked to do. You should see the following:
n  I           *@:call nerdtree#ui_glue#invokeKeyMap("I")<CR>
        Last set from ~/.vim/pack/bundle/opt/nerdtree/lib/nerdtree/key_map.vim line 58

You are right, gvim or vim gui assigned I for middle mouse event. that cause ToggleHidden now working.

Your screenshot doesn't show the capital I mapping. Your arrow is pointing to <Shift-Insert>. Were you able to resolve this issue?

@PhilRunninger sorry, it's my mistake. This issue occurs on vim-gtk3, i reverted back to vim-gtk. Now, it works well.


Pynih should represent as some kind of standard sensible type in D a python thing that can be anything 8

Maybe sumtype or Variable

Do you have an example of a Python type that can be anything? Does pyd have something similar?

I think what's meant is a generic "Python Variable" type, so on the D side you can work with something returned from python without knowing at compilation time what type it's going to be.

Real use is interfacing to SIL.  I guess it's a pyobject but often it's going to be something simple like a string or a dict.  In which case a bit more work could be done by autowrap.  See call python code in SIL stdlib for an example..


Add dq.proj()

Form the projector from a given ket or bra vector.
Closes https://linear.app/dynamiqs/issue/DYN-37/add-proj.

Hey @lucasoeth, thanks a lot for your first contribution! There is a small mistake (you compute matrix tranpose instead of matrix adjoint). I've fixed it and done some minor cleanup in the following commits.

is tests/test_plots.py:47:20: UP032 Use f-string instead of format call kept on purpose?
Thanks for reviewing my first commit. To many more :)

is tests/test_plots.py:47:20: UP032 Use f-string instead of format call kept on purpose?

Nope, I guess due to the recent ruff update, let me fix it quickly.


CI: Disable fail-fast on Jenkins if no label.

By default now test with fail-fast is disabled and will only be enabled
if the ci/fail-fast label is present in the PR.
This is a consecuence of the CI meeting:
https://docs.google.com/document/d/1BDX6g9mhQqiVYxdYn6wPk6wv9clJrcaGmRlrxvSTiLo/edit
Signed-off-by: Eloy Coto<EMAIL_ADDRESS>

This change is

test-me-please

test-me-please

@eloycoto Could include the reasoning in the commit message in addition to the link? One day that link  might go away (also, I don't remember the exact reason I don't see it in the notes).

@eloycoto I second @raybejjani here. I cannot discern why we are making this change, just that it was suggested in the meeting. Please add reasoning as to why this is good for CI throughput, dev productivity, etc.

Comments addressed.

test-me-please


Added missing descriptions of classes and variables.

Thank you. File is valid, deploying it now. Will merge when all's well.


[BUG]

是否已有关于该错误的issue或讨论？ | Is there an existing issue / discussion for this?

[X] 我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions

该问题是否在FAQ中有解答？ | Is there an existing answer for this in FAQ?

[ ] 我已经搜索过FAQ | I have searched FAQ

当前行为 | Current Behavior
我上传了一个15min 大约200m的视频，他出现了一个错误
Sizes of tensors must match except in dimension 1.  Expected size 123 but got size 122 for tensor number 1 in the list.
期望行为 | Expected Behavior
No response
复现方法 | Steps To Reproduce
No response
运行环境 | Environment
- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA (`python -c 'import torch; print(torch.version.cuda)'`):

备注 | Anything else?
No response

请问您找到解决方法了吗，我也遇到了相同的问题。


Any suggestions on how to connect to DB2/Tibero instances?

Hi @kenshaw ,
In Linux, I have used odbc+DB2 to connect to the DB2 instance. Thanks for the going an extra mile and providing a Dockerfile for DB2 instance. Can I use a similar approach to connect to Tibero?
Apart from that, Can you elaborate on how to use adodb to connect to DB2 in windows? And can we apply this adodb process on Tibero too?
Thanks,
Chakri

I've never heard of Tibero until just now. If they provide a ODBC driver, usql should be able to connect to it through the ODBC driver. You would need to configure/set up your ODBC driver on your system as instructed via ODBC. You can look in the contrib/db2 folder which gives some example configuration settings for ODBC. If you can't get the isql tool to connect to Tibero with ODBC, then usql won't be able to either.

I will give a try with their ODBC driver if any and will update for Tibero.
Any thoughts on Windows usage of DB2?

Check via the "Control Panel" (I know modern Win10 doesn't really have this anymore) if the Tibero driver is configured and installed. I must admit I don't use Win10/ODBC often, so I won't be of much use. For what it's worth, I have in the past successfully used usql with MySQL, PostgreSQL, DB2, and Oracle using their respective ODBC drivers for Windows. It's been well over 2 years since I last tried, but I see no reason it shouldn't be usable still.

In this old issue, you have mentioned usage of DB2 along with adodb rather than ODBC. So, I am confused about which one to use? Can you please explain a bit elaborated on how to use it?

Quoted from Issue 87:
Note that on Windows, we don't use the CGO ODBC driver, but use ADODB's driver, and build a DSN using ADODB as the driver, but telling ADODB to use the ODBC driver.

ODBC is a bit different the rest of the other drivers that usql supports. On non-Windows system, the underlying library it uses is UnixODBC, on Windows usql maps the ODBC URLs to ADODB, because UnixODBC is not available on Windows.
On Windows, any ODBC registered provider is made available to ADODB, which in concept works very similarly to ODBC. I forget which specific generation of Microsoft Database Marketing/Technology is the underlying provider (JET/MSDE/ACE/...) to ADODB, but suffice it to say, ODBC drivers are exposed through a registered ADODB interface. Microsoft had done this (IIRC) so that ADO.NET would work properly with any ODBC driver, and thus any .NET program would be able to connect to any database that had a Windows ODBC driver.
It's possible you may need to install JET/MSDE/ACE/... or whatever drivers, but it's likely your database provider already included that with your ODBC driver installation. Please refer to your database vendor's documentation on how to build a ADODB DSN / connection string. If you can't connect through, eg, a VBScript or some other mechanism using the ADODB bridge/driver, then usql will not be able to either.
I apologize I can't be of more help, but I haven't actively been using Windows as a development platform since the late 90s.
I can suggest trying this though:
usql "adodb://Microsoft.ACE.OLEDB.12.0/?Extended+Properties=\"Text;HDR=NO;FMT=Delimited\"" \
  -c "create table example.csv(f1 text, f2 text, f3 text);" \
  -c "insert into example.csv(f1, f2, f3) values ('a', 'b', 'c');" \
  -c "select * from example.csv;"

If the above doesn't work work with usql on Windows, then you have either not built usql with ADODB, and/or you likely do not have all of the various driver chains (ODBC, ACE, OLEDB, ...) installed/configured properly on Windows.
(ps: the above was taken from the contrib/adodb folder in usql's source, which I had used for testing connectivity end-to-end through ADODB. It should create a example.csv file in the current working directory, and then insert three values (a, b, c) into that CSV. If there are any errors produced by usql please copy/paste them here and I'll try to help debug them. If the error is along the lines of "cannot find Microsoft.ACE.OLEDB.12.0 driver" then you likely do not have all of the requisite components installed on your Windows system)

I just checked the actual implementation, and the behavior is this:
On Windows, usql uses the alexbrainman odbc driver if it was built with the odbc build tag, and will use that natively for odbc:// URLs. If usql was not built with odbc support on Windows, but adodb support is available, then odbc:// and oleodbc:// URLs will be opened with the adodb driver.
That is, usql supports both ADODB and ODBC natively on Windows.
The reason I implemented it this way, is that the connectivity path for ODBC on Windows is more or less the same as ADODB, and one is more likely to have Microsoft Office installed than the native ODBC drivers. Microsoft Office registers ADODB drivers during installation, or if one does not have Microsoft Office, one can easily download the ADODB components from Microsoft and install. However, ODBC drivers are locked to a specific vendor.
Please check/verify you're able to connect with either the OLE ODBC, or ADODB drivers on Windows to your database. If either of those work, then usql should be able to connect as well. Crafting a DSN can be a bit tricky. In that case, one can always build the DSN passed to the underlying Go driver manually, and use the \connect (alias \c) metacommand in usql to connect:
$ usql
(not connected)=> \connect odbc <DSN>

In the Linux platform, I have tried connecting to the DB2 instance using the so files from ibm_data_server_driver_for_odbc_cli.tar.gz.
I am facing the following errors while connecting as following:
If username alone is provided: ./usql odbc+DB2://username@IP:port/dbname
error: odbc: SQLDriverConnect: {08001} [IBM] [CLI Driver] SQL30082N security processing failed with reason "17" ("UNSUPPORTED FUNCTION). SQLSTATE=08001
If both username and password is provided: ./usql odbc+DB2://username:passwd@IP:port/dbname
error: odbc: SQLDriverConnect: {08001} [IBM] [CLI Driver] SQL1336N The remote host "LOCALHOST" was not found. SQLSTATE=08001

I have done some debugging and found that it may be due to the Authentication protocol. Please share your insights!!

Hi @kenshaw
Any modifications to be done from usql side regarding the above error? Please suggest!

@chakri-stark the issue here is that you are likely not configuring your ODBC entry properly. With ODBC, it doesn't matter what parameters you use on the URL, the passed parameters may or may not override what you have configured in your actual ODBC configuration (I believe that's /etc/odbcinst.ini usually). If you're not able to connect using the isql command (the CLI that comes with ODBC), it's highly unlikely that you'll be able to get usql to connect.
I've done fairly extensive testing with DB2 and ODBC (in fact, DB2 is the primary reason I have included the ODBC driver for usql). Please checkout usql's contrib/db2 folder. I had written that for the 11.1 version, and haven't yet updated the config for 11.5, but the steps should be more or less the same.

My bad!! It's working properly in Linux. Thanks


Added a lot of Marin splash text (syntax fixed)

@muffinjets you're failing;
File "/home/runner/work/LADXR/LADXR/patches/aesthetics.py", line 202
    "Where do you live?" ask="Yes No",
    ^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?

seems like maybe "Where do you live?", ask="Yes No", will work?

Ah, that would make sense, I think I just missed that comma.

Well I ran into a similar issue, I think having a Yes/No prompt is just not gonna happen there.  I was trying to reference this moment: https://i2.kym-cdn.com/photos/images/newsfeed/000/760/657/ec8.png

i think "Where did you come from?" would still be funny without the question, seeing as that is kind of the point of LADX: link is an outsider, and it isn't ever stated to the islanders that link arrived via boat from hyrule, so it checks out: not only in-canon, but as a joke, and as a reference, all in one.

I don't doubt that I'll make more of these at some point in the future, that'll be a good idea for next time


Set SubscriptionResolver type to full array type.

The reason for that is that most Flow users will want to use the verbose version of array notation, according to https://github.com/gajus/eslint-plugin-flowtype/blob/master/.README/rules/array-style-simple-type.md
This change will also keep consistency with other plugins (i.e. flow) which generate ?Array<sometype> (cf. https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/flow/src/flow-variables-to-object.ts#L25)

Thanks @slagiewka !


feat: Enhancement on Drawer

Define your request
User Story
As a user, I want to easily identify the type of a clicked map pin by viewing the filter type information in the drawer, so that I can quickly understand the purpose of the location I've selected on the map.
Background
The current map drawer displays various details about the selected location, but it does not show the filter type information. This can make it difficult for users to understand the purpose of the selected location. To improve the user experience, we need to update the drawer to display the filter type information, so that users can easily identify the type of a clicked map pin and understand its purpose. This will enhance the overall usability of our application and help users to access relevant information more quickly and efficiently.
** discord username: @sercanerhan#0543 **
Acceptance Criteria

The filter type information should accurately reflect the type of location represented by the map pin (e.g., if the map pin represents a hospital, the filter type should show "hospital")
The drawer should be able to display multiple filter types for a single map pin if necessary (e.g., if the map pin multiple reasons/filter, relief aid both, then "hospital" and "relief aid" should be displayed in the drawer).

Extra context

Add some extra context or screenshot pertaining to said feature request.
Figma Design

this is also related with #932

Can you aid the request with images? I think the distinction between current map details, filters, reasons are vague in your description.
Does this require backend development?

@oguzergul ss from the figma design has been added.

Let's reopen this as improvement again, but i am closing all improvements tickets for our emergency situation right now.


Add checklist item to PR template office app components in Storybook and responsive design

Jira ticket for this change
Summary
This branch updates the PR template to include a checklist item for front end PRs that add new components. This branch asks the engineer if they ensured their component was responsive, or if its not, did the include the correct min-width styling needed to hide any broekn states that would not be shown to the end user:

If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.

Is there anything you would like reviewers to give additional scrutiny?

did I phrase this as well as I could of?

Setup to Run Your Code
N/A

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 399613e0604d3ad3de95c94f1d71917937672e6e


Added a use for Linux

"You can breathe new life into an aging machine with Linux."

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Hi,
Thanks for this pull request (PR).
Unfortunately, we are closing this PR, because we do not believe it adds a significant improvement.
Feel free to submit another PR though.
Thank you


Unknown error after geometry file is read

My simulation will run, but in the display, after all the geometry data is shown, it repeats four times "The syntax of the command is incorrect." I have no idea to what it is referring or if it's actually causing any issues. It continues right after with generating the wall and then runs to the end without further issues. See below:
        EAreaR:   4.65032e-03   6.22399e-03   5.92880e-03   5.63429e-03   5.33918e-03   5.04379e-03   4.74760e-03   4.45184e-03   4.15498e-03   3.86052e-03   3.56704e-03   3.26992e-03   2.97480e-03   2.67956e-03   2.38349e-03
        iSect:   1   2   3   4   4   4   4   5   5   6   6   7   7   7   8

The syntax of the command is incorrect.
The syntax of the command is incorrect.
The syntax of the command is incorrect.
The syntax of the command is incorrect.
 Generating wall influence matrix...
Time to generate influence matrix =           0.961 seconds.

I believe this stems from a system call, probably related to mkdir. This may be related to #25

I haven't tested this systematically, but I've noticed that, as I turn output flags on and off, the number of times it repeats The syntax of the command is incorrect. changes.

Can you see if https://github.com/SNL-WaterPower/CACTUS/pull/27 fixes this issue on Windows?


Add a simple Python script to identify missing repositories

As stated in #24, we should have a simple tool that uses the GitHub API to check if there are (new) repositories that aren't yet defined in the github-manager.

oh. I forgot that I assigned myself to this ;)
Will deal with it! ✌