Board

Board

2272 bookmarks
Custom sorting
Software Invention
Software Invention
Practical steps towards a better internet.
·tfos.co·
Software Invention
Longreads + Open Thread
Longreads + Open Thread
Programming note: The Diff will be off Monday for Memorial Day, back Tuesday. Longreads * Ed Conway on the surprisingly interesting history of car paint. The crux of this piece is that early in the history of the automotive industry, most of the time that elapsed between when supplies entered a
One interesting irony here is that the larger the overall economic opportunity for a new technology, the more it makes sense to let other companies capture market share, as long as there's some part of the stack that Microsoft still owns.
New Relic and Datadog collaborating on making the open source Open Telemetry project.
Figuring out the right context to use a technology, even a revolutionary one, is a very big deal: when Bell Labs first developed the transistor, the top applications they had in mind were military radios and missile guidance systems; the NYT article announcing the discovery also suggested smaller hearing aids. There turned out to be other use cases, too.
·thediff.co·
Longreads + Open Thread
Data in the Age of AI
Data in the Age of AI
We live in interesting times.
More generally, tools are useless without materials; materials don't have value unless worked on with tools.
An immediate consequence is that if the price of one input falls by a lot — perhaps due to a positive productivity shock — then the price of other is almost certain to rise.
For the last decade plus, the quantity of data in the world has been exploding: its price, therefore, implicitly declining. Software has been the relatively scarce input, and its price has increased: you can see this in everything from the salaries of software engineers to the market cap of top software companies. Software ate the world, with a huge assist from cheap, plentiful data.
·pivotal.substack.com·
Data in the Age of AI
MPLS | What Is Multiprotocol Label Switching
MPLS | What Is Multiprotocol Label Switching
MPLS, or Multiprotocol Label Switching, is a networking technology that routes traffic using the shortest path based on “labels” to handle forwarding.
·paloaltonetworks.com·
MPLS | What Is Multiprotocol Label Switching
Migrating from Supabase | Hacker News
Migrating from Supabase | Hacker News
null
I’ll finish with something that I think we did well: migrating away from Supabase was easy for Val Town, because it’s just Postgres. This is one of our core principles, “everything is portable” (https://supabase.com/docs/guides/getting-started/architectur...). Portability forces us compete on experience. We aim to be the best Postgres hosting service in the world, and we’ll continue to focus on that goal even if we’re not there yet.
Having worked on a Baas type offering, this is all very familiar. Over the years, I've come to believe the approach of trying define a service layer with these magic abstractions is fundamentally flawed and will always lead to the problems in this article: poor performance, poor local development experience, no transparency in to what is going on under the hood. They are great for fast proof of concepts, but not sustainable, long term product development.
·news.ycombinator.com·
Migrating from Supabase | Hacker News
Time capsule: assorted cooking advice
Time capsule: assorted cooking advice
Just in case I'm wrong, let me exchange some of those neurons for electrons.
Priority order for time-saving appliances: microwave, laundry machine, dishwasher, food processor, electric grill. Under no circumstances should you get a food processor before you get a dishwasher. Seriously. And I include laundry machine here because if you have one, you can do your laundry while cooking, which reduces the net time cost of cooking.
·apenwarr.ca·
Time capsule: assorted cooking advice
A Programmer's Code of Ethics
A Programmer's Code of Ethics
Don't write for others a program you wouldn't want written for you.
·apenwarr.ca·
A Programmer's Code of Ethics
SimSWE part 2: The perils of multitasking
SimSWE part 2: The perils of multitasking
I updated my SWE simulator[1] from a few weeks ago. This time, instead of PMs changing their minds about features, we have PMs and execs wh...
Using this (admittedly oversimplified) model, for this hypothetical product, shipping two features at a time would deliver 4x as much value, after 1200 days, as shipping 5 features at a time. With the same engineering team and the same features! In short, that's what makes SpaceX efficient and others inefficient. SpaceX might work engineers a little harder, but that's not the real benefit. The real benefit is that SpaceX has a clear idea of what really, really needs to happen next, and they deliver it incrementally. Others, mostly, don't.
Not shown: the benefits of being able to change your direction, based on customer feedback, after launch #1. The assumption that we are building the same features, but in a different order, is not very realistic. In reality, what you learn after launch #1 is so valuable that you end up changing product direction quite a lot, so early time spent working on features for future milestones is largely wasted.
·apenwarr.ca·
SimSWE part 2: The perils of multitasking
SimSWE part 1: Indecisiveness simulator
SimSWE part 1: Indecisiveness simulator
I made a simulation of what happens when release goals change. In the simulator, we have N developers working on release-critical bugs in p...
·apenwarr.ca·
SimSWE part 1: Indecisiveness simulator
Trust No one
Trust No one
adewhurst linked to Paul Graham's recent article about business and Open Source. Adrian's question essentially is: so is this a great artic...
The answer is, from just the context of the article, you don't know. The problem is that the author suffers badly from what's called the selection bias: wanting to believe something, and then examining only the evidence that supports your belief.
·apenwarr.ca·
Trust No one
The Google Vortex
The Google Vortex
I don't much like the fact of the Google Vortex. It's very sad to me that there are now two programmer universes: the haves and the have-nots. More than half of the programmers I personally know have already gone to the other side. Once you do, you can suddenly work on more interesting problems, with more powerful tools, with on average smarter people, with few financial constraints... and you don't have to cook for yourself. For the rest of us left behind, the world looks more and more threadbare.
·apenwarr.ca·
The Google Vortex
The world in which IPv6 was a good design
The world in which IPv6 was a good design
Last November I went to an IETF meeting for the first time. The IETF is an interesting place; it seems to be about 1/3 maintenance grunt wo...
Last November I went to an IETF meeting for the first time. The IETF is an interesting place; it seems to be about 1/3 maintenance grunt work, 1/3 extending existing stuff, and 1/3 blue sky insanity. I attended mostly because I wanted to see how people would react to TCP BBR, which was being presented there for the first time. (Answer: mostly positively, but with suspicion. It kinda seemed too good to be true.)
Requiem for a dream One person at work put it best: "layers are only ever added, never removed."
·apenwarr.ca·
The world in which IPv6 was a good design
10 years of... whatever this has been
10 years of... whatever this has been
I guess I know something about train wrecks. One night when I was 10 years old, me and my mom were driving home. We came to a train crossin...
A few years ago I learned the investor variant of Sturgeon’s Law. Here’s what a VC told me: 90% of new things will fail. Therefore you can just predict every new thing will fail, and 90% of the time you’ll be right. That’s a pretty good way to feel good about yourself, but it’s not very useful. Anybody can do that. Instead, can you pick the 10% that will succeed?
Projects live or die because of the energy people do or do not continue to put into them.
·apenwarr.ca·
10 years of... whatever this has been
The good feeling from bad feedback
The good feeling from bad feedback
I'm working on (statistically speaking) my least interesting work in years. Previously I spent time doing wifi drivers, boot scripts, logfi...
·apenwarr.ca·
The good feeling from bad feedback
What do executives do, anyway?
What do executives do, anyway?
An executive with 8,000 indirect reports and 2000 hours of work in a year can afford to spend, at most, 15 minutes per year per person in th...
Real values aren't what you talk about, they're what you do when times get tough. That means values are most visible during big, controversial decisions.
One of the book's claims, which I found shocking at first, was that in a large organization, executives don't set strategy. Not even the CEO sets strategy. Why? Because it's an illusion to believe you can enforce a strategy.
Not exactly. It's harder than that. What executives need to do is come up with organizational values that indirectly result in the strategy they want.
·apenwarr.ca·
What do executives do, anyway?
The Curse of Smart People
The Curse of Smart People
(I later learned that my evil plan and/or information about my personality may have been leaked to the recruiters who may have intentionally set me up with especially clueful interviewers to avoid the problem, but this can neither be confirmed nor denied.)
But it's not perfect. Smart people have a problem, especially (although not only) when you put them in large groups. That problem is an ability to convincingly rationalize nearly anything.
We all make decisions for emotional or intuitive reasons instead of rational ones. Some of us admit that. Some of us think using our emotions is better than being rational all the time. Some of us don't. Smart people, computer types anyway, tend to come down on the side of people who don't like emotions. Programmers, who do logic for a living.
Most people find this out pretty early on in life, because their logic is imperfect and fails them often. But really, really smart computer geek types may not ever find it out. They start off living in a bubble, they isolate themselves because socializing is unpleasant, and, if they get a good job straight out of school, they may never need to leave that bubble. To such people, it may appear that logic actually works, and that they are themselves logical creatures.
Working at a large, successful company lets you keep your isolation. If you choose, you can just ignore all the inconvenient facts about the world. You can make decisions based on whatever input you choose. The success or failure of your project in the market is not really that important; what's important is whether it gets canceled or not, a decision which is at the whim of your boss's boss's boss's boss, who, as your only link to the unpleasantly unpredictable outside world, seems to choose projects quasi-randomly, and certainly without regard to the quality of your contribution.
It's a setup that makes it very easy to describe all your successes (project not canceled) in terms of your team's greatness, and all your failures (project canceled) in terms of other people's capriciousness. End users and profitability, for example, rarely enter into it. This project isn't supposed to be profitable; we benefit whenever people spend more time online. This project doesn't need to be profitable; we can use it to get more user data. Users are unhappy, but that's just because they're change averse. And so on.
What I have learned, working here, is that smart, successful people are cursed. The curse is confidence. It's confidence that comes from a lifetime of success after real success, an objectively great job, working at an objectively great company, making a measurably great salary, building products that get millions of users. You must be smart. In fact, you are smart. You can prove it.
Impostor Syndrome is that voice inside you saying that not everything is as it seems, and it could all be lost in a moment. The people with the problem are the people who can't hear that voice.
But I think Impostor Syndrome is valuable. The people with Impostor Syndrome are the people who aren't sure that a logical proof of their smartness is sufficient.
·apenwarr.ca·
The Curse of Smart People
Lessons from Creating a VSCode Extension with GPT-4
Lessons from Creating a VSCode Extension with GPT-4
Lately, I've been playing around with LLMs to write code. I find that they're great at generating small self-contained snippets. Unfortunately, anything more than that requires a human to evaluate LLM output and come up with suitable follow-up prompts. Most examples of "GPT wrote X" are this - a human serves as a REPL for the LLM, carefully coaxing it to a functional result. This is not to undersell this process - it's remarkable that it works. But can we go further? Can we use an LLM to generate ALL the code for a complex program ALL at once without any human intervention?
smol-ai description from the README:This is a prototype of a "junior developer" agent (aka smol dev) that scaffolds an entire codebase out for you once you give it a product spec, but does not end the world or overpromise AGI. instead of making and maintaining specific, rigid, one-shot starters, like create-react-app, or create-nextjs-app, this is basically create-anything-app where you develop your scaffolding prompt in a tight loop with your smol dev
·bit.kevinslin.com·
Lessons from Creating a VSCode Extension with GPT-4
What is Encore?
What is Encore?
Learn how Encore works and how it helps backend developers build cloud based backend applications with a flow state developer experience.
·encore.dev·
What is Encore?
Introduction to Blueprints
Introduction to Blueprints
If you are just getting started with Blueprints, this provides a high-level overview of what they are and what they can do.
·docs.unrealengine.com·
Introduction to Blueprints
The Twelve-Factor App
The Twelve-Factor App
A methodology for building modern, scalable, maintainable software-as-a-service apps.
·12factor.net·
The Twelve-Factor App
The Road Ahead: Insights from Wasm I/O on the Future of Web Assembly
The Road Ahead: Insights from Wasm I/O on the Future of Web Assembly
The inaugural Wasm I/O conference took place last month, bringing together industry leaders and experts in WebAssembly to share their insights on the future of the technology. As Flaki, one of our developer advocates, wrote to the rest of the team: ...
·blog.suborbital.dev·
The Road Ahead: Insights from Wasm I/O on the Future of Web Assembly
The Cloud Architecture of the Next 10 Years - Klotho
The Cloud Architecture of the Next 10 Years - Klotho
Cloud computing has truly reached peak complexity, with the dominant available architectures shifting this complexity from one location to another instead of addressing it at its source. I believe the right solution requires a new architecture that follows key desirable design principles–ones that maintain benefits from previous architectures without requiring relearning tools and how to work.
The industry is now in this streamlining complexity phase of cloud computing. The most evident examples are integrated solutions that optimize for certain workloads or development models: Google’s Anthos, AWS Outposts, Azure Stack Hub or the Hashistack.
In one of the teams I worked on, it took on average several months to get a new developer onboarded and productive on a microservices based architecture. An SDK team is put into place to simplify the process, but they’re soon overrun by reasonable requests by feature teams. Papercuts increase over time as smaller features are harder to prioritize. The more adoption of the platform, the worse the problems become. Everything is an evaluation of existing tradeoffs.
·klo.dev·
The Cloud Architecture of the Next 10 Years - Klotho