HNHacker News
TopNewBestAskShowJobs

oofabz

1,660 karma · joined December 3, 2010

submissionscomments
oofabz··on The scourge of x86 emulation
You can get around the memory ordering issue if you only emulate a single core. Performance suffers but for many legacy workloads performance is not critical.
oofabz··on The UN challenges five centuries of cartography
In an alternate reality, the prime meridian could have been chosen to pass through Florence, making 180° and the edges of the world map pass cleanly through the Bering Strait.
oofabz··on EasyEffects can improve laptop speaker sound quality
Would be sweet if it could use the microphone to auto-tune the speakers by playing audio and listening to the result. Microphones are not perfect but a cheap microphone has much better frequency response than cheap speakers. If you assume the microphone is perfect you will get a pretty good result, probably better than a generic "laptop speaker" preset would be.
oofabz··on The Indo-European Family Tree
There are many historical events of Indo-European speakers invading India from the north, like Darius the Great, Alexander the Great, the Mughals. AIT refers to a theory from an earlier time period but rejecting it does not rule out subsequent Indo-European conquests of the region which surely contributed to the spread of Indo-European culture and language southward.
oofabz··on The Indo-European Family Tree
The Indo-European speakers invaded from the north.

https://en.wikipedia.org/wiki/Indo-Aryan_migrations

oofabz··on 10Gb/s Ethernet: switching to a Broadcom SFP+ module
Why not multi-mode? The transceivers are a lot cheaper, especially for 100G and above.
oofabz··on 10Gb/s Ethernet: switching to a Broadcom SFP+ module
If you want a 10GBASE-T SFP+ module that doesn't run hot, look for one with 802.3bz support. Any module that supports 2.5G and 5G speeds has newer silicon which runs cooler.

There is an old but still good list of transceivers with this feature here: https://www.servethehome.com/sfp-to-10gbase-t-adapter-module...

oofabz··on Wi is Fi: Understanding Wi-Fi 4/5/6/6E/7/8 (802.11 n/AC/ax/be/bn)
I recently got a Grandstream GWN7615 access point to add coverage on the other side of the house from the main router. It does not meet the minimum spec listed in this article but for more modest requirements I think it's an excellent value. You can get one for well under $100. It is WiFi 5, 3x3 MIMO, and you don't need any cloud account to manage it.
oofabz··on StarFighter 16-Inch
Every generation of CPU has high-power and low-power variants. The i9 is a high power variant that generates a lot of heat but what you want is the low power variant.

I recommend looking for a used laptop with a Core Ultra 7 165U (<$500) or a Core Ultra 7 268V (>$1000). Maybe an HP EliteBook. Either one would be faster than your old i9 and run much cooler.

oofabz··on 4-bit floating point FP4
I see their 60-bit float has the same size exponent (11 bits) as today's doubles. Only the mantissa was smaller, 48 bits instead of 52.
oofabz··on A brief look at FreeBSD
One of the main differences from Linux is BSD's separation between the base system and installed applications.

On Ubuntu, Arch, Mint, etc. there is no such distinction. Everything is made of packages, including the base system. You have packages for the kernel, the init system, logging, networking, firmware, etc. These are all versioned independently and whether or not they are considered "essential" is up to the user to decide.

On BSD, the base system is not composed of packages. It is a separate thing, with the kernel, libc, command line utilities all tightly coupled and versioned together. This allows the components to evolve together, with breaking ABI changes that would not be practical in Linux. This makes BSD better for research, which is why things like IPv6, address space randomization, SSH, jails, capabilities were developed there.

Packages are used for applications and are isolated to /usr/local. Dependency and compatibility problems only exist for packages. The base system is always there, always bootable, and you can count on being able to log in to a command line session and use the standard suite of tools. It is sort of like a Linux rescue image, except you boot off it every time.

oofabz··on Integer continued fractions for complex numbers
I first read about continued fractions in HAKMEM from 1972. These things have fascinated programmers for decades.

https://web.archive.org/web/20190906055006/http://home.pipel...

oofabz··on The history of the Schwartzian Transform (2016)
I find it interesting that the transform was controversial in the '90s.

Today, it seems like a normal solution to the problem to me, and the controversy seems silly. I have much experience with the map function from Javascript. It is too simple to be objectionable.

But in the '90s, I would also have had trouble understanding the transform. Lambdas/closures were unheard of to everyone except Lisp dweebs. Once I figured out what the code was doing, I would be suspicious of its performance and memory consumption. This was 1994! Kilobytes mattered and optimal algorithmic complexity was necessary for anything to be usable. Much safer to use a well understood for loop. I have plenty of experience making those fast, and that's what map() must be doing under the hood anyway.

