MurphyA/hacker-news huggingface dataset:
by mindslight | 2026-02-10 04:17:21+00:00
Exactly. And now that labor's bargaining power has been thoroughly smashed for good, the problem they've perpetuated and grown serves as a convenient excuse for the need for lawless terror gangs and concentration camps to keep the disempowered people in their place.

I'm frankly amazed at how people can look a the capital strike orchestrated with the AI narrative, protests being attacked by the aforementioned jackboots, the big tech authoritarians taking the gloves off, and a corrupt pay-to-play administration looting our country, and then conclude that any of this will somehow lead to everyday citizens being more enfranchised.

Sure, immigration reform could have done this twenty years ago. But powerful business interests didn't let it happen then, so it behooves you to start questioning why they are outright championing it now!
by gfarah | 2026-02-10 04:17:27+00:00
Yes! I think that might be a more exact title. This is what I mean:

First point:
- Mountain: Cerro Lago del Congo (The GPS coords refer to the peak)
- Locality: Liborina
- State: Antioquia

Second point:
- Mountain: Sierra Nevada de Santa Marta (The GPS coords refer to the peak, called Pico Cristóbal Colón)
- Locality: Santa Marta
- State: Magdalena

Pd. Hope you enjoyed your visit! I think Colombia is beautiful (But hey! I am biased)
by bumby | 2026-02-10 04:17:32+00:00
A ham sandwich is probably one of the poorest examples for this point. Ham has a fairly long shelf life, comes pre-cooked, and is exceedingly cheap as far as meat goes if you buy it on the bone when it’s available. Especially if you are willing to bake your own bread (I often see bread machines in many thrift stores), a ham and cheese sandwich is closer to $1 than $2.

1/5 lb of ham @$2.5lb is $0.50.
A slice of cheese @ $2.50/lb is about $0.20. Two slices of homemade bread is about $0.20. I don’t know how much you’d add for vegetables or condiments but it ain’t much.
by fouc | 2026-02-10 04:17:37+00:00
Dependency management means the ability to have more than 1 version of the dependency installed, under the same package name.

i.e. Let's say you install a bunch of homebrew packages, everything is working. Then 6 months later you go to install another package - homebrew likes to upgrade all your packages (and their dependencies) willy nilly.

And if it breaks shit, there's no way to downgrade to a specific version. Sometimes shit broke because the newer package is actually a broken package, or sometimes it's because the dev environment was depending on a specific version of that package.

There's basically no way to have multiple versions of the exact same package installed unless they use their hacky workaround to create additional packages with the version number included in the package name.
by zeroq | 2026-02-10 04:17:48+00:00
Well, yes, you could argue the internet was like "harvard", a proper secret society club, where only wealthy and approved were invited, but still, even in '99 the internet was freely available at unis and I remember we had a whole plethora of weirdos.

The other weird artifact of that era were "gaming caffes" - much like internet caffes, but before the internet was widely available and people were often bringing their own PCs to play starcraft or quake on LAN.

I play competitive games online to this day and I really miss these days. Today's online scene is extremely toxic. I still remember my den which was often frequented by local gopniks, outmost disgusting creatures, but when we played the game there was a strong sense of chivalry and sportsmanship that's nowhere to be find in today's online games.
by drzaiusx11 | 2026-02-10 04:17:52+00:00
Fun fact: Shortly after MS Teams launched I created an internal "reconstituted" desktop Teams client for myself and the poor souls in my org that had MS Teams thrust upon them. It extracted resources from the (unminified!) electron app as well the js and CSS files from their web version, then repackaged it again via electron, wrapping into a standalone executable. Think like a really complicated greasemonkey/tampermonkey script.

My fork at the time replaced their criminal white space use and offered a more compact and information dense alternative using CSS and JavaScript, injected all post rendering. Ah, the silly things one is capable when faced with a minor inconvenience and a wandering mind...
by acuozzo | 2026-02-10 04:17:58+00:00
Entirely? No, but check this out: https://www.unodc.org/documents/ungass2016/Contributions/Civ...

