HNHacker News
TopNewBestAskShowJobs

jiggawatts

30,571 karma · joined December 4, 2018

submissionscomments
jiggawatts··on Surprising economics of load-balanced systems
The problem with this kind of theoretical analysis is that most load balancers don't work this way, especially the typical "cloud" HTTP or TCP load balancers, which are stateless and avoid this kind of central queuing logic like the plague because it doesn't scale to their levels.

For example, most cloud load balancers I've worked with are stateless, non-queuing, and allocate work to back-ends strictly randomly.

Traditional non-cloud load balancers can implement this kind of perfect queuing, but these settings are generally off by default even when available.

- NetScaler: surgeProtection + maxClient=1

- F5 BIG-IP LTM: request queuing + pool/member connectionLimit=1

- HAProxy: server maxconn 1 + timeout queue

- NGINX Plus: server max_conns=1 + queue

Envoy, Apache, and Traefik have partial or limited support.

Conversely, most multi-threaded web server frameworks already do this by default! For example, ASP.NET has essentially an internal "load balancer" with a perfect queue if you pretend each core is a "node" and the whole server is the "scale out system".

jiggawatts··on Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly
Also, at a typical turbo speed of 5 GHz you get half a billion clock cycles and multiple instructions can be retired per clock for about one or two billion total in those 100ms.

That’s about 1,000 instructions per pixel of the Start Menu!

jiggawatts··on Image Compression
The format supports HDR, but most apps using it don’t.

I’ve given up trying to use JXL in the Apple ecosystems for exchanging HDR images for this reason.

jiggawatts··on U.S. science is in chaos
Meanwhile a substantial fraction of science research goes into improving the efficiency of farming, which pushes down food prices.

I just watched a video about how inept politicians caused a food crisis in Sri Lanka because they thought they knew better than scientists, chemists, and farmers: https://youtu.be/1S2wwbX_p_E

jiggawatts··on How memory safety CVEs differ between Rust and C/C++
Just yesterday I made myself a NuGet package analyzer tool -- okay fine, I vibe coded it -- that has convenient buttons for filtering out client-side packages, test projects, and dev-time tooling like Aspire.NET.
jiggawatts··on Microsoft turns to AWS as GitHub faces AI capacity crunch
Wait, are you trying to tell me that 1/100th the speed at 50x the price isn’t a great offer for Microsoft’s customers!?

Heathen lies!

Oh, wait… we have to use it? Oh, that’s terrible…

jiggawatts··on Codex for open source
They're doing everything possible to drive up their MAU before their IPO.
jiggawatts··on ReactOS (FOSS "Windows") achieves 3D-accelerated Half-Life on real hardware
Conversely, this kind of attack: https://en.wikipedia.org/wiki/XZ_Utils_backdoor

...is essentially impossible to pull off against commercial operating systems, because their core components are all written in-house by staff with photo ID badges, details with HR, tax returns filed with the government, and a cubicle that makes sure that they're locals and not some faceless anonymous hacker identifiable by nothing other than a throwaway faked email address!

I get that there was a lot of "stigma" about open source, the world largely forgot about it, but... actually, in this sense of allowing anonymous contributions it remains a very real risk.

"Jia Tan" was almost certainly a paid professional hacker working for a nation-state actor. Their "helpful contributions" to XZ utils was nowhere near a full-time effort. They certainly had "other irons on the fire", most probably in the Linux kernel or immediately adjacent to it.

He's probably not the only one doing this kind of "work".

For all you know, Linux has more remote exploits purposefully baked into it than Windows has security bugs inadvertently left in it... and don't forget Linux has bugs leading to security vulnerabilities too!

A rough count of "named" CVE 10.0 score (or close to it) vulns in the last 5 years:

7 for Microsoft: ProxyLogon, ProxyShell, ProxyNotShell, LDAPNightmare, PrintNightmare, noPac, Follina

