MurphyA/hacker-news huggingface dataset:
by Dylan16807 | 2025-08-30 14:49:19+00:00
What I get from this is to stay very far away from Arch if I want to update regularly and not fuss with it. But that's not an indictment of distros designed to be stable.

And your experience of Arch with automatic updates is very different from their semi-suggestion of Arch with no updates.

As for ZFS, I don't use it for root, in part so that even when I mess with things I know it'll boot fine. But that only applies to root.
by marginalia_nu | 2025-08-30 14:49:21+00:00
It takes intelligence to see where to make a change though.

If you make a change at the wrong place, you add more complexity than if you put the change in the right place. You often see the same thing with junior developers, in that case due to a limited mental model of the code. You give them a task that from a senior developer would result in a 2 line diff and they come back changing 45 lines.
by oliwarner | 2025-08-30 14:49:24+00:00
Vanity is a powerful force. When I was younger and actually blogging, the numbers (views, links, comments) were the exciting bit. They really kept me going. I was blogging for simple popularity, not altruism.

The maturity to shrug off this need for validation reaches some faster than others. I broadly agree that GA-level stats aren't helpful, but also if you're going into writing, having feedback mechanisms can help, even if it's just a hit of dopamine when you boastfully weather Digg and /. at the same time.
by jandrewrogers | 2025-08-30 14:49:47+00:00
In the US the 401k is in addition to a relatively generous (by European standards) government pension, it isn’t a replacement or alternative. The same thing exists in many European countries, it just isn’t as strongly encouraged as it is in the US.

The idea that it is important to diversify your retirement income instead of relying on the government or some other single source is one thing American culture gets right. It reduces risk and increases resiliency.
by speak_plainly | 2025-08-30 14:49:50+00:00
The real question is whether 1 + 1 = 2 is true independent of us recognizing it. If the answer is no, then math really is just a system of ideas, and you’ve slipped into psychologism, where truth depends on minds.

But take one thing and then another: you have two things. That’s true whether or not anyone notices. Some mathematics is a human system of ideas, but some of it isn’t. Arithmetic reflects real patterns in the world. Logic, too, is not merely invention, it formalizes cause and effect. Numbers, in the Pythagorean sense, aren’t just marks on paper or symbols of order; they are the order inherent in reality, the ratios and structures through which the world exists at all.

At bottom, this debate is about the logos: what makes the universe intelligible at all, and why it isn’t simply chaos. When people say “math is real,” they mean it in the Platonic sense, not that numbers are rocks, but that they belong to the intelligible structure underlying reality.

God enters the picture not as a bolt-on explanation, but as the consequence of taking mathematical order seriously. If numbers and geometry are woven into reality itself, then the question isn’t whether math is real, it’s why the universe is structured so that it can be read mathematically at all. Call that intelligible ground the logos, or call it God; either way, it’s not an extra mystery but the recognition that reason and order are built into the world.

Calling math “just useful” misses the point. Why is the universe so cooperative with our inventions in the first place? The deeper issue is the logos: that the world is intelligible rather than chaos. That’s what people mean when they say math is real, not that numbers are physical things, but that the order they reveal is woven into reality itself.
by eldenring | 2025-08-30 14:49:52+00:00
Hmmmm I don't think that would make sense. Closest analogy is working with humans. The easiest way to work with a human isn't a thin, limited api, but rather to give them context and work together (employment). I think the future of software will look more like Claude Code. Lets the model work in a similar space as us, where it can intelligently seek out information and use tools as a human would.
by ajzbzizkloll | 2025-08-30 14:49:53+00:00
Most business logic is “last mile” software. Built on top of beautiful abstractions that came not from an abstract idea of what’s correct but from painful clashes with reality that eventually provided enough clarity to build a good abstraction.

Sometimes last mile software turns into these abstractions but often not.

I’ve worked with very smart devs that try to build these abstractions too early, and once they encounter reality you just have a more confusing version of if statement soup.
by makeitdouble | 2025-08-30 14:50:10+00:00
Lowering the cognitive load by assigning temporary variables requires more thought and skill than credited here.

