HNHacker News
TopNewBestAskShowJobs

heftig

338 karma · joined February 8, 2017

Arch Linux developer.

[ my public key: https://keybase.io/heftig; my proof: https://keybase.io/heftig/sigs/vAGC78N1YQjTEZO96gvqfkVD0fit_mml6IN6XPw-wvo ]

submissionscomments
heftig··on Firefox 80 and my confusion over its hardware accelerated video on Linux
I think the expectation is that WebGL is used to manipulate video frames.
heftig··on Firefox 80 and my confusion over its hardware accelerated video on Linux
Do you believe enabling hardware video decoding in Firefox was a trivial effort?
heftig··on Transparent OLEDs
The backlight of an LCD isn't itself polarized. A TN LCD display is made of two orthogonal polarization filters with the liquid crystals in between. In their relaxed (twisted) state, the crystals rotate the polarization of the light so that it can pass the second filter. When a voltage is applied, the crystals straighten and the second filter blocks the light.
heftig··on Rust: Dropping heavy things in another thread can make your code 10000x faster
If I seriously wanted to move object destruction off-thread, I would use at least a dedicated thread with a channel, so I could make sure the dropper is done at some point (before the program terminates, at the latest). It also avoids starting and stopping threads constantly.

Something like this: https://play.rust-lang.org/?version=stable&mode=debug&editio...

You could have an even more advanced version spawning tasks into something like rayon's thread pool, I assume.

heftig··on Rust: Dropping heavy things in another thread can make your code 10000x faster
As already mentioned, Rust wasn't copying anything; the `HashMap` is not a `Copy`-able type, so it was just moved around (it's also not very large: all its items are behind a pointer to the heap).

All you did was move the drop from the `fn_that_drops_heavy_things` to the end of `main`, where it is outside the timing function.

heftig··on Port knocking
Can't we do both? Like, the content of the UDP packet is the output of `date -uIs | gpg --sign`.
heftig··on Next dream job can be in an HTTP header
Because of the malt? Egg and egg products are no longer used.
heftig··on Studies show Alzheimer’s occurs more often in people exposed to polluted air
I want to know more about why automatics can't do this, but Wikipedia only has an unsourced claim that "gliding vehicles equipped with torque converter-based automatic transmissions [causes] damage due lack of lubrication."

If you release the accelerator, does it decouple the engine from the wheels?

heftig··on Iridescent Tempered Chocolate
Google for a "reflective diffraction grating". If you shape the surface a certain way - grooves with a size near the visible wavelength, AFAI understand - you can get the reflected light to interfere with itself. The imperfections which vary the groove size then result in this rainbow effect.
heftig··on The Flute of Shame
The German Wikipedia says that the idea it was being used to humiliate musicians is a later one:

https://de.wikipedia.org/wiki/Schandfl%C3%B6te

Translated by DeepL:

A pranger flute was a medieval and early modern pillory instrument for the execution of honorary sentences.

The despicable flute bears its name because of its external resemblance to a flute. The metal ring, usually hinged, at the upper end of the wooden or metal flutes was placed around the delinquent's neck and his fingers were then clamped in the metal clamp on the body of the "flute". This gave the delinquent, who was writhing in pain, the impression of a playing musician, which particularly exposed him to the ridicule of the audience. In recent times the "Schandflöte" is often presented as a punishment for bad musicians, but like the neck violin, which also resembles a musical instrument, it served to punish various minor violations of the legal system.

heftig··on My C code works with -O3 but not with -O0
SSE xmm registers might be 128 bits wide, but the precision is still 64 bits. The additional (high) bits are zeroed out.

What you're seeing is not excess precision due to wide registers but excess precision due to optimization and constant propagation, which means GCC calculates a fast path for (argc == 1) that doesn't round correctly and ends up with "it fits".

Interestingly it does optimize to the correct "doesn't fit" with -mfpmath=387 -fexcess-precision=standard, so I guess this is a bug in how GCC treats SSE math. The sanitizer (-fsanitize=float-cast-overflow) also notices the problem.

heftig··on I'm not feeling the async pressure
Couldn't you have an API with a write() return value that you can await to trigger a drain(), but which you can also leave unused, in which case it acts like the current write()?
heftig··on Debian votes for Proposal B, “Systemd but we support exploring alternatives”
You don't have to produce a well-ordered ballot. E.g. you can pick your favorites and let everything else share last place.
heftig··on Designing Accessible Color Systems
In my brief dive into colorspaces I got the impression that CIELAB isn't actually that uniform and there are better spaces available, such as DIN99o (actually DIN 6176). Is this right?
heftig··on The state of Android updates is still dire
The mainline kernel doesn't have a stable ABI, so you're stuck maintaining a fork, forever.
heftig··on Git Blame-Someone-Else
Yes. If they did this, private commits might even leak into packfiles fetched from GitHub by git.
heftig··on Git Blame-Someone-Else
This information is part of the commit created by git and not "associated data" added by GitHub.
heftig··on The death watch for the X Window System has probably started
Don't overestimate the Intel GPUs. My current system uses a 530 which is getting pushed to its limits trying to render the desktop at 60 Hz, either UHD on AC or FHD on battery. Forget UHD on battery, that doesn't even manage to move the cursor at more than 10 fps.

IMO the ideal GPU for a UHD screen would be either an Iris or a Vega 10. But it's difficult to find the former outside MacBooks and the latter with more than an FHD screen.

heftig··on German regulator says it discovered new illegal software on Daimler diesels
How about requiring all implementations of a patent to be open source?

This really should have been a requirement for software patents from the start, given how difficult software is to reverse-engineer.

← PreviousPage 4 of 4