MurphyA/hacker-news huggingface dataset:
by GMoromisato | 2025-06-18 02:36:50+00:00
100% agree. Duplication is far cheaper than the wrong abstraction.

Student: I notice that you duplicated code here rather than creating an abstraction for both.

Master: That is correct.

Student: But what if you need to change the code in the future?

Master: Then I will change it in the future.

At that point the student became enlightened.
by Buttons840 | 2025-06-18 02:37:29+00:00
Another underutilized debugging superpower is debug-level logging.

I've never worked somewhere where logging is taken seriously. Like, our AWS systems produce logs and they get collected somewhere, but none of our code ever does any serious logging.

If people like print-statement debugging so much, then double down on it and do it right, with a proper logging framework and putting quality debug statements into all code.
by icemanind | 2025-06-18 02:37:46+00:00
I wrote a full fledged interpreter by hand for a vintage BASIC language. I called it Basice (I'm Icemanind, so Basice is a play on BASIC and Iceman). It's a little outdated now though. I wrote it using C# and it doesn't use any external libraries, like yacc or flex. It's all by hand. You can see it at https://github.com/icemanind/Basice
by AdieuToLogic | 2025-06-18 02:37:52+00:00
> A point that may be pedantic: I don't add (and then remove) "print" statements. I add logging code, that stays forever. For a major interface, I'll usually start with INFO level debugging, to document function entry/exit, with param values.

This is an anti-pattern which results in voluminous log "noise" when the system operates as expected. To the degree that I have personally seen gigabytes per day produced by employing it. It also can litter the solution with transient concerns once thought important and are no longer relevant.

If detailed method invocation history is a requirement, consider using the Writer Monad[0] and only emitting log entries when either an error is detected or in an "unconditionally emit trace logs" environment (such as local unit/integration tests).

0 - https://williamyaoh.com/posts/2020-07-26-deriving-writer-mon...
by zdragnar | 2025-06-18 02:37:54+00:00
This kind of excuse-making for bad behavior always baffles me. It's not like we can have a functioning government if the only regulations and laws it can enforce are against violent behavior.

One example that always depresses me is going into a store in an area with a lot of shoplifting. There are stores near me that have so little issue with it that hunting ammo is literally just sitting out on shelves where anyone can grab it, and yet drive half an hour in the other direction to the nearest metro city and the pharmacies have to keep so many items behind locked glass cabinets to deter theft.

Turns out, people are plenty good at being criminals on their own.
by gruez | 2025-06-18 02:38:52+00:00
Do you have kids? If so, are you going to send him/her to a private school, assuming you can afford it? What about stumping up money for extracurriculars or tutoring? Or if you're not really wealthy, what about giving immaterial aid like tutoring yourself? All of these things are "at odds with meritocracy", but that doesn't mean it's a slam dunk argument against them.
by socalgal2 | 2025-06-18 02:39:19+00:00
That's true of any new format. Until everything supports it it's not so great. iPhone saves .HEIC which I have to convert to something else to be useful. It's not everywhere (not sure it ever will be).

Windows didn't use to show .jpgs in the window explorer. I know becase I wrote a tool to generate thumbnail HTML pages to include on archive CDs of photos.

To solve this problem, some format has to "win" and get adopted everywhere. That format could be webp, but it will take 3-10 years before everything supports it. It's not just the OS showing it in it's file viewer. It's it's preview app supporting it. It's every web site that lets you upload an image (gmail/gmaps/gchat/facebook/discord/messenger/slack/your bank/apartment-rental-companies, etc..etc..etc..) I just takes forever to get everyone to upgrade.
by ryukoposting | 2025-06-18 02:40:38+00:00
The author glosses over this a bit, but designing for latency and unreliability is important for good UX too. It's not just about keeping things small, it's about making sure the UI is usable in the face of high latency connections, and tolerant of intermittent failure. I can't count the number of times I've had an app shit the bed as I'm leaving my apartment and my phone switches from wi-fi to cell.
by o11c | 2025-06-18 02:41:09+00:00
I just tried out Wayland again on my last install, 1.5 years ago, because I really thought I should give it another chance since people keep saying it finally is supposed to work.

My attempt did last longer than previous attempts. But in the end, I gave up due to all the bugs, again. Broken input, broken rendering, broken shortcuts, broken accessibility (not just a thing for those losers who chose to be born disabled) ... it's like Wayland isn't even trying. It's hit-or-miss whether native Wayland programs or XWayland-using programs are more broken.

If you want stability and/or features, X11 remains the only choice, even in $CURRENTYEAR. ... actually, it's quite possible that all the X11 devs moving toward Wayland is responsible for the significant decrease in X11 bugs I've seen recently ... or it might just be that there's more RAM.

In theory, Wayland is beneficial for the small fraction of users with a high DPI monitor. In practice, if you try to enable it, you get a small fraction of programs that obey it correctly, a moderate fraction of programs that badly mix scaled and unscaled elements, a small fraction of programs that end up double-scaling somehow so everything is too large, and a large fraction of programs that remain tiny. Your machine is much more usable if you just leave everything small and sit closer to the monitor, occasionally using per-app controls that work just as well on X11 anyway.

I have not actually seen any other benefits of Wayland, people just tell me they allegedly exist. Sandboxing windows away from each other is pointless since all clients are unsandboxed with the same UID anyway. "All in one process" is exactly the opposite of a feature; it just means that all crashes are fatal instead of usually recoverable like they are on X11.

Maybe Wayland should spend a decade or so running its protocol to a server inside X11 first to shake out the bugs?
by dh2022 | 2025-06-18 02:41:32+00:00
Hyperbole much? The only social network I use is HN. As a matter of fact last week I was chaperoning a middle school parade. The other chaperones wanted to make a WhatsApp chat group t0 keep in touch during the parade - which I rejected as a matter of principle; so we did a phone chat group. I do not wash my hair with vinegar or do any of the other nonsense you mentioned.
by wahern | 2025-06-18 02:41:35+00:00
I never said I didn't like the idea. I neither like it nor dislike it. I just meant to point out that the conclusions are in large part a consequence of the the way the question is framed, and the framing is largely cultural determined, in particular by generational beliefs and concerns. Indeed, the entire question of natalism/anti-natalism is generationally specific; older generations would find it an odd thing to have an "ideology" about, notwithstanding small cohorts in earlier generations, or the fact that in the abstract it had long been discussed.

Given all that, it's expected that a large number of people--in particular, those of the same or adjacent generations--would share these beliefs and even analysis; and an even larger number sharing similar framing, even if coming to opposite conclusions.

It's disquieting when you come to the realization that so many of one's beliefs are, in a sense, predetermined, or at least channeled by a cultural experience shared with millions of other people. This of course applies to myself no less than any other. I long ago stopped considering any of my thoughts rare, let alone original. I read half of the literary output of people from my generation and think, "gee, I was saying that 20 years ago"; and the other half, "gee, I was arguing the opposite 20 years ago". Well, of course I was, and so were they.

That's not to say there aren't novel exceptional moments, cases, and people. Just very few and far between. And the whole natalism debate is definitely not the exception.
by bsder | 2025-06-18 02:41:36+00:00
> Sure, which are completely solved by Xwayland.

Sadly, they are not.

KiCad kicked this press release out because RedHat broke mutter which broke XWayland which caused a whole bunch of us to file bugs against KiCad (and other applications) that were the fault of Wayland.

This caused a whole bunch of application developers to have to waste a bunch of time running down a bug that made it completely obvious that RedHat does ZERO testing of whether their changes break anything in the XWayland space.
by vikp | 2025-06-18 02:41:44+00:00
I assume you're using a PDF, and not the image you shared? You need to set force ocr or format lines to get inline math with a PDF (for images, we just OCR everything anyways, so you don't need any settings).

