MurphyA/hacker-news huggingface dataset:
by mycatisblack | 2025-05-14 20:19:04+00:00
I just hope there’s enough time between an actual AI and the “Let’s butcher this to pump out ads”-version to publish a definitive version of wikipedia. After a few days with gemini 2.0 delving into the guts of a spectrum analyser, I’m very impressed by the capabilities. But my cynicism gland is fed by the nature of this everything-as-a-service. To run an LLM on your computer, locally, without internet, is just a few clicks. But that’s not the direction these software behemoths are going.
by coderatlarge | 2025-05-14 20:19:17+00:00
thank you for the context. It feels like in the last year or two the focus on Geo detection and Geo blocking has grown substantially. For example, many websites seem like they won’t take any traffic at all from certain countries. and they will go to some lengths to try to detect the source country of the connection even when a VPN is in the path. I don’t really know how they do this, but it’s evident from various language features in browsers that get triggered.
by jrapdx3 | 2025-05-14 20:19:26+00:00
Indeed so. Printing on paper and other substrates is inherently subtractive in nature which limits the gamut of colors and values that can be reproduced. Digital methods make the job of translating additive to subtractive media easier vs. the analog techniques available to film photographers. In any case, the image quality classic photography was able to achieve is truly remarkable.

Notably, the dodging and burning used by photographers aren't obsolete. There's a reason these tools are included in virtually every image-editing program out there. Manipulating dynamic range, particularly in printed images, remains part of the craft of image-making.
by bgnn | 2025-05-14 20:19:38+00:00
Yes you are correct on both accounts. The problem is two different OS approach. What I need is an iPad hardware running macOS actially, with a tablet mode. Same issue with Chrome OS/Android separation.

Funnily enough Windows is the closest to get this right with 2-in-1 tablet/laptops. 2 problems with this: 1- Windows, 2- sub-par HW.
by JumpCrisscross | 2025-05-14 20:19:38+00:00
> it’s also granite on swamp, with significant cost multipliers to get anything built

We're still talking about busses, right?

If we're pivoting to subways, the granite isn't why building subways in New York is expensive. It's one part the existing density of the city and nine parts the usual American permitting hell [1].

> I’d love to see some data on why modern city states are the only ones able to build public transit

Fixed costs scale with distance (not area--routes are 1D) serviced. Revenue potential scales with area around stops. (And drops non-linearly as travel time for potential customers increases from each stop.) Latency and travel time scale inversely with number of stops.

Put it together and you need revenue per stop to cover the cost of, ideally, the distance halfway to the next stops. Herego, density reigns supreme [2].

> you’re a NYer and saying pub transit is untenably uncomfortable

I said busses are uncomfortable. Trains are fine. But you're not going to get an LIRR and subway system working sustainably in Dallas, Baltimore or even Chicago--everyone already owns a car, which makes the marginal cost of driving oneself uncompetitive with public transit.

[1] https://www.nytimes.com/2017/12/28/nyregion/new-york-subway-...

[2] https://www.sciencedirect.com/science/article/pii/S259019822...
by jerf | 2025-05-14 20:20:26+00:00
Yeah, I've had that thought too.

I think a lot about Motie engineering versus human engineering. Could Motie engineering be practical? Is human engineering a fundamentally good idea, or is it just a reflection of our working memory of 7 +/- 2? Biology is Motie-esque, but it's pretty obvious we are nowhere near a technology level that could ever bring a biological system up from scratch.

If Motie engineering is a good idea, it's not a smooth gradient. The Motie-est code I've seen is also the worst. It is definitely not the case that getting a bit more Motie-esque, all else being equal, produces better results. Is there some crossover point where it gets better and maybe passes our modular designs? If AIs do get better than us at coding, and it turns out they do settle on Motie-esque coding, no human will ever be able to penetrate it ever again. We'd have to instruct our AI coders to deliberately cripple themselves to stay comprehensible, and that is... economically a tricky proposition.

