skysight-inc/HackerNews huggingface dataset:
This short book is (IMHO) one of the best on software design. To me the main point of the book is the importance of well-designed abstractions. The "surface area" of a well-designed abstraction is small, easy to understand, and helpful as you reason through your code when you use it. The underlying implementation may be deep and non-trivial, but you find that you don't have any need to worry about the underlying internal details.

In short:

A beautifully designed abstraction is easy to understand and use.

It is so trustworthy that you don't feel any need to worry about how it is implemented.

Finally, and most importantly, it enables you to reason with rigor and precision about the correctness of the code you are writing that makes use of it.
I came back home to my parents house this christmas and my parents and my brother complained to my why the Google sponsored links don't work anymore (because I've set their DNS to an adblock DNS).

I couldn't believe what they were saying. Their words didn't make sense to me. I ended up in removing all adblock- and privacy-related settings in our router - it felt like a defeat.
I think this was the meme before moduliths[1][2] where people conflated the operational and code change aspects of microservices. But it's just additional incidental complexity that you should resist.

IOW you can do as many deploys without microservices if you organize your monolithic app as independent modules, while keeping out the main disadvantages of the microservice (infra/cicd/etc complexity, and turning your app's function calls into a unreliable distributed system communication problem).

[1] https://www.fearofoblivion.com/build-a-modular-monolith-firs...

[2] https://ardalis.com/introducing-modular-monoliths-goldilocks...
Erlang has its quirks but Elixir at least is an order of magnitude easier to learn than Rust or Java.
Someone once took one of my youtube videos and reuploaded it with a link to malware in the description. I took down the video with a copyright claim.
You just created a fix up to a large, but arbitrary, number just pushing the problem down the road instead of fixing it.
> Not a silver bullet; you increase api versioning overhead between services for example.

That's actually a good thing. That ensures clients remain backwards compatible in case of a rollback. The only people who don't notice the need for API versionin are those who are oblivious to the outages they create.
So we watered down the term, gotcha, now we know declaring things a genocide doesn't mean anything any longer. The boy who cried wolf and all that.
Wasm and risc-v are totally different.

Wasm is an assembly like language for high performance computing in the browser

And risc-v is an arm-like instruction set for physical CPUs.

Wasm has a lot of runtimes which are basically VMs that run wasm.

Libriscv is a very small very vast VM that runs riscv assembly.
Ah, mobile first layouts meaning viewing a website on my 27" full HD screen means having 2 inch gaps between UI elements...
OT but anyone else finds it ironic that we had multiple articles telling us how Forbes publishes AI generated articles way outside their expertise and still we're seeing Forbes articles regularly on HN?

Like, I know that apparently this one is a personal blog, but why does anyone even set up a blog at Forbes. Sometimes I wonder about this.

And actually, even when knowing it's a personal blog and me a serious, I cannot really take it serious anymore when seeing the Forbes URL. I am more inclined to skip chapters, to look for AI slop, and to not take the views of the author as independent. Not consciously, but subconsciously.
You’re going to need a very impressive portfolio of personal projects to get a job without a degree or experience today.
Juniors aren’t coming back, not with all this AI around.
The Elo Rating System [video]
Murder Mystery: GCC builds failing after sbuild refactoring
There's a completely new language reference in the process of being written: https://lean-lang.org/doc/reference/latest/ (by David Thrane Christiansen, co-author of The Little Typer, and Lean FRO member)

Some links here seem to be broken at the moment — and David's currently on vacation so they likely won't be fixed until January — but if you see for example https://lean-lang.org/basic-types/strings/ it's supposed to be https://lean-lang.org/doc/reference/latest/basic-types/strin...
After a while I started to think this article is AI generated gibberish. After deeper thought I came to conclusion that appearance of LLM made internet as source of information completely unreliable.
This looks really cool but anyone else also paranoid about dumping voice signature to random site?

I mean in general, isn't it sort of a good way to capture voice data? Or is that no longer important? I remember some Canadian banks were using vocal Id recently.
If incumbents would be favored then it stands to reason that total advertising spend would be at least loosely proportional to market decentralization. Yet in America advertising spend has increased many orders of magnitude since the 50s, while the market has simultaneously become dramatically more centralized.

By contrast in parts of the world with relatively negligible advertising, markets tend to be heavily decentralized.

And I think this makes far more sense of you think about it. If you make a soft drink that is rated far higher than Coke in blind testings, or perhaps one that is near indistinguishable in flavor, but cheaper, you stand very little chance of competing successfully. There's a reason Coke spends billions per year in advertising, and it has nothing to do with reaching the three remaining people who are not aware Coke exists.

And yeah without advertising the "free" services on the internet wouldn't exist, replaced by a mixture of genuinely free services, and for-pay. This would IMO be a dramatically better state of affairs. Businesses whose actual customer is not the people using their product/service leads to such dystopic nonsense.
Proof automation definitely counts as AI. Not all AI is based on machine learning or statistical methods, GOFAI is a thing too.
It’s a monkey’s paw solution, now you have 15 kinda slow pipelines instead of 3 slow deployment pipelines. And you get to have the fun new problem of deployment planning and synchronizing feature deployments.
Python 3.6 is from 2016 and 3.13 is from 2024. Similar things happen on most platforms on this timescale, eg on the Java side[1], you'd be going from Java 8 to Java 23.

Clojure is pretty good even on that timescale though.

[1] See eg https://stackoverflow.com/a/50445603 up until 2021
you are correct re: semi autos. most infantry would rarely use fully automatic fire with ar15 spec rifles too, as it is wasteful and inaccurate. exception being squad automatic weapons

echoing wat titanomachy said, there was a time where it was unthinkable to see police with anything more than a sidearm. a lot of police still had revolvers into the 90s as well.
Well in Italy where I leave I have never seen a PC running any of those dos graphical interfaces. Maybe they were not even sold in Italy?
Why was hardware diversification an asset for the IBM PC ecosystem?
Politicians are a part of the ruling class for any sensible definition of the word.
Because it’s a distinction without a difference. You can say the same thing about people: many/most of our decisions are made before our consciousness is involved. Much of our “decision making” is just post hoc rationalization.

What the “LLMs don’t reason like we humans” crowd is missing is that we humans actually don’t reason as much as we would like to believe[0].

It’s not that LLMs are perfect or rational or flawless… it’s that their gaps in these areas aren’t atypical for humans. Saying “but they don’t truly understand things like we do” betrays a lack of understanding of humans, not LLMs.

0. https://home.csulb.edu/~cwallis/382/readings/482/nisbett%20s...
> the IDF would be happy to oblige

Do you speak for the IDF? How is it then that you can also represent Hamas?

> insist on staging that war entirely in civilian areas.

Gaza is an open-air concentration camp which has suffered under Israeli military control for decades. Where else are they going to fight - specially constructed stadiums built for the purpose? Outside, in the no-mans land between Gaza and Israel? 2.1 million human beings have been uprooted from their homes and herded into a 360km2 area by their oppressors - should they escape the military barriers that surround them and bring the fight elsewhere?

> But Hamas will not do that, because they want the destruction of Palestinian peoples more than Israel does.

This position is duplicitous and preposterous. The Palestinian people want to be free from the oppression they have suffered for decades. Israel, a powerful nation, had many, many chances to make peace happen in Gaza - it didn’t happen because Israeli society is fundamentalist, militaristic and racist, and I challenge you to prove otherwise.
I gave up on trying to understand people and their motives a long time ago. Sometimes, people just snap. We always want answers but sometimes there aren’t any.
For anyone wondering, here's where that is: https://github.com/libriscv/libriscv
Seeing dissenting opinions as being “actively propagated” by “credulous idiots” sure makes it easy to remain steady in one’s beliefs, I suppose. Not a lot of room to learn, but no discomfort from uncertainty.
Incredibly cool. I enjoyed playing it for a bit but was not huge on some of the characters or art. It'd be cool if you added a level editor so we can add our own scenarios
Maybe stuff like this was already gibberish before LLMs.
As long as every team managing the different APIs/services don’t have to be consulted for others to get access.
You then get both the problems of distributed data and even more levels of complexity (more meetings than with a monolith)
It is my experience that it is easier to create good quality things as an individual than as a team. Especially for the core of a product. Also look at Asahi.

However, to really finish/polish a product you need a larger group of people. To get the UI just right, to get the documentation right, to advocate the product, to support it.

It is easily possible to have 10 people working on the team and only having a single core person. Then find someone to act as product manager while as the core person you can focus on the core of the product while still setting the direction without having to chase all the other work.

It is possible, but not easy to set up in most organisations. You need a lot of individual credit/authority and/or the business case needs to be very evident.
Of course not. What drew me in was the edginess. What kept me there was the very dark but funny humor. This was in 2006-2010, it was all brand new, it was exciting.

I have a kid now and my plan is to not give her a smartphone/social media till she’s 16 and heavily monitor internet access until she’s atleast 12. Obviously I can’t control what she will see with friends but she goes to a rigorous school and I’m hoping that will keep her busy. Other than that I’m hoping the government comes down hard on social media access to kids/teenagers and all the restrictions are legally codified by the time she’s old enough.
> We're entering the era of "corporate pleasing uncontrollable governments", and this will be fun in a tragic way.

Right, so the answer is not to make that bad government bigger, the answer is to replace it with a good government. Feeding a cancer tumor doesn't make it better.
Lots of fun, really enjoy it! And Woohoo, love Nuxt!
All those AbstractContextFizzProviderMetaFactoryBuilderInjectorStreamManager quickly add up.
(Android dev at Meta here, though not involved with the Kotlin migration. Opinion below, completely my own)

We have: public and internal apps, tests for those, tons of wrappers around Android APIs, autogenerated infra code, did I mention the API wrappers?, custom layout engines, duplicate code that people wrote because they couldn't be bothered to search the monorepo, code that was copied without much thought because people searched the monorepo and found something, app architecture tools like dependency injectors, annotation processors, custom build tooling, etc

If you can think it, someone has probably committed Java/Kotlin or native code for it already.
> I am perplexed by Grammarly getting progressively worse as time goes by

They switched from parse trees and rules to LLMs, presumably some things got better and some got worse
What? But in chatgpt I have to copy it to chatgpt.

With Grammarly it's right here in the text box as I am typing.
It's not normal to see someone doing x behavior, initiate a conversation with them and say "I hate x behavior." They're not tone policing you when they tell you that you come off like an asshole when you do that.
The reason by boss tends to give is that it’s made by AWS, so it cannot possibly be bad. Also, it’s free. Which is never given as anything more than a tangentially related reason, but…
Most of it is made in China, China isn't that poor any more it is like Mexico so people have running water and food security and way more than that as well.
What it's not obvious it the amount of technical and cultural advancements Sumerians did.
We don't know enough about them as their history has been mostly lost and only crumbles and leftovers can be recovered from the dust of the millennia.
Besides a bunch of words still in use, in some form, in modern languages, the writing itself seems not to be the greatest invention, while bringing humanity from prehistory silence to history chatter.

I wouldn't be surprised if we found evidence of more technical and social advancements we have given for granted in the past thousand years.
The argument here seems to be AI can’t become a mind as it does not experience. There is a counter argument though that the way we access our past experiences is via the neural pathways we lay down during those experiences and that with the new neural networks AIs now have we have given them those same pathways just in a different way.

At present I don’t think it is yet at the same point but when the AI can adjust those pathways, add more in compute time (infinite memory like tech) and is allowed to ‘think’ about those pathways then I can see it gaining our level or better of philosophical thought.
i just hate capitalism. couldn't you just stop a #3?
> and evidence suggests that even the very fabric of the universe is statistic

No, there’s no evidence suggesting that.

If you are refering to the mathematical universe, its a fun mental excersise, not a serious idea.
> Just taking a look on the war on terror.

The war on terror is a criminal farce, with the purpose of fleecing the Western states of, literally, trillions and trillions of dollars. It has not successfully defeated terrorism - in fact, the architects of the war on terror have only produced more terror, in more places around the world, than ever before.

It is important to define and use the word genocide when it happens because we have international institutions that were built - because of the genocide of the Jewish people in fact - explicitly to prevent the world from experiencing yet another holocaust.

But as we can see, we in the West would rather argue semantics and play tribal politics than hold our own war criminals to account for their heinous crimes.

> Intent is really hard to prove

In the case of the genocide currently happening in Gaza, alas, intent has been very, very easy to prove.
>but it looks like Google shut down access to it via Google Groups

Huh? It still looks accessible to me.

https://groups.google.com/g/sci.med.radiology.interventional

Disclosure: I work at Google, but not on Groups.
For ages I've been hoping someone will clone Durable Objects and here you are! I'm going to check this out.

Are there any gotchas or differences from Durable Objects behaviour when using Rivet Actors? There seems to be quite a lot of subtlety in some of how they handle e.g. IO, so I assume you wouldn't be compatible with this directly?

https://blog.cloudflare.com/durable-objects-easy-fast-correc...
A good result.
In principle, the Linux Rosetta binaries should remain usable well into the future. Even if Apple discontinues support for Rosetta in their VMs, there's very little (beyond a simple, easily removed runtime check) preventing them from being used standalone.
> and the standard of living increases for the working poor are at best marginal

Not if you count the global poor, the global poors standard of living has increased tremendously the past 30 years.
For years I've wondered what the first, earliest color lookup table was.

Like any mapping from an index to a color value. Like a design for a Roman mosaic that indexes tesserae, or a declaration of which parts of a statue or mural would receive which color paint. Or even the inventory of someone who traded in pigments.
Usually we put "properties" as column headers while rows represent entities whose those properties are assigned or recorded.

It would be interesting to understand why it's not been the other way around or whether Sumerians used both orientations.
That book is a almost perfect summary of what is in my head after 30+ years of programming. I recommend it often to new people, as I see they make the same mistakes I did back then.

I recommend not loosing time with “Clean X” books, but instead read this book. Also, as noted in other comments, you can only “get it” after some real experience, so it is important to practice an develop a “common sense” of programming.
> What selective pressure is acting on humans to produce AI?

Capitalism, for one. Also social pressure on scientists to succeed at their chosen field. Throw in a strong dose of international politics (we better get it before the other guys), and there you have a strong set of selective pressures driving humans to create AI.
No-one is going to say no, as their money is not on the line right now.

For more check: https://www.momtestbook.com/

I wouldn't buy this btw. People like big dashboards, it's a vanity metric.
> Sudan, Ethiopia/Tigray, and Syria

Yes, but these are not western allies with immense financial and industrial resources, shared among themselves, whose leadership have signaled for decades their intent to create a new world order in the ashes of the wars they have intentionally fought - for decades.

Certainly the genocides in Sudan, Ethiopia, and Syria are atrocities which must be addressed. But they are not the world’s biggest bully thugs. The US and its coalition of willful criminal states, including Israel, are the worlds biggest bully thugs. Sudan doesn’t have a nuclear threat regime which promises to eradicate all life on earth if it doesn’t get its way, politically, across the globe.

> But it's incorrect to treat US/Israel as uniquely competent

I disagree completely. The US and Israel are extremely powerful nations capable of the industrial might required to assemble nuclear weapons. They very definitely should be held to to task - especially since one funds the other, providing immense military power where they could, instead, be using that overwhelming industrial capability to build peace.

Like China does, for example.
I’m with you with 99% of those books. But this one is little bit different, IMHO
In wit for wasm they call them variants, which makes more sense to me. Enum is kind of an odd name for them. https://component-model.bytecodealliance.org/design/wit.html...
Sqlite stores everything as variable length I believe. They have their own varint type for storing integers.
Is it? I hear that thrown around a lot but I doubt it's easy. Maybe people are confusing it will a swirly filter, which isn't destructive and can be reversed easily?

I know that there's strong prior knowledge but the pixelation is destructive so the problem is very ill-posed.
An old monolithic PHP application I worked on for over a decade wasn't set up with independent modules and the average deploy probably took a couple seconds, because it was an svn up which only updated changed files.

I frequently think about this when I watch my current workplace's node application go through a huge build process, spitting out a 70mb artifact which is then copied multiple times around the entire universe as a whole chonk before finally ending up where it needs to be several tens of minutes later.
What is ”deliberate thought”? And why would human level intelligence require it? Wouldn’t performance of any intelligence be completely separate of how it produces the output? I mean if an AI one day surpasses human performance in every conceivable task, is the argument still going to be ”yeah but I feel like it’s not deliberate thought, it’s just statistics”?
One of the most life altering essays I’ve ever read is Montaigne’s To Philosophize Is To Die (https://hyperessays.net/essays/to-philosophize-is-to-learn-t...) where he lays out the principle of memento mori (“remember to die”). Fear of death is often very debilitating, and a topic we all like to avoid but we all have to deal with it, sooner or later. The sooner you accept it, the freer (and happier) you’ll feel.
DEBK is also tabular. And it's a perfect solution when you cannot (or don't want) delete or update older data. Just like when you write on clay tablets.

I wouldn't be surprised if we recover Sumerians example of DEBK tablets.
Yeah, it's perfectly reasonable to protest against the local consequences of a company that's doing good on a global scale. Even Tesla can be held accountable for its impact - it's a business after all.

I can only assume similar protests happen against other companies as well, but this makes better headlines due to misconceptions similar to GPs.
Microsoft is has been developing one for quite some time. Glass structure that should last thousands of years.
I understand the point being made - that LLMs lack any "inner life" and that by ignoring this aspect of what makes us human we've really moved the goalposts on what counts as AGI. However, I don't think mirrors and LLMs are all that similar except in the very abstract sense of an LLM as a mirror to humanity (what does that even mean, practically speaking?) I also don't feel that the author adequately addressed the philosophical zombie in the room - even if LLMs are just stochastic parrots, if its output was totally indistinguishable from a human's, would it matter?
Monsieur de Montaigne’s observations are highly above the average as concerns wealthy people advising everyone what to do with a nobleman’s time and resources.

As a new magistrate or nobleman it’s a decent place to start winding up with something better than a Tesla and a Substack advising people how to inherit a monopoly.

But for us plebs, it’s about as compelling as any other bunch of dandies on a tennis court.
> I would certainly not claim to have a deep understanding of functional programming.

From a philosophy-of-complexity perspective it's not needed, all you need to ask is: will my code give the same output given the same input? (And if not, there's your complexity!)

Of course, this is a big ask of a programmer. Leaving determinism up to the programmer in an imperative setting is like leaving memory-safety up to the programmer in a C setting.
They can, but I think the parent is saying that when you are crafting an instruction for someone or something to follow, you should be as direct and as clear as possible in order to remove the need for the actor to have to intuit a decision instead of act on certainty.

I would start with something like: 'Avoid writing comments which only concern stylistic issues or which only contain criticisms considered pedantic or trivial.'
> C compilers can change even the O complexity of your algorithms

I'd be curious to see an example...