We're working on improving the playground generally now - expect a big update tomorrow, which among other things will default to format lines.

Thanks for the kind words! The team was just me until pretty recently, but we're growing quickly and will be addressing a lot of issues quickly in the next few weeks.
by bredren | 2025-06-18 02:43:27+00:00
Tethering on an iPhone acts as a simple pass-through of its cellular internet connection over Wi-Fi.

It does not establish a private local area network (LAN) for connected devices to communicate with each other.

The travel router can use an iPhone for internet via tethering, though that iPhone won’t also be able to connect to the network created by the travel router.

The travel router is ~the same as a home WiFi router, but they come with configurations meant for dealing with common issues on the road.
by fastball | 2025-06-18 02:44:53+00:00
People that like to own their digital music in the Western World are generally not storing the files in mp3.

Where outside the West are you seeing many people that are specifically storing audio files in mp3 (vs just streaming/ storing in a better digital format/storing physical media)?

I live in SEA and most people here are not storing their own mp3s. Most people don't have computers at all – they have budget Android phones that don't have much built-in storage. What they do have is cheap internet, so they are either using Spotify (Free)/YouTube/etc. Many people still use CDs (mostly in cars) but those aren't mp3 either.
by Nursie | 2025-06-18 02:45:40+00:00
There is a lot of waffle written about psychedelics and various forms of spirituality.