After all, anyone can write anything into a novel they want to and make anything work. It's why I've generally stopped reading fiction that is explicitly meant to make ideological or political points to the exclusion of all else; anything can work on a page. Does Motie engineering correspond to anything that could be manifested practically in reality?

Will the AIs be better at modularization than any human? Will they actually manifest the Great OO Promise of vast piles of amazingly well-crafted, re-usable code once they mature? Or will the optimal solution turn out to be bespoke, locally-optimized versions of everything everywhere, and the solution to combining two systems is to do whatever locally-sensible customizations are called for?

(I speak of the final, mature version, however long that may be. Today LLMs are kind of the worst of both worlds. That turns out to be a big step up from "couldn't play in this space at all", so I'm not trying to fashionably slag on AIs here. I'm more saying that the one point we have is not yet enough to draw so much as a line through, let alone an entire multi-dimensional design methodology utility landscape.)

I didn't expect to live to see the answers, but maybe I will.
by tylerhou | 2025-05-14 20:21:09+00:00
I don't see how a topological sort helps you determine where to place the computation. If an expression A is topologically before an expression B, that does not mean that A always is computed on the path to B.

For an example, consider a three-node binary tree where R is the root, A is the left child, and B is the right child. A valid topological sort is R A B, but it is not the case that whenever B is computed, A has already been computed.
by johnmaguire | 2025-05-14 20:21:26+00:00
Are taxis/ubers really better for the environment than a personal car? I'm not sure I consider them "mass transit" since they still typically only carry 1-3 people. While they may require less parking infrastructure, they likely spend more time idling, and they don't reduce congestion on the road.

Some problems with buses are that they can be slow, require more planning, and may not drop you off exactly at your destination. There are three primary reasons people choose them anyway: Ethics (i.e. environmental concerns), convenience (in some cities, public transit is actually faster on average) and cost.

Bus lanes are meant to make buses more appealing by increasing their speed and reliability (i.e. convenience.) Filling a bus lane with Ubers will slow down buses, making them less attractive which also hurts the price conscious (i.e. lower class) the most.
by rollcat | 2025-05-14 20:21:34+00:00
I love this bit from TFA:

> Is this system usable for me ?

> Accessibility is about making our software usable (and, ideally, pleasant to use) for as many people as we can.

Exactly. I don't have any disabilities to speak of (less-than-perfect eyesight, mild case of wrist pain), but I enjoy using many accessibility features, such as:

- Automatic dark/light mode; yes I do use a light theme in my editor during the day ;)

- High contrast (Gnome); I wish macOS could do something sane here

- Reduce motion & transparency (Mac, iPhone); I really wish CSS prefers-reduced-* was already widely deployed

- Grayscale color filter (mild setting; iPhone)

- Dim flashing lights (Mac)

- Shortcat.app (looking forward to Gtk apps on Mac supporting this)

- On-screen keyboard, for using a Real Computer from a couch. A basic wireless mouse beats every single clunky TvBox remote out there.

- Games! Aim assist, highlight ally/enemy, reduce bobbing / motion, etc

Accessibility is for everyone.
by horsawlarway | 2025-05-14 20:23:30+00:00
I don't think this works.

It's like hearing NPR on the radio because your parents turned it on when you're 6... You just don't care.

The vast majority of the content is just utterly unrelatable. It could be great content. But it doesn't matter, you won't suddenly start caring about GDP or employment metrics or politics. Those things are TOO far outside the window of relatability for that age.

Gatsby is the same exact problem - it's busy talking about middle-age malaise, which tend to resonate with teachers, but is just entirely unrelatable to a bunch of kids in their teens.

Those kids are busy day dreaming about the future - they don't have the kind of experiences that let the book resonate yet, and they likely won't for another 20 years at least.

---

You can't expand someone's mind if you don't have anything relevant to present. You just bounce off.

You expand it by having at least SOME content the reader can understand and relate to, anchoring them there, and then shoving the boundary around it wider.
by neonsunset | 2025-05-14 20:23:31+00:00
> The code generator was just better in C++. I suspect the main reason is .NET JIT compiler doesn’t have time for expensive optimisations.