10 for Linux: XZ Utils, regreSSHion, Leaky Vessels, Copy Fail, PwnKit, Dirty Pipe, Looney Tunables, GameOver(lay), Baron Samedit, Sequoia

jiggawatts··on Every Frame Perfect
A really infuriating example of this is the Windows Photos app (or whatever it is called this month) where scrolling through a photo album will show every image jumping around as it first shows them at some arbitrary scale, and then fits them to the window.

Lazy, lazy development.

"Job done, boss! Ready to ship to... checks notes... 3 billion users!"

"Did you test it?"

"Test? I thought we had a QA department!"

"Nah, we fired all of them a decade ago. You're the QA now."

jiggawatts··on Building an HTML-first site doubled our users overnight
“The amount of energy needed to refute bullshit is an order of magnitude bigger than that needed to produce it.” -- Alberto Brandolini

I like to fight this kind of asinine "push back" by simply reversing the time order:

Here's an app that does 5 CDN-cached requests of its JavaScript. Demonstrate why disabling the CDN cache and splitting that into 500 individual requests is better.

jiggawatts··on Doing nothing at work
Correct multi-threaded code is... sss... hard.

Much easier to liberally sprinkle mutex locks and "Thread.Sleep(1000); // Quick fix" everywhere until the problems almost always go away!

Meanwhile the guy screaming that this is eldritch madness and can't ever work is "not a team player" because the guy that wrote the code was a hero for applying yet another layer of band aids to the gaping wounds.

jiggawatts··on Doing nothing at work
The most spectacular instance of this I've seen is Jeffrey Snover getting demoted for "forcing" PowerShell onto Microsoft. Meanwhile from a customer perspective its the only good thing about Windows Server and the only reason I haven't pushed for 100% Linux adoption everywhere I work!

See: https://corecursive.com/building-powershell-with-jeffrey-sno...

jiggawatts··on Cybersecurity researchers aren't happy about the guardrails on Anthropic's Fable
Constraint decay is an issue with all LLM-based agentic development, at least for now.

Humans can maintain a long- and medium- term memory of constraints that they consciously (or subconsciously!) apply to the code that they write. The current crop of AIs are all amnesiacs, like the protagonist in Memento, falling back onto general instead of institutional knowledge.

For now, we are safe. We can rent out our meat brains for money for a little while longer.

Next year? Who knows...

jiggawatts··on Cybersecurity researchers aren't happy about the guardrails on Anthropic's Fable
For the last month, I've been making dramatic improvements to the security of the custom code developed at one of my customers using... GPT 5.5 dialed up to "Extra High" thinking.

It only pushes back sometimes if you ask it to create a "repro" that can be used to verify the vulnerability in production. Often it'll oblige, especially if you warn it not to create anything that could be actually harmful.

If the frontier models get locked down so that they flat refuse to do this kind of work, but Chinese and (less capable) open models aren't, then a lot of large enterprise orgs will be left twisting in the wind.

“AI can in principle help both the ‘good guys’ and the ‘bad guys’,” -- Dario Amodei

No Dario, no it can't, you've blocked one of those scenarios.

jiggawatts··on Building an HTML-first site doubled our users overnight
I just had one of these people, a contractor working for a state government, argue vocally with me in a meeting stating that "500 JavaScript requests is not a problem" for a single page. Un-cached, of course, despite there being a CDN in front of the site.

You can't win against cargo-cult coders because they just assume you're from a different, competing cult.

They have no concept of engineering or science, they have never encountered it.

jiggawatts··on We Think the SpaceX IPO Is Overvalued
Disclaimer: I suspect "data centers in space" is just blatant market manipulation by Elon, exactly the same as he'd done dozens of times before with self-driving, etc.

Having said that... it might justify the valuation if every other data centre build-out gets blocked by insufficient power supply.

Might.

jiggawatts··on Apple reveals new AI architecture built around Google Gemini models
Only if you consider Google Image Search and Google Nano Banana to be "the same thing" since they both produce an image based on text input!