Also, remember that the 13th amendment to the US constitution retained the right for the state to use imprisoned persons for slave labor.

Here's a question: The other countries you mention... do they have mandatory 5-year minimum sentences for possessing as little as 5g of Crack Cocaine?
by noduerme | 2026-02-10 04:17:59+00:00
Well, that or it's taking a situation where the client didn't understand the software but the dev did, and turning it into a situation where no one understands what anyone's babbling about at a meeting.

How do you explain the constraints to the stakeholders if you didn't try to solve them yourself and you don't fully understand why they are constraints?

[edit] Just to add to this thought: It might be more useful to do the initial exploratory work oneself, to find out what's involved in fulfilling a request and where the constraints are, and then ask an AI to summarize that for a client along with an estimate of the work involved. Because to me, the pain point in those meetings is getting mired in explaining technical details about asynchronous operational/code processes or things like that, trying to convey the trade-offs involved.
by agentultra | 2026-02-10 04:18:38+00:00
I also took a stab at the versioning challenge back in 2019 and wrote a library with a friend in a fevered evening for type safe migrations in Haskell [0].

In practice it’s a bit tricky to use because it doesn’t enforce encoding the schema identifier in the serialized payload. Oops.

But between that, automated typing from examples, and refinement it might be possible to develop a system that can manage to validate the serialized data against the parser and have the serialization data appear in the type. At that point you could query the whole system.

[0] https://hackage.haskell.org/packages/tag/library
by voidhorse | 2026-02-10 04:18:40+00:00
What? Distributed systems 101 is to write workers that execute stateless, pure, functions and to manage state centrally (basically monads in yet another guise, fan in/fan outs) and to use functional operations to merge and transform data (map reduce).

There are a lot of reasons people don't succeed in systems thinking or in writing good distributed architectures, but functional programming is not one of them. If anything it's an inability to think functionally and to leak state and establish brittle dependencies absolutely everywhere that scuppers systems. Yes, FP has ton's of techniques that aid in good design at lower levels too, that doesn't mean it hampers you at high levels. In fact, much of what this article puts forward is a false dichotomy. None of the lower level FP principles and techniques like strong and expressive types systems are in conflict with the much more general principles of system design covered in the article (and they actually help you realize these principles—think version skew is bad in Haskell? good luck figuring out wtf is even happening in a tangled javascript async promises monstrosity undergoing version skew)

Also, slop, gross. At least edit some of that empty AI verbiage out of the final essay. It has the character and charm of a wet rag and adds zero information.
by throwaway150 | 2026-02-10 04:18:42+00:00
Yes, I read that and directly addressed that in my reply to @jodrellblank above. Repeating it here:

"However noble the foundation's mission sounds, the reality is that Matrix is a complex protocol sustained by people investing their time and energy because they care about it. It will not magically solve every user problem."

> You saying they don't want to be popular is, with all due respect, completely from your ass.

Perhaps you should read my messages more carefully. Try to read to understand instead of reading to respond. Not even once I mentioned anywhere that they don't want to be popular. I said that they aren't popular coz of $REASONS. I said they cannot be popular without help. Are you helping them? I help them by sending small fixes to issues that annoy me. I am trying in my own way to make it a little better. How about you? Are you here only to complain or are you doing anything to help them become a little more popular?

This is not a commercial product, you know. It is an open source project developed and improved by volunteers like you and me. Yes, there is a foundation and there is a mission but that mission will not become magically true without help from people like you and me.

If you don't want to help that's alright. You can use proprietary software where the devs will give you the software you want in exchange for money. There's nothing wrong with that. But if you want Matrix to be more popular, people like us have to make it popular by contributing to it.
by blandflakes | 2026-02-10 04:18:42+00:00
> Simple, although I only mentioned repos should be mono, I should've also said deployment should be mono as well. I thought that was a given.