In particular these variables need to be extremely well named, otherwise people reading the code will still need to remember what exactly is abstracted if the wording doesn't exactly fit their vision. E.g.

> isSecure = condition4 && !condition5

More often than not the real proper name would be "shouldBeSecureBecauseWeAlsoCheckedCondition3Before"

To a point, avoiding the abstraction and putting a comment instead can have better readability. The author's "smart" code could as well be

``` if (val > someConstant // is valid && (condition2 || condition3) // is allowed && (condition4 && !condition5) // is secure ) { ... } ```
by hollerith | 2025-08-30 14:50:34+00:00
The 1960s was when the US got welfare and SSI (disability insurance for people who haven't already paid into the Social Security system).

Being able to rely on these governmental benefits might have made families less reliant on the local community, churches and extended family, which in turn might have caused daily life to feel more alienating or atomized.

I bring this up because welfare and SSI can be viewed as a move towards collectivism and away from individualism, so arguing about how individualistic the US has been over time is kind of a sterile game because the answer is highly dependent on the exact definition of individualism.
by jfengel | 2025-08-30 14:50:52+00:00
OP was referring to regulations rather than debt or entitlements. Thus far we haven't done much to social security (other than firing the help desks, which doesn't really cut into the actual cost.)

Walking away from it would be, uh, problematic. Especially for the demographic who voted most enthusiastically for this administration. Which might make for some poetic justice, but a lot of others would also find themselves in dire straits.
by cgearhart | 2025-08-30 14:51:07+00:00
The title is a succinct snippet that spoke directly to researchers at the time. The transformer architecture is somewhat obvious (especially in retrospect), but it was still very surprising because no one was really going this direction. They were going many other directions… That’s the point of the title: you don’t need all kinds of complicated systems for NLP to work—“attention is all you need”.

After the success of transfer learning for computer vision in the mid-2010s, it was obvious that NLP needed its own transfer learning approach and AlexNet moment.

Lots of research focus around that time was on recurrent models—because that was the conventional wisdom about how you model sequences. Markov chains had led to vanilla RNNs, LSTMs, GRU, etc., which all seemed tantalizingly promising. (MAMBA fans take note.) Attention mechanisms were even used in recurrent models…but so was everything else.

Then came transformers—mixing all the then-best-practice bits with the heretical idea of just not giving a shit about O(n^2) complexity. The vanilla transformer used an encoder-decoder structure like the best translation models had been doing; it used a stack of identical blocks to nudge the output along through the pipe like ResNet; it was pretrained on a multi-task objective using a large document corpus. But then it jettisoned all the other complexity and just let it all rest on the attention mechanism to capture long range dependencies.

It was immediately thrilling, but it was also completely impractical. (I think the largest model had a 500ish token context limit and bigger than hobbyist GPUs.) So it mostly sat on a shelf while people used other “good enough” models for a few years until the hardware got better and a couple folks proved that it could actually work to run these things at massive scale.

And now here we are.

I think they knew what they were saying at the time, but I don’t think they knew that it would remain true for years.
by bakugo | 2025-08-30 14:51:48+00:00
Symfony and Laravel are fundamentally ideologically opposed.

Laravel is designed from the ground up to be used by junior developers who don't care about pesky things like maintainability and scalability and just want to put out the minimum viable product as fast as possible, and with the least amount of work possible. It's full of "magic" abstractions built with the primary purpose of making the code look pretty at a glance to the inexperienced, completely disregarding good programming practices and even essential language features in the process, the programming equivalent of lipstick on a pig. It markets itself to beginners as "the magic framework that does everything for you" and is as big as it is today purely due to successfully capturing a large percentage of that audience.