Similarly, Google Translate's millions of lines of hand-rolled code has been entirely superseded by LLMs that do a vastly better job.

The LLM-based AI assistants are based on a wildly different technology stack with very different capabilities compared to the legacy "if-then-else" logic programming that Siri was based on.

jiggawatts··on We Think the SpaceX IPO Is Overvalued
The actual “plan” is to just put a couple of GPUs in each Starlink satellite for inference.

They’re not launching something the size of a building!

jiggawatts··on Fooling Go's X.509 Certificate Verification
Something I noticed decades ago is that some small, innocuous features can drag with them giant ecosystems of software.

I first noticed this when I had to implement a C++ client for a custom RPC protocol and the dev “on the other end of the wire” added one new “convenience” in the data types supported… which would have required me to include the entire Java runtime in my client!

All protocol specs are vulnerable to this effect where it’s all too easy to require clients to include half a dozen different regex engines, three byte code virtual machines, and most of LLVM for good measure.

jiggawatts··on Do we fear the serializable isolation level more than we fear subtle bugs (2024)
Something I neglected to mention is that you can make a valid argument for "indexing all columns by default is bad", but you'd have a much harder time explaining why no typical RDBMS engine indexes columns participating in foreign keys! There are very few scenarios where you won't need an index on a key, primary or foreign!
jiggawatts··on Do we fear the serializable isolation level more than we fear subtle bugs (2024)
I was going to elaborate and say that even though typical columnar databases are already compressed with some variant of dictionary lookup compression, I'd like to see a database engine where large objects (bulk text or binary data) is stored efficiently by default. If I were to wave my hands about, I'd say something like a Merkle or Prolly tree of large ~256KB chunks stored in deduplicated external blob storage, where the individual chunks are compressed with a modern throughput-optimised algorithm.
jiggawatts··on Splash Is a Colour Format
"Custom LUT" is doing a lot of heavy lifting here. He's literally just diving by ten.
jiggawatts··on Splash Is a Colour Format
How exactly is it unhinged and uncalled for?

It’s factual and references the state of the art — which the OP couldn’t even be bothered to Google.

How is it uncalled for? It’s here! In the public sphere! The OP published it and is showing it off!

Their grand contribution to color theory: divide a nonlinear, unspecified encoding by ten.

    channel / 10
I’m sorry, but unless the OP is still in (junior!) school this doesn’t warrant a website like he’s cracked the secret code that has been holding back color theory for decades.

Something worthy of HN front page would be a tiny NN that optimally allocates perceptually uniform color divisions such that +1 or -1 was always consistently what an artist would expect. That would be cool and worthy of a website and a discussion on a tech forum.

Sometimes we need to encourage something hopelessly naive, but I put my limit somewhere around… this.

Anyway, why do you care if I dismiss the OP's "contribution" out of hand? The OP doesn't care about his "work" in the slightest! To quote: "Or something like that roughly... It doesn't matter if it's not perfect."

jiggawatts··on Do we fear the serializable isolation level more than we fear subtle bugs (2024)
"Supposed to" is doing a lot of heavy lifting here.

As a consultant I come across a lot of CotS software, in-house or otherwise bespoke software, etc. Roughly 40% of the former has 100% of the minimum required number of indexes and approximately 5% of the latter. By "minimum", I mean the indexes required to avoid full scans of tables that will become large enough for this to be a problem in production.

"Disciple doesn't scale." is one of my favourite sayings now, for a reason!

1) Developers almost always work with toy data, and are hence insulated from poor indexing decisions. Problems turn up 'x' years from now. It is well established that humans learn poorly when consequences are delayed... by mere hours, let alone years!

2) DBAs and developers often have an adversarial relationship. A common consequence of this workplace dynamic is that developers aren't granted the required access to tune indexes, especially in production, which is where the issues manifest.