Deploying your service graph as one atomic unit is not a given, and not necessarily even the best idea - you need to be able to roll back an individual service unless you have very small changes between versions, which means that even if they were rolled out atomically, you still run the risk of mixed versions sets.
by threethirtytwo | 2026-02-10 04:19:31+00:00
I never said it stops you from making ALL breaking changes. But it makes a whole class of very common breaking changes Impossible to occur. This is a definitive benefit. Monorepo means much less errors, Polyrepo means more, every other difference between the two is a debatable opinion but this is definitive.

>You still have to understand that services aren't deploying as an atomic unit and make sure that your network calls are forward and backward compatible.

The time between inception of a deploy and the termination of a successful deploy isn't solved. But a monodeploy solves an entire class of errors outside the boundary of an atomic deploy. Think about what's in that boundary and what's outside of that boundary? How long does a deploy take? An hour? How long are you not deploying?

That's they key, static checking can't fix everything and a monodeploy isn't a full guarantee of safety, but it does guarantee the impossibility of a huge class of errors in the interim time between successful monodeploys.
by ajhenrydev | 2026-02-10 04:19:43+00:00
Thanks a ton! Difficulty is a great question. After a few rounds of puzzles, I like to aim for an 85-90% completion rate and found that puzzles with around 30-40 characters or usually 10-15 words is the sweet spot. Smaller letter pieces can also up the ante.
There is a seeded puzzle generator algorithm that handles puzzle layout and piece creation. There’s an option to create your own puzzles and it’s always a treat seeing the bee movie script get generated lol
by ssl-3 | 2026-02-10 04:20:26+00:00
I know, right?

I've been trying to write properly, clearly, and with the most expressive words I can come up with for many decades. I try to punctuate well, and to use functional formatting that I hope helps to effectively convey whatever it is that I'm on about. I try to improve as time goes on.

And I do this because if I'm going to bother with writing something for others to read, then I want my intended meaning to be easily-understood.

But increasingly, the instances where I manage to not screw any of that up too terribly result in a snarky and insulting retort in return.

And that kind of response is just not useful to anyone. I mean: What would people presume to have me do, instead? Become less-literate? Die in a fire? (Worse?)

fuh.
by lmm | 2026-02-10 04:21:12+00:00
This all sounds very clever, but in practice no, most of the problems are code problems and if you do functional programming you really can avoid getting paged at 3AM because everything broke. (Even if you don't solve the deployment problem the article talks about - you're not deploying at 3AM!). It's like those 400IQ articles about how Rust won't fix all your security problems because it can't catch semantic errors, whereas meanwhile in the real world 70% of vulnerabilities are basic memory safety issues.

