MurphyA/hacker-news huggingface dataset:
by ryukoposting | 2025-05-11 14:08:49+00:00
QR codes also encode text, just like UPC-A. As far as I'm aware, no barcode reader can actually interpret the letters at the bottom of the code. They're just there for a human failover when the barcode gets messed up.

With that in mind, there's nothing preventing you from putting the encoded text of a QR code below it. I have a QR code in my living room that guests can scan to connect to the Wi-Fi, and I put the SSID and password below the QR code on the same page. It's not the exact encoded string, but it serves the same purpose.

My first "real" job was working for an industrial automation company, where I did a lot of work on RFID and barcode readers. Barcodes (both 2D and 3D) are delightful things. There's an enormous variety out there, and you would never know unless you look closely, because they're so well-supported. I'd bet the barcode reader at your local grocery store can read at least 9 different encodings. Some are probably physically capable of reading QR (and other 3D codes like Aztec), but the firmware has been instructed to ignore them.
by EvanAnderson | 2025-05-11 14:08:55+00:00
That's my intuition. I spent a lot of time entering stacks of checks into 10-key calculators at my family's businesses growing up in the late 80s and mid-90s. Most entry used the bottom two rows of digits (the zero, double-zero, and 1-3)-- a lot of $10, $20, and $30 checks.
by kristoff_it | 2025-05-11 14:09:29+00:00
> Does the zig compiler not support generating .o’s without a build.zig?

Of course it does, all the build system does is orchestrate invocations to the other basic zig subcommands (`build-exe`, `build-lib`, `build-obj`, etc). You can invoke `zig build-obj` and get an object file in whatever flavor you prefer.
by tuckerman | 2025-05-11 14:10:08+00:00
The convenience of shipping a single compiled binary is one.

I also think the ecosystem of NPM is, for some, not a positive. I can regularly write go programs with no or very minimal dependencies (and those dependencies are themselves often the same way). The go standard library is pretty well thought out and the included batteries are mostly high quality. Easy integration with pprof, opinionated testing, embed, pretty good datetime primitives, etc
by shepmaster | 2025-05-11 14:10:22+00:00
SNAFU author here, thanks for including my crate! I’ll try to give your review a thorough read through later and incorporate feedback that makes sense.

I do have https://diataxis.fr/ and related stuff open in another tab and keep meaning to figure out how to best apply it for SNAFU.

Out of curiosity, do you recall if you also read the top-level docs[1]? That’s intended to be the main introduction, I actually don’t expect most people to read the user’s guide, unfortunately.

[1]: https://docs.rs/snafu/latest/snafu/index.html
by josephg | 2025-05-11 14:11:16+00:00
A language doesn't need to be used in foundational software to be relevant or useful. Go isn't built in the OS either, but its still used by lots of developers to write useful software.

This might be controversial, but I think its fine for small languages to exist, with small followings. Nobody will ever make a browser in Haskell, but its still a work of art. Nobody uses Elm, but React wouldn't exist without it. And so on. Rust is useful on its own. But its also already inspired the C++ language committee to start talking about memory safety a lot more seriously. Thats a big deal!

I'm delighted that languages like Zig exist. If for no other reason than to show that if you're dedicated enough, a lone hobbyist can still invent a language and make it good. (I wish that were still true for web browsers.)
by ethbr1 | 2025-05-11 14:11:36+00:00
> with the right prompt

That's LLM in a nutshell though. A naive prompt + taking the first output = high probability of garbage. A thoughtful prompt informed by subject matter expertise + evaluating, considering, and iterating on output = better than human-alone.

But the pre-knowledge and creative curation are key components of reliable utility.
by Tade0 | 2025-05-11 14:12:02+00:00
I can't say anything on how work will be organised, but there's a thought I had the other day:

The rate of adoption of new APIs will slow down considerably.

LLMs only really know what they're taught and when a new API comes out, the body of learning material is necessarily small. People relying on LLMs to do their jobs will be hesitant to code new things by hand when a LLM can do the same using older APIs much faster.