3) I've heard anecdotes, including here, along the lines of "XYZ cloud native / webscale database is so much faster than ABC traditional RDBMS!". Very often the difference is just that XYZ auto-indexes by default. CosmosDB, Google Firestore, Kusto, Elastic, Druid, and many columnar formats are in this category of "magically" faster!

I'm now 99% convinced that RDBMS needs to be reinvented for the modern fast-paced, vibe-coded, "I'm a fullstack(lol) dev" world where people simply don't have the bandwidth to pay attention to minutiae like on-disk sort order and filtered secondary indexes. A better fit for today's world would be a system that is: columnar by default like SAP HANA, compressed[1] by default, indexed by default (thanks to being columnar!), serializable by default, and "include batteries" like native queue capabilities so that nobody has to figure out cross-RDBMS complications like distributed transactions, outbox patterns, or deal with the consequences of a DBA rolling back one of two databases to a backup.

jiggawatts··on Splash Is a Colour Format
https://en.wikipedia.org/wiki/Mojibake
jiggawatts··on Splash Is a Colour Format
Almost all of the other ways are dramatically superior, for humans

Oklab and the Munsell colour system are very obviously far more intuitive at low numbers of quantised steps: https://commons.wikimedia.org/wiki/File:MunsellColorWheel.sv...

To be blunt: your system blithely ignores the color space, gamma curves, and human perception.

There’s like… entire textbooks written on the topic of optimal encoding of hues given a fixed number of bits! That’s most of the secret sauce of Dolby Vision, for example.

Sorry to burst your bubble like this, but the assumption that “RGB” means anything at all is hilariously naive.

It’s like specifying a text format and neglecting to mention the encoding or the escaping rules! It will get mangled by the receiver.

jiggawatts··on Do we fear the serializable isolation level more than we fear subtle bugs (2024)
I recently encountered a query that deadlocked on itself because it used a parallel execution plan and updated multiple indexes in a manner that the different threads could conflict with each other.

Naively one would expect that no individual UPDATE or INSERT statement could deadlock in isolation… but there you go.

If that is possible, the possibilities across multiple concurrent data mutating queries are beyond human comprehension!

Serializable should absolutely be the default!

Similarly, all columns should be automatically indexed to at least some degree, like Postgres BRIN indexes at a minimum.

Time and experience have shown that the vast majority of developers are pathologically unable to properly define all required indexes ahead of time.

jiggawatts··on My Software North Star
You may be misinterpreting the intended meaning.

It's like saying it doesn't matter if surgery is done another antiseptic conditions if the patient isn't also given a course of antibiotics during recovery.

It's not an argument against safe practices, it's an argument for amending one kind of safety with others.

jiggawatts··on WoofWare.PawPrint, a Deterministic .NET Runtime
It sort of isn’t though, because it gives the wrong impression to people who look at things through a financial lens.

There’s no accrued compound interest: if you leave a piece of “indebted” software alone, you don’t pay any “interest”.

Conversely, a small amount of tech debt can actually cost huge amount… but only if you make many changes at a high rate.

That’s why I prefer the “worn tools” or “sand in the gears” analogies because they provide the right financial mental model.

An unlubricated, worn out piece of industrial machinery costs you nothing… unless you try to make things with it.

You can take this analogy quite far: sharp and lubricated but outdated machinery may work “just fine”, but you won’t be able to attract the top talent used to working with modern 5-axis CnC tools instead of having to manually turn cranks like a savage.

jiggawatts··on India's surprise baby bust
Are you joking right now?

I’d have to move a thousand kilometres to some shit hole country town to afford a house on a salary I earn by working as a principal consultant in the central business district!

Now imagine the same scenario but with a school teacher, nanny, gardener, or inset job title here that is tied to a specific location.

When “existence here with the rest of us who have pulled the ladder up after us” becomes untenable for entire generations then you don’t get to complain when nobody is around to clean your gutters or wiper your arse when you’re too old to it for yourself.

Our children our are our future and they’re being told to jump through flaming hoops… that aren’t even in the same city as their parents!

← PreviousPage 11 of 34Next →