And doing the things the article suggests would be mostly useless, because the problem is always the boundary between your neat little world and the outside. You can't solve the semantic drift problem by being more careful about which versions of the code you allow to coexist, because the vast majority of semantic drift problems happen when end users (or third parties you integrate with) change their mind about what one of the fields in their/your data model means. There are actually bitemporal database systems that will version the code as well as the data, that allow you to compute what you thought the value was last Thursday with the code you were running last Thursday ("bank python"). It solves some problems, but not as many as you might think.
by HillRat | 2026-02-10 04:21:20+00:00
If you see it on the DC metro, the buyer is a Hill staffer or a Pentagon action officer; if you see it at the Super Bowl, the buyer is you (assuming you're an American taxpayer), to help maintain a certain amount of public political capital when Congress starts looking at whether they want to fully fund TR-3 and Block 4. Cutting a military program popularly seen as successful is a whole lot harder than cutting one popularly seen as a wasteful failure, and doesn't garner the politician behind it nearly as much positive PR.
by idiotsecant | 2026-02-10 04:22:29+00:00
Preppers are maybe the worst of the nonsense cosplay subcultures in modern memory. The moment things go south the people who come out ahead are always the people able to convince and control their fellow humans. The weirdo in the woods with the bunker gets his food stolen on like day 12. The post apocalypse warlord makes it through just fine. Better, maybe!

The key to survival has always been tribal dynamics. This wouldn't change in the apocalypse.
by nofriend | 2026-02-10 04:22:53+00:00
> Surely the law prohibits all copyright infringement, not just infringement of companies with lawyers and deep pockets.

No. The DMCA is capricious by design in that if ceases to provide safe harbor if too much copyright infringement is going on. Hence allowing people to pirate the properties of small rightsholder but not larger ones is a valid way to retain safe harbor.
by threethirtytwo | 2026-02-10 04:25:08+00:00
>Oh, I thought you were speaking more to the topic and content of the article in question, which goes to great lengths to describe the sorts of problems that are much, much harder to catch than simple compiling of queries and checking them against the database, or the message stor

Right. But we haven't even have square one solved which is the easy stuff. That's my point.

>Even if you were to reduce the database to a simple API, the question then remains how do you make sure to version it along with the other portions of the system that utilize it to prevent problems.

I said monorepo and monodeploys in this thread. But you need to actually take it further then this. Have your monorepo be written in a MONOLANGUAGE, no application language + sql, just one language to rule them all. boom. Then the static check is pervasive. That's a huge section of preventable mistakes that no longer exist, now that type that represents your table can never ever be off sync.

I know it's not "practical" but that's not my point. My point is that there's a huge portion of problems with "systems" that are literally obviously solvable and with obvious solutions it's just I'm too lazy to write a production grade database from scratch, sorry guys.
by torton | 2026-02-10 04:26:36+00:00
Some projects, where the constraints are hard (immovable deadlines, inflexible scope, etc.) can still benefit from detailed estimation as far as possible. This way any problems or misalignments have a chance to come out early.

Most stuff I do that is long term isn't that critical and gets broken into reasonable size phases; the closest one is planned in detail, the next one has no major open questions, and the rest have a brief summary of what will be accomplished / what is the goal of that phase only.

That gets rid of a lot of the lack of flexibility of waterfall, and it does happen that priorities change a lot and many projects don't get to the latter phases (often, by definition/priority, the less "immediate fire" ones).
by voidhorse | 2026-02-10 04:27:07+00:00
I am a technical writer. This article is not good technical writing.

Good technical writing allows you to get to and understand the point in a minimum of time, has a clear and obvious structure, and organizes concepts in such a way that their key relationships are readily apparent. In my opinion this article achieves none of these things (and it also is just bad insofar as its thesis is confused and misleading in a very basic way—namely the relationship between functional programming philosophy and distributed systems design is far more aligned than it suggests, and it sets up a false dichotomy of FP versus systems, when really the dichotomy is just one of different levels of design (one could write the exact same slop article about what OOP "gets wrong" about systems—it gets it "wrong" because low level programming paradigms techniques are in fact about structuring programs, not systems, and system design is largely up to designers—the thesis is basically "why don't these pragmatic program-leave techniques help me design systems at scale" or in other words "why don't all these hammering techniques help me design a house?")
by phailhaus | 2026-02-10 04:28:22+00:00
Great writeup! Looks like this is going to be relevant very soon.

> Tools do not make a culture; the people engaging on it do

Absolutely, but it's also important to keep in mind that the tool has a big impact on culture by virtue of what behaviors it encourages and what limitations it has. "The medium is the message" is very true here, so think carefully about which tool you hop onto.
by tiny-automates | 2026-02-10 04:28:37+00:00
the planner-executor isolation point is what stood out to me. right now most browser agent frameworks treat the LLM as both the decision-maker and the one processing untrusted content — so a prompt injection in page content can hijack the entire control flow.

the paper's recommendation to split planning (trusted inputs only) from execution (handles untrusted web content) mirrors how we think about privilege separation in OS design, but almost nobody building agent frameworks is actually doing it.

the CVE they found is also telling — Browser Use's domain allowlist could be bypassed, which means the "security" feature was essentially decorative. When you give an agent session tokens and let it
navigate freely, the trust boundary problem isn't optional anymore.
by albatross79 | 2026-02-10 04:29:08+00:00
We're already in the realm of virtual particles, instantaneous collapse, fields with abstract geometric shape and no material reality, wave particle duality, quantized energy etc. The project of physics was to discover what the universe was made of. None of these things can answer that. If intelligibility was the goal, we lost that. So in an important sense, they might as well have closed up shop. If you're interested in the specific value of a certain property to the nth decimal place, there is work to do, but if you're interested in the workings of the universe in a fundamentally intelligible sense, that project is over with. What they're doing now is making doodles around mathematical abstractions that fit the data and presenting those as discoveries.
by threethirtytwo | 2026-02-10 04:29:25+00:00
>Deploying your service graph as one atomic unit is not a given,

It's not a given because you didn't make it a given.

>and not necessarily even the best idea - you need to be able to roll back an individual service unless you have very small changes between versions, which means that even if they were rolled out atomically, you still run the risk of mixed versions sets.

It is the best idea. This should be the standard. And nothing prevents you from rolling back an individual service. You can still do that. And you can still do individual deploys too. But these are just for patch ups.

When you roll back an individual service your entire system is no longer in a valid state. It's in an interim state of repair. You need to fix your changes in the monorepo and monodeploy again. A successful monodeploy ensures that the finished deploy is devoid of a common class of errors.

Monodeploy should be the gold standard, and individual deploys and roll backs are reserved for emergencies.
by unethical_ban | 2026-02-10 04:30:23+00:00
Clearly the outrage is about the slippery slope and the current techno-fascism gripping the US. I'm not being sarcastic.

You do it for the children now, you poo-poo concerns because "who uses discord for non gaming anyway" and you're just letting the foxes in the henhouse.

Twelve months from now and they'll want it for every chat.
by themafia | 2026-02-10 04:30:33+00:00
> as their opportunity to travel faster

You're ascribing motive where you have no data to do so.

> travel slower and slower

Roads near capacity slow down. This capacity surge is typically highly predictable.

> tragedy of the commons style, by opportunists.

People can only drive one car. They cannot drive two at the same time to get there twice as fast. I don't think this logic applies.
by fouc | 2026-02-10 04:30:46+00:00
I feel like for this reason we should be focused on colonizing asteroids rather than the moon or mars. We can do various tricks to get artificial gravity via centrifugal force. For example if the asteroid is solid enough, we can consider putting it into a spin. If it's not solid enough, we can consider laying a track around the circumference and/or boring a tunnel around the circumference and essentially having the habitat(s) constantly rotating around the asteroid.
by metalcrow | 2026-02-10 04:32:15+00:00
You actually seem to have a compelling case here. I am seeing something like 20% of the combined state and federal prison population is in for drug offenses, but that raises some more questions. I could certainly believe that a lot of that is simple possession and the US is uniquely terrible in that regard, but certainly other countries must handle drug dealers as well. And it's hard to break out drug offenses into more detail. Are we talking kilograms of possession? Distributing drugs? (of course, some laws claim that possession, say, 10 grams implies intent to distribute which complicates things).

And even outside of drugs, while 20% of our prison population does account for a large chunk of the us's exceptional nature, it would still leave us #1 by a large margin if it didn't exist. Although Wikipedia does talk about another part of this is due to the _length_ of the US sentences, and how they are much longer on average then other countries, so that also contributes significantly.
by elguyosupremo | 2026-02-10 04:35:06+00:00
We use GCP Cloud Build for most of our CI needs, and then Argo and Kargo to deploy things.

Cloud Build is generally pretty straight forward to use and we rarely have to mess with pipelines after initial setup. It's easy to make new images with any tools you need for your build process.

Triggers and repo connections are a little annoying to setup, but if you get a little terraform module set up it's not too bad.