Yeah, there are heavy constraints on how many phases there are and how much work each phase can do. Besides inlining budget, there are many hidden "limits" within the compiler which reduce the risk of throughput loss.

For example - JIT will only be able to track so many assertions about local variables at the same time, and if the method has too many blocks, it may not perfectly track them across the full span of them.

GCC and LLVM are able to leisurely repeat optimization phases where-as RyuJIT avoids it (even if some phases replicate some optimizations happened earlier). This will change once "Opt Repeat" feature gets productized[0], we will most likely see it in NativeAOT first, as you'd expect.

On matching codegen quality produced by GCC for vectorized code - I'm usually able to replicate it by iteratively refactoring the implementation and quickly testing its disasm with Disasmo extension. The main catch with this type of code is that GCC, LLVM and ILC/RyuJIT each have their own quirks around SIMD (e.g. does the compiler mistakenly rematerialize vector constant construction inside the loop body, undoing you hosting its load?). Previously, I thought it was a weakness unique to .NET but then I learned that GCC and LLVM tend to also be vulnerable to that, and even regress across updates as it sometimes happens in SIMD edge cases in .NET. But it is certainly not as common. What GCC/LLVM are better at is if you start abstracting away your SIMD code in which case it may need more help as once you start exhausting available registers due to sometimes less than optimal register allocation you start getting spills or you may be running in a technically correct behavior around vector shuffles where JIT needs to replicate portable behavior but fails to see your constant does not need it so you need to reach out for platform-specific intrinsics to work around it.

[0]: https://github.com/dotnet/runtime/issues/108902
by hinkley | 2025-05-14 20:23:47+00:00
And the tsundere: person initially thought to be an asshole is either just having the worst day possible, or softens and grows as the story progresses.

There’s a lot of western film where a minion is sent to infiltrate and ultimately either becomes a double agent or is convinced to do the right thing at a point of no return, by choosing to fail their task, or sacrificing themselves in a brief and tragic redemption arc, either directly or an implication of potentially fatal consequences from their boss.
by web-cowboy | 2025-05-14 20:23:48+00:00
This seems like a much more powerful version of what I wanted MCP "prompts" to be - and I'm curious to know if I have that right.

For me, I want to reduce the friction on repeatable tasks. For example, I often need to create a new GraphQL query, which also requires updating the example query collection, creating a basic new integration test, etc. If I had a MCP-accessible prompt, I hoped the agent would realize I have a set of instructions on how to handle this request when I make it.
by woodruffw | 2025-05-14 20:24:04+00:00
Emphasis on history: NYC very famously broke its organized crime groups in the 1980s and 1990s. It's what made Giuliani famous before he became a politician[1].