Who is going to do it then? Well, someone has to or else the API in question won't see widespread adoption.
by AStonesThrow | 2025-05-11 14:12:14+00:00
I believe that Drew's primary point is that BA is republishing this and therefore, more or less standing behind it as their position as well. And it's worth noting that the blog post opens by describing their valiant effort to search for copyright notices or some other indicator of who wrote/provided/published the information therein.

And I don't know about OSM's techniques, but the foremost digital map providers often use heuristics to determine what to display in certain situations. It is said that Google Maps displays "Gulf of America" nomenclature to users in the U.S.A. or users with a United States/English locale, while displaying "Gulf of Mexico" to users located elsewhere.

Likewise, Wikipedia has run up against disputes where foreign governments are trying to get them to take down maps and diagrams that indicate "the wrong borders" and they're grappling with how to "accurately reflect" a disputed territory that really depends on perspective or nationality or location to properly depict it.

As Drew indicates, their flight track was from London to Tokyo, and therefore would not have located the aircraft in such regions as Israel/Palestine. Would the OSM results have been different if it was located thus? It seems that most of the data in question is static.
by lvass | 2025-05-11 14:12:16+00:00
Because any restriction of freedom is bad in principle and acceptance of those tend to create overreaching, totalitarian states/mafias. There are valid arguments for restricting freedom from an individual to harm another, but making sure no one can see your dead body right after you happen to crash your car definitely isn't one. It is very much infeasible and an absolute helicopter mom type of concern.
by swiftcoder | 2025-05-11 14:12:44+00:00
I've met/worked with plenty of people who seem very nice under normal conditions, and become complete assholes to coworkers/friends/their own wives and kids when they are under stress...

So I'd amend that to something like "what I do in stressful conditions defines me". Anyone can act cool as a cucumber before the shit hits the fan