If you're not that way inclined but are interested in experiencing psychedelics, then yeah - don't let them put you off. My subjective experiences of it, when it was good, were that it filled me with a childlike sense of wonder as I watched things melt and flow in enhanced colours, as I had weird and wonderful thoughts about all sorts of things. Everything was new again.

It did make me feel connected to the world, to the universe and to other people in a different way to something like MDMA, with some of the love but also through a blurring of sense of self. It can change your perspective on some things, and as others have said it often feels afterwards like you've had a bit of a reset on your stresses and worries. And I did get to watch my stereo do a little dance...

When it was not good, by the last time I tried it which was probably at least 20 years ago now, I just got bored and slept it off, though YMMV on ability to sleep because it is a stimulant.

I guess maybe I'm lucky never to have had anxiety or a 'bad trip', though there were a few occasions where the group of us would sit down and ask "so ... uh... anyone else find this is dragging? How much longer?". Usually it's when you're towards the tail end anyway, but it's just not tailing quite as much as you might want.
by Spooky23 | 2025-06-18 02:46:08+00:00
New York is pretty unique because of the way the MTA works. It’s public authority created by merging a bunch of public authorities created by the infamous Robert Moses with the then-destitute NYC transit and the commuter rail portions hacked off the the corpse of the Pennsylvania and New York Central railroads.

The MTA board is controlled by the governor of the state. This is key because the capital, and most state jobs, are in provincial Albany. The people and cash are in NYC. So MTA is a valuable political tool for patronage.

On the operational side, you also have the TWU (transit workers union) and other unions which are competent and active they aggressively vacuum any money they can. On the capital side, you a whole ecosystem of unions, contractors and various interests who want a vig from the massive MTA capital budget. You have MWBE contractors, some real, some not so much. You have insane bidding rules with multiple prime contractors, weird wage tables, contractural minimum staffing, etc.

Also remember these institutions are old by American standards. The Long Island Rail Road is one of the (if not the) oldest operating railroads in the country. That means old stuff, engineering debt and weird legacy processes.

As an example, when they bored tunnels a few years ago, 50-60 workers were “manning” a TBM. In Paris at the same time with the same machine… 12.

It adds up. Everyone knows it’s a shitshow, which is why many people DNGAF about fare evasion. The cops only care about it as mining operation for overtime. If some dude is making $90/hr for 30 fake laborers, why are you hassling a 17 year old for $3? The $500 ticket costs $2500 in NYPD labor.
by cpburns2009 | 2025-06-18 02:47:28+00:00
That's exactly it. Android popularized it with its early versions when those phones had physical buttons. One of those buttons was the menu list button which opened the context menu. Eventually that button was removed and was replaced with in-app menu buttons. The remaining buttons became virtual, and then bikeshedded to triangle, circle, and square because usability be damned.
by Tadpole9181 | 2025-06-18 02:48:23+00:00
AFAICT they were reviewed, but too leniently in light of his "improve the codebase" rhetoric. His recent drama and stirring has brought eyes from more senior members of the team, which realized his work was shotty and several changes being made were outright wrong or caused new bugs.

