HNHacker News
TopNewBestAskShowJobs

epcoa

1,592 karma · joined June 15, 2023

submissionscomments
epcoa··on Go Optimization Guide
No. If you have a moving multi generational GC, allocation is literally just an increment for short lived objects.
epcoa··on Why Apple's Severance gets edited over remote desktop software
83 terabytes of raw footage for one episode (the S2 finale). This was the longest episode (which doesn't necessarily correspond with footage shot). But for a 10 episode 4K HDR series, 1 PB is in the ballpark for a season.
epcoa··on Show HN Pianoboi – displays sheet music as you play your piano
> Your computer’s sound card probably has a built-in MIDI library (like general MIDI) that will include a piano as an instrument.

> Note that I’m using the word “soundcard” very loosely here: in many cases sound hardware is onboard nowadays.

Mainstream computers haven't included "soundcards" (integrated onboard or otherwise) with any kind of built-in hardware synthesis (wavetable or FM) for nearly 30 years. What you have for hardware is mostly just a dumb digital to analog converter with some mixing features and possibly some basic canned DSP/codec functions.

> The point is your computer will have sounds you need built in.

> Whereas your computer’s sound hardware is likely to have a piano as a wave table instrument

They're going to be on the hard drive as files and synthesis is entirely in software, from which you have numerous options, including what comes with the OS. MacOS and Windows come with basic MIDI soundfont synthesizers, and on Linux you typically end up using something like fluidsynth or timidity tied to JACK/ALSA.

Hardware wave table synthesis as a usual thing is long gone (AC'97 is nearly 30 years old).

I don't think there is a straightforward way to portably configure and sequence MIDI and loopback the OS builtin synths if for some reason you don't want the audio going out the default sound device (yes, it is possible, key here is straightforward to configure programatically). What is relatively straightforward is using fluidsynth with a suitable soundfont though. Depending on what you're trying to accomplish you run a soft-synth entirely in the browser.

> You can then export your track as a WAV file and chop it up into individual notes using Audacity.

There are tons of freely available SF2 soundfonts, some with wide instrument coverage, some dedicated to single instruments with multiple layers, some very high quality (just google soundfonts). Poorly redigitizing and recreating one from the OS builtin soft-synth sounds like a waste of time.

https://thedailywtf.com/articles/web_0_0x2e_1

epcoa··on Shift-to-Middle Array: A Faster Alternative to Std:Deque?
> The compiler says anything you declare though needs to be defined.

No it doesn’t. If that were true dynamic linking would not be a thing, but it’s not even true in the most basic way either.

> Basically defined before use.

Also not true. But this is “not even wrong” since “before use” isn’t defined here, however if it is meant to be appears before in the input, then that is wrong.

> The one rule the linker needs is hey is this declared before you use it. That way the linker can eventually find the right code to call.

Because of the way C++ is defined this is somewhat true (not so much for incomplete types), but also a tortured avoidance of the compiler role (Translation phase 7) in the process, and really the meat of what is going on. I’d recommend someone just read cppreference first.

https://stackoverflow.com/questions/1410563/what-is-the-diff...

epcoa··on 3dfx: So powerful, it's kind of ridiculous (2023)
Still blows my mind that it was just a flash in the pan. At the time it felt that 3dfx was certainly going to be a dominant force in computing for years. And although they lingered a bit, the whole event was barely over 2 years.
epcoa··on If you witness a cardiac arrest, here's what to do
Not completely wrong. There are duty to rescue or duty to report laws, and they too are very commonly referred to as Good Samaritan laws even if that more commonly refers to a different concept of liability.

https://www2.law.ucla.edu/Volokh/rescue.htm

Duty to report are on the books, including in Massachusetts (ch 268 §40), requiring bystanders to report crimes, but not necessarily render aid. Duty to report laws are rarely enforced, which is what makes the Seinfeld setup more ironic. Although MA has one of the broadest duty to report laws (covering armed robbery and manslaughter in addition to sexual assault), the max penalty is a $2500 fine, but other states have jail time penalties. Duty to rescue is most always only for special relationships, such as parent/guardian/child, spouse, employer/employee, passenger, not random bystanders.

https://www.findlaw.com/legalblogs/law-and-life/in-which-sta...

epcoa··on If you witness a cardiac arrest, here's what to do
Look more carefully at that 50 to 70% figure. It is exaggerated (or at least misleading to directly compare) because the usually cited studies are assuming an arrest with a shockable rhythm (and timely, and correct AED application), but only 30 to 40% of out of hospital cardiac arrests have a shockable rhythm, so the overall survivability is not over 50%. Practically speaking even with an AED present its more like 20-30% and that is just survivability, not taking into account long term deficits.
epcoa··on Cat-Eared Robots Are Waiting Tables in Japan's Restaurants
Not always. They use these robots at higher end places like better hot pots joints (like Haidilao) which are full service, the robots deliver the food from the kitchen but typically it will be unloaded by wait staff. Allows wait staff to spend less time bussing food from the kitchen, and some of these restaurants can be quite large.
epcoa··on Cat-Eared Robots Are Waiting Tables in Japan's Restaurants
These are super common in Chinatown (pick one) restaurants in the US and they have been for a few years. I thought they were Chinese.
epcoa··on Writing a DSL in Lua (2015)
> This is strictly about how much memory LuaJIT can address on that platform

No it is not.

https://github.com/LuaJIT/LuaJIT/issues/285#issuecomment-197...

> If your workload fits inside 2 GiB (IIRC) it will be fast.

This has nothing to do with the issue being mentioned here. You are understating the severity of this issue and seem to be confusing it with a different issue that is no longer relevant in 2.1.

epcoa··on Writing a DSL in Lua (2015)
> Lua without JIT is one of the fastest interpreted languages.

Maybe I should say it is "still slow". Of course you can find examples of 5-10x over python performance (not that this is saying much), this is not the norm. There's just no way, PUC-Lua is still fundamentally dynamic hash tables for lookup with a big switch statement, there's a certain limit to how fast this can go. Let's just say there are plenty of game devs that have found that Lua quickly becomes too slow for the task it has been pressed into which then becomes an exercise of exporting more and more stuff to C++ or whatever. There is Luau of course, which sort of proves this point.

These interlanguage comparisons are mostly meaningless anyway. Python may be slow, but you do the heavy lifting in other ways and that ecosystem is huge. Since the Lua ecosystem is small though you are usually on your own. LuaJIT FFI is sorta cool, but wrapping can still be a PITA.

> Maybe you’re comparing it to AOT systems languages like C and C++? That’s obviously not fair.

Or C#/.NET/Java/Kotlin/JVM. Which you can often use as part of a plugin system.

> this is the first time I’ve heard someone claim it’s slow.

Quite ironic to say this, because I'm pretty sure this is why Mike Pall created LuaJIT in the first place. For example http://lua-users.org/lists/lua-l/2011-02/msg00742.html (but there are many other great in depth essays in the archive)

> LuaJIT is also one of the most advanced JIT compilers out there, frequently beating V8 and others.

No it's not these days. LuaJIT is awesome and may have been alien technology in 2005 but has a lot of missing functionality compared to the most advanced JIT implementations.

There were of course many examples of LuaJIT beating V8 on particular microbenchmarks through the years, and many of these are rehashed from over a decade ago and are outdated. I wouldn't say this means it "frequently" beats V8, especially in a practical sense.

Anyone that has much experience with LuaJIT and has stared at a few traces is aware of "NYI" - there is a ton of stuff that is not implemented in the JIT and means fallback to the interpreter, including even pedestrian uses of closures: https://github.com/tarantool/tarantool/wiki/LuaJIT-Not-Yet-I.... There is a ton of stuff that current V8 does to optimize real world larger applications that LuaJIT JIT will bail on.

LuaJIT does well when you write code in a particular style that exploits its strengths. It's not quite as amazing for general purpose use.

Elsewhere you suggest that a GC rewrite is actively being developed, but LuaJIT development has slowed tremendously, the mailing list is not very active and I wouldn't be holding my breath for anything major (this new GC has been talked about for well over a decade).

epcoa··on Writing a DSL in Lua (2015)
> Lua is a much cooler and more useful language than I think it, publicly, gets credit for.

I think it’s gets about the right amount of credit. It isn’t obscure by any means, openresty is used quite a bit in odd places, so many games have used it. PyTorch (well what became it) was originally written in it (it was just torch but basically LuaTorch)

It doesn’t get more adoption because its warts and limitations really start to show once pushed into more into a “real” language. It doesn’t have the browser monopoly. It’s also quite slow, and LuaJIT doesn’t always magically fix that.

epcoa··on WhiteSur: macOS-like theme for GTK desktops
Not sure what you’re referring to.

Gtk 1.2 did not really have great Win32 support, was basically a one man show primarily to get gimp to run on Windows. The Win32 backend took off after gtk2, there was more commercial push from Ximian to make it a cross platform toolkit via Gtk# as well. And it wasn’t dropped in 3 or 4, though it definitely has lost development steam as commercial interest in it and cross platform desktop GUI toolkits in general has flagged and consolidated.

epcoa··on HP Acquires Humane's AI Software
At least the butter bot has some utility to someone.
epcoa··on Linux’s Sole Wireless/WiFi Driver Maintainer Is Stepping Down
I’ve done dozens of what might be considered “drive by PRs” over the decades (hardly a regular). It’s attaching a patch to an email after finding the correct list (that might be the hardest part). It’s hard to accept the process itself is much more onerous than a forge. Regardless of venue, in every high profile project there are particular idioms and procedures that must be learned and followed. Few outside of side projects truly want totally "drive-by" contributions with no regards to the project standards, even if they're hosted on github. On the other hand the lk process might be less marketed - but there have been sites like kernelnewbies for decades as well.

Where the process really looks different to me is for large, extensive work, not the drive bys. Whether it should change is another debate, but I think the intentionality of gatekeeping narrative via process is oversold.

epcoa··on Resigning as Asahi Linux project lead
There's nothing really to prove. They effectively confirmed it themselves:

https://vt.social/@lina/112887550181123672

https://docs.google.com/document/d/1W2Vvwg0rwSVb5r4TQ_NmAF8S...

epcoa··on Resigning as Asahi Linux project lead
It seems like mostly personal problems, and if this is not going into detail, whoo I don't know what detail would be:

https://vt.social/@lina/112887550181123672

https://docs.google.com/document/d/1W2Vvwg0rwSVb5r4TQ_NmAF8S...

They pretty much straight up confirm the identity of Asahi Lina, so enough with the gaslighting that merely mentioning this (and having a totally reasonable discussion on contributor persona policies and sockpuppeting, which is what this is) is somehow unethical doxxing.

epcoa··on Residential Networking over Telephone
In addition to conductor thickness not being a sole direct factor in bandwidth (the interconnects carrying 32 Gb/s PCI-e or Thunderbolt are much thinner), standard telephone wire is the same or greater than Cat 5e.

Most telephone interconnects will be at least 24 AWG, some short run cables may be 26 AWG (same as Cat 5). Really old interconnects will often be 22 and even as high as 18. And the thing is, these are usually worse from a high frequency transmission line standpoint as they weren’t designed for anything above 4khz voice.

Poor noise rejection, cross talk, poor loss characteristics, and inconsistent termination are the more challenging issues in pressing high speed out of the phone network.

epcoa··on Tiny JITs for a Faster FFI
Tcl, Vbscript, bash/sh.

Tcl had it’s web moment during the first dot com era within AOLserver.

epcoa··on Firing programmers for AI is a mistake
What is “your GPS” meant here. With Google Maps and Apple Maps it consistently picks the closest one (this being within minutes to both but much closer to one), which seems reasonable. Maybe not ideal as when either of these apps will bring up a disambiguation for a super market chain or similar, but I’m not witnessing randomness.
epcoa··on FLAC 1.5 Delivers Multi-Threaded Encoding
The major streaming platforms except Spotify offer lossless streaming as an upgrade or benefit(Apple Music) for years and even Spotify the hold out is releasing “Super Premium” soon. Opinion aside, lossless streaming is a big deal.
epcoa··on Atari 2600+ vs. Atari 7800+ – Which Should You Get?
Playing home arcade ports doesn’t have much appeal to me except for nostalgia when you can just as easily emulate the “real thing”. Activision and Imagic titles at least have some originality. River Raid(s), Atlantis, Cosmic Ark, Demon Attack, Alien Brigade, etc.
epcoa··on Ask HN: Who wants to be fired? (February 2025)
Alcohol isn’t scheduled, benzos aren’t schedule 1, doesn’t mean you can be strung out on them while driving. I can write a prescription for all, doesn’t mean shit. Rescheduling doesn’t make you a protected class, a trucking company isn’t obligated to accept that liability.
epcoa··on Show HN: Check Supply – Send Checks in the Mail
> the banks take their sweet time to send the check because they want to slow down the money.

Maybe some shit banks, but a decent bank like Ally will try to have the check delivered by the due date chosen (mailing out a few days prior). There isn’t much money to be made this way. If you knew they were always late you’d just adjust the date back anyway. Decent banks don’t play petty games like this.

For electronic payments the money is withdrawn similar to an ACH, for paper checks any reputable bank will withdraw the money only when the check is cashed.

epcoa··on Show HN: Check Supply – Send Checks in the Mail
> What we found was bill pay is a lot slower and doesn’t give you any indication of if and when the check is cashed because they deduct that amount on the day you send.

Use a less shitty bank. For any reputable bank if the payment is made my paper mailed check the money is withdrawn only when the check is cashed.

epcoa··on Show HN: Check Supply – Send Checks in the Mail
1. Open Ally Bank account (there are others but this definitely works)

2. Setup recurring bill pay for your check payment.

3. Setup recurring external transfer from your hipster bank to Ally or equivalent in step 1.

$6.99 isn’t worth replacing the above system that has another distinct advantage over this: you have two layers of cushion from your main account. My understanding is that this service will print your account details on the check. The “bill pay” services typically are not writing checks against your account, they withdraw the money and use their own account. Knowing the horror stories of intercepted checks that are cashed, this is not a triviality.

epcoa··on Using uv as your shebang line
uv is not just a dependency tool. uv deals well with packages and dependency management (well), venvs, runtimes, and tools. It replaces all the other tools and works better in just about every way.
epcoa··on Ask HN: How to explain to execs why gen AI hasn't 10x'd feature dev
Why not just let them fuck around and find out?
epcoa··on Every HTML Element
While complexity of web tech means there's usually some hidden nuance, that description on MDN seems pretty clear: a non-interactive (other than for navigation) iframe, ie an <a> element that's a preview.
epcoa··on Coping with dumb LLMs using classic ML
> ChatGPT is marginally better and will sometimes tell you straight up that an algorithm can't be rewritten as you suggest

Unfortunately this very often it gets wrong, especially if it involves some multistep process.

← PreviousPage 5 of 27Next →