(Batman's whole existence is stressful. He specifically gets a pass on this one)
by OgsyedIE | 2025-05-11 14:13:22+00:00
I recently introduced some younger relatives of mine to some old games I played when I was younger. They happily enjoyed them at length apparently, and then today one of them sent me the link to this essay on the artistic merits of novel ontologies, dating back to when the games in question were new.

It's interesting to think about how hierarchical systems turn out to center objects over relations while flattened systems are the ones that center relations.
by Retr0id | 2025-05-11 14:13:40+00:00
The biggest failure mode I've seen in-the-wild is from QR codes being attached to non-flat surfaces, e.g. wrapped around a lamp post, or on a car panel with "crease" in the bodywork (sorry, no specific examples on-hand)

AI is getting pretty good at depth estimation, and some phones even ship with LIDAR, so I think it should be feasible to correct for these automatically. Especially if you can get pictures from multiple angles.
by drdruide | 2025-05-11 14:13:54+00:00
1 month at home before starting my internship. I decided to do my 1st open source project, and what better way to be original than with a PH killer.

I announced its release 8 days ago and here it is now with 285 users and 200 project submissions.

On github I'm approaching 50 stars, so if you like the project, don't hesitate to let me know!
by BrandoElFollito | 2025-05-11 14:14:06+00:00
I am downvoted but I do not know why.

The usual argument about SO hard core approach is that there is so much crap in questions that people who want to answer are fed up with this. This is a fair comment, but if someone made the effort to get 100+k of rep by asking and answering questions, it would be worthwhile to pay a second of attention to what they wrote.

Otherwise it would be better to just say that only elitist questions are allowed, at least if would be clear.

And as for Meta - well you need to go there and dare to ask a question and you will see. The most infuriating downvotres and comments are "people are making about that twice a week for years" → wouldn't it be time to step down from the ivory tower and realize that sione people are constantly asking for something (toe be there on not be there) it may mean that there is an issue? Downvoting the ones who ask is certainly not going to help.

The funny thing is that I am, and the moderators are, volunteers. We ask and answer questions. But it seems like we owe something to SO and we should not dare to raise comments. This is how a company dies.
by Fripplebubby | 2025-05-11 14:15:14+00:00
A lot of it is just fun and silly, but for me it was also an interesting way to develop my taste in something - to hear other people who are real heavy connoisseurs of something discuss it, and learning from them. Of course, you can get this from your friends and the people who are really around you in your life (or, just don't develop your taste at all because you just like what you like), and there's nothing wrong with that, I get why some people find it odd to watch people play video games.

You have to understand as well that Giant Bomb was the first of its kind in a lot of ways, this was an era where video game journalism began to loosen up from the corporate, PR-friendly, very stiff and consumer-focused era it had been in during the dominance of print media, and Giant Bomb was this novel thing where people who had been deeply involved in that era began to find their own voices. If you followed video games at the time online, Giant Bomb was this total breath of fresh air.
by bdcravens | 2025-05-11 14:16:52+00:00
That is a smart approach.

That said, putting the queue, cache, etc in the database is actually relatively new in the Rails world.

As a result, the process of moving an existing app with a presumably stable infrastructure to a db-only one (often a separate db from your primary app) actually adds complexity/uncertainty, at least until you restabilize things.
by cornstalks | 2025-05-11 14:17:34+00:00
> Seatbelt laws are still wrong, government has no business protecting me from myself.

If there are multiple people in a car and some choose to wear seatbelts and some choose not to, those who are not wearing seatbelts become a danger to everyone else as their bodies become in-vehicle projectiles.

Sure, I can understand the debate when it's just a single person in a car. But when a person's decision starts impacting others the debate is going to be very hard to win.
by zahlman | 2025-05-11 14:19:10+00:00
> These gamers presumably want reviews of what is / isn't worth their time.

They seem to care very little about the opinions and taste of the people producing content for sites like IGN.

> one streamer doesn't have nearly enough time to review all the games that come out. Not even just the AAA titles!

They usually specialize in a genre, and a lot of gamers are interested in a fairly narrow range of genres.

But also, you don't have to know about every game available. "The perfect is the enemy of the good", also with respect to information. The goal is really just to find enough games worth the time/money to keep oneself entertained. Life's too short to worry about whether you might have enjoyed something else more than the game you actually played. (If you can even justify spending time on video games at all....)

> how are gamers making their decisions about what to play next

Metacritic, Steam reviews, the aforementioned streamers, word of mouth in their own communities... probably other ways....
by Nate75Sanders | 2025-05-11 14:20:17+00:00
I had considered that, but noticed the price and as classichasclass points out in a reply to me (https://news.ycombinator.com/item?id=43949843), $595 was the intro price. They're also comparing against the Atari 800 instead of the 800XL, so that's another piece of evidence. The 800XL was released in 1983.
by n_ary | 2025-05-11 14:21:13+00:00
Successful execution is 33.333% of the journey. Solid marketing is the differentiator.

Take for example, we frequently see Cursor, Aider, Windsurf, copilot, but rarely are there mentions of cline, roo and I think like only once or twice in very early days we saw mentions or Supermaven.

While Cursor runs babble from supermaven creator, many cursor users don’t know what supermaven is though they may know Aider or even cline.

Now draw your conclusion.

P.S. while I have no connection with supermaven, I do use it day to day personally as cursor/windsurf feels overhyped and crucial target to be acquired and enshittified anytime now(windsurf already got digested by oAI).
by gus_massa | 2025-05-11 14:21:26+00:00
> congratulated us on our upcoming baby boy. I asked her how she knew. She said it was the way we carried ourselves and looked at each other.

Does she have more than a 50% succes rate?

In the wost case (null hypotesys?) that she can't tell, it's similar to the gambler falacy. She remember only the succes cases. People post online only the succes cases. Nobody remember the wrong cases.

In this case it doesn't matter, but there are evil people that use similar tricks for scams.
by skybrian | 2025-05-11 14:22:11+00:00
“Systems programming language” is an ambiguous term and for some definitions (like, a server process that handles lots of network requests) garbage collection can be ok, if latency is acceptable.

Google has lots of processes handling protobuf requests written in both Java and C++. (Or at least, it did at the time I was there. I don’t think Go ever got out of third place?)
by arcticfox | 2025-05-11 14:22:13+00:00
> A system that does tens to hundreds of thousands of jobs/s

I mean - yes - but how many systems really do tens of thousands of jobs a second? Some, obviously. But that's a buttload of jobs for the vast majority of verticals.

Like imagine a hypothetical dental SaaS that has 100.0% market penetration in the US and needs to handle the 500M dentist visits per year that happen in the US. That's 16/s, let's say they all run during working hours (x3), there are 10 async jobs on average per dentist visit (x10), that gets us up to 500 jobs/s.

You could even add 100% market penetration for this unicorn SaaS on all veterinary visits (+200M visits/yr), surgeries (+50M), emergency department visits (+130M), chiropractic visits (+35M), and hair salon visits (1B/yr)... and only get to 2000 jobs/s.
by rafaelmn | 2025-05-11 14:22:23+00:00
Have you started seeing browser embedded ads in Chrome ? It replacing competitor ads with it's own ? Rewriting referral links ? Pushing compromised extensions from "third parties" to siphon data they legally can't. Right now it's just there to cover Googles market position - it doesn't need to make a profit, if it had to make a profit and it couldn't do exclusive search default deal I guarantee you it will get ugly - like those scam search bars in IE in 2000s.
by K0balt | 2025-05-11 14:22:25+00:00
It sounds like the writer has a good idea on how to extract a lot more value from the subject for students, but I think we might be missing the value of tools like prolog in the LLM era. It seems to me that tool use of prolog for logic and python or R for math would be extremely helpful for LLMs (especially smaller local ones) to solve problems.
by animal531 | 2025-05-11 14:22:27+00:00
Nothing much to do with your great post, but I almost REALLY liked that first pyramid, but the last line being off threw me visually, so I had to straighten it out:

1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
by mlsu | 2025-05-11 14:23:22+00:00
God forbid we allow other browser vendors and email providers to compete!

Look outside. Competitors to _all_ of those product segments exist, there is a huge amount of untapped value waiting to be provided to consumers! They’re limping along, because there is a monopoly in the market distorting prices to maintain their market share.

“But just think: wherever will you get high quality oil if not for Standard! Think of the global economy!”
by maxcomperatore | 2025-05-11 14:23:57+00:00
agentic ides are better for vibe coding because every time prompted it has the context of the whole codebase and it can edit multiple files and even run console commands or write docs, its easier to vibe debug too, so its much better than copypasting file by file with something like google ai studio. though agentic ides usually come with an elevated price tag.
by pjmlp | 2025-05-11 14:24:04+00:00
Community, I wasn't talking about the language itself.

It puts me off having a programming language that depends on the Java the Virtual Machine, Java the programming language, Java the ecosystem, so that their language could exist in first place, and then talk down on it.

Still waiting on Scala Native or Kotlin Native to take over JVM and the standard library.

Clojure community isn't like that, while they try to stay on Lisp like land, they embrace the ecosystem (JVM and JS), without putting it down at every opportunity.
by arewethereyeta | 2025-05-11 14:25:03+00:00
I get that, not aiming for millions or billions (would be nice ofc). I'm just saying that is extremely hard to bring visits without dumping loads of cash and is 2x harder to make them even signup. I'm good with the execution but this marketing part drains me. A partnership with someone that knows how to bring customers would be ideal I reckon.
by maCDzP | 2025-05-11 14:25:21+00:00
The comments are mostly negative, so I’ll add my experience as a non coder.

I wanted to let Claude search an open data source. It’s my counties version of library of congress.

So I pointed Claude to the MCP docs and the API spec for the open data. 5 minutes later I had a working MCP client so I can connect Claude to my data set.

Building that would have taken me days, now I can just start searching for the data that I want.

Sure, I have to proof read everything that the LLM turn out. It I believe that’s better than reading and searching though the library.
by airstrike | 2025-05-11 14:25:59+00:00
Great article. I deeply appreciate the work that went into it.

I struggle with navigating most crates on docs.rs. It just doesn't have the things I want it to have, it's hard to quickly jump around definitions... 9/10 times I end up just cloning the repo and browsing through the code on vscode. I wish docs.rs was more like that experience but with nicely rendered docs to go along them.

Also, as the resident diehard iced fan, I think the section on that library is pretty fair and I appreciate that. There's definitely room for improving existing docs by fleshing out some of the descriptions in modules and functions.

Having said that, I do think the focus on `iced::application` and `Element` misses the forest for the trees a little bit, because those are some of the most generic parts of an iced application—`iced` is more about the plumbing between things than it is about those things themselves, if that makes sense. In other words, it's not super useful to talk about what `Element` is. It's just a generic widget. How it makes widgets generic is less relevant to the user, and certainly for beginners. It's better to talk about how it is used.

The same goes for `iced::application` and its signature. It's honestly a ridiculously elegant design that hides away all the complexity needed to make this possible:

pub fn main() -> iced::Result { iced::application(MyApp::default, MyApp::update, MyApp::view).run() }

If that isn't the cleanest way to initialize an application, I don't know what is.[1]

Again, it's better to talk about how those things are used than it is to talk about their specific implementation. And to that end, the docs include a "pocket guide" at the very index of the crate, which covers how those concepts fit together. The author addresses this in this paragraph, but I feel it also doesn't give it enough credit:

> The rest of the crate root’s docs consists of snippets for each concept of the crate and how to start using them. They aren’t an exhaustive explanation of these concepts, but they’re a great venue for discovering what iced has to offer here in terms of API. And wow there’s a lot of concepts here.

If you're starting with the library, I encourage you to go through the pocket guide and the examples to learn more. Alt-tabbing between the two should give you lots of opportunity to understand the many concepts and how they fit together.

[1] The arguments are totally generic, so `MyApp::default` could be `MyApp::new` if you wanted or any other function that returns some instance of `MyApp` -- and which can _also_ return `(MyApp, Task)` -- i.e. your app and some task to run at initializing. That flexibility makes for very ergonomic code, and you don't have to worry about how it achieves that. Also note `Application` has uses the builder pattern, so you could just call `.title(App::title)` on it to set the title... and the argument there is, as you might have guessed, generic again. You could call `.title("My title")` and it would also work. That's beautifully designed.
by josephg | 2025-05-11 14:26:24+00:00
Sure; but when I'm working on a complex problem, I'll often run (test) my code as I go, eyeballing the input and output to make sure I'm on the right track and its doing what I expect. The less time that passes between writing code and discovering a bug, the easier it is to find and fix the bug. Its also a great way to write tests - I'm more aware of edge cases when I've just written the code being tested.

The problem is that zig makes it hard to run the first half of a function or block of code. I've always got variables or parameters that I simply haven't put to use yet.

In an ideal world, my half-written code would fit neatly into a set of well defined functions with no unused variables. But at an experimental stage, I haven't refactored my code to make it beautiful yet. I always prefer to debug my code before refactoring it, because if my tests fail afterwards, I can isolate the bug to the refactoring process itself.
by jfengel | 2025-05-11 14:26:44+00:00
I get the idea, and it's a pretty good one.

But the headline is really bad. It's not a commodity and it's not valuable. It is what creates value; it's what makes value meaningful.

Don't get hung up on the headline. It's a thesis equivalent to the notion that art comes from struggle against some kind of limitation. That limitation is usually arbitrary (the form of poetry, the rules of a game, the difficulty of oil paint and brush), but the result is meaningful despite and because of it.
by Nate75Sanders | 2025-05-11 14:26:46+00:00
OK, here's something:

https://www.gamesthatwerent.com/gtw64/ace-of-aces/

Jim Rothwell (see the gallery image and enlarge it) was supposed to release something called Ace of Aces for the Ultimax, it seems, IIUC.

I didn't know about the Ultimax until 5 minutes ago.

EDIT: Here's the image link:

https://www.gamesthatwerent.com/wp-content/uploads/gtw64/a/a...