More info here: https://www.phoronix.com/news/X.Org-Server-Lots-Of-Reverts
by southernplaces7 | 2025-06-18 02:49:18+00:00
I'm not even going to bother replying to the other crap you piled on. As in your other comments elsewhere, you seem to selectively pick superficial, cliched ideological talking points and consider those to be a solid response.

Just one thing though: It's very easy to take a good look at the information available about the immigration policies of many countries, among them there being a number that are much worse than the United States, and much more xenophobic than a country that right up to the present, is filled with first, second, third and so fourth generation immigrants who completely integrate and participate enormously in its governments and economy.
by marxism | 2025-06-18 02:49:54+00:00
As you pointed out the examples in the blog post are not an LLM failure. The real failure is asking too little.

Engineers think "the LLM can handle the simple code change, but if I ask for too much it'll fall over." Wrong. Modern LLMs can easily handle a 50-line function plus 50 lines of detailed comments explaining assumptions, performance implications, and what changes would invalidate this approach.

But most engineers are either asking for solutions without enough context or failing to ask the LLM to document its assumptions.

Then they're shocked when they have to reverse engineer out that the code assumes 100 users when they have 100k, or why it's doing individual API calls when they needed batch processing.

Most engineers have never seen good comments, so they don't know they can ask LLMs to write them.

The default LLM comment is just English pseudo-code: "this function takes a user ID and sends them a notification." Completely useless. But that's because most engineers have never experienced comments that explain trade-offs, performance implications, or future system evolution.

Writing clear technical explanations is genuinely difficult. Almost no one does it well. So when you ask an LLM for "comments," you get the same terrible pattern you've seen everywhere else.

But you can literally ask for explanations of assumptions, performance characteristics, and scenarios where this approach would break. The LLM handles it perfectly. You just have to know that's even possible. Makes the code review so much easier.

Most engineers don't, because they've never seen it done.

[1] https://peoplesgrocers.com/en/writing/asking-llms-the-right-...
by teleforce | 2025-06-18 02:50:06+00:00
Please check out Braid project initiative that is working towards fully interconnected eco-system for the web [1],[2].

[1] Stop using REST for state synchronization (2024) - comment:

https://news.ycombinator.com/item?id=44000810

[2] A Synchronous Web of State:

https://braid.org/meeting-107
by globnomulous | 2025-06-18 02:50:31+00:00
Huh, I don't know x86 but I do plenty of shell-scripting and am surprised, and a little embarrassed, that it had never dawned on me: you're right; they are easier to read, at least with a view to understanding intent, than to write. In fact, are there shell-scripting languages of which this isn't true?
by JoshTriplett | 2025-06-18 02:52:00+00:00
> The binary is also 53M

That's a debug binary, and the vast majority of that is debug symbols. A release build of this project is 4.3M, an order of magnitude smaller.

Also, compiling out the default features of the git2 crate eliminates several dependencies and reduces it further to 3.6M.

https://github.com/bgreenwell/lstr/pull/5

https://github.com/rust-lang/git2-rs/pull/1168

