|
lonjil
|
|
Traneptora
but it can be made rigorous using Linear Algebra
|
|
2024-05-02 12:47:23
|
the person who posted it also said this 😄
|
|
|
Tirr
|
2024-05-02 03:08:41
|
sounds like "make this pass the type checker"
|
|
|
Oleksii Matiash
|
2024-05-02 06:29:30
|
My favorite one is "--i++ - 'twitch' operator"
|
|
|
yoochan
|
|
Traneptora
as a mathematician I consider the solution to be fairly obvious
|
|
2024-05-02 01:25:45
|
almost spelled like traneptora, with different letters... https://www.tunera.xyz/fonts/teranoptia/ ... saw this on hacker news
|
|
|
Traneptora
|
|
Oleksii Matiash
My favorite one is "--i++ - 'twitch' operator"
|
|
2024-05-02 01:44:35
|
as far as I understand `--i++` isn't legal C
|
|
2024-05-02 01:44:50
|
because `i++` is an rvalue, and the prefix operator `--` requires an lvalue
|
|
|
Oleksii Matiash
|
|
Traneptora
because `i++` is an rvalue, and the prefix operator `--` requires an lvalue
|
|
2024-05-02 02:21:48
|
I know, that's a joke, but based on validity of some really strange constructions allowed by C
|
|
|
spider-mario
|
2024-05-02 02:25:39
|
it’s a bit reminiscent of the infamous “down to” operator
```c
int n = 10;
while (n --> 0) {
printf("%d\n", n);
}
```
https://ideone.com/WEsA4Y
|
|
2024-05-02 02:25:53
|
(of course, what this really is is `while ((n--) > 0)`)
|
|
|
Oleksii Matiash
|
2024-05-02 02:34:46
|
I'm trying to recall something from my C past because I'm trying to write small Qt app I need. And it is.. not very comfortable 😔
|
|
|
spider-mario
|
2024-05-02 02:50:35
|
do you know roughly what it is you are trying to recall?
|
|
|
Oleksii Matiash
|
|
spider-mario
do you know roughly what it is you are trying to recall?
|
|
2024-05-02 03:05:58
|
Yes, it just was too long ago, and too much java\kotlin since then. So a bit hard, but yes, at least I remember the direction 😅
|
|
|
lonjil
|
2024-05-03 08:07:51
|
https://www.youtube.com/watch?v=N8Rxlc-fGr0
|
|
|
diskorduser
|
2024-05-05 04:36:55
|
https://www.youtube.com/watch?v=O7xH9ZSp_B4
|
|
|
lonjil
|
2024-05-10 01:49:08
|
looks like Apple M4 has Arm'e SME, so it's probably Armv9, and presumably has at least a bare minimum SVE implementation. https://mastodon.social/@bshanks/112401605018159567
|
|
2024-05-10 02:46:15
|
More info: https://mast.hpc.social/@fclc/112411461950318947
|
|
2024-05-10 02:48:37
|
Apparently the vector width would be 512 to match AMX in Apple's previous cores, which is a lot more than any other consumer Arm product.
|
|
2024-05-10 03:48:14
|
512-bit wide Streaming SVE and SME in Highway when??
|
|
|
190n
|
|
lonjil
looks like Apple M4 has Arm'e SME, so it's probably Armv9, and presumably has at least a bare minimum SVE implementation. https://mastodon.social/@bshanks/112401605018159567
|
|
2024-05-10 07:03:55
|
<:megapog:816773962884972565>
|
|
2024-05-10 07:04:38
|
now why did they put this chip in their "thinnest device ever" with no fan <:Hsss:806131225278152756>
|
|
|
lonjil
|
2024-05-10 07:06:45
|
tfw thinnest device ever with no fan is still faster than any Intel chip in single threaded
|
|
2024-05-10 07:07:28
|
I wonder if we'll have to wait until the M3 macbooks are a year old before M4 macbooks, or if they'll refresh them to M4 before then
|
|
|
190n
|
|
lonjil
tfw thinnest device ever with no fan is still faster than any Intel chip in single threaded
|
|
2024-05-10 07:07:44
|
well it's faster in geekbench which is a short test
|
|
|
lonjil
|
2024-05-10 07:07:50
|
yes
|
|
2024-05-10 07:08:00
|
presumably it would thermal throttle after a while
|
|
2024-05-10 07:08:25
|
My M1 iPad Air can get *extremely* hot when running machine learning training workloads on the CPU
|
|
2024-05-10 07:08:43
|
did you know that if you run it hot enough, the screen will dim?
|
|
|
190n
|
2024-05-10 07:09:00
|
i didn't, that's funny
|
|
2024-05-10 07:09:46
|
that's not even one of their insanely bright mini-led panels right?
|
|
|
lonjil
|
2024-05-10 07:09:48
|
My iPad is much faster than my Intel laptop, even when running hot, so I used it in my data class
|
|
|
190n
|
|
190n
that's not even one of their insanely bright mini-led panels right?
|
|
2024-05-10 07:10:55
|
(unlike, say, pro display xdr which has a fan _for the display_)
|
|
|
lonjil
|
|
190n
that's not even one of their insanely bright mini-led panels right?
|
|
2024-05-10 07:12:14
|
yeah I think it's a regular IPS with non-mini LED backlighting
|
|
|
190n
|
2024-05-10 07:12:17
|
do we know whether qualcomm's oryon cores have sve?
|
|
|
lonjil
|
2024-05-10 07:12:24
|
500 nits max apparently
|
|
|
190n
do we know whether qualcomm's oryon cores have sve?
|
|
2024-05-10 07:12:34
|
they're ARMv8 so no lol
|
|
|
190n
|
2024-05-10 07:13:40
|
bruh
|
|
2024-05-10 07:13:53
|
https://github.com/llvm/llvm-project/pull/91022/files#diff-dce31e228995ede8526247039ce5a8871a69a4823869a13ad65f5bf2d074a9a6R789-R793 yeah ok
|
|
|
lonjil
they're ARMv8 so no lol
|
|
2024-05-10 07:14:32
|
i think v8 _can_ have sve but it's optional and not included in the extensions list here
|
|
2024-05-10 07:14:44
|
didn't fugaku have sve
|
|
|
lonjil
|
2024-05-10 07:14:48
|
yeah
|
|
2024-05-10 07:14:54
|
Armv9 is SVE2 tho
|
|
2024-05-10 07:15:17
|
so anything made for SVE will almost 100% be SVE2, not SVE1
|
|
2024-05-10 07:15:35
|
Because the Fuguku chip is like the only SVE1 impl
|
|
2024-05-10 07:17:31
|
QC: "we're making an M1 killer"
Apple: "here's M2"
QC: "it'll totally be an M2 killer"
QC, more than a year later: "here's our M2 killer, to be released next year"
Apple, the week after: "M3 is here"
QC: "well if we overclock it, it's still competitive with M3"
Apple: "btw here's M4"
|
|
|
190n
|
2024-05-10 07:21:23
|
arm's latest cortex p-cores have optional sve2 which just hasn't been enabled so far by mobile soc vendors, right?
|
|
2024-05-10 07:21:28
|
it seems like their latest server cores have it too
|
|
|
lonjil
|
2024-05-10 07:23:17
|
something's gone weird with it, anyway
|
|
|
spider-mario
|
2024-05-13 01:36:55
|
compare:
https://react.dev/
https://react.dev/?uwu=true
|
|
|
Fox Wizard
|
2024-05-13 01:44:49
|
<:KittyUwU:1147753612529913938>
|
|
|
spider-mario
|
2024-05-13 01:57:33
|
it seems the parameter is sticky, so https://react.dev/?uwu=false if you want to revert to the default
|
|
|
Traneptora
|
|
spider-mario
compare:
https://react.dev/
https://react.dev/?uwu=true
|
|
2024-05-13 04:40:38
|
omigosh they actually did it
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-05-13 06:45:53
|
https://youtu.be/fAh2fH22O8A
|
|
|
Meow
|
2024-05-13 06:53:27
|
and I've seen AVIF and JPEG 2000 too
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-05-13 07:04:54
|
I've seen this one too many times:
>check URL
>.png
>right click "save as"
>.webp [⠀](https://cdn.discordapp.com/emojis/912393017741160479.webp?size=48&quality=lossless&name=av1_megareee)
|
|
|
jonnyawsom3
|
2024-05-13 07:05:23
|
Thankfully the WebP compatibility is finally 'fixed', mostly. My friend constantly gets AVIF though and just sighs "fuck" before deleting the discord message
|
|
|
username
|
|
Thankfully the WebP compatibility is finally 'fixed', mostly. My friend constantly gets AVIF though and just sighs "fuck" before deleting the discord message
|
|
2024-05-13 07:12:07
|
do they use Firefox? if so then just direct them to turn off `image.avif.enabled` in `about:config` then websites will fallback to serving WebPs :)
|
|
2024-05-13 07:13:38
|
still trying to a find a way to do it in chromium based browsers however none of the enabled image formats are exposed as a "feature" so there's no normal way to turn them off
|
|
|
Quackdoc
|
|
TheBigBadBoy - 𝙸𝚛
I've seen this one too many times:
>check URL
>.png
>right click "save as"
>.webp [⠀](https://cdn.discordapp.com/emojis/912393017741160479.webp?size=48&quality=lossless&name=av1_megareee)
|
|
2024-05-13 07:14:38
|
yeah this is the typical image proxy kicking in, a browser *could* solve this by re-issuing a request with the appropriate suffix only in the accept header for it
|
|
2024-05-13 07:15:02
|
but some sits may not actually have the png, though that would be atypical
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
Quackdoc
yeah this is the typical image proxy kicking in, a browser *could* solve this by re-issuing a request with the appropriate suffix only in the accept header for it
|
|
2024-05-13 07:19:16
|
well for these weird cases I just `wget` them to get the PNGs <:KekDog:805390049033191445>
|
|
|
Quackdoc
|
2024-05-13 07:33:56
|
Yeah I use curl, interesting thing though, when using curl if you set accept headers you will get said image
|
|
2024-05-13 07:34:42
|
though some CDNs for some reason only serve AVIF if webp is also found, this is an example
`curl 'https://gfx.nrk.no/K71EpFXpkgYpyx3bEuceAAjW9ikJCS4II2uFzKlapPrA.jpg' -H 'Accept: image/avif,image/webp,*/*' -o /tmp/img`
|
|
2024-05-13 07:35:26
|
I predect it's the proxy, maybe nginx doing
```
if not webp;
return
if not avif;
return
...
```
|
|
|
username
do they use Firefox? if so then just direct them to turn off `image.avif.enabled` in `about:config` then websites will fallback to serving WebPs :)
|
|
2024-05-13 07:36:46
|
you can also just mess with the accept header if you don't want to break sites that are hard relying in AVIF
|
|
|
username
|
2024-05-13 07:38:25
|
only places I've seen hard rely on AVIF are software/game dev blogs showing off HDR
|
|
2024-05-13 07:39:13
|
for example the Dolphin blog and Brickadia blog
|
|
|
Quackdoc
|
2024-05-13 07:43:34
|
ive seen a couple
|
|
|
Kampidh
|
|
spider-mario
it seems the parameter is sticky, so https://react.dev/?uwu=false if you want to revert to the default
|
|
2024-05-13 07:52:25
|
it's down on the footer
|
|
|
Meow
|
2024-05-14 03:55:40
|
Today I saw JXR when trying to download an image on Edge via IE mode
|
|
2024-05-14 03:55:59
|
It's a workaround to avoid WebP
|
|
|
lonjil
|
2024-05-15 02:19:53
|
seems Apple M4 isn't Armv9, still Armv8.whatever
so no SVE/SVE2, only Streaming SVE and SME.
<@806098177983643658> is Highway likely to support SME eventually?
|
|
|
|
afed
|
2024-05-15 02:24:00
|
https://wccftech.com/apple-m4-adopts-armv9-run-complex-workloads-efficiently/
|
|
|
lonjil
|
2024-05-15 02:24:53
|
Pure speculation
|
|
2024-05-15 02:26:33
|
https://twitter.com/never_released/status/1790580044550504468
|
|
2024-05-15 02:27:31
|
It doesn't have FEAT_SVE, so it doesn't have SVE. And SVE is supposedly required by the Armv9 spec.
|
|
|
190n
|
|
lonjil
It doesn't have FEAT_SVE, so it doesn't have SVE. And SVE is supposedly required by the Armv9 spec.
|
|
2024-05-15 05:27:40
|
does that mean that the "armv9" cores (a710 and up, a510 and up, etc) as shipped in phones are not actually armv9
|
|
|
lonjil
|
|
190n
|
|
spider-mario
|
2024-05-17 09:19:29
|
currently stuck in a loop of
|
|
2024-05-17 09:19:35
|
(inspired Hans Zimmer for https://youtu.be/7AqcVXjp8t8?t=4m50s)
> “When I was writing the end titles, I realized there was a bassline that I’d heard before,” Zimmer reveals. “And I suddenly remembered that Klaus Schulze wrote a song called ‘Frank Herbert.’ I basically lifted the bassline from that. So, I phoned Klaus and asked him ‘could we make this a co-composition. But he was quite thrilled that something he wrote so many years ago still echoed into this century.”
|
|
|
damian101
|
|
spider-mario
currently stuck in a loop of
|
|
2024-05-19 02:26:32
|
similar vibes
|
|
2024-05-19 02:26:38
|
|
|
|
spider-mario
|
|
similar vibes
|
|
2024-05-19 03:36:41
|
this, in turns, reminds me somewhat of: https://youtu.be/xXLogI6HH00 (not sure it’s my favourite execution of it but it’s the one with the best sound quality – which especially benefits 4:15 onwards)
|
|
|
diskorduser
|
2024-05-20 05:27:16
|
I bought new spectacles last week and they are irritating with colors looking distorted. Looks like some lenses have worse optical properties.
https://www.2020mag.com/article/does-material-abbe-value-influence-your-patients-vision#:~:text=Most%20commonly%20used%20ophthalmic%20plastic,number%20the%20better%20optical%20performance.
|
|
|
Oleksii Matiash
|
|
diskorduser
I bought new spectacles last week and they are irritating with colors looking distorted. Looks like some lenses have worse optical properties.
https://www.2020mag.com/article/does-material-abbe-value-influence-your-patients-vision#:~:text=Most%20commonly%20used%20ophthalmic%20plastic,number%20the%20better%20optical%20performance.
|
|
2024-05-20 06:05:23
|
Just 3 UV filters made by 3 different (top!) companies. WB is correct, set by picker on teflon tape (teflon is high quality white in various light conditions), saturation is set to max to clearly show the difference. Left and right filters are also different, they lead to different WB when clicked on, but the difference is small compared to the 2 one. To be objective - only 2nd filter really filters close UV, 1 and 3 make no difference to the 365 nm flashlight, but 2nd goes too far to the visible spectrum.
|
|
|
diskorduser
|
2024-05-20 09:33:42
|
My last spectacle glasses had an essilor lens with crizal coating. Then don't have aberration. Even after 5+ years, they are still in good condition except for a few scratches.
|
|
|
jjrv
|
2024-05-24 06:32:57
|
I made a test of using JPEG XL to compress temperatures. This is one frame per hour, April 2023 - August 2023. Mesmerizing:
https://reakt.io/temp/
|
|
2024-05-24 06:33:27
|
0.6 bits per pixel despite the 0.1 Kelvin resolution, and spatially I think all the fine detail you could possibly see in the moving image is preserved.
Compiled latest libjxl to Wasm, wrote bindings in Zig using my zbind, 4 worker threads.
Images are RGB, containing one 16bit animation frame of temperature data in each color channel, and recolorized in the web frontend. This allows the JPEG XL codec to use a lot of cross-frame correlation at least across 3 frames.
|
|
2024-05-24 06:47:45
|
Goal is to add UI around to control it (one pro UI is at the domain root), switch to wind / rain / cloudiness, then also produce small tiles with time flipped into one of the axes, and use those to draw meteograms. And then some satellite imagery stuff. Couldn't do most of it without libjxl. It hands-down beats ZFP which was designed for this kind of data.
|
|
2024-05-24 07:00:15
|
I'd be delighted about any info how to get libjxl to maximally exploit cross-correlation between more color channels than RGB. I've got 21 multispectral 16-bit channels in one related case, RGB among them and then several in between and outside. Currently the best way to compress those that I've found has been to produce 7 images, each with 3 neighboring spectral bands. The further apart they are, the worse it compresses. So it's not ideal to like do RGB and spectrally shifted versions of it.
Also, is this the right channel to ask? At least I'm hopefully not off-topic here 🤪
|
|
|
lonjil
|
2024-05-24 08:02:25
|
You could probably ask in <#794206170445119489>, but here is fine too I think.
|
|
|
_wb_
|
2024-05-24 08:29:10
|
This is perfectly ok for <#794206087879852106> or <#794206170445119489> or <#804324493420920833>
|
|
2024-05-24 08:32:36
|
For lossless, the best way currently to represent this with maximum cross-correlation exploitation would be to store it as a 21-channel image and set `JXL_ENC_FRAME_SETTING_MODULAR_NB_PREV_CHANNELS` to a number that is at least 20 (so every channel can use information from all previously-decoded channels).
|
|
|
jjrv
|
2024-05-24 08:39:29
|
I found this thread previously:
https://www.reddit.com/r/jpegxl/comments/xd4q4w/using_jpegxl_for_multichannel_satellite_images/
Then I found this in the code:
```
/** Number of extra (previous-channel) MA tree properties to use. -1 =
* default, 0-11 = valid values. Recommended values are in the range 0 to 3,
* or 0 to amount of channels minus 1 (including all extra channels, and
* excluding color channels when using VarDCT mode). Higher value gives slower
* encoding and slower decoding.
*/
JXL_ENC_FRAME_SETTING_MODULAR_NB_PREV_CHANNELS = 29,
```
and got discouraged enough to not try it. Are values >11 in fact valid currently? That thread was also saying extra channels other than alpha aren't really optimized for, but that was 2 years ago. I've been waiting for the number 11 above to change to signal improvements on this.
|
|
2024-05-24 08:49:50
|
OTOH I probably misunderstood the code comment until now. Somehow thought it meant only the first 11 channels would benefit from this cross-correlation. Actually it means it considers all previous 11 channels right? Even if there's 21 total, then it's a sliding window across all of them. So even 3 would still be very helpful, if it actually exploits those equally well as it handles the first 3 channels. Have to test now.
|
|
2024-05-24 08:58:43
|
I've got 200 terabytes of NetCDFs downloaded waiting for recompression here, and something like 800 terabytes left to download
|
|
|
yoochan
|
2024-05-24 08:59:13
|
and jpegxl is better than compressed hdf5 ?
|
|
|
jjrv
|
2024-05-24 09:00:09
|
20-25% better compressed losslessly with the 7 RGB images strategy. Maybe I can do better if there's just a single jxl output.
|
|
2024-05-24 09:00:34
|
That's a lot of HDDs saved
|
|
|
yoochan
|
2024-05-24 09:03:07
|
is it multispectral images initially ? or just arbitrary 3d data ?
|
|
|
jjrv
|
2024-05-24 09:03:57
|
This case is 21 channels of Sentinel 3 multispectral
|
|
|
yoochan
|
2024-05-24 09:04:11
|
nice !
|
|
|
jjrv
|
2024-05-24 09:04:24
|
NetCDF4, file format HDF5
|
|
2024-05-24 09:05:05
|
At this point I'm just thinking "JPEG XL *ALL* the things"
|
|
2024-05-24 09:05:53
|
Sentinel 2 is distributed as jpeg 2k, decompresses crazy slow, and effort 1 jxl still recompresses that smaller too
|
|
|
yoochan
|
2024-05-24 09:06:25
|
really ?! and compared to png ?
|
|
|
jjrv
|
2024-05-24 09:06:54
|
Of course PNG results in gigantic output compared to jxl, and also compresses and decompresses crazy slow
|
|
2024-05-24 09:07:28
|
JXL is the only file format that makes sense not just for images but more generic time series at this point
|
|
|
yoochan
|
2024-05-24 09:07:31
|
so be it ! full jxl 😄
|
|
|
jjrv
|
2024-05-24 09:12:00
|
I'm eager to test, but I suspect taking the temperature imagery time series, splitting it into small square tiles, traversing the pixels in Hilbert curve order and turning that into one axis with time as the other, it should allow rendering monthly meteograms for a dragged point updated as fast as you can drag it
|
|
|
yoochan
|
2024-05-24 09:13:27
|
this is a 1d time serie ? I now they tried to store audio in a jxl file, don't remember what they chose, probably something simpler than hilbert curve 😄
|
|
2024-05-24 09:14:03
|
the idea was to test what happened to the audio after a lossy jxl compression of its representation 😅
|
|
|
jjrv
|
2024-05-24 09:15:17
|
I mean this animation: https://reakt.io/temp/
If you wanted to drop a pin on it and plot the temperature as a curve, zoom in and drag it around with values linearly interpolated between those grid points, it's possible to have a single month-long jxl for a 300x300km square with all the data, which would be 3D unless you use a Hilbert curve to drop one dimension
|
|
|
yoochan
|
|
jjrv
I mean this animation: https://reakt.io/temp/
If you wanted to drop a pin on it and plot the temperature as a curve, zoom in and drag it around with values linearly interpolated between those grid points, it's possible to have a single month-long jxl for a 300x300km square with all the data, which would be 3D unless you use a Hilbert curve to drop one dimension
|
|
2024-05-24 09:15:49
|
can't open it from work, the proxy block it
|
|
|
jjrv
|
2024-05-24 09:16:03
|
So like the plan is there's the map and the meteogram, you drag the time around interacting with the meteogram or the location by interacting with the map, which will be a Lambert Azimuthal Equal Area globe instead of this plate carree projected test.
And then when I get zoomable Sentinel 3 imagery in there and you can see the seasons and vegetation change, that's when this starts getting really interesting. And if I get Sentinel 2 in and you can see a hurricane and individual houses before and after, then it gets *even more interesting*
|
|
|
yoochan
|
2024-05-24 09:16:45
|
i'll have a look this evening
|
|
|
jjrv
|
|
_wb_
For lossless, the best way currently to represent this with maximum cross-correlation exploitation would be to store it as a 21-channel image and set `JXL_ENC_FRAME_SETTING_MODULAR_NB_PREV_CHANNELS` to a number that is at least 20 (so every channel can use information from all previously-decoded channels).
|
|
2024-05-24 09:32:41
|
Ahhh 2 years ago you said to someone else:
> I think you probably also need to set effort to 8 or 9 to actually make use of this
I absolutely cannot set the effort over 3, and would prefer 1, while compressing this petabyte of data with no funding and a single desktop computer (OK it's a Threadripper but still no cluster). Guess I have to test anyway, but all public documentation currently points to it not actually working in my case.
|
|
|
yoochan
|
2024-05-24 09:40:48
|
if you use the API instead of the cjxl encoder, you might be able to choose a combination of options which is better suited to your need than an effort selection
|
|
|
jjrv
|
2024-05-24 09:42:23
|
Yep I use the API. It's going to be a bit of a pain to wrangle the input in, luckily I learned Zig in the past 10 months. Have to see how it goes.
|
|
|
_wb_
|
2024-05-24 09:58:08
|
If you could share a smallish exampe of a multispectral image (say, as one pgm per channel or something), I could try to figure out some ways to make the encoder do something more useful at lower effort. The PrevChannels context modeling is currently still only enabled at e8+ because it gets computationally and memory intensive, but there are other things that could be tried, e.g. RCTs could be applied to not just the first 3 channels (like it does now) but to all channels — no idea if they would help on this type of data but it is possible.
|
|
2024-05-24 09:59:15
|
It is also feasible to do something like e4 but with PrevChannels=1 (and it actually being used in the MA tree learning) or something like that
|
|
2024-05-24 09:59:56
|
Or even an e2/e3 style fixed tree that uses PrevChannel context
|
|
2024-05-24 10:01:02
|
There's a huge space of encoder-side possibilities that are not yet explored, and we haven't really tried to optimize for anything other than just RGB (and a bit of RGBA)
|
|
|
jjrv
|
2024-05-24 10:01:50
|
I'm pretty pleased with what it does as 7 separate RGB images. If it would just use a sliding window, so channel 21 considers channels 18-20, I'd actually be very pleased with just that especially if it isn't much slower than what I'm doing now.
|
|
|
_wb_
|
2024-05-24 10:02:42
|
it does use a sliding window, that's how it is specced
|
|
|
jjrv
|
2024-05-24 10:03:06
|
That sounds about perfect, if it does that at effort 1
|
|
|
_wb_
|
2024-05-24 10:03:19
|
that it doesn't. Only at e8+ at the moment
|
|
2024-05-24 10:03:53
|
At effort < 4 there is no MA tree learning at all, they use a fixed tree that does not include PrevChannel properties
|
|
|
jjrv
|
2024-05-24 10:03:58
|
Oof. So, I've got these 7 .jxl files 5.5GB total. I can upload those immediately.
|
|
2024-05-24 10:04:17
|
"smallish" is a very relative term at the scale I'm working on
|
|
|
_wb_
|
2024-05-24 10:05:03
|
Right. For now, it doesn't need to be super representative, just a small somewhat interesting tile from a larger image will do
|
|
|
jjrv
|
2024-05-24 10:13:44
|
OK, these are smaller:
https://reakt.io/jxl/Oa01_radiance.jxl
https://reakt.io/jxl/Oa04_radiance.jxl
https://reakt.io/jxl/Oa07_radiance.jxl
https://reakt.io/jxl/Oa10_radiance.jxl
https://reakt.io/jxl/Oa13_radiance.jxl
https://reakt.io/jxl/Oa16_radiance.jxl
https://reakt.io/jxl/Oa19_radiance.jxl
|
|
2024-05-24 10:15:58
|
RGB are bands 4, 6, 8, so that should be B = red channel of Oa04, G = blue channel of Oa04 and R = green channel of Oa07.
No atmospheric correction applied to the raw data, so it's going to be bluish (or something wonky, there's a per-channel floating point scale parameter that also isn't applied to this raw data).
|
|
2024-05-24 10:20:40
|
They're small-ish but at the scale that if you can make them smaller, that's going to be representative of the whole dataset
|
|
|
_wb_
|
2024-05-24 11:12:49
|
Cool, thanks! Downloaded them, no idea when I'll have time to work on this. I guess first thing is make something that reads a bunch of channels and encodes one big multi-channel jxl from it, which I don't think we have existing tools for. Might make sense to add some option to cjxl to do this somehow.
|
|
|
jjrv
|
2024-05-24 11:14:24
|
That would be awesome! Also, Earth Engine folks might find use cases.
|
|
|
yoochan
|
|
_wb_
Cool, thanks! Downloaded them, no idea when I'll have time to work on this. I guess first thing is make something that reads a bunch of channels and encodes one big multi-channel jxl from it, which I don't think we have existing tools for. Might make sense to add some option to cjxl to do this somehow.
|
|
2024-05-24 11:15:51
|
that would be nice, he's not the first one who came here to try to store multispectral data in jxl 🙂
|
|
|
jjrv
|
2024-05-24 11:23:34
|
Those images are S3B_OL_1_EFR____20230401T103437_20230401T103737_20230401T233940_0179_078_008_2880_PS2_O_NT_003.SEN3 if you're working on something similar and want to compare
|
|
|
yoochan
|
2024-05-24 11:26:28
|
the name could be compressed too 😄 lot a redundancy here
|
|
|
Nova Aurora
|
2024-05-25 07:02:23
|
<@219525188818042881> Why did you leave AWCY?
|
|
|
spider-mario
|
2024-05-25 08:48:29
|
aren’t those meningococcus strains?
|
|
|
Fox Wizard
|
|
Nova Aurora
<@219525188818042881> Why did you leave AWCY?
|
|
2024-05-25 10:05:28
|
I wasn't really thay active in there and wasn't really that interested in most things <:KekDog:884736660376535040>
|
|
|
sklwmp
|
2024-05-25 10:37:04
|
https://x.com/fserb/status/1794058245901824349
|
|
|
yoochan
|
2024-05-25 03:02:29
|
inception...
|
|
2024-05-25 03:03:26
|
I heard you loved HTML so I put HTML in your canvas in your HTML yo dawg
|
|
|
Oleksii Matiash
|
|
yoochan
I heard you loved HTML so I put HTML in your canvas in your HTML yo dawg
|
|
2024-05-25 04:05:19
|
My favorite one
|
|
|
spider-mario
|
2024-05-25 04:06:57
|
that’s just a cdecl prompt
|
|
2024-05-25 04:06:59
|
|
|
2024-05-25 04:07:25
|
https://cdecl.org/?q=declare+foo+as+array+of+array+8+of+pointer+to+pointer+to+function+returning+pointer+to+array+of+pointer+to+char
|
|
|
Oleksii Matiash
|
|
spider-mario
|
|
2024-05-25 04:09:47
|
My eyes are bleeding now
|
|
|
yoochan
|
2024-05-27 12:06:28
|
funny (old) article I found today : https://www.wired.com/2010/06/smoothing-square-pixels/
|
|
|
w
|
2024-05-28 04:32:12
|
too bad any non-free plan is prohibitively expensive for personal use
|
|
2024-05-28 04:33:17
|
35 of my credits was wasted with testing...
|
|
|
yoochan
|
2024-05-28 06:56:20
|
if it is for the good cause, perhaps you could negociate 🙂
|
|
|
_wb_
|
2024-05-28 06:56:51
|
what kind of testing? 35 credits corresponds to 35k encodes...
|
|
2024-05-28 06:57:51
|
but yeah I agree the pricing of Cloudinary is not really aimed at personal use, it's kind of aimed at business use
|
|
2024-05-28 07:16:29
|
For typical personal use like a personal homepage/blog, the free plan should be OK, but yeah if you're going to use it for benchmarking and do many encodes, you'll hit the quota quickly. It's imo a bit wasteful to do lots of test encodes via Cloudinary though, if those are not intended to be served more than once, since the encode results will end up getting cached at various layers (the normal use case is encode-once, serve-many-times). You're better off doing benchmarking on a local machine or on an AWS instance or something.
|
|
|
w
|
2024-05-28 08:15:01
|
it happened to be 15k image impressions, 350 transformations. and 35gb bandwidth
|
|
2024-05-28 08:18:31
|
it was testing a website for photos, not testing the encodes
|
|
2024-05-28 08:21:57
|
1gb bandwidth = 1 credit kinda crazy
|
|
2024-05-28 08:23:38
|
like it wasnt caching at all
|
|
2024-05-28 08:24:21
|
I wonder if I can put it behind cloudflare proxy for more caching
|
|
|
lonjil
|
|
_wb_
but yeah I agree the pricing of Cloudinary is not really aimed at personal use, it's kind of aimed at business use
|
|
2024-05-28 09:06:31
|
tbh if I was running a business I wouldn't want to use Cloudflare https://robindev.substack.com/p/cloudflare-took-down-our-website
|
|
|
w
|
2024-05-28 09:23:13
|
confused
|
|
|
lonjil
|
2024-05-28 09:24:56
|
holy shit I shouldn't read discord when I haven't woken up yet
|
|
2024-05-28 09:25:27
|
"company that does cdn stuff, starts with c, yeah that word is 'cloudflare' for sure"
|
|
|
w
|
2024-05-28 10:04:34
|
i just want somewhere to host my photos
|
|
|
lonjil
|
2024-05-28 10:32:31
|
Right now I use Backblaze, since they have very cheap storage
|
|
|
_wb_
|
2024-05-28 10:41:26
|
For personal storage, just paying for storage on Google Drive / Google Photos is quite affordable imo. Or you can always forget about cloud storage and just use a local NAS or something, if you mostly need access when on your home network anyway.
|
|
|
spider-mario
|
2024-05-28 11:15:03
|
I have a storage box with Hetzner and I back up to it using Kopia
|
|
2024-05-28 11:15:29
|
https://www.hetzner.com/storage/storage-box/
https://github.com/kopia/kopia/
|
|
|
w
|
2024-05-28 11:40:04
|
i have storage, I mean somewhere to host publicly
|
|
2024-05-28 11:41:26
|
and they're images hence cloudinary
|
|
|
_wb_
|
2024-05-28 11:49:05
|
35 GB of bandwidth for 15k impressions, that's quite a lot for web delivery. Are you downscaling the images and serving them at a reasonable quality, at least for the gallery/preview versions?
|
|
|
w
|
2024-05-28 11:52:51
|
nope <:clueless:1186118225046540309>
|
|
|
_wb_
|
2024-05-28 11:58:46
|
generally it makes sense to serve images not bigger than the size they will be rendered at in the browser, since browser downscaling is not great and it's a major waste of bandwidth
|
|
|
spider-mario
|
2024-05-28 12:37:15
|
for sami.photo, I just generate a gallery using https://github.com/thumbsup/thumbsup and rsync the result to a VPS where I have a Caddy running
|
|
2024-05-28 12:37:47
|
I’ve been looking for potential alternative hosting but haven’t really found anything convincing
|
|
2024-05-28 12:38:51
|
I gave hostinger a try, since they advertise a CDN feature, but the site was slower than when it was just served by my VPS… so I cancelled and moved it back
|
|
|
_wb_
|
|
jjrv
That would be awesome! Also, Earth Engine folks might find use cases.
|
|
2024-05-28 12:48:41
|
Turns out we already had made our own extensions of the PAM format to have an arbitrary number of channels. E.g. you can have one with a header that says
```
DEPTH 5
TUPLTYPE RGB
TUPLTYPE Depth
TUPLTYPE Thermal
```
and it should be interpreted as an RGB image with two extra channels of those types.
|
|
2024-05-28 12:48:57
|
see also: https://github.com/libjxl/libjxl/pull/3611
|
|
2024-05-28 12:50:56
|
Only alpha and spot color channels have a special meaning, so for the purpose of testing, you could try this with just RGB and then 18 channels of whatever type (say, `Thermal`). I don't have time to try it but I suppose you could produce a custom PAM file like that?
|
|
2024-05-28 12:52:15
|
So the format would be big-endian uint16, scanline order, all samples for one pixel position interleaved, so the bytes are RRGGBB4455667788...
|
|
2024-05-28 12:53:02
|
at least that gives you an uncompressed format that can be used with current cjxl/djxl tooling already
|
|
2024-05-28 12:55:36
|
I would then hope that something like `-e 9 -E 5` (up to 5 prevchannels of context) would give somewhat better compression than doing it as 7 separate RGB files.
|
|
2024-05-28 12:57:06
|
That will be very slow though, but if you can confirm that it helps, then please share the resulting jxl file.
|
|
|
lonjil
|
2024-05-28 12:59:38
|
<@288069412857315328> if all you need is storage and bandwidth, I would recommend Backblaze B2 for storage (5$/TB/month) and Bunny CDN for delivery (5$/TB if you choose the bandwidth optimized plan).
|
|
|
_wb_
|
2024-05-28 01:01:39
|
One cool thing I am only just now thinking about, <@179701849576833024> : why don't we write some code to extract the MA tree(s) from a jxl file and serialize it to a file, and some encode option to skip MA tree learning and use a given serialized tree instead? Then assuming you have a lot of images that have similar behavior, you can run e9 on just one of them, get the tree, and use that tree as a fixed tree on all images, which should be basically as fast as e3.
|
|
2024-05-28 01:03:08
|
The tree can vary per group in streaming mode, but I guess we could in principle always serialize it as one big global tree that just selects on group ID too.
|
|
|
|
veluca
|
2024-05-28 01:47:50
|
sure, we could do that
|
|
2024-05-28 01:47:57
|
it would likely work quite well for animations
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-05-29 12:55:43
|
'fti, there are 2 fire engines, 2 police engines, 2 doctors and 1 ambulance at the station just in front of my place <:monkaMega:809252622900789269>
one was mowed down by a train and is still on the tracks
I've just got home because there are no more trains running for now 3 hours
|
|
2024-05-29 05:06:26
|
shiiit, a 13 yo girl
https://www.sudinfo.be/id841878/article/2024-05-29/terrible-drame-la-gare-de-nessonvaux-une-jeune-fille-de-13-ans-perd-la-vie-apres
|
|
|
Oleksii Matiash
|
2024-05-29 05:16:33
|
Fab, is it you?
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-05-29 05:25:52
|
[⠀](https://cdn.discordapp.com/emojis/939666933119324222.webp?size=48&quality=lossless&name=av1_whatisthis)
|
|
|
jjrv
|
2024-05-29 06:15:36
|
<@794205442175402004> Quick summary here too. Previously delivered 7 files now compressed into:
https://reakt.io/jxl/radiance-21.jxl
Original HDF5 NetCDF files were total 517028440 bytes. JPEG XL is now 312569879 bytes or about 40% less. Not too bad when the whole archive is hundreds of terabytes. That is a serious drop in size. And HDF5 is a serious format already.
I tried to set -E 9 but it whined about "Invalid float description" again.
-E 8 works. Byte size is 310903218
|
|
2024-05-29 06:23:36
|
Seriously impressive
|
|
|
KKT
|
2024-05-30 03:22:52
|
https://www.threads.net/@emergetools/post/C7jkGhiu0h7/?xmt=AQGzTjAAOSTy2BNeE6v0xojRljE6PSgRatdvtEanXQfRfw
|
|
|
VcSaJen
|
2024-05-30 07:35:00
|
Perspective from the other side of the adoption dilemma:
https://www.pcworld.com/article/2344727/if-you-rolled-the-dice-on-first-gen-ai-pcs-you-lost.html
|
|
|
spider-mario
|
2024-05-30 12:55:38
|
https://tech.lgbt/@tomoyo/112488250280448499
|
|
|
damian101
|
|
VcSaJen
Perspective from the other side of the adoption dilemma:
https://www.pcworld.com/article/2344727/if-you-rolled-the-dice-on-first-gen-ai-pcs-you-lost.html
|
|
2024-05-30 01:39:05
|
Yeah, just what I expected.
I think some cheapish NPU in a PCIe x4 M.2 form factor might make sense...
|
|
|
w
|
2024-05-30 02:10:44
|
you can say that about anything in a PC
|
|
2024-05-30 02:10:57
|
big one that comes to mind is wifi
|
|
2024-05-30 02:11:43
|
you can always wait for the next one
|
|
2024-05-30 02:11:46
|
and wait forever
|
|
|
spider-mario
|
2024-05-30 03:15:24
|
yeah, hardware keeps improving, so this is true of pretty much everything at any time
|
|
2024-05-30 03:15:35
|
“you bought an iPhone 3G? now there’s the iPhone 3GS”
|
|
2024-05-30 03:16:10
|
“you have a Sony α7 III? well now there’s the α1”
|
|
2024-05-30 03:16:16
|
etc.
|
|
2024-05-30 03:16:54
|
but just because there’s a new model doesn’t mean that the device you bought suddenly becomes incapable of doing what you bought it for
|
|
2024-05-30 03:16:55
|
(usually)
|
|
2024-05-30 03:18:08
|
the manufacturer said it had features A & B; you bought it for A & B; it’s still capable of A & B even if the manufacturer now releases something with A & B & C
|
|
|
jonnyawsom3
|
|
_wb_
The tree can vary per group in streaming mode, but I guess we could in principle always serialize it as one big global tree that just selects on group ID too.
|
|
2024-05-30 04:43:48
|
Would finally make e11 useful past a few hundred pixels too. Run it on a small image, copy the tree and use it on the original (probably)
|
|
|
190n
|
|
spider-mario
https://tech.lgbt/@tomoyo/112488250280448499
|
|
2024-05-30 04:56:01
|
lmfao
|
|
|
damian101
|
|
w
big one that comes to mind is wifi
|
|
2024-05-30 05:25:08
|
well, that used to usually be on M.2, but now rarely with recent laptops...
|
|
|
lonjil
|
|
190n
does that mean that the "armv9" cores (a710 and up, a510 and up, etc) as shipped in phones are not actually armv9
|
|
2024-06-03 12:18:57
|
oh apparently they changed it at some point. The Arm A-profile reference manual now says that SVE is "optional".
|
|
|
w
|
2024-06-04 02:21:51
|
<:Sadge:815191758152663062>
|
|
2024-06-04 04:37:30
|
oh well switched to cloudflare R2 <:clueless:1186118225046540309>
|
|
|
Lock
|
2024-06-04 10:02:00
|
"oh well i switched to spyware"
|
|
2024-06-04 10:02:01
|
[clueless](https://cdn.discordapp.com/emojis/1196396746528542842.webp?size=48&quality=lossless&name=clueless)
|
|
|
w
|
2024-06-05 01:04:27
|
i don't get it
|
|
2024-06-05 01:07:41
|
it's public content, I want more people to look at it.
|
|
|
TheBigBadBoy - 𝙸𝚛
|
2024-06-05 09:37:27
|
lmao, why this server has so many fox stickers [⠀](https://cdn.discordapp.com/emojis/677636734737055774.webp?size=48&quality=lossless&name=av1_lul)
|
|
|
Fox Wizard
|
|
TheBigBadBoy - 𝙸𝚛
lmao, why this server has so many fox stickers [⠀](https://cdn.discordapp.com/emojis/677636734737055774.webp?size=48&quality=lossless&name=av1_lul)
|
|
2024-06-05 09:57:06
|
Yeah, I wonder why <:WhiteFoxLaugh:785019903614386238>
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
Fox Wizard
Yeah, I wonder why <:WhiteFoxLaugh:785019903614386238>
|
|
2024-06-05 09:57:48
|
[⠀](https://media.discordapp.net/stickers/988293633906196532.png?size=160&name=SecretFoxSticker15%3E%3AD)
|
|
|
Fox Wizard
|
|
TheBigBadBoy - 𝙸𝚛
[⠀](https://media.discordapp.net/stickers/988293633906196532.png?size=160&name=SecretFoxSticker15%3E%3AD)
|
|
2024-06-05 09:58:06
|
|
|
|
TheBigBadBoy - 𝙸𝚛
|
|
Fox Wizard
|
|
2024-06-05 09:58:57
|
|
|
|
Fox Wizard
|
|
TheBigBadBoy - 𝙸𝚛
|
|
2024-06-05 09:59:22
|
|
|
|
nathanielcwm
|
2024-06-05 06:27:42
|
kinda sussy <@219525188818042881>
|
|
2024-06-05 06:27:53
|
|
|
|
Fox Wizard
|
|
nathanielcwm
kinda sussy <@219525188818042881>
|
|
2024-06-05 06:27:58
|
What's sussy? <:KittyThink:1126564678835904553>
|
|
|
nathanielcwm
|
|
Fox Wizard
What's sussy? <:KittyThink:1126564678835904553>
|
|
2024-06-05 06:28:06
|
|
|
2024-06-05 06:28:23
|
nothing out of the ordinary tbh
|
|
2024-06-05 06:28:29
|
besides my sleep schedule 💀
|
|
|
Fox Wizard
|
2024-06-05 06:28:53
|
What sleep schedule? <:KekDog:884736660376535040>
|
|
|
nathanielcwm
|
|
Fox Wizard
What sleep schedule? <:KekDog:884736660376535040>
|
|
2024-06-05 06:29:57
|
unlike you I actually fall asleep between 11pm and 8am most days <:KekDog:805390049033191445>
|
|
|
spider-mario
|
2024-06-06 09:27:10
|
https://discord.com/channels/794206087879852103/803574970180829194/1248387495809519726
|
|
|
a goat
|
2024-06-07 04:38:02
|
Bit of an odd question, but does anyone know what the legal backing is behind the CIE's standards? Are there any Red Cross esque situations where you're not allowed to use certain terms and models in your project if you're not a part of it?
|
|
2024-06-07 04:39:15
|
Like, presumably OKLAB is fine because no one would think the CIE made it, but what if someone wanted to make something called like CIECAMv2
|
|
2024-06-07 04:40:06
|
I couldn't find any information for this and as an international body, I know they obviously have *some* form of policy
|
|
|
jjrv
|
2024-06-07 07:51:35
|
SRLAB2 is something like CIECAM for practical everyday use btw, though no naming confusion there.
|
|
2024-06-07 07:52:28
|
Never understood the fuss about OKLAB since SRLAB2 has been around since forever and IMO handles dark colors better (though maybe that was some old OKLAB library issue when testing it)
|
|
2024-06-07 07:54:19
|
https://www.magnetkern.de/srlab2.html came out in 2009
|
|
2024-06-07 08:24:29
|
Wonder what's the best color space and form of interpolation for color gradients (let's say to apply a color ramp to numeric data) in 2024. How to best keep it inside sRGB or P3 gamut and looking nice overall? Doesn't need to be fast, we can precalculate the gradient and store in some buffer.
|
|
2024-06-07 08:37:25
|
I like to try to do things properly and that's one of those cases where it takes max. 5 minutes to do linear interpolation of RGB values, but if you want to improve on that you can dig around for weeks only to have so many more questions than at the start of the search.
For the interpolation, maybe it should be a spline with control points added to keep it inside the sRGB/P3 gamut in whatever color space is in use? If the color is at a corner point of the gamut, it needs to be a spline endpoint. Once you map off-gamut points inside it, corners will become spline endpoints whether you want them to or not.
|
|
|
spider-mario
|
2024-06-07 12:20:56
|
https://x.com/DitzyFlama/status/1798750532628259141
|
|
2024-06-08 09:43:34
|
https://discord.com/channels/794206087879852103/803574970180829194/1248930343273238569
<@593682055808811009> English with singular ‘they’ is almost there too, which is why opposition to singular ‘they’ saddens me
|
|
|
VEG
|
2024-06-08 09:46:59
|
Well, removal of singular pronouns is a questionable direction. It already happened to thou/you with deprecation of thou, and might happen to he/she/they with deprecation of he/she, but having separate singular and plural pronouns is quite convenient.
|
|
|
lonjil
|
2024-06-08 09:49:14
|
soon "you" will be singular and "y'all" will be the plural
|
|
|
VEG
|
2024-06-08 09:49:30
|
Maybe 🙂
|
|
2024-06-08 09:49:43
|
But the grammar around "you" is as for plural
|
|
2024-06-08 09:50:07
|
Even though it's used in singular meaning
|
|
2024-06-08 09:53:59
|
Let's just call everybody and everything "it" and that's it 🙂
|
|
|
lonjil
|
2024-06-08 10:03:09
|
I know some people who prefer that
|
|
|
VEG
|
2024-06-08 10:05:46
|
It is already like this with plural "they" that can be used for people, animals and things. It would be quite logical to treat singular "it" the same way. But seems like English doesn't like to evolve in a logical way, it goes in direction of adding more confusion 😆
|
|
|
Oleksii Matiash
|
|
spider-mario
https://discord.com/channels/794206087879852103/803574970180829194/1248930343273238569
<@593682055808811009> English with singular ‘they’ is almost there too, which is why opposition to singular ‘they’ saddens me
|
|
2024-06-08 10:05:54
|
I can't express how it (he\she -> they) annoys me. It is everywhere in fb\instagram already, and it is awful
|
|
|
spider-mario
|
2024-06-08 10:06:28
|
may I ask why?
|
|
|
Oleksii Matiash
|
|
spider-mario
may I ask why?
|
|
2024-06-08 10:09:27
|
I'm not sure why, but probably it is because of my native language, where such is impossible and it really tears my eyes when I'm translating it in background of my mind
|
|
|
VEG
|
2024-06-08 10:10:17
|
Well, it did annoy me for some time when I was learning English (for the same reason as above), it doesn't annoy me anymore after I encountered it enough times to get used to it, and these days I always use it to refer to a person of an unknown gender (instead of writing longer "he or she"), and it seems like "they" was used like this in English for decades.
|
|
|
Oleksii Matiash
|
2024-06-08 10:12:49
|
Ah, and also because "they" is plural in my language, so it also causes short circuits in my mind, when single person is called with plural
|
|
|
lonjil
|
|
VEG
Well, it did annoy me for some time when I was learning English (for the same reason as above), it doesn't annoy me anymore after I encountered it enough times to get used to it, and these days I always use it to refer to a person of an unknown gender (instead of writing longer "he or she"), and it seems like "they" was used like this in English for decades.
|
|
2024-06-08 10:13:24
|
yeah, when you're used to a particular usage having one meaning, it being used in a different way can cause momentary confusion which leads to annoyance.
e.g. if you're used to singular they only being used for unknown persons, then if someone uses it to refer to a known person, your brain would initially be like "wait who is this unknown person we're suddenly referring to"
|
|
|
Oleksii Matiash
|
2024-06-08 10:18:31
|
To explain better - in slavonic languages all sentence parts are changed depending on the gender and 'number' of a related noun. And it is really weird when single person is called as 'they' (plural) and all other sentence parts (verbs, adjectives, etc) are changed to be plural too
|
|
|
w
|
2024-06-08 10:21:23
|
it's not that "they" is plural but it happens to share the same spelling as "they" which is plural
|
|
|
VEG
|
2024-06-08 10:22:17
|
Nope, the grammar around the singular they is also plural. You don't tell "they is", you tell "they are".
|
|
|
Oleksii Matiash
To explain better - in slavonic languages all sentence parts are changed depending on the gender and 'number' of a related noun. And it is really weird when single person is called as 'they' (plural) and all other sentence parts (verbs, adjectives, etc) are changed to be plural too
|
|
2024-06-08 10:27:09
|
Yeah, it's true. It's not just weird, it's permanent confusion when you talk about (for example) a non-binary person in a gendered language like Russian. Much easier to do it in English where singular "they" could be used and seems like doesn't break the language (or breaks it just a little bit the same way "you" did ages ago). And Finnish is perfect on this matter, zero confusion, you refer to all people the same way no matter who they are.
|
|
|
w
|
2024-06-08 10:27:36
|
xim/xer
|
|
|
VEG
|
2024-06-08 10:30:29
|
Experiments with such custom artificial pronouns didn't have any chance to survive IMHO. Didn't see any of those last 5 years maybe.
|
|
|
spider-mario
|
2024-06-08 10:54:07
|
right – asking people to remember a name, and a pick among pre-existing pronouns, is one thing, but multiple custom declensions is arguably pushing it a little
|
|
|
lonjil
|
2024-06-08 11:39:30
|
'they' for an unknown person is the older and more traditional usage, dating back over 600 years
|
|
2024-06-08 11:40:10
|
'he' as the exclusive pronoun for unknown people dates back like, 100 years, to some asshat style guide writers
|
|
|
VEG
|
2024-06-08 11:49:16
|
When I was in the beginning of learning English, I also assumed that an unknown person is "he". I'm not sure if I was told about this at school though. Maybe I just assumed this based on my native language. In Russian, the default pronoun for a human with unknown gender is "he", but I guess it's mostly because grammatical gender of the word "human" is male.
|
|
2024-06-08 11:49:17
|
But the more I was observing how it's handled in real life English, the more I was noticing that "they" is almost always used in such case in modern English.
|
|
|
Quackdoc
|
2024-06-08 11:54:13
|
my grandparents always had said he too, and they were taught from their parents, so I don't think the 100 year estimate is right, it would have to be considerably longer then that since they were very traditional scotish
|
|
|
lonjil
|
2024-06-08 11:58:01
|
yeah probably more like 130
|
|
2024-06-08 12:01:15
|
in the 60s or so, people who wanted to be politcally correct started writing 'he or she', as the style guides still said to never use 'they'.
|
|
|
_wb_
|
2024-06-08 12:15:44
|
Imagine there would be different pronouns based on skin color. It would be considered a crazy racist thing to do for a language. The only reason languages get away with gendered pronouns is that gender in language has existed for a very long time, and we're too used to it to consider it inherently a sexist thing to do, forcing people to discriminate based on gender all the time when talking about humans.
|
|
|
Oleksii Matiash
|
2024-06-08 12:21:08
|
Well, I'm not a linguist, and don't know whether romain languages ever had gender specific sentence part transformation, and therefore I don't know whether it is possible to get away from genders if it was bound to. But for languages where everything is bound to the gender.. I'm not sure whether it is possible without destroying language
|
|
|
spider-mario
|
2024-06-08 12:23:14
|
in french, adjectives and sometimes past participles are declined depending on gender
|
|
2024-06-08 12:23:29
|
if you’re sitting, you’re « assis » if male or « assise » if female
|
|
2024-06-08 12:24:15
|
“someone pushed me”: « on m’a poussé » if male, « on m’a poussé**e** » if female
|
|
2024-06-08 12:24:50
|
sometimes, it’s possible to work around that (« je me suis fait pousser » – although people sometimes mistakenly decline that one too https://www.academie-francaise.fr/elle-sest-fait-gronder), but not always
|
|
|
Oleksii Matiash
|
2024-06-08 12:30:21
|
And imagine that there are much more difference for each word - verb, ajective, etc. Verb in [I'm] sitting differs from [he\she] is sitting (the same in present) and from [they] are sitting. And for past he was sitting is different from she was sitting, while I was sitting will change depending on who am I - he or she
|
|
|
_wb_
|
2024-06-08 01:16:12
|
In my opinion, genders bring little to a language in terms of improving communication (i.e. cases where the gender actually helps to disambiguate or to reduce misunderstanding). There are plenty of languages that never had grammatical gender, plenty that lost it over time (like English), and some that don't even have gender at all (not grammatically but also not for pronouns).
|
|
|
lonjil
|
2024-06-08 01:17:57
|
in Proto-Indo-European, the gender system had two genders, animate and inanimate. Animate was used for people, animals, gods, and certain natural forces such as lightning, while inanimate was used for everything else.
|
|
2024-06-08 01:18:37
|
Inanimate is the origin of most of the "neuter" gender in Indo-European languages
|
|
|
_wb_
|
2024-06-08 01:21:07
|
Yes, and then it evolved into 3 genders like in German or Latin, and then often back to 2 genders (male/female like French or Spanish, or common/neuter like Dutch or Danish) or no more genders (like English or Afrikaans).
|
|
|
lonjil
|
2024-06-08 01:24:00
|
I read a theory that English lost the gender system due to the Norse invasion. The roots of many words were similar enough to be mutually understandable between the Norse and the Anglo-Saxons, but the case endings were very different, so when they communicated, it was easier to use a fixed word order and disregard gender and case stuff.
|
|
|
_wb_
|
2024-06-08 01:25:21
|
Arguably, more 'evolved' (or 'degenerated' depending on how you want to view it) languages become grammatically simpler, dropping genders, cases, conjunctions etc (all the stuff that makes many variants of words with different postfixes) in favor of just using some more small auxiliary words like prepositions and auxiliary verbs. Also irregular verbs increasingly become regular.
|
|
|
lonjil
|
2024-06-08 01:28:40
|
That's just shifting the grammatical complexity to other grammatical structures, and what is irregular today was regular 2000 years ago, and what is regular today will be irregular in the future.
The trend to remove such features is actually a very Indo-European phenomenon, rather than a general trend. Finnish has actually gained cases.
|
|
|
|
veluca
|
|
_wb_
Yes, and then it evolved into 3 genders like in German or Latin, and then often back to 2 genders (male/female like French or Spanish, or common/neuter like Dutch or Danish) or no more genders (like English or Afrikaans).
|
|
2024-06-08 01:54:59
|
Italian also has just male/female genders, and that's so messed up that it's really hard for me to truly associate a meaning of any kind to grammatical gender 🤣
|
|
|
_wb_
|
2024-06-08 01:56:34
|
I think most Romance languages converged to just male/female grammatical gender, and yes it generally has little meaning at all
|
|
2024-06-08 01:57:07
|
"La masculinité" — it makes little sense
|
|
|
dogelition
|
2024-06-08 01:59:29
|
meanwhile, the german word for girl ("Mädchen") is neuter instead of female
|
|
2024-06-08 02:00:29
|
that's really the only word where the gender sticks out as strange to me, as a native speaker
|
|
|
lonjil
|
2024-06-08 02:07:56
|
Aren't all chen words neuter?
|
|
|
dogelition
|
2024-06-08 02:08:41
|
yes
grammatically, it's a diminutive form, but there isn't really a different word you'd use to refer to a girl
|
|
|
Oleksii Matiash
|
|
veluca
Italian also has just male/female genders, and that's so messed up that it's really hard for me to truly associate a meaning of any kind to grammatical gender 🤣
|
|
2024-06-08 02:10:16
|
Probably the same for eastern slavonic. For me as native speaker it makes no question, but if I try to abstract from 'embedded knowledge' - yes, genders are just randomly assigned
|
|
|
|
veluca
|
2024-06-08 02:11:28
|
it's also fun when you compare across languages (even similar ones) - i.e. "la leche" vs "il latte" (for milk, which you'd expect would be unambiguously feminine, but no)
|
|
|
Oleksii Matiash
|
|
veluca
it's also fun when you compare across languages (even similar ones) - i.e. "la leche" vs "il latte" (for milk, which you'd expect would be unambiguously feminine, but no)
|
|
2024-06-08 02:13:36
|
Here "milk" is "moloko" and it is "it" (neuter, probably?). But water is feminine, for example 🤷♂️
|
|
|
_wb_
|
2024-06-08 03:08:21
|
In Dutch, dictionaries will still tell you the gender of nouns as male/female/neuter, but in practice there is no distinction afaik between male and female nouns: both use the indefinite article "een" and definite article "de" (while neuter words use "het"), adjectives also get inflected the same way for male words as for female ones, etc. There is no way to tell the difference, and native speakers wouldn't know what the official gender of a word is. Except in some dialects, where the distinction survived and different articles are still used.
|
|
|
spider-mario
|
2024-06-08 03:20:29
|
some words in French have different meanings depending on the gender
|
|
2024-06-08 03:20:36
|
un livre (masculine) = a book
une livre (feminine) = a pound
|
|
2024-06-08 03:21:04
|
(weight or currency)
|
|
2024-06-08 03:22:17
|
a fun one is also https://fr.wiktionary.org/wiki/gens#Notes
|
|
2024-06-08 03:22:23
|
(people)
|
|
|
_wb_
|
2024-06-08 03:27:55
|
Same in Dutch:
de pad (female) = the frog
het pad (neuter) = the path
|
|
2024-06-08 03:29:32
|
But context does most of the job anyway. The indefinite articles are the same in Dutch, so you can say "ik zag een pad op mijn pad" (I saw a frog on my path) and technically it could mean "I saw a path on my frog" but nobody will interpret it that way.
|
|
|
Crite Spranberry
|
2024-06-08 07:09:09
|
Figure this would be interesting enough to send here
https://github.com/Eclipse-Community/r3dfox/releases/tag/v127.0rc
Is able to use Aero on 10 by default
|
|
2024-06-08 10:58:39
|
So I messed up that release a little, Aero would break if you maximize or minimize the window.
Also idk why fog is broken on 10 but force enable transparency option with a mask width of 104 fixes it
https://github.com/Eclipse-Community/r3dfox/releases/tag/v127.0rc2
|
|
|
username
|
2024-06-08 11:17:53
|
<@549009613710819331> hey for r3dfox if you replace "TwemojiMozilla.ttf" in the fonts folder with this one (remove the space from the name) then how do unicode 15 emojis look? https://emojipedia.org/emoji-15.0
my Windows 7 VM is currently out of commission so I can't check
|
|
2024-06-08 11:18:40
|
it also includes unicode 15.1 emojis though most of those are joiner emojis
|
|
|
Crite Spranberry
|
2024-06-08 11:22:11
|
|
|
2024-06-08 11:23:23
|
This is 7 RTM btw lol
|
|
|
username
|
2024-06-08 11:27:31
|
oh nice, you could probably include it in the next release of r3dfox.
the emojis are from here: https://github.com/jdecked/twemoji
with the compiled build being from here: https://github.com/win98se/twemoji-colr
|
|
2024-06-08 11:28:43
|
the reason base Firefox doesn't have this is because Mozilla still hasn't switched over to this fork after the original twemoji repo got abandoned
|
|
2024-06-08 11:30:33
|
here's also the page for emoji 15.1 if you wanna see what those look like: https://emojipedia.org/emoji-15.1
|
|
|
Crite Spranberry
|
2024-06-09 12:56:36
|
I'm curious, are there any emoji fonts like this for Apple emojis?
|
|
|
username
|
|
Crite Spranberry
I'm curious, are there any emoji fonts like this for Apple emojis?
|
|
2024-06-09 12:59:26
|
this might work? https://github.com/samuelngs/apple-emoji-linux
|
|
|
Crite Spranberry
|
2024-06-09 01:02:08
|
I'll try it later
|
|
|
Cacodemon345
|
2024-06-10 06:55:02
|
https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1469919-tuxedo-developing-a-snapdragon-x-elite-linux-laptop?p=1469949#post1469949
Comments like these make my blood boil.
|
|
|
190n
|
2024-06-10 07:26:21
|
> ARM is closed too. Also, lack of standardization.
>
> Only RISC-V is open, modern and innovative.
that one?
|
|
|
Cacodemon345
|
|
190n
|
2024-06-10 07:54:35
|
what's so egregious about it
|
|
2024-06-10 07:54:57
|
like idk i guess i maybe don't consider the openness of an ISA as as large an issue as they do
|
|
2024-06-10 07:54:59
|
but they're not wrong
|
|
|
Cacodemon345
|
2024-06-10 07:58:21
|
There's no standardisation of the platform at all. Claiming RISC-V is better than ARM just for that is egregious.
It's not truly open as well since the BSD license of the ISA allows ARM-style proprietary enhancements to be made.
|
|
|
gb82
|
2024-06-10 08:06:48
|
They didn't say it was better
|
|
2024-06-10 08:06:56
|
They said it was open, modern, and innovative
|
|
|
190n
|
|
Cacodemon345
There's no standardisation of the platform at all. Claiming RISC-V is better than ARM just for that is egregious.
It's not truly open as well since the BSD license of the ISA allows ARM-style proprietary enhancements to be made.
|
|
2024-06-10 08:07:08
|
well it's more open than ARM, and risc-v cpus are not relying on proprietary extensions
|
|
|
lonjil
|
2024-06-10 08:07:34
|
the fastest risc-v cores (Alibaba) use proprietary extensions
|
|
2024-06-10 08:08:30
|
though, kinda funny, they're only proprietary because the risc-v foundation hates anything that isn't "RISC" enough, so they've stonewalled attempts at standardizing useful extensions, which end up as proprietary instead.
|
|
2024-06-10 08:08:52
|
And RISC-V definitely isn't innovative, it's basically MIPS minus half the mistakes.
|
|
2024-06-10 08:09:32
|
Arm64 was a much more ambitious evolution tbh.
|
|
|
CrushedAsian255
|
2024-06-10 09:10:34
|
OMG FINALLY
|
|
2024-06-10 09:10:38
|
|
|
2024-06-10 09:19:48
|
Took them long enough
|
|
|
A homosapien
|
2024-06-10 09:47:03
|
YES FINALLY
|
|
|
KKT
|
2024-06-10 09:47:07
|
Hilarious video, and some interesting examples of shitty HDR.
https://www.youtube.com/watch?v=BxOqWYytypg
|
|
2024-06-10 09:49:26
|
The best line: <<He just hit the "Just Fuck My Shit Up" button.>>
|
|
|
Quackdoc
|
|
Cacodemon345
There's no standardisation of the platform at all. Claiming RISC-V is better than ARM just for that is egregious.
It's not truly open as well since the BSD license of the ISA allows ARM-style proprietary enhancements to be made.
|
|
2024-06-11 03:16:00
|
it's not really that wrong. riscv more or less has pretty good standardization, the PCI situation is much better, we now have a standardized desktop instruction set, riscv rven pretty much just uses one of 3 major bootloaders too.
the situation is much better then the cluster fuck that is arm
|
|
|
lonjil
Arm64 was a much more ambitious evolution tbh.
|
|
2024-06-11 03:17:04
|
riscv isn't an evolution at all, its just a well thought out instruction set, with a sane governance, and royalty free.
before we more or less had a "pick 2" situation
|
|
|
w
|
2024-06-11 03:21:38
|
yeah it doesnt even matter only a handful of entities can make cpus and us humans are just picking the cpu and not the isa
|
|
|
190n
|
2024-06-11 03:23:00
|
i think much of the innovation in risc-v is geared towards making it possible to implement very simple cpus, like microcontrollers and such
|
|
2024-06-11 03:23:39
|
which is not as much of a benefit for high performance desktop use, but it's not really a detriment either -- it should be possible to make a decent uarch for any halfway sane ISA, risc-v included
|
|
|
w
|
2024-06-11 03:24:20
|
for microcontrollers those guys just make their own isa
|
|
|
190n
|
2024-06-11 03:24:59
|
some do but many don't
|
|
2024-06-11 03:25:05
|
ARM microcontrollers are extremely popular
|
|
2024-06-11 03:25:32
|
AVR, ARM, RISC-V, xtensa... what else is widespread these days
|
|
|
w
|
2024-06-11 03:25:47
|
yeah that's it
|
|
2024-06-11 03:25:59
|
only like 10 people
|
|
2024-06-11 03:26:02
|
all with their own
|
|
2024-06-11 03:26:10
|
what does it matter to normal humans
|
|
|
Quackdoc
|
2024-06-11 03:38:45
|
the thing that matters to me is that riscv vendors themsleves are not idiots are are doing a lot to make sure that they get everything important mainlined
|
|
2024-06-11 03:39:35
|
taking any SBC and getting pretty much any linux distro running on it with minimal fuss is really nice
|
|
|
w
|
2024-06-11 03:40:20
|
yeah the cpu is the least of the issues there
|
|
2024-06-11 03:40:39
|
you can take any pi alternative that still has arm cpu but they don't update the drivers for everything else and it's useless
|
|
|
Quackdoc
|
2024-06-11 03:41:13
|
yup, in then end it could even be powervr in arch and it wouldnt actually matter in the end for the end user
|
|
|
190n
|
2024-06-11 03:41:24
|
jeff geerling looked at one risc-v board where the company provided a debian or ubuntu image and said "make sure not to run `apt upgrade` it'll break" 💀
|
|
2024-06-11 03:41:49
|
https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_QSG/avoid_running.html
|
|
|
Quackdoc
|
2024-06-11 03:42:29
|
yeah, that shouldnt be needed any more since most things are upstream in armbian iirc
|
|
|
190n
|
2024-06-11 03:42:51
|
also the vector extension is a bit of a mess rn cuz of all the hardware in the wild implementing the draft version instead of the final spec
|
|
|
Quackdoc
yeah, that shouldnt be needed any more since most things are upstream in armbian iirc
|
|
2024-06-11 03:42:58
|
oh, armbian does risc-v too?
|
|
|
Quackdoc
|
2024-06-11 03:43:09
|
yeah
|
|
2024-06-11 03:43:16
|
they are pretty much the go to for embedded
|
|
|
190n
|
2024-06-11 03:43:19
|
lmfao they have x86_64 builds too
|
|
|
Quackdoc
|
2024-06-11 03:43:21
|
https://www.armbian.com/download-risc/
|
|
2024-06-11 03:44:14
|
arch is pretty solid right now too if you dont mind some outdated packages,
|
|
|
190n
also the vector extension is a bit of a mess rn cuz of all the hardware in the wild implementing the draft version instead of the final spec
|
|
2024-06-11 03:45:39
|
the vector extension wont really be much of an issue, everyone knew it was a draft and that applications built for it wont be around long. we are starting to see SBCs with rvv 1.0 now so it wont take too long, iirc the new sophon chips should be rvv 1.0
|
|
|
190n
|
2024-06-11 03:51:06
|
i hope you're right
|
|
|
Quackdoc
|
2024-06-11 03:52:36
|
speaking of riscv, have you guys seen their KVM? it's launching soon, 1080p60 kvm with iso/cdrom emulation, power triggering, or even usb video out, for like 20-30usd
|
|
2024-06-11 03:52:53
|
https://twitter.com/SipeedIO/status/1796500458951061662
|
|
2024-06-11 03:53:04
|
I realize it's niche but for some specific people this is going to be pretty great
|
|
|
jonnyawsom3
|
2024-06-12 09:58:45
|
With all the talk of satellite imagery in <#794206087879852106>, this video was quite interesting... And makes me want to try encoding them https://youtu.be/u2bUKEi9It4
|
|
|
lonjil
|
2024-06-12 02:44:51
|
I upgraded to the iPadOS 18 beta
|
|
2024-06-12 02:44:57
|
finally a calculator app
|
|
|
Quackdoc
|
2024-06-12 02:59:29
|
apple finally doing the unthinkable
|
|
|
jjrv
|
2024-06-12 04:34:11
|
<@238552565619359744> Unfortunately there's only one Sentinel SAR satellite currently, the other broke down 2.5 years ago and replacement has been delayed. That means the SAR data is way less useful IMO than the 4 optical Sentinel satellites that do work continuously for 5 years or so and counting and more on the way this year. Maybe Capella space has something useful publicly available, haven't looked into that.
The point of SAR is you can get frequent updates despite clouds, but the single working satellite doesn't manage to observe the globe more often than every 12 days, while optical satellites re-image the globe every 2-3 or 4-5 days currently. I mean there's plenty of commercial satellites doing the same, but they're imaging specific things for specific clients, you can't look at what you personally want to see (or actually anything other than some free samples).
|
|
2024-06-12 04:41:49
|
Once the planned two additional Sentinel SAR satellites are up, then it might get interesting. What I'd want to do, is produce daily cloud-free global optical satellite composites (using a sliding window of multiple weeks, because you can't get a cloud-free optical image most days), and then train a DCNN to convert the maybe 4 days resolution SAR data into RGB given perhaps reference SAR and RGB imagery from a week or two before and after. Idea is, the SAR sees through clouds and if it knew what things looked like before and after, it might be able to figure out a more exact half week period some change happened to a specific pixel.
|
|
2024-06-12 04:43:11
|
So for example in a conflict situation, with the sliding window optical imagery if a building gets destroyed, it'll fade from state A to B over a month of animation, and you can't really tell when exactly its state changed. Augmented with SAR, you could track with higher temporal detail exactly what happened, regardless of clouds.
|
|
2024-06-12 04:44:59
|
Interpreting SAR data is hard (some vertically and horizontally polarized radar bounce strengths you can't really relate to your own senses), but a DCNN should be able to do a lot especially given reference images, and that's an interesting training task where you have access to petabytes of training data and potentially can get very interesting results.
|
|
2024-06-12 04:47:15
|
I think it's possible to get started on this late this year / early next year. I'm hoping to have the optical data by then. If you really want to work on this, I'd be more than happy to collaborate. I don't think I'll have the resources to look into SAR very much on my own.
|
|
2024-06-12 04:51:30
|
This would be open code and data. Not interested in doing business, plenty of that already existing and you can't compete with ICEYE. They can do stuff like monitor a specific container terminal 24/7 but perhaps hobbyists / enthusiasts are not their audience.
|
|
|
lonjil
|
2024-06-12 09:17:13
|
huh <https://developer.apple.com/documentation/fskit/>
|
|
2024-06-12 09:17:22
|
API for implementing new filesystems outside the kernel
|
|
|
190n
|
2024-06-12 09:17:46
|
fuse for mac?
|
|
|
lonjil
|
2024-06-12 09:19:23
|
it seems to handle the talking to disks stuff too
|
|
2024-06-12 09:20:07
|
as opposed to fuse implementations of file systems that usually end up being run as root to access /dev stuff
|
|
|
spider-mario
|
|
190n
fuse for mac?
|
|
2024-06-12 09:59:25
|
there is a “MacFuse” but it’s implemented using the deprecated kernel APIs that this higher-level API is supposed to replace
|
|
2024-06-12 09:59:51
|
for now, you can still install it, but you have to disable some of macOS’s security features
|
|
2024-06-12 10:00:32
|
not sure whether there are plans to port MacFuse to the new API (from what I understand, it’s mainly contingent on whether it’s even technically feasible)
|
|
2024-06-12 10:03:18
|
oh, this project took yet another approach: https://github.com/macos-fuse-t/fuse-t
|
|
2024-06-12 10:03:57
|
> FUSE-T offers much better performance and this is due to excellent macOS client side NFSv4 implementation
uh.
|
|
2024-06-12 10:05:06
|
ah, that doesn’t match the reports from https://github.com/osxfuse/osxfuse/issues/987
|
|
|
190n
|
|
spider-mario
> FUSE-T offers much better performance and this is due to excellent macOS client side NFSv4 implementation
uh.
|
|
2024-06-12 10:05:42
|
i saw a rust project for "NFS server as a library" intended to be used for cases like fuse, they were claiming it's nicer to implement than FUSE cuz apparently NFS generally puts complexity on the client instead of the server
|
|
|
jonnyawsom3
|
2024-06-13 06:00:34
|
https://cdn.discordapp.com/attachments/889987478675656796/1250682202799476857/repositories-030-025-020-015-010-005-000-0-c-source-code-with-swear-words-code-quality-score-10.jpg?ex=666bd411&is=666a8291&hm=4d433739f69f9b7c74af7aa91df52db6807c96d071064fd192e6dc948e48516a&
|
|
|
yoochan
|
2024-06-13 06:13:04
|
😅 What's the date of this tweet? It rings a bell
|
|
|
lonjil
|
2024-06-13 09:24:33
|
<@184373105588699137> <@1028567873007927297>
QuackDoc is wrong, because Linux is nearly useless crap.
Pashifox is wrong, because every other OS also also nearly useless crap.
|
|
|
Quackdoc
|
2024-06-13 09:24:47
|
true [av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&quality=lossless&name=av1_dogelol)
|
|
|
Demiurge
|
2024-06-13 09:25:03
|
I agree with Lonnie completely
|
|
|
Quackdoc
|
2024-06-13 09:25:46
|
~~redox and fuscia will save us~~
|
|
|
lonjil
|
2024-06-13 09:26:10
|
Also Lennart wants to use what he thinks are useful functions in glibc, that musl doesn't have. He doesn't want to re-implement his own printf and stuff, and musl doesn't want to add that functionality, so the situation doesn't progress.
|
|
|
Quackdoc
|
2024-06-13 09:26:43
|
there area few of those I agree with, musl not having dlopen blows
|
|
|
lonjil
|
2024-06-13 09:27:05
|
It does have dlopen
|
|
|
Demiurge
|
2024-06-13 09:27:05
|
Also Lennart is actually a genius from what I can see, but he also seems like a very arrogant and prideful "my way or the highway" kinda guy who would be terrible to work with, and who makes a lot of idiotic decisions like an idiot savant. He's a genius for being able to do all of the work that he does, but an idiot for not being able to realize that it's a bad idea to do things that way.
|
|
|
lonjil
|
2024-06-13 09:27:20
|
Musl has supported dynamic linking for a while now
|
|
|
Quackdoc
|
|
lonjil
It does have dlopen
|
|
2024-06-13 09:27:34
|
it has a kinda gimped version of it
|
|
|
Demiurge
|
2024-06-13 09:27:39
|
musl is actually better at dynamic linking than glibc
|
|
|
Quackdoc
|
2024-06-13 09:28:07
|
dlopen doesnt work on statically linked binaries which hurts
|
|
|
lonjil
|
|
Quackdoc
it has a kinda gimped version of it
|
|
2024-06-13 09:28:17
|
It's fully POSIX-compliant ;)
Unfortunately it is true that it is impossible to support unloading libraries in dlclose in a way that is safe.
|
|
|
Demiurge
|
2024-06-13 09:29:09
|
I like how with musl, the dynamic linker, the library itself, and ldd are all the same binary, just symlinks with different names.
|
|
|
Quackdoc
|
2024-06-13 09:29:10
|
a good example of where dlopen's limitations hurt is rust, since wayland-sys uses dlopen when statically compiled to avoid needing to statically link wayland
|
|
|
lonjil
|
2024-06-13 09:29:29
|
wait
|
|
2024-06-13 09:29:34
|
why would you even want to do that?
|
|
2024-06-13 09:29:47
|
Why would you want to statically link musl and then run it on a system with dynamic musl?
|
|
|
username
|
|
lonjil
<@184373105588699137> <@1028567873007927297>
QuackDoc is wrong, because Linux is nearly useless crap.
Pashifox is wrong, because every other OS also also nearly useless crap.
|
|
2024-06-13 09:30:11
|
posting this here for context reasons: https://discord.com/channels/794206087879852103/805176455658733570/1250742391111942234
|
|
|
lonjil
|
2024-06-13 09:30:23
|
danke
|
|
|
Quackdoc
|
2024-06-13 09:30:37
|
cross compiling wayland applications so they can still be static, it allows you to "mostly" statically link with musl, and load the binary onto pretty much any distro/environment
|
|
2024-06-13 09:30:52
|
its pretty nifty
|
|
|
lonjil
|
2024-06-13 09:31:17
|
no, it would be entirely impossible to load libwayland on glibc systems even if static musl supported dlopen
|
|
2024-06-13 09:31:44
|
because the installed libwayland would want to load in glibc, and you can't have more than one libc loaded at the same time
|
|
|
Quackdoc
|
2024-06-13 09:32:04
|
this is only partially true
|
|
|
Demiurge
|
2024-06-13 09:33:11
|
Why would you want to avoid statically linking libwayland?
|
|
|
Quackdoc
|
2024-06-13 09:33:15
|
it actually winds up working fairly well, you can build an app with `RUSTFLAGS="-C target-feature=-crt-static" cargo build --target x86_64-linux-unknown... whatever` and it works pretty well
|
|
|
lonjil
|
2024-06-13 09:33:24
|
I found this on the musl mailing list:
> In your example it looks like you're foreign_dlopen'ing glibc. That simply *can't* work, because part of the interface contract of all glibc functions is that they're called with the thread pointer register (%gs or %fs on i386 or x86_64 respectively) pointing to a glibc TCB, which will not be the case when they're invoked from a musl-linked (or other non-glibc-linked) program.
>
> If you relax to the case where you're not doing that, and instead only opening *pure library* code which has no tie-in to global state or TLS contracts, then it should be able to work.
>
> Rich
|
|
|
Quackdoc
|
|
Demiurge
Why would you want to avoid statically linking libwayland?
|
|
2024-06-13 09:33:38
|
cross compilation without needing a full package managing system
|
|
2024-06-13 09:34:29
|
https://github.com/Smithay/wayland-rs/blob/76690476bea2440eb67c86a1ae38c3462b41274c/wayland-sys/README.md?plain=1#L19
|
|
|
lonjil
|
|
Quackdoc
it actually winds up working fairly well, you can build an app with `RUSTFLAGS="-C target-feature=-crt-static" cargo build --target x86_64-linux-unknown... whatever` and it works pretty well
|
|
2024-06-13 09:34:54
|
how do you know that it works well if it doesn't work? And that looks like dynamic linking to me.
|
|
|
Quackdoc
|
|
lonjil
how do you know that it works well if it doesn't work? And that looks like dynamic linking to me.
|
|
2024-06-13 09:35:21
|
it pretty much is dynamic linking, it's more or less a "hybrid linking"
|
|
|
lonjil
|
2024-06-13 09:35:34
|
It says to dynamically link libc
|
|
2024-06-13 09:35:58
|
I know that flag well, because it used to be that Rust would automatically default to static linking if the target it musl :)
|
|
|
Quackdoc
|
2024-06-13 09:36:12
|
it still does default to statically linking
|
|
|
lonjil
|
2024-06-13 09:36:14
|
But I run a dynamically linked Musl distro, so it obviously didn't work
|
|
|
Quackdoc
|
2024-06-13 09:36:33
|
[Hmm](https://cdn.discordapp.com/emojis/1113499891314991275.webp?size=48&quality=lossless&name=Hmm)
|
|
|
Demiurge
|
2024-06-13 09:36:47
|
Is it not possible to "gracefully handle" or detect a non wayland environment with static libwayland?
|
|
|
lonjil
|
2024-06-13 09:36:50
|
`target-feature=-crt-static` means "don't statically link libc"
|
|
|
Quackdoc
|
2024-06-13 09:36:52
|
I use this for cross compiling all the time and it works fairly well, aside from ofc when I actually need this
|
|
|
lonjil
`target-feature=-crt-static` means "don't statically link libc"
|
|
2024-06-13 09:37:09
|
oops, meant +
|
|
2024-06-13 09:37:16
|
mybad
|
|
|
lonjil
|
2024-06-13 09:37:18
|
ah, yes, that is static linkage of libc
|
|
2024-06-13 09:37:41
|
but then you must also be statically linking libwayland, right?
|
|
|
Quackdoc
|
2024-06-13 09:37:43
|
-opt is a bad habbit that doesnt work with the rust stuff [av1_dogelol](https://cdn.discordapp.com/emojis/867794291652558888.webp?size=48&quality=lossless&name=av1_dogelol)
|
|
|
DZgas Ж
|
2024-06-13 09:38:07
|
yesterday I faced another problem — the inability to find the original image. tne art that I saved in 2022. but on the Internet I could not find a single image that would be better in quality than what I have. sausenao Google Yandex tineye
|
|
|
Quackdoc
|
|
lonjil
but then you must also be statically linking libwayland, right?
|
|
2024-06-13 09:38:16
|
nope, the crate tries to dlopen itself, so it doesn't actually "link" to wayland at all
|
|
|
DZgas Ж
|
2024-06-13 09:38:17
|
how to work with big data. if all is closed. Can you get all the thumb images in google pictures? Yandex? Can you get all the YouTube video covers? or at least all the existing video titles?...
|
|
|
Quackdoc
|
2024-06-13 09:40:16
|
so say you have a tui+gui application (I guess the radeontop could be an example of this), if you compile it with musl it will "just work" pretty much on any distro at all, the wayland part wont work since it can't dlopen wayland (even if musl did support it) but the tui part would
|
|
|
lonjil
|
2024-06-13 09:41:01
|
oh, that's what you mean
|
|
|
Quackdoc
|
2024-06-13 09:41:20
|
yeah it's actually a pretty nifty thing, I use it for cross compiling applications to termux
|
|
2024-06-13 09:41:53
|
~~because most rust applications decide "bionic target? you must mean a native android application"~~
|
|
2024-06-13 09:43:30
|
ofc because musl can't dlopen gui apps just pretty much never work like this
|
|
2024-06-13 09:43:40
|
even if you have a musl env installed on termux
|
|
2024-06-13 09:44:13
|
dlopen like this*
|
|
2024-06-13 09:44:52
|
you can use gnu, but you wind up hitting a lot of issues on termux with instruction errors
|
|
|
lonjil
|
2024-06-13 09:48:26
|
Like I said, it still wouldn't work to be portable, because even if dlopen worked well with static musl, it would explode if you tried to load anything glibc.
|
|
|
Quackdoc
|
2024-06-13 09:49:03
|
it would "fail" but rust isn't stupid, wayland-sys handles and returns the issue
|
|
|
lonjil
|
2024-06-13 09:49:06
|
You'd be better off compiling one portable dynamic glibc executable, and one portable dynamic musl executable.
|
|
|
Quackdoc
it would "fail" but rust isn't stupid, wayland-sys handles and returns the issue
|
|
2024-06-13 09:49:54
|
but that's not useful.... Like the goal is to have a portable GUI app innit? You say "ofc because musl can't dlopen gui apps just pretty much never work like this", but that's irrelevant! It can't work like that regardless.
|
|
|
Quackdoc
|
|
lonjil
You'd be better off compiling one portable dynamic glibc executable, and one portable dynamic musl executable.
|
|
2024-06-13 09:50:02
|
~~i mean, it would be best to rewrite libwayland in rust~~
|
|
|
lonjil
|
2024-06-13 09:50:14
|
Musl can dlopen GUIs if you link dynamically
|
|
|
Quackdoc
|
|
lonjil
but that's not useful.... Like the goal is to have a portable GUI app innit? You say "ofc because musl can't dlopen gui apps just pretty much never work like this", but that's irrelevant! It can't work like that regardless.
|
|
2024-06-13 09:50:16
|
man apps have "gui optional"
|
|
|
lonjil
|
2024-06-13 09:50:52
|
I don't understand what you're even trying to say anymore
|
|
2024-06-13 09:50:59
|
Like what does this mean: "ofc because musl can't dlopen gui apps just pretty much never work like this"
|
|
2024-06-13 09:52:36
|
what's the point of even having the dlopen call if it will always fail?
|
|
|
Quackdoc
|
2024-06-13 09:52:58
|
convince for the developer/distributor
|
|
|
lonjil
|
2024-06-13 09:53:01
|
Why have the wayland-rs code that needs to use libwayland if the dlopen will literally always fail?
|
|
|
Quackdoc
|
2024-06-13 09:53:14
|
cross compile environments suck to maintain
|
|
|
lonjil
|
2024-06-13 09:54:11
|
convince the developer of what, and convince them to do what?
|
|
|
Quackdoc
|
2024-06-13 09:55:04
|
Convenience* mb
|
|
|
lonjil
|
2024-06-13 09:55:49
|
ah
|
|
2024-06-13 09:56:02
|
but is it really convenience if the GUI simple cannot work ever?
|
|
|
Quackdoc
|
2024-06-13 09:56:18
|
Sure, lots of people just use tui apps
|
|
2024-06-13 09:56:43
|
You don't need to program any if ands or whatever, either. It's just, if there's an error and you handle the error.
|
|
|
lonjil
|
2024-06-13 09:56:44
|
but we're talking about apps that want to use GUIs with wayland-rs :/
|
|
|
Quackdoc
|
|
lonjil
but we're talking about apps that want to use GUIs with wayland-rs :/
|
|
2024-06-13 09:56:55
|
yeah?
|
|
2024-06-13 09:57:04
|
abstractions exist
|
|
|
lonjil
|
|
Quackdoc
|
2024-06-13 09:57:34
|
Say you're using winit, Wayland is gonna fail on half the systems anyway, so it's not like that's anything special.
|
|
|
lonjil
|
2024-06-13 09:58:03
|
it's gonna fail on all systems forever, if it's statically linked
|
|
|
Quackdoc
|
2024-06-13 09:58:32
|
the wayland part might
|
|
2024-06-13 09:58:49
|
And it's going to work on systems with the proper libc
|
|
|
lonjil
|
2024-06-13 09:59:48
|
so static musl dlopen does work if the system is also musl? 🤨
|
|
|
Quackdoc
|
2024-06-13 10:00:53
|
no? the crate itself is calling dlopen, If the crate tries to dlopen and it can't, the crate will throw an issue. That doesn't mean the application crashes, that just means you have an error to handle.
|
|
|
lonjil
|
2024-06-13 10:01:25
|
I've never said that the application crashes
|
|
2024-06-13 10:01:35
|
I've said that it's very silly to do something that can never ever work
|
|
2024-06-13 10:01:51
|
Why include all that code that will never work when you build statically?
|
|
2024-06-13 10:02:15
|
And if your goal is to have a GUI application, why would you insist on building statically?
|
|
|
Quackdoc
|
2024-06-13 10:02:18
|
Because for the developer it's a lot less work and for the user they're never going to notice. If it fails, it fails. They just recompile. If not, then it works perfectly fine.
|
|
|
lonjil
|
2024-06-13 10:02:23
|
It doesn't make any sense
|
|
|
Demiurge
|
2024-06-13 10:02:25
|
I just want the era of jpegxl to come soon ;_;
|
|
|
Quackdoc
|
2024-06-13 10:03:30
|
The benefit for me is I can host my own binaries and I can just curl them, download them and use them. If I don't need to use Wayland, I don't use Wayland. It's as simple as that.
The amount of times I actually have to go and recompile an application is really not that high. Sometimes I do sure, but usually not really.
|
|
|
Demiurge
|
2024-06-13 10:03:39
|
lots of tools and support and clever encoders... I don't even care about lossy that much honestly, I think lossless is where the most strengths lie...
|
|
|
Quackdoc
|
2024-06-13 10:05:09
|
And then of course this rolls back into what I was saying before. If muscle did support the deal, open for static leeling to files. And that would be much nicer for me because then I could also have my apps working with GUI. but thr GUI part is often not critical for me
|
|
|
lonjil
|
2024-06-13 10:06:38
|
I mean, it does if you compile dynamically
|
|
2024-06-13 10:06:48
|
Which is just as easy as compiling statically
|
|
|
Quackdoc
|
|
lonjil
I mean, it does if you compile dynamically
|
|
2024-06-13 10:07:09
|
and now i need to play dependency hell
|
|
|
lonjil
|
2024-06-13 10:08:01
|
Maybe the tooling for it isn't there, but you should be able to statically compile everything *except* libc and libwayland.
|
|
|
Quackdoc
|
2024-06-13 10:11:27
|
ideally you want a statically linked musl for a myriad of reasons, one of which includes performance
|
|
2024-06-13 10:12:51
|
also the binary wouldnt be "portable" anymore at all, no longer just the gui
|
|
2024-06-13 10:13:24
|
ofc this could be worked around if linux had a decent ld loading scheme
|
|
|
lonjil
|
2024-06-13 10:13:28
|
it'd be portable to all systems that use the same libc, which is kinda portable
|
|
2024-06-13 10:14:55
|
maybe you could do the stupid zig trick of having an executable that is statically linked, and at startup checks whether the current system uses glibc or musl, and then dynamically reloading the current executable with either of them.
|
|