I've been thinking the same: the smaller the codebase, the better AI performs. So a way to scale AI is to modularize your architecture to maximize the number of leaf nodes in the dependency tree, and split out separate libraries where it makes sense.
It is huge for token usage also, Claude grepping the codebase for context it doesn't have is the main consumer of input tokens from what I can see.
Perhaps we are putting human intelligence on a pedestal. I have often caught myself having a supposedly original idea only to find I inherited it from something I read months before.
We are mostly autocomplete with a mild capacity to synthesise new ideas. It’s the network effect of communicating that creates the feedback loops which amplify our collective intelligence.
Also if you think intelligent life has to have a regard for truth, not just a regard for self, tune in to any news channel.
Something an older and wiser programmer taught me, is to think of the infrastructure costs as a per-user cost. These numbers look enormous next to my bank balance, but if you save 500k per year to service 1 million users, it's nothing to your bottom line.
Meanwhile there's the opportunity cost of moving. All of the people who put effort into this migration, who could otherwise be building something revenue-generating. I think that's why in many companies cloud costs are a problem, but never enough to make it high up the backlog.
I considered doing the same but in the end decided I don’t want to use a platform I have to fight against, while still letting them build brand recognition to my kid.
So I downloaded a bunch of the videos on our desktop and blocked the site. Works for my 3.5 year old, not sure the plan when they outgrow it.
I'm nearly certain that the images and the text are AI generated from other sources and perhaps tweaked a bit. The headings are the giveaway. Low signal-to-noise ratio.
Google search results is full of this stuff, but first time seeing it at the top of HN
As a non-american I also thought the same. Reading a synopsis of evidence completely changed my mind [1]. Pipe bombs planted at party headquarters to divert the police, maps of tunnels under the Capitol building and so on. Not amateur stuff.
Can't uninstall the browser, and occasionally it's needed for legit reasons. I quite literally can't resist drifting towards mindless scrolling apps, though I know that's hard to fathom for some people.
- Set time limits on apps.
- Block App Store.
- Set a Screen Time pin, then forget it.
Downside: if you need to install a new app, you need to do a iTunes backup, factory reset and restore the backup,. Also apps won't continue to update with this approach.
Worth it though. I don't miss wasting 10-20 hours a week on brain rot apps.
On the flip side, putting a ticket on the backlog knowing it will never be high enough priority to be done is an effective way to manage people's feelings without outright nopeing their idea.
I made a tool to generate command line clients from OpenAPI definitions out of pure frustration from trying to stitch together incantations of curl commands to work with APIs.
I haven't revisited it in a while, and the docs could probably do with some love, but I use it every day.
The solution at my workplace is a bot that opens PRs to bump dependencies and automatically merges if the tests pass.
It's taken a lot of workload off devs to meet security targets. But I worry it makes supply-chain attacks more attractive. If an attacker can compromise a package and it's instantly merged into the codebases of thousands of different companies that's a huge danger.
Starting with a monolith is nearly always great advice. However, monoliths tend towards spaghetti because it's too easy essentially to draw new lines on the architecture diagram by importing from anywhere.
To scale a monolith codebase without devolving into spaghetti you need to have a well defined layered structure for modules. The other aspect is being able to hide internal code to prevent it being imported by other modules.
I did a write-up a while ago about how we do this on my current project [1], and published the Maven enforcer rule and ArchUnit test example as an open source project [2].
Strength training is so good for desk jobbers! I recommend joining some small group circuit training or CrossFit groups, where the trainers will show you how to lift correctly and safely.
I stopped adding salt in my cooking when I had to cook for a young baby. Pleasantly surprised to find I didn't miss it much, and pretty soon my tastebuds reset and when I eat out everything tastes wayyy too salty.
I used to follow topics to try to answer questions. It's a great way to learn a topic in depth. But I find that the bulk of questions about {topic} have already been asked, and the stream of questions are like "How do I get {topic} to work with {other niche tool}?". The Venn diagram of people who know both topics is way smaller. If you want an answer, narrowing the question to a single topic really helps.
But I have asked a few questions, and the quality of answers have really declined, mainly because people are rushing to answer and not reading the question. They could address this by delaying voting on answers.
It is huge for token usage also, Claude grepping the codebase for context it doesn't have is the main consumer of input tokens from what I can see.