Stripping the binary further improves it to 2.9M, and some further optimizations get it to 2.2M without any compromise to performance. (You can get it smaller by optimizing for size, but I wouldn't recommend that unless you really do value size more than performance.)
by SulphurCrested | 2025-06-18 02:52:44+00:00
There’s a little-used alternative to through-running as described in TFA, which is to turn trains around in an underground loop in the city centre and send them out again, usually on the same line they came from. This is done in Sydney (1920s) and Melbourne (1970s).

In the case of Melbourne, the design was chosen because of the extremely lop-sided development of the city, whose centre (“the city”) lies at the head of a bay, with most of the population and population growth to the south and east of the city in the 1970s. This is true to a lesser extent in Sydney, bearing in mind that its city loop was designed before the Harbour Bridge was built.

Melbourne’s current through-running project, the Metro Tunnel, appears in the first table, but it doesn’t belong in the second table of cities which could greatly benefit from future through-running projects. All 16 lines can access the city loop (which has 4 parallel tunnels). Due to capacity constraints, most of the time one of those 16 lines terminates at a main city station, and two others through run with each other. The Metro Tunnel will relieve the city loop, similar to the Munich trunk amplification project described in TFA; once it opens all lines will either through-run or go around a loop.

Locals are used to the City Loop but some visitors find it hard to navigate. Each line runs either clockwise or anticlockwise. For historical reasons two of the four loops still reverse direction in the middle of the day.

It’s true that a further through-running tunnel (Metro Tunnel 2) and conversion of two of the four City Loop tunnels to through-running (City Loop Reconfiguration) appeared on the long-range plans from 2012. But these are not required yet; the city is building three other major rail projects first.
Show HN: Banto – Build and host your own party games in minutes
by douglaspham | 2025-06-18 02:54:01+00:00
A year and a half ago, my friend and I were building conservation tools for a startup. That ended up pivoting, so we left and built Banto instead! It's a platform for making and hosting your own multiplayer party games. It’s inspired by Jackbox, Kahoot, and Blooket and we're aiming toward becoming the Roblox/Canva of party games. We’d love your feedback!

Full backstory here if you're curious: https://blog.banto.tv/blog/who-is-behind-banto
by johnfn | 2025-06-18 02:56:33+00:00
On the other hand, John Carmack loves debuggers - he talks about the importance of knowing your debugging tools and using them to step through a complex system in his interview with Lex Friedman. I think it's fair to say that there's some nuance to the conversation.

My guess is that:

- Debuggers are most useful when you have a very poor understanding of the problem domain. Maybe you just joined a new company or are exploring an area of the code for the first time. In that case you can pick up a lot of information quickly with a debugger.

- Print debugging is most useful when you understand the code quite well, and are pretty sure you've got an idea of where the problem lies. In that case, a few judicious print statements can quickly illuminate things and get you back to what you were doing.
by stevefan1999 | 2025-06-18 02:56:38+00:00
You know it is just Wirth's law in action: "Software gets slower faster than hardware gets faster." [^1]

In fact Jevons Paradox: When technological progress increases the efficiency with which a resource is used, but the rate of consumption of that resource rises due to increasing demand - essentially, efficiency improvements can lead to increased consumption rather than the intended conservation. [^2][^3]

[^1]: https://www.comp.nus.edu.sg/~damithch/quotes/quote27.htm

[^2]: https://www.greenchoices.org/news/blog-posts/the-jevons-para...

[^3]: https://quickonomics.com/terms/jevons-paradox/
by aetherspawn | 2025-06-18 02:56:44+00:00
I don’t think we know enough about science to know whether teleporting a photon is something we can do or not, for example maybe we can via micro wormholes or quantum tunneling or some other frequency anomaly that cancels out strong/weak atomic forces so that an object can be accurately displaced (“teleported”) through other objects.

Once you figure out the “through other objects” part, I guess it just becomes an energy control problem, ie how to get object A to location B accurately, and decelerate it, before the effect wears off. Which is maybe not so hard when you have a teleport sender and receiver that can do the acceleration and deceleration.

Hypothetically the sender would estimate the trajectory required to hit the receiver then sync/teleport an inert beam of atoms (photos or something) with it. Then, once sync has been established you would know the trajectory settings to use, perhaps it would be a giga-energy problem to ie phase the object, accelerate it to light speed, then receive it at the destination and un-phase it. This would allow you to ie teleport living things without the morale dilemma of losing their original consciousness.

The practical distance would be based on the achievable speed ie how far can we shoot something before it phases back. You can cover a pretty big distance in 1us at the speed of light! Around 300m. If you can keep something phased for 10ms, you could go 3000km, at which point you just form a network of receivers.

(Just an exercise, don’t take it seriously!)