Boring factory runs on a homegrown manufacturing execution system we call Wormhole. The system keeps track of the state of all 176,000 parts in each TBM on the line and issues tasks to everyone in the factory 24h a day, 7 days a week.
It also manages our production assets (think lathes, mills, water jets, etc.) by keeping track of what job is assigned to each and the state of its preventative maintanence (PM) schedule.
Each asset gets 2 dashboards - a PM dashboard and a task dashboard. If the machine is running a job and has all its PMs done both dashboards are bright green. If not, one or both are red.
If you want to design a factory where issues bubble up to the right people as fast as possible - design it in a way that allows someone to “see” all the problems simply by taking a quick floor walk. This is one small example of a principle that we have employed throughout our entire factory.
Handmade Hero has spawned careers. It inspired @Billy_Basso who went to make @Animal_Well. It influenced @vkrajacic to venture into unknown and start his business around File Pilot. @rfleury, @TheGingerBill, and many others attribute to this series a major influence on how they program.
Handmade Hero is a publicly (!) available series of @cmuratori streams where he programs a complex game project from scratch. He showcased how to use tools like the debugger, how to understand and inspect memory, and offered tons of invaluable info on how to develop and maintain a huge program.
You can follow this course for ~30 (out of 700!) episodes and become a supercharged programmer.
While your colleagues will be fighting over names for a variable, you will be confidently delivering features.
When your friends will be making ridiculous statements about performance of the code, you will not rely on second-hand programming dogmas, but will be able to inspect it and address it.
When for others, language SDK will be the lowest level they can operate on, you will confidently understand OS primitives and it will become your platform.
Here's a conversation with @cmuratori about Handmade Hero. There is a lot of unexpected turns here!
Casey, it was an honour!
Thank you, both for taking the time to come to the show and talk about the series, but also for making it in the first place! It was a monumental effort to keep it up every day for years!
<takes a sip of almond milk from a bottle>
✨ We just shipped vanilla JS support for Tailwind Plus!
Every single UI block is now fully functional, interactive, and accessible, even if you're just grabbing the plain HTML examples.
Frontends are hard.
Even the big clouds like AWS have a hard time supporting them.
It’s to the point that services like Netlify and Vercel have built massive businesses just doing frontends.
I wrote about how this happened here.
New (short) Learn How to Learn post: A habit to help you learn more ideas, remember them effectively, and have more fun learning
full article: https://t.co/1yZgiFKjm1
Agreed, Japanese designers have held the helm for information density. Next time western designers want to pose an argument for excessive negative space, I am calling that bullshit.
All of Big Tech design is hung up on cancerous waste of space.
https://t.co/X4ReQQ5JKh is👌
Sunday rant.
For software engineering, my sense is that the phrase “premature optimization is the root of all evil” has massively backfired. Its from a book on data structures and mainly tried to dissuade people from prematurely write things in assembler. But the point was to free you up to think harder about the data structures to use, not leave things comically inefficient. This context is always skipped when it’s uttered.
Not all fast software is world-class, but all world-class software is fast. Performance is _the_ killer feature.
If you are in engineering, here is a fantastic anecdote. I refer to this account often. It’s a bit subtile, but the implications are massive-
It’s an account of how SQLite became 50% faster, not by doing one specific thing but hundreds of small ones.
SQLite is everywhere today because of this work.
https://t.co/krLFFps2up
We need the engineers in all companies fight for this more. Product leads are not the right owners of the end performance of the software. This needs to be encoded in the professional pride of the software engineering discipline. Leaders in companies need to encourage it and hold engineering accountable. It’s simply not ok to fritter away the performance of the products for random reasons.
Every user of your products cares exactly as much about latency as engineers do when typing in their terminal. They just don’t have the words to describe what they don’t like about the experience and neither should they.
Introducing NextMaster
An open-source ecommerce @nextjs template inspired by McMaster-Carr, optimized for performance with over 1 million products.
A thread on how I built this with @rhyssullivan and @ksw_arman 🧵
(video is not sped up)
wip
mad respect for mcmaster team for shipping such a good site & inspiring everyone. we'll share learnings & areas where we even improved perf!
Big fan of @TejasKumar_, and it was great to talk to him about all things AI Engineering, along with some thoughts on React, databases, content creation, and more.
Check it out :)
for those of you interested in business positioning stuff here's how we think about things at sst:
we are in the game of venture scale and to be in this game you need to be making asymmetric bets
your positioning has to be counter to the market, so that if you are right, you not only win but you win big
what's currently going on in the devtools space is an attempt at unbundling the cloud.
the cloud has been the best business the world has ever seen and companies are slicing off pieces of it to spin up dedicated efforts with a narrower scope
this is where ALL of the funding is going - you see some crazy rounds for companies in this category
we are betting against this
a few of these companies do have value - they tend to focus on high ops burden problems like databases
but most are entirely focused on "DX" - meaning they provide a simplified UI / experience that is 10x easier to get started with than the underlying resources
we think this will fail for a few reasons
1. a lot of these "DX improvements" come at the expense of capability - especially when delivered as a UI
a serious customer will hit some limit, some new property will have to be exposed in the UI, repeat over 100 customers and you're back to something complicated - we've all seen this happen
2. having your data split between multiple third party services quickly erodes any benefits of using them in the first place. all your data should be joinable. serious companies actually pay attention to things like performance and egress costs
3. the scope of these products are too narrow - all of these companies are complementary and NOT competing with each other. that's a bad thing - it means even if they execute well there's no path to dominating a market - it's not venture scale
4. there is a massive gravity to the large clouds - the companies that can actually give you venture scale revenue are on aws and so are any serious startups
they are reluctant to use anything hosted externally so if you're delivering DX improvements via a hosted service, they will largely just go without
so we position ourselves differently - instead of wrapping the major clouds as a hosted service, we try to make it easier for them to be used directly
we deliver this as code because code can do progressive disclosure. complexity can be both hidden up front and be accessible later - less chance people will need to eject
our scope is wide as hell - if some new devtool company does have a good idea, we will copy it and make it available as another bullet point in our feature list
and it'll be free - driving the value to $0
will it be as good? no - you can only get to the pinnacle of DX if you create a hosted service. but it will be fully configurable, run on your infra, and be much lower friction to add on than signing up for something new
we think that is what matters for the companies with actual $$$ to spend
this is also why we're open source - it's not just some feel good thing. OSS is particularly good at covering a wide scope - we do not have bandwidth to make sure python on aws is being packaged correctly, but someone in our community does
so if we happen to be right on all this we don't just take out a single competitor, we collapse the entire space with one all encompassing OSS effort
this is what an asymmetric bet looks like - you don't have to agree that the bet will work out but you can see how it's a bet worth making