Symfony goes in the complete opposite direction: it's designed to be used by experienced developers to build maintainable, extensible applications while employing good programming practices. It encourages you to "look under the hood" and understand how things work instead of just telling you "to do X, write Y" without elaborating. It has many convenience features but they're generally built on top of language features with good practices in mind instead of handwaving it all away. It's very modular and allows you to extend and/or replace almost every part of the framework with your own custom version if the included version isn't suitable for your use case. And so on.

One of the best examples of Symfony vs Laravel is the way database tables are mapped to PHP code. In Symfony, SQL tables are just PHP classes. To create a new table, you create a new class, add the columns you want as properties, add some attributes to tell the ORM how to map all of that to a table, and it's done. Your database columns match your class properties, every time you query the database you get instances of that class and can use them as a proper objects with properly typed fields.

Laravel, meanwhile, does none of that, your database tables are defined purely by the database itself at runtime, what they call "Models" are just empty classes that have the database columns injected into them at runtime as dynamic properties. You cannot know what properties your Model has just by looking at it, I believe you need a Laravel-specific IDE plugin just to autocomplete them. You're essentially working with glorified associative arrays the whole time. This alone is a massive red flag that should make any experienced programmer avoid Laravel.

Wordpress sits on its own little island as a big pile of legacy code that's almost frozen in time, full of bad practices that no self-respecting developer wants to touch. No lipstick on this pig, it's as ugly as it is obtuse. It's still commonly used today because someone with zero programming knowledge can load up a bunch of plugins full of security holes and make a somewhat usable site that vaguely matches their vision, but using it for any new project more complex than a basic blog is generally seen as a mistake.

Can't speak for Drupal as I have no experience with it.
by lxe | 2025-08-30 14:51:52+00:00
Introducing intermediate variables is what I call "indirection". You're adding another step to someone reading the code.

Let's take a recipe:

Ingredients: large bowl 2 eggs 200 grams sugar 500 grams flour 1/2 tsp soda Steps: Crack the eggs into a bowl. Add sugar and whisk. Sift the flower. Add the soda.

When following the instruction, you have to always refer back to the ingredients list and search for the quantity, which massively burdens you with "cognitive load". However, if you inline things:

Crack 2 eggs into a large bowl. Add 200g sugar and whisk. Sift 500g of flower. Add 1/2 tsp soda.

Much easier to follow!
by riazrizvi | 2025-08-30 14:51:55+00:00
It’s actually outreach and business development but yeah it’s not coding or product development anymore. Why? because AI makes it easier to make credible sounding stuff, to maintain the appearance of progress, making it harder to tell who’s the real deal. So everyone is drowning in spammish AI. We all see it in recruiting (in all directions), it’s happening too in sales.

On top of this there’s also a confounding factor where it seems we can all do things we couldn’t before. So everyone is trying to reduce their dependencies and increase their offering. Which is driving down opportunities. The world of business is turning into one of those one-sided conferences where everyone is either look for a job, or looking for a sale. No-one is hiring. No-one is buying.
by evanjrowley | 2025-08-30 14:52:08+00:00
I loved my IODD ST400 until it suddenly forgot how to encrypt/decrypt my drive with ~500 GB of data on it. There really needs to be some kind of recovery tool for when it gets corrupted.

Before getting the IODD drive, I was thinking of VeraCrypt, but I still prefer the IODD concept because the built-in encryption removes the OS from the equation.
by Buttons840 | 2025-08-30 14:52:42+00:00
It does work for awhile, until one day:

Project Manager: "Can we ship an order to multiple addresses?"

Grey Beard: "No. We'd have to change thousands of random if-statements spread throughout the code."

Project Manager: "How long do you think that would take?"

Grey Beard: "2 years or more."

Project Manager: "Okay, we will break you down--err, I mean, we'll need to break the task down. I'll schedule long meetings until you relent and commit to a shorter time estimate."

Grey Beard eventually relents and gives a shorter time estimate for the project, and then leaves the company for another job that pays more half-way through the project.
by SV_BubbleTime | 2025-08-30 14:53:57+00:00
Right. I don’t know why people call nazis socialists just because they supported a state led by government, socialized government program take over like healthcare and education and production, and they have socialist in their name.