(I would hazard a demographic claim around organized crime: just about any mid-sized city with large suburbs almost certainly has more per-capita organized crime than NYC does. You just don't hear about it because most of it is of the "extortion for trash pickup" variety, not the "Murder, Inc." variety.)

[1]: https://en.wikipedia.org/wiki/Mafia_Commission_Trial
by edunteman | 2025-05-14 20:24:18+00:00
I believe explicit trajectories for learned behavior are significantly easier for humans to grok and debug, in contrast to reinforcement learning methods like deep Q-learning, so avoiding the use of models is ideal, but I imagine they'll have their place.

For what that may look like, I'll reuse a brainstorm on this topic that a friend gave me recently:

"Instead of relying on an LLM to understand where to click, the click area itself is the token. And the click is a token and the objective is a token and the output is whatever. Such that, click paths aren't "stored", they're embedded within the training of the LAM/LLM"

Whatever it ends up looking like, as long as it gets the job done and remains debuggable and extensible enough to not immediately eject a user once they hit any level of complexity, I'd be happy for it to be a part of Muscle Mem.
by dingnuts | 2025-05-14 20:24:50+00:00
it's not like gambling, it is gambling. you exchange dollars for chips (tokens -- some casinos even call the chips tokens) and insert it into the machine in exchange for the chance of a prize.

if it doesn't work the first time you pull the lever, it might the second time, and it might not. Either way, the house wins.

It should be regulated as gambling, because it is. There's no metaphor, the only difference from a slot machine is that AI will never output cash directly, only the possibility of an output that could make money. So if you're lucky with your first gamble, it'll give you a second one to try.

Gambling all the way down.
by int_19h | 2025-05-14 20:25:03+00:00
Some people genuinely prefer it that way. Or they cannot afford a "true" all-inclusive resort experience but still want to go on vacation in a nice location.

In some countries at least the latter is a well-established tradition that long predates Airbnb. Like, you'd literally just drive or take a train to some coastal town and then look around for signs that say "vacancy".
by JumpCrisscross | 2025-05-14 20:25:38+00:00
> what is the difference between a fixed route shuttle operated by Uber versus a bus operated by the city, except that one siphons the profit into a private company?

One, the technology already works. If I visit Dallas or Philadelphia, I already have the app. Getting set up (and familiarised) with each city's app as a visitor is a friction.

Two, smell. This is absolutely classist. But Uber will probably do a better job keeping someone who hasn't bathed in two weeks out of their system than the public bus system. We could wish upon a star and poof away class structure in America. Or we could admit that running Uber shuttles between busses increases the system's throughput with minimal downside.

Three, flexibility. These shuttles will automate before any union-controlled public bus system in America has a chance to.
by pjmlp | 2025-05-14 20:26:00+00:00
Smalltalk as platform did take off, that is why the famous GoF book uses Smalltalk and C++, even though many think Java is somehow on a book that predates it for about three years.

All the IBM's Visual Age line of IDEs were written in Smalltalk, and in a way it was the ".NET" of OS/2.

SOM (OS/2 COM) supported it natively, and one biggest difference to COM is that it supports meta-classes and proper inheritance, language agnostic.

What made Smalltalk lose industry mindshare was exactly Java.

When it came out, some major vendors, like IBM, pivoted all the way into Java, leaving Smalltalk behind.

It is no accident that Eclipse was designed by some of the GoF authors, and it is initially a rewrite of Visual Age underlying platform from Smalltalk to Java.

Eclipse even to this day has a Smalltalk like code browser.

It wasn't only the IDEs, some famous Java libraries, like JUnit, started their life as Smalltalk libraries.

Now as full OS, yes that never really took off.

Note not all Smalltalk vendors switched to Java, that is why Dolphin and Cincom Smalltalk are still around.
by ryao | 2025-05-14 20:26:24+00:00
It depends on the loop. Here are a bunch of loops that need bounds checks on every loop iteration:

https://github.com/openzfs/zfs/commit/303678350a7253c7bee9d6...

You could argue otherwise and you would not be wrong since the codebase had not given this code inputs that would overrun the buffer. However, any case where you loop until the string is built needs a check on each iteration unless you can both prove that the buffer will always be long enough for any possible output and guarantee that future changes will preserve this property. The former is a pain (but doable) while the latter was infeasible, which is why the bounds checks were added.

That said, something as innocuous as printing a floating value could print 308 characters where you only expected 10 or less:

https://github.com/openzfs/zfs/commit/f954ea26a615cecc8573bb...

Edge cases causing things to print beyond what was expected are a good reason why people should use bounds checks when building strings, since truncation is fail safe, while overrunning the buffer is fail dangerous. I am a fan of the silent truncation done in both patches, since in both cases, truncation is harmless. For cases where silent truncation is not harmless, you can use detect the truncation by checking the return value of `snprintf()` and react accordingly. It should be said that the scnprintf() function's return value does not permit truncation detection and `snprintf()` should be used if you want that.

Note that I am the author of those two patches, so it is natural that I like the approach I used. They were written as part of an audit of the OpenZFS codebase I did when bug hunting for fun.
by zck | 2025-05-14 20:26:25+00:00
One place I've been bitten lately is storing timestamps in Postgres. Postgres lets you store time with a time zone -- but what that means is that upon receiving a timestamptz converts it to UTC and stores that instead.

Which is fine, in a way -- it won't store the wrong instant in time. But it also won't let you know the time the user sees. For example, you might want to tell someone when the store opens.

Fine, you say. You can look up the location of the store and use that to get the timezone. But what about a different case? What about if you want a user to test their blood sugar every day. Did they test their blood sugar on Tuesday? Well, then it depends what timezone they're in. What is the problem with having each user set their time zone? Isn't this just like the store issue?

No! Notably, unlike stores located in fixed buildings, people move around. They go on vacation. And if you don't know where they were when an event happened, you don't know what time the user was.

So it seems you have to, when you get a timestamp with time zone from a user, store the timestamptz, but also store the time zone in the database.

How frustrating, for a database that has a data type called "timestamp with time zone".
by dahart | 2025-05-14 20:27:56+00:00
Good question. I think it depends. They are kind of different concepts, but in practice they can overlap considerably. RAW is about using the camera’s full native color resolution, and not having lossy compression. HDR is overloaded, as you can see from the article & comments, but I think HDR capture is conceptually about expressing brightness in physical units like luminance or radiance, and delaying the ‘exposure’ until display time. Both RAW and HDR typically mean using more than 8 bits/channel and capturing high quality images that will withstand more post-processing than ‘exposed’ LDR images can handle.
by tonyarkles | 2025-05-14 20:27:56+00:00
To a certain extent. The big difference being how difficult it would be to work around or update. If my C code is linking against a library whose API has changed, I can update my code to use the new API so that it builds. In the case I ran into… it wasn’t one of my dependencies that failed to build, it was a dependency’s dependency’s dependency with no clear road out of the mess.

I could have done a whole series of pip install attempts to try to figure out the minimal version bump on my direct dependency that would use a version of the sub-dep that would compile and then adapt my Python code to use that version instead of the version it was pinned to originally.
by biker142541 | 2025-05-14 20:27:57+00:00
Can we please stop using 'vibe coding' to mean 'ai assisted coding'?? (best breakdown, imo: https://simonwillison.net/2025/Mar/19/vibe-coding/)

Is it really vibe coding if you are building a detailed coding plan, conducting "git-based experimentation with ruthless pruning", and essentially reviewing the code incrementally for correctness and conciseness? Sure, it's a process dependent on AI, but it's very far from nearly "forget[ing] that the code even exists".

That all said, I do think the article captures some of the current cost/quality dilemmas. I wouldn't jump to conclusions that these incentives are actually driving most current training decisions, but it's an interesting area to highlight.
by ProllyInfamous | 2025-05-14 20:28:46+00:00
>No one's paying their bills through the mail... you can't even really write checks.

This is exactly how I pay all my non-cash invoices — via USPS, sending checks. I don't even use email anymore (freedom!).

Ironically, I lost access to online banking a few years ago [which I'd really love to have, but US banking has ridiculous "security" infrastructure].
by underlipton | 2025-05-14 20:28:53+00:00
I just don't follow. There is no "claim"; the municipality can run on the "profitable" routes, too. They don't have to turn a profit, though, so they can always undercut Uber (unless Uber intends to use their previous strategy of taking losses on each ride until the competitor goes out of business, and I don't know that any city would stand for it). So, then, the only reason to use Uber's routes is because they're more comfortable or direct. However, in that case, they're obliged to charge more per passenger, at a rate approaching the cost of a private Uber ride.

Maybe their goal IS to run city busses out of business. Maybe they're about to FAFO.
by samtp | 2025-05-14 20:28:58+00:00
I've pretty clearly seen the critical thinking ability of coworkers who depend on AI too much sharply decline over the past year. Instead of taking 30 seconds to break down the problem and work through assumptions, they immediately copy/paste into an LLM and spit back what it tells them.

This has lead to their abilities stalling while their output seemingly goes up. But when you look at the quality of their output, and their ability to get projects over the last 10% or make adjustments to an already completed project without breaking things, it's pretty horrendous.