HNHacker News
TopNewBestAskShowJobs

nyanpasu64

3,935 karma · joined March 24, 2020

trans rights are human rights

denying self-determination is the root of hierarchy and fascism

submissionscomments
nyanpasu64··on Hardware Reverse Oscilloscope 2
You can emulate waveshapers with steeper aliasing falloff than 6dB/octave, using integration-based techniques to calculate the average output value of a waveshaper when interpolating multiple input points (or something like that). There's a paper describing various orders at http://dafx16.vutbr.cz/dafxpapers/20-DAFx-16_paper_41-PN.pdf (if I remember the right link, RIP it's not HTTPS).
nyanpasu64··on The WebP 0day
I did find that `ffmpeg -i file.png -lossless 1 test.webp` could produce a full-res chroma image, recognized as WebP by file and opening successfully in Chrome and Firefox. I was under the impression this was not possible, but I suppose it is (today, not sure in the past).

Why do I see WebP as an image format used to sneakily degrade PNG files? I've seen gaming wikis and CDNs serve PNG URLs as lossy WebP, ruining pixel art and degrading color detail in 2D art. And Discord CDN's "file.webp?size=1024&quality=lossless" serves icons/emotes with chroma subsampling (and ffprobe doesn't say the file is lossless, unlike test.webp above).

nyanpasu64··on The WebP 0day
Considering that "lossless" WebP comes with mandatory chroma subsampling, I'd say that WebP and not PNG is the sub-optimal image format.
nyanpasu64··on Chonky Menu Re-Creation
When you click on an item and move your cursor to the top or bottom of the visible bubble, the mouse instead selects the item next to it. I'd consider an item whose selection box is smaller than the visual outline to be a bug. It's also jarring to have items "running away" from the mouse cursor.
nyanpasu64··on What if OpenDocument used SQLite? (2014)
> The VACUUM command works by copying the contents of the database into a temporary database file and then overwriting the original with the contents of the temporary file. When overwriting the original, a rollback journal or write-ahead log WAL file is used just as it would be for any other database transaction. This means that when VACUUMing a database, as much as twice the size of the original database file is required in free disk space.

> The VACUUM INTO command works the same way except that it uses the file named on the INTO clause in place of the temporary database and omits the step of copying the vacuumed database back over top of the original database.

Do you use VACUUM (uses a write-ahead log to survive power-off) or VACUUM INTO (as far as I can tell, it doesn't survive power-off during writing, and might corrupt the existing file contents if the filename already exists)?

nyanpasu64··on What if OpenDocument used SQLite? (2014)
I was optimistic that Audacity adopting SQLite would be a substantial improvement in its file saving capabilities. In practice I encountered many gotchas:

- On Linux, saving into a new file onto a root-owned but world-writable NTFS mount created in /etc/fstab, fails due to permission errors or something. Saving into an existing file works as usual.

- Files are modified on disk when you edit the project in the program, creating spurious Git diffs if you check Audacity projects into Git as binary blobs. And when you save the file, old and deleted data is left in the SQLite file until you close the project's window (unlike saving a file in a text editor), and you can accidentally commit that into a Git repo if you don't close the window before committing. (I recall at one point that you had to manually vacuum the .aup3 file, but now closing the window is sufficient.) I'm getting Word 2003 Fast Save vibes.

nyanpasu64··on Tech Independence
Would it be practical to use mesh networking (eg. Hyperboria, https://changelog.complete.org/archives/10478-easily-accessi...) to access your machines from remotely using their public key rather than a domain name you have to pay for and renew?
nyanpasu64··on The Tyranny of the Marginal User
From what I hear, PulseAudio inherently lacks the architecture to create arbitrary audio routing graphs. PipeWire can do it for audio with apps like Helvum and QPWGraph, but not for all windows (only webcams and perhaps screen sharing). The view does get confusing as the number of apps/nodes increases though. One point of confusion is that in Helvum, Pulse apps have a playback and monitor node (and the monitor is a copy of the input), but JACK apps have an input and output (where the output is the result of the app applying effects to the input, or an unrelated audio stream altogether). I'm not sure where native PipeWire apps lie.
nyanpasu64··on What Is Dimensional Analysis?
One interesting property of Hertz is that it's partially appropriate for describing sampling rates. I've found use in annotating separate units for "cycles/sec" and "samples/sec" so I avoid mixing them up (for example, the Nyquist rate can be expressed as 0.5 cyc/smp).
nyanpasu64··on Analyzing Starfield’s Performance on Nvidia’s 4090 and AMD’s 7900 XTX
Stray's first city felt like an endless labyrinth when I was ~~playing~~ getting lost in it, but looked quite compact once I found a map outside the game.
nyanpasu64··on Linear code is more readable
I agree that placing sequentially executed code in order of execution often improves readability over abstracted code (especially dynamic dispatch and static/dynamic traits). A similar article is at http://number-none.com/blow/john_carmack_on_inlined_code.htm..., but linear code has its own failure modes, if code is not factored into blocks with identifiable functionality and constrained/documented side effects (for example 500-line functions twiddling hardware registers and reading/writing global variables). Carmack later wrote an article in support of small-f functional programming and avoiding side effects and global state when practical (https://web.archive.org/web/20190123060017/http://gamasutra...., the article lost all line breaks during migration to gamedeveloper.com)

Another article that touches on this idea (among others) is https://loup-vaillant.fr/articles/source-of-readability which advocates that "code that is read together should be written together" (reading it made me confused until I realized it meant "placed together"), specifically "Consider inlining functions that are used only once".

nyanpasu64··on How can we have a proper debate when we no longer speak the same language?
Love to see articles simultaneously attacking trans athletes for being taller, and attacking the self-determination and gender exploration which would allow trans people to avoid the natal puberty causing them to suffer intense physical dysphoria (including shape, muscle mass, and height), and struggle to pass as their preferred appearance to themselves and others.
nyanpasu64··on Show HN: Improved freemusicdemixer – AI music demixing in the browser
freemusicdemixer would endlessly try to download files and never actually load for multiple minutes, though it might be my Wi-Fi. demucs seems to work acceptably on music, but transients tend to get lost unless you unmute the drums channel (which is probably unavoidable whenever drum and tonal transients coincide in time and occupy similar frequencies).
nyanpasu64··on What’s the Smallest Variety of CHERI? (2022)
I'd say another factor is that microcontrollers are less equipped to run memory checking tools like Valgrind or ASAN than desktops, and lack separate address spaces between processes, increasing the "blast radius" of memory errors.
nyanpasu64··on Microsoft has not stopped forcing Edge on Windows 11 users
You should pick Linux Mint or another Linux distribution (if you can make it work for your use cases), and avoid both Windows and Ubuntu when they're built to act against the user's best interests.
nyanpasu64··on Microsoft has not stopped forcing Edge on Windows 11 users
Ubuntu is now bundling advertisements for their paid services in apt upgrade output and the GUI software sources manager, in packages which cannot be uninstalled because they're hard dependencies of the `ubuntu-desktop` metapackage. Plus they've replaced Firefox with a package which installs a Snap, which loads so slowly they added a "snap opened" notification.
nyanpasu64··on Why you might want async in your project
I'd argue that libraries forcing programs to include an async runtime upfront because there's a chance that it may someday grow to the extent you want a central executor (when they are absolutely ill-suited for audio programming, and probably not the case for Animats's metaverse client at https://news.ycombinator.com/item?id=37437676), imposes unnecessary dependency bloat on applications. And unless you use block_on(), async code pushes applications from a "concurrency library" model where apps block on mutexes/signals/channels as needed, to a "concurrency framework" model where code only runs under the runtime's callbacks (which is not the right choice for all apps).
nyanpasu64··on Touch Pianist
It does have the third movement. I tried it for shits and giggles:

- Playing fast sections of a song is like mashing through a cutscene, but it's easier to press quickly (not sure at a consistent pace) with multiple fingers. The original piano music was meant for multiple fingers as well.

- The hardest part is advancing the right number of buttons. I don't even know the right number of notes in the trills, and would kinda prefer if the website automatically advanced through trills finer than a 16th note, so it's less likely to end up desynced with the actual piece (I'm not sure if you get used to it with learning each piece or not).

- The website has noticeable audio latency, which makes it hard to associate keypresses and which sound came out in fast sections.

nyanpasu64··on Wii Architecture – A Practical Analysis
The proprietary Nunchuk port speaks the standard I2C protocol, which is probably how they made the MotionPlus pass through extension controllers (as a kid I thought the MotionPlus and Nunchuk used separate sets of pins). I hear all extension communications were encrypted (which is causing problems for Dolphin Nunchuk TAS recordings), but evidently third parties were able to figure it out, since third-party/knockoff Nunchuks appeared fairly quickly (including the Nyko Kama).
nyanpasu64··on Never Ending September Date
Now create a calendar for never ending 2020.
nyanpasu64··on Hacking the LG Monitor's EDID
Is there any program to override EDID on macOS that doesn't cost money? CRU is free (and open-source if you can compile Embarcadero C++) on Windows, and xrandr and kernel command lines are free and open-source on Linux.
nyanpasu64··on Hacking the LG Monitor's EDID
I tried wxedid from the AUR on Arch Linux, but unfortunately it segfaults in Wx code on startup. I haven't tried building it manually and debugging.
nyanpasu64··on Hacking the LG Monitor's EDID
Why doesn't macOS use the ports that monitors are connected to, to determine their layout (only treating a monitor as having moved if its port's EDID doesn't match the EDID in that port from before sleeping)?
nyanpasu64··on Hacking the LG Monitor's EDID
EDID, CTA-861, and DisplayID are the result of decades of piling layers of cruft on top of each other (CRTs, then LCDs, then variable refresh rates), with different data formats from competing standards committees (HDMI vs. VESA/DisplayPort) with different sets of needs (like HDMI/CTA-861 supporting audio codecs and YPbPr/chroma subsampling originally for home theater applications), sometimes coexisting on the same display (this LG monitor has both CTA-861 and DisplayID blocks).
nyanpasu64··on Hacking the LG Monitor's EDID
If you tell Linux to replace the EDID firmware with a custom binary, without telling it which output to override, I'm not surprised Linux acts the way it does. I can confirm on my machine that overriding EDID for a specific connector works as expected. https://wiki.archlinux.org/title/kernel_mode_setting#Forcing... says that you can do it for multiple connectors using commas to separate values, though I have not tried. Though one gotcha is that on my RX 570, `ls -ld /sys/class/drm/*/edid` prints HDMI-A-1 and -2, which is also the name of the display outputs on Wayland, but on X11 xrandr identifies these outputs as HDMI-1 and HDMI-2. (I think you have to use HDMI-A-1 in the kernel command line, but I have not tried.)
nyanpasu64··on Hacking the LG Monitor's EDID
I'd consider it a Linux bug if the kernel drivers don't transparently hide high color depths and refresh rates that aren't supported by the display/cable/GPU's maximum supported DP data rate.
nyanpasu64··on Hacking the LG Monitor's EDID
I have experienced pixel clock errors on Linux, but can't say in this case if the monitor, cable, or GPU is unable to handle full resolution at 144hz. The CTA-861 (HDMI metadata) block contains a mode "3440x1440 99.990 Hz", or 1440p100 with a pixel clock of 543.5 MHz. I don't know if this 100hz mode functions on Windows or not. The DIsplayID block instead contains a 144hz mode with a pixel clock of 799.750 MHz. Both of these modes may be within DisplayPort bandwidth limits or not, depending on the link rate and bits per pixel (this EDID says "Bits per primary color channel: 10"), and may also be supported by the display or not.

I do know that Linux X11 (amdgpu kernel driver, modesetting X11 driver) tends to drive my DVI 1080p display with too high of a pixel clock (too large blanking intervals) when connected over a HDMI-to-DVI cable from my GPU. I believe this is because there's actually a duplication of mode selection logic between the amdgpu kernel driver and X11. I've reported another (system hang) amdgpu/X11 resolution bug at https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu... with no progress towards being resolved so far. Neither bug appears on Wayland, but mainstream Wayland desktop environments (KDE/GNOME) do not allow adding custom resolutions through xrandr without overriding EDID files and either rebooting for the kernel to see it, or touching files in /proc/ (untested).

nyanpasu64··on Hacking the LG Monitor's EDID
You could try applying the same EDID patch using CRU on Windows, at least if Windows recognizes the monitor in the first place.
nyanpasu64··on Hacking the LG Monitor's EDID
That's odd, I was definitely able to add a DisplayID 1.3 extension block (128 extra bytes appended) to a CRT monitor's 128-byte EDID data using CRU, then have Windows 11 see those extra resolutions (when the CRT was plugged into a DP-to-VGA adapter). Though I ended up switching to CTA-861 (HDMI extension blocks) with all the HDMI YCbCr/audio nonsense turned off, because 010Editor and edid2json could understand CTA-861 but not DisplayID (though I learned from this article that git://linuxtv.org/edid-decode.git, or https://git.linuxtv.org/edid-decode.git, has better support for EDID standards than the other tools).

Another oddity is that when I run edid-decode on the DisplayID 1.3 file created by CRU, edid-decode reports the block as "Version: 1.2" instead. Wonder what's up with that.

nyanpasu64··on Federal study links testicular cancer to ‘forever chemicals’
You're wrong. Trans people don't have unbalanced hormones, they have normal amounts of the wrong hormones, both as teens and adults. Puberty causes irreversible physical effects with lifelong psychological harms, and forcing more of the wrong hormones is even more harmful. And in the vast majority of cases, people during and after puberty who are harmed by natal hormones, continue to be harmed by them throughout their adulthood, and regret going through natal puberty (not hormone replacement therapy). You don't know better than trans people what their needs are, and you demonstrably don't even know what trans people are (given that you think they need extra hormones to be fertile), so stop trying to convince people to poison them by overdosing them on hormones which will cause bodily changes (skeletal changes, voice dysphoria, hair loss) that traumatize them for the rest of their life.

As for whether preserving fertility (banking sperm or eggs) before starting hormones (as teens or adults) is a worthwhile tradeoff on an individual level, that's a choice for an individual to make. In no circumstances is it not abuse to force more of natal hormones into a trans person already harmed by them.

← PreviousPage 11 of 34Next →