I can see how it is easy to confuse by let’s be reasonable. The nazis could not have been socialist because that would mean a corruption one time of a system that is based on ideals.
by insane_dreamer | 2025-08-30 14:54:09+00:00
what a terrible take

there's law enforcement that follows due process, and there's "law enforcement" that doesn't

the former is the regular police (when they're doing their job right), the latter is the Gestapo and ICE

the problem isn't so much immigration laws; it's 1) the way ICE is enforcing them, and 2) the fact that a non-trivial percentage of US businesses actually depend on that illegal immigration (which is why after political pressure, Trump made "exceptions" for certain businesses--not exceptions to the law, exceptions to its enforcement)
by user_7832 | 2025-08-30 14:54:10+00:00
> This indiscriminate targeting, as the FBI and White House security officials have previously noted, allowed Beijing’s snoops to geo-locate millions of mobile phone users, monitor their internet traffic, and, in some cases, record their phone calls. Victims reportedly included President Donald Trump and Vice President JD Vance.

Welp... that's quite a capable piece of surveillance.

I imagined it involved tapping to cell towers/cell infrastructure, but the details at the wikipedia page [1] suggest servers were hacked instead? Did they hack AT&T servers or something?

Side note, are there any ways to not get your data stolen in such cases? I would imagine using only a VPN might help, but if they're getting data from triangulation you couldn't do much short of turning off your phone, right?

1 - https://en.wikipedia.org/wiki/Salt_Typhoon#Methodology
by austin-cheney | 2025-08-30 14:54:33+00:00
In languages that have block scope a procedure is that block. It’s a boundary but receives no input and does not return output. Functions do allow input and do return output. This distinction is clear in C lang that has both functions and procedures.

As a new language design feature procedures could be assigned to references for reuse in the same way as calling a function by name/variable.
by api | 2025-08-30 14:54:39+00:00
I am very sure this, like the related loneliness epidemic, has many causes. Beware of anyone who tries to blame it on a single thing.

Here’s an incomplete list of things I think are causes.

Overwork, burnout, and anxiety.

Housing prices. Hard to be sexy when you live in your parent’s basement.

Porn, hookup culture, and sex everywhere actually drains sex of its allure and paradoxically makes it less appealing.

A downstream effect of the friendship recession / loneliness epidemic, a trend that itself has many causes and goes back at least as far as the 1990s.

Doom scrolling, addiction to social media and gaming.

Men being propagandized with “manosphere” content that makes them repellent to women, and women absorbing “femcel” content that does the same. This in turn is downstream of doom scrolling and social media since this kind of content is pushed by algorithms.

Death of in person socialization, which was a trend already in place before COVID but which COVID made a lot worse.

Some people shifting toward more conservative views, partly as a reaction against the aforementioned hookup culture and porn everywhere stuff.

I’m sure there are more.
by jt2190 | 2025-08-30 14:54:53+00:00
Laravel 3.2 was released in May 2012, so 13 years ago. Sounds like you should port the application off of Laravel since Laravel’s got an “evergreen”/regular updates maintenance model. I’m not even sure that 13 year old PHP is still maintained FWIW. I’m struggling to think of a programming community that tries to achieve a “we will maintain this for decades” approach, maybe another reader knows of something.
by jovial_cavalier | 2025-08-30 14:54:54+00:00
Look up the Texas Instruments am3358. It's a tiny SOC, it was used in the beaglebone black. Its technical reference manual[1] is over 5000 pages, and it details all peripherals, all of the interconnects and every single register in the system. This, by contrast, is really just an overview.

Regards to (1), if you don't publish this information you're not selling a CPU, you're selling a very expensive chunk of sand. There is simply no way that a customer can guess at what your implementation looks like. Additionally, Intel barely has IP in the traditional sense. They hold patents, but their only real competitor in making x86 processors, AMD, has a long-standing mutual non-enforcement agreement wrt patents.