But I would have been wrong! map() isn't doing anything superfluous and I can't do it faster myself. The memory consumption of the temporary decorated array is worth it to parse the last word N times instead of N log N times. Lisp is certainly a slow language compared to C, but that's not because of its lambdas!

oofabz··on Rendering Crispy Text on the GPU
Very impressive work. For those who aren't familiar with this field, Valve invented SDF text rendering for their games. They published a groundbreaking paper on the subject in 2007. It remains a very popular technique in video games with few changes.

In 2012, Behdad Esfahbod wrote Glyphy, an implementation of SDF that runs on the GPU using OpenGL ES. It has been widely admired for its performance and enabling new capabilities like rapidly transforming text. However it has not been widely used.

Modern operating systems and web browsers do not use either of these techniques, preferring to rely on 1990s-style Truetype rasterization. This is a lightweight and effective approach but it lacks many capabilities. It can't do subpixel alignment or arbitrary subpixel layout, as demonstrated in the article. Zooming carries a heavy performance penalty and more complex transforms like skew, rotation, or 3d transforms can't be done in the text rendering engine. If you must have rotated or transformed text you are stuck resampling bitmaps, which looks terrible as it destroys all the small features that make text legible.

Why the lack of advancement? Maybe it's just too much work and too much risk for too little gain. Can you imagine rewriting a modern web browser engine to use GPU-accelerated text rendering? It would be a daunting task. Rendering glyphs is one thing but how about handling line breaking? Seems like it would require a lot of communication between CPU and GPU, which is slow, and deep integration between the software and the GPU, which is difficult.

oofabz··on VVVVVV Source Code
Authentically bad is a good way to put it. My favorite part is the 3300 line Game::updatestate() function and its gigantic switch statement.
oofabz··on The Efficiency of Vim
You can do selection first in Vim by using visual mode. For this particular example (5dd) you would want to use visual line mode by pressing shift-v. Then you can select the lines you wish to cut, and press d to delete them, or apply any other action to that block of text.

I frequently use c (change) on my visual selections, type in new code at the point where it was removed, then use p to paste the old code somewhere else.

oofabz··on The surprising struggle to get a Unix Epoch time from a UTC string in C or C++
timegm() is even available on Haiku
oofabz··on Carlsen disqualified from World Rapid and Blitz championship for wearing jeans
Beatriz Marinello is a professional chess player who was Chilean Women's Chess Champion in 1980 and was vice president of FIDE until 2018.
oofabz··on Making AMD GPUs competitive for LLM inference (2023)
The die size of the B580 is 272 mm2, which is a lot of silicon for $249. The performance of the GPU is good for its price but bad for its die size. Manufacturing cost is closely tied to die size.

272 mm2 puts the B580 in the same league as the Radeon 7700XT, a $449 card, and the GeForce 4070 Super, which is $599. The idea that Intel is selling these cards at a loss sounds reasonable to me.

oofabz··on New Google Sheet on half of 13.6" MacBook Air screen is fully covered by popups
Never had this problem with Gnumeric
oofabz··on Is it possible to build a perfectly spherical prince Ruperts drop (2015)
Instead of trying to cool the surface of the glass sphere rapidly, maybe it would be more practical to heat the interior.
oofabz··on Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
Since 50% = 0.5, and proof doesn't take a percentage, I believe "50% proof" would be 0.25% ABV.
oofabz··on To Be Born in a Bag
A lot of people, including myself, prefer living in rural areas. They have more natural beauty, more solitude, tighter knit communities, cultures that prioritize family. Not everyone shares your own personal preferences.

It is true that there are fewer economic opportunities in the country. Cities are a labor market, after all. But there are hospitals everywhere, so if you work in medicine, you have the opportunity to work in the country and still earn good pay.

oofabz··on Ask HN: What do you use to backup your VMs?
Proxmox Backup Server
oofabz··on Tripping on Xenon Gas (2023)
More evidence for Sangamon's principle
oofabz··on NASA indefinitely delays return of Starliner to review propulsion data
1 Planck time
oofabz··on OpenSSH introduces options to penalize undesirable behavior
A strong username also helps! Most SSH brute force attempts are for root, admin, or ubnt.
oofabz··on Repairing my mug with Kintsugi
This mug is well on its way to becoming a tsukumogami.
oofabz··on Reclaiming IPv4 Class E's 240.0.0.0/4
2600:: is shorter than 8.8.8.8 and iproute2 is much more pleasant to use than ifconfig.
oofabz··on GRC SpinRite
But drug companies do make effective pharmaceutical derivatives of Vitamin D, such as Calcipotriene.
Page 1 of 14Next →