Regards to (2), I'm guessing a majority of this PDF can be generated sort of like you generate API documentation from doxygen comments.

[1]: https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf?ts=175651560...
by shubhamjain | 2025-08-30 14:54:58+00:00
"This tool 10x the productivity of software engineers"

"GREAT! That means we can fire the people who do the actual work, and replace them with MBA robots, who neither understand nor care about making a good product"

Pardon my pessimism, but in my whole career, I have never met a PM who actual did the work of driving the product vision. Most were just middlemen shuttling information between management, marketing, design, and engineering. Thinking that hiring more PMs would increase the output in the age of AI is such a childish fantasy.
by atomicnumber3 | 2025-08-30 14:55:05+00:00
"the owners of the business logic do not treat the business logic with enough care."

Certainly, there are such people who simply don't care.

However I would also say that corporations categorically create an environment where you are unable to care - consider how short software engineer tenures are! Any even somewhat stable business will likely have had 3+ generations of owner by the time you get to them. Owner 1 is the guy who wrote 80% of the code in the early days, fast and loose, and got the company to make payroll. Owner 2 was the lead of a team set up to own that service plus 8 others. Owner 3 was a lead of a sub-team that split off from that team and owns that service plus 1 other related service.

Each of these people will have different styles - owner 1 hated polymorphism and everything is component-based, owner 2 wrapped all existing logic into a state machine, owner 3 realized both were leaky abstractions and difficult to work with, so they tried to bring some semblance of a sustainable path forward to the system, but were busy with feature work. And owner 3 did not get any Handoff from person 2 because person 2 ragequit the second enough of their equity vested. And now there's you. You started about 9 months ago and know some of the jargon and where some bodies are buried. You're accountable for some amount of business impact, and generally can't just go rewrite stuff. You also have 6 other people on call for this service with you who have varying levels of familiarity with the current code. You have 2.25 years left. Good luck.

Meanwhile I've seen codebases owned by the same 2 people for over 10 years. It's night and day.
by mbac32768 | 2025-08-30 14:55:34+00:00
I mean when the hobby OS wants to shut down, it can power the machine it's running on down. Not unlike what would happen if you clicked power off on your desktop OS menu.

Getting it to work on GCP meant properly driving something called the Intel PIIX4 controller which was emulated into the VM.

Separately from the OS being able to turn itself off, the OS needs to process a signal received by the hypervisor on this controller to support the hypervisor gracefully shutting it down. Otherwise GCP will wait 90 seconds after it has sent the shut down signal to give up and terminate the VM itself.

The problem I was trying to solve was (a) OS can shut itself down in GCP (b) restarts in GCP from the GCP console would be instant, rather than take 90+ seconds
by ttz | 2025-08-30 14:55:39+00:00
I was recently having a conversation with some coworkers about this.

IMO a lot of (software) engineering wisdom and best practices fails in the face of business requirements and logic. In hard engineering you can push back a lot harder because it's more permanent and lives are more often on the line, but with software, it's harder to do so.

I truly believe the constraints of fast moving business and inane, non sensical requests for short term gains (to keep your product going) make it nearly impossible to do proper software engineering, and actually require these if-else nests to work properly. So much so that I think we should distinguish between software engineering and product engineering.
by 10000truths | 2025-08-30 14:55:47+00:00
True, it's application specific. The typical reason an application would need to load/unload DLLs cleanly and repeatedly (where the caveats of dlclose are in full force) is for a plugin system with hot-reload functionality. And for that use case, the expected API/ABI is known in advance, so the shim can be tailored for it.
by tialaramex | 2025-08-30 14:55:49+00:00
Well, Rust's standard library provides two types named Error, their full names are core::fmt::Error (aka std::fmt::Error) and std::io::Error

But, neither of these is intended as "the" error type - unless you're a formatter or an I/O abstraction they're not the error types you want.

Rust provides a trait core::error::Error (aka std::error::Error) and that might be what you're thinking about. It's recommended that your own private error type or types should implement this trait but nothing requires this in most contexts.