Hey there, Handmade Network. Since you’re reading this on the website, you may have noticed that things look a little different around here. As I talked about in our last news post, we’ve been working for the last couple months to redesign the Handmade Network website. Today I’m pleased to finally roll it out!
The new site design comes courtesy of Jes Chuhta, a wonderful UX designer who we came to know through Handmade Boston and Handmade Seattle last year. The new website is designed to reflect the new shape of the Handmade Network as it has evolved over time. A quick summary of the changes:
In addition, the new design is actually much simpler to work with! Programmers, trust me, you have no idea how valuable it is to work with a good designer. Our HTML is so simple now, our CSS is so simple now, we have a third of the variables we used to have. It is so easy to slap designs together and they look good because they are consistent and aesthetically pleasing and please programmers listen to me please
Because we needed to get this announcement out, the website is still a work in progress. Several pages are still somewhat broken or need a little more attention. But we hope that you all enjoy the new foundations, and we look forward to expanding the site to highlight even more of the great work the Handmade Network community is doing.
That’s right, just two weeks! Our second annual Visibility Jam is coming up on July 19, two weekends from the time of this posting.
The topic of “visibility” is critical to Handmade goals. To understand our systems we have to see our systems. The underlying realities of computers cannot be known unless programmers like us go to the effort of building tools, visualizations, and editors. Making systems visible is the first step toward improving those systems.
I covered this in my talk from Handmade Seattle last year. We don’t need to be stuck forever with the towering pile of complexity that is modern systems. We can learn how systems work, tear down the layers, and build new systems that are just as nice to use but have a fraction of the complexity. If we are going to build a new kind of “high-level” software, we first have to understand the low levels, and the Visibility Jam is your opportunity to take that first step.
Plus, we’ve now made tons of improvements to projects on the website, so submission should be much more pleasant this year. There’s no better time to join the community and try jamming with us! Check out the jam page for more details.
It's still not all that playable yet, but I've got some basic SFX and the main loop for the Karen attack waves.
Hooking up the engine torque curves and sound engine to the actual engine sim and to the car wheels, simulating angular wheel velocity and a first draft of longitudinal slip forces!
&derpnet ported to JavaScript - https://github.com/mmozeiko/derpnet/blob/main/web
I ported &meeseengine to the Wii with a render distance of 17 chunks, now surpassing the render distance of Minecraft on the PS4 and Xbox One.
SOUND ON!
First draft of synthesized engine sound. this is also running in a handmade audio engine written with WASAPI.
Took a while to figure out, and I have no idea what I am doing nor have I ever dabbed in synthesizing sound before.
This uses a combination of sine, sawtooth, noise, and square functions that generate harmonics an are modulated based on different engine aspects.
Will likely modify this down the road but this is a first passable draft, now we have engine sounds!
here demonstarting changing different engine aspects and hearing the corresponding changes in sound. (added a basic FFT function to visualize the EQ curve in the bottom)
&derpnet - simple end-to-end encrypted network library in C for Windows.
Spent some time setting up an engine performance simulation with multiple variables that aim to realistically affect the performance of the engine. Here is an in-game demonstration of that simulation, torque and gear speed curves. Now this can be plugged into the physics engine on forces that are applied to the drive wheels of the car.
The public pre-alpha for &world-of-squares is out!
Download: https://worldofsquares.org
Bug reports and feedback can go here: https://discord.gg/Un4Vx47e7b
A feel-good MMO with rich mechanics. Paint with your friends, play a cube violin in the woods, discover an ancient ruins, fight valiant knights and dangerous mobs, become a fox sacrificing yourself to a dangerous altar at midnight, chill with a fishing rhythm game, upgrade your gear and character.
Here's the LOC distribution. I wrote this in about 3 months.
src\wos_arena.jai 116 src\wos_drop_tables.jai 183 src\wos_server_httpwebserver.jai 238 src\wos_server_database.jai 1166 src\wos_server_payment.jai 689 src\wos_client_graphics.jai 2123 src\wos_npcs.jai 883 src\wos_common.jai 2957 src\wos_client.jai 11497 (entrypoint) src\wos_server.jai 10208 (entrypoint) src\client_updater.jai 703 (entrypoint)
&spall Baby steps on sampling on OSX today.
Got RIP samples plumbed through the trace-viz pipeline so I can see them.
No callstack unwinding or symbol resolution yet, but this has so many moving parts that are functioning. Hooking arbitrary child processes, grabbing registers/stack on an interval, checking to see when the child terminates, etc.
putting together the tire forces in the first functioning car model!
I implemented controller support (see bottom right in video) to allow for fine control, with added basic torque and braking. The suspension allowed for calculating weight transfer and affecting grip on individual tires. This model also includes implementation of Pacejka's slip angle curve for lateral forces. (top right, you can see me tweak it there and it producing different grip behaviors), I started working on approximating slip ratios for longitudinal forces, these are unfortunately a bit more complicated to get right as they include tire angular velocities which are not directly simulated but rather derived here.
Now it's at a tweaking stage mostly. Next up is simulating engine torque curves and different gear ratios and engine RPM, (maybe also engine sound generation!)
(apologies for the flickering, this is from the screencap)
car suspension works! here's a demo with variable damping and stiffness parameters.
I have gone through many iterations on how to properly do this, initially I was overthinking it, doing separate rigid body calculations for each wheel and trying to simulate a spring between each wheel and the chassis. I ended up scratching that as it produced too many fine calculation errors and the implementation was wonky and required a lot of change to the collision system to work well.
I ended up adopting a very simple raycasting method from the wheel attaching points downwards to the plane + a suspension offset, a simple collision check with the plane sets updates the suspension difference, otherwise a basic damped spring algorithm is done on the suspension: offset * stiffness - suspension_velocity * damping
. when the raycast collides with the plane, it adds an impulse equal to the suspension force on the car's respective connection point of the wheel. The wheels are just rendered at that offset point.
the result is the following:
The Gamecube version of &meeseengine now boasts a render distance of 13 chunks, surpassing the render distance of Minecraft on the Switch (docked). Cloud shadows have been enhanced to distort as they move, with a softening effect during sunrise and sunset.
&meeseengine New features are in the works. In the meantime, here are a few cool places I've found.
&meeseengine on the Gamecube
This update introduces a range of new features, including a new entity system and model animations. Block digging now takes time, with items dropping upon destruction. Background music playback has also been added, efficiently decoding compressed audio data with minimal CPU usage. Over 10,000 objects are allocated on the heap without performance degradation.
I spent the last two days building a plugin-driven tool for static code analysis.
go vet
is built the same way, that might be where I got the idea from. It held up to use nicely enough and now I've got a clear example to point to.Editing a*(b/c)
. I feel like I have a 1200 LoC text-editing widget that's fairly nice for taking in weird directions like this: https://git.sr.ht/~akkartik/text2.love
It's still not all that playable yet, but I've got some basic SFX and the main loop for the Karen attack waves.
I'm learning game design and have designed my first game. It's an extremely basic sorting game. The idea is that there is a conveyor belt, items that are on the conveyor belt, and boxes that the items get sorted into. The first few levels are slow but the idea is that speed of the belt, item spawn rate, variation of items, number of boxes, and number of belts will change through the levels. These levels are serving as an intro to what the game is about, demonstrating how some of the elements can be manipulated and how they affect gameplay. I created a simple level editor too.
Hooking up the engine torque curves and sound engine to the actual engine sim and to the car wheels, simulating angular wheel velocity and a first draft of longitudinal slip forces!
&derpnet ported to JavaScript - https://github.com/mmozeiko/derpnet/blob/main/web
I ported &meeseengine to the Wii with a render distance of 17 chunks, now surpassing the render distance of Minecraft on the PS4 and Xbox One.
SOUND ON!
First draft of synthesized engine sound. this is also running in a handmade audio engine written with WASAPI.
Took a while to figure out, and I have no idea what I am doing nor have I ever dabbed in synthesizing sound before.
This uses a combination of sine, sawtooth, noise, and square functions that generate harmonics an are modulated based on different engine aspects.
Will likely modify this down the road but this is a first passable draft, now we have engine sounds!
here demonstarting changing different engine aspects and hearing the corresponding changes in sound. (added a basic FFT function to visualize the EQ curve in the bottom)
&derpnet - simple end-to-end encrypted network library in C for Windows.
Hey there, Handmade Network. Since you’re reading this on the website, you may have noticed that things look a little different around here. As I talked about in our last news post, we’ve been working for the last couple months to redesign the Handmade Network website. Today I’m pleased to finally roll it out!
The new site design comes courtesy of Jes Chuhta, a wonderful UX designer who we came to know through Handmade Boston and Handmade Seattle last year. The new website is designed to reflect the new shape of the Handmade Network as it has evolved over time. A quick summary of the changes:
In addition, the new design is actually much simpler to work with! Programmers, trust me, you have no idea how valuable it is to work with a good designer. Our HTML is so simple now, our CSS is so simple now, we have a third of the variables we used to have. It is so easy to slap designs together and they look good because they are consistent and aesthetically pleasing and please programmers listen to me please
Because we needed to get this announcement out, the website is still a work in progress. Several pages are still somewhat broken or need a little more attention. But we hope that you all enjoy the new foundations, and we look forward to expanding the site to highlight even more of the great work the Handmade Network community is doing.
That’s right, just two weeks! Our second annual Visibility Jam is coming up on July 19, two weekends from the time of this posting.
The topic of “visibility” is critical to Handmade goals. To understand our systems we have to see our systems. The underlying realities of computers cannot be known unless programmers like us go to the effort of building tools, visualizations, and editors. Making systems visible is the first step toward improving those systems.
I covered this in my talk from Handmade Seattle last year. We don’t need to be stuck forever with the towering pile of complexity that is modern systems. We can learn how systems work, tear down the layers, and build new systems that are just as nice to use but have a fraction of the complexity. If we are going to build a new kind of “high-level” software, we first have to understand the low levels, and the Visibility Jam is your opportunity to take that first step.
Plus, we’ve now made tons of improvements to projects on the website, so submission should be much more pleasant this year. There’s no better time to join the community and try jamming with us! Check out the jam page for more details.
Hello Handmade Network! 2024 has been great so far. Most notably, we held our first-ever Learning Jam in March, in which participants learn about a topic and share that knowledge with the rest of the community. We had great turnout for an experimental jam in its first year, and I’m excited to revisit it in the future.
But looking back, not everything we’ve done over the last couple years has been quite so successful. We’ve excitedly kicked off projects like our education initiative, Time Machine, even a 501c3 behind the scenes. Sadly, none of these have panned out. Making good educational resources with a Handmade flair is hard (really hard) and requires a huge time commitment from a rare type of person. Time Machine was a fun idea, but was never destined to succeed as a large community project. And the 501c3…we’ll save that for another time.
Community members did great work on these projects, and we learned a lot, but as time passed it became clear that we were neglecting the heart of the Handmade community: projects, and the people who author them.
Handmade software is literally the point of the Handmade Network. Communities that talk about programming are a dime a dozen. But Handmade software are different. It is so fast, so capable, so lightweight, so simple, that it shocks people with what modern computers are capable of.
At the end of the day, Handmade projects are what brings people to the community. This is not just me being nice; our Google Search analytics show that RemedyBG is by far the #1 source of traffic to handmade.network. #project-showcase is also the most popular channel on the Discord, and we frequently hear that it inspires people to dig deeper into their own projects. And ultimately, if we’re not making quality software, what’s the point?
So this year, we are 100% focused on projects. Our sole goal is to promote and boost the amazing work being done by the Handmade community. To that end:
As for our previous initiatives, we’ll be sunsetting them and archiving their content as necessary. Nothing will be lost except our time and our pride, but we’ll recover. 🙂
Before I close, a few key project updates:
Disk Voyager is coming along beautifully and already has dozens of very happy alpha users. He recently added a bookmarks / quick access panel, which I am very excited about. It will soon enter open alpha, so go to https://diskvoyager.com/ and sign up to make sure you get access.
Cactus Image Viewer has been receiving lots of quality updates recently, with more on the way, including a gallery of other images in the folder. You can download the latest version from GitHub.
Orca is on the cusp of another major release. Shaw and I rewrote the Python tooling in C to reduce dependencies, Reuben added a complete libc implementation (no more shim!), and Martin rewrote the vector graphics backend in WebGPU. Make sure to subscribe to the Orca newsletter to be notified when it releases.
And finally, Abner has started a Discord server for Handmade Cities. You can read more about his rationale in this blog post, but if you are interested in meetups or coworking with Handmade folks, I recommend you go join.
Looking forward to many more great things this year! We’re just getting started.
-Ben
I'm pleased to write this final news post of the year together with Abner Coimbre!
Dear Handmade Community,
Warm holiday greetings! Abner Coimbre and Ben Visness here, teaming up to announce that the Handmade Cities Matrix server will remain online permanently. In past years, it has been shut down at the end of conferences, but now it will remain active year-round!
This might surprise you, since most of you are probably already members of the (now rather large) Handmade Network Discord server. So why keep the Matrix server as well?
The Handmade movement has grown an incredible amount in the past several years. Importantly, it has grown both online and in the real world. Both domains are vital to the health of the larger Handmade community - but there are some critical differences between the two. Let's dive into it.
The Handmade Network (HMN) is the online hub for the Handmade movement. Led by Ben and his team, they run programming jams, Twitch shows, and online social gatherings. They provide a place for community members to discuss programming, learn from each other, and share what they're working on. The Handmade Network is also the home of Handmade projects, including the Orca initiative and Abner's own Terminal Click.
In essence, HMN is the online community - and it's accessible to everyone, including those who prefer to remain anonymous.
Handmade Cities (HMC) brings the Handmade movement into the physical realm. Headed by Abner and his own staff, HMC orchestrates tech conferences like Handmade Boston and Handmade Seattle, which are venues to present to the rest of the world our software and ideals. HMC also organizes monthly in-person meetups worldwide.
In essence, Handmade Cities is all about in-person events. HMC emphasizes real-world interactions; by its very nature, those who participate in these events can't be anonymous!
For several years now, Handmade Cities has used a Matrix server for discussions related to conferences and conference meetups. This server has always complemented the Handmade Network Discord server, rather than competing with it. And that is not going to change!
The HMN Discord remains open to all, while users on the HMC Matrix are tied to real individuals participating in Handmade events: ticket holders, local meetup members, and so on. The Discord is the hub for jams and other online events; the Matrix is the hub for meetups and other in-person events.
At the start of the Handmade movement was Handmade Hero, a Twitch series showing how to craft a video game from scratch. Casey Muratori, president of Molly Rocket, started it in November 2014 and quickly found great success, forming a huge community around its values that has lasted almost a decade.
So, what's become of our bouncy little friend? Casey's passions have expanded beyond this project, reflecting Molly Rocket's commitment to multiple initiatives. We're not privy to the specifics of Casey's plans with Handmade Hero, but this year, we collaborated directly with him to shape the opening blurbs for both Handmade Network and Handmade Cities:
handmade.network
:Originally inspired by Casey Muratori's Handmade Hero, we dig deep into our systems and learn how to do things from scratch. We're not satisfied by the latest popular language or the framework of the month. Instead we care about how computers actually work.
handmadecities.com
:Inspired by Handmade Hero
Like Handmade Hero by Molly Rocket we believe in breaking software down to the bare bones and building back an understanding of how it all really works.
While Molly Rocket, Handmade Network, and Handmade Cities share a spirit of mutual support, it's crucial to emphasize that we exist as separate entities, and are not formally affiliated. You might instead see us as independent stewards of the Handmade movement.
And at the end of the day, that's the way we like it. We each have our own expertise, our own experiences, our own goals, and ultimately our own businesses. We feel that we're at our best, and the Handmade movement is at its best, when we are run independently but collaborate at every opportunity.
We look forward to bringing you improved conferences, jams, meetups, shows, and projects in 2024. With our 10-year anniversary fast approaching (!) the future of Handmade shines brighter than ever. 😊
All the best,
Abner and Ben
With the Wheel Reinvention Jam just over a week away, we’re very pleased to finally release the Orca MVP to the community!
For those unfamiliar, Orca is our new cross-platform runtime for WebAssembly apps. It gives you a cross-platform app development system without all the baggage of browsers. It’s a long-term project with ambitious goals, but we are very excited to finally release an early MVP for the community to play with.
All the details can be found in the announcement post over on the Orca website. There you’ll find how to access the source code, the list of features and current limitations, and how to get help and provide feedback. If you’re interested and think it would be a good fit for your project, we’d love to have you try it out during the jam.
Our third annual Wheel Reinvention Jam is less than two weeks away! The Wheel Reinvention Jam is a week-long jam where we build software from scratch. Whether you want to clone an existing app for fun or build something wild and ambitious, this is your chance to try.
If you’ve never participated in a week-long jam before, don’t sweat the time commitment - you can participate with however much time you have. Whether you take days off of work or just participate on the weekend, we’re excited to see what you create!
The jam takes place from Monday September 25 to Sunday October 1. For all the details, visit https://handmade.network/jam.
We owe the name “Wheel Reinvention Jam”, and its logo, to Casey. At the start of Handmade Hero, literally in episode 1, a viewer asked the question: “Why not use an engine? Why reinvent the wheel?”
Casey’s answer deserves to be watched in its entirety, but part of it is shockingly relevant right now:
If you start with an engine, then it changes what you’re learning from the fundamental truth of how to implement a game to someone else’s version of that. […] What you’re really learning is that engine. You haven’t learned how to make games, you’ve learned how to make games in Unity. Right? And if Unity were to disappear, for example, you would no longer know how to make a game at all. I’m not exaggerating this, that’s just the truth.
We could not have planned our jam at a more opportune time. Unity recently announced a dramatic change to their pricing structure that leaves the future of many game studios in doubt.
What Casey said back in 2014, at the very inception of the Handmade community, has now come to pass. For many game developers, Unity is no longer an option. And just like Casey said, their very existence in the industry has now come into question. Will they be able to make games at all?
Casey’s reasoning holds as true today as it did then. The world needs engine programmers! Programmers who understand how engines work aren’t constrained by the limitations of the engine - they know what’s fundamentally possible and can work around constraints to achieve anything they want. But more than that, our current engines are not good enough! We need people making new engines, better tools, better wheels.
This is not just true for game engines. It’s true of the entire software industry. We need new video editors, new platform layers, new code editors, new databases, new networking protocols, new compilers, new typesetting systems, new presentation programs, new graphics APIs, new operating systems.
We will never make progress unless we reinvent the wheel.
See you on September 25.
-Ben
August has already been a big month for the Handmade community! The biggest news, of course, was:
Handmade Boston was the first of two Handmade Cities conferences this year and the first ever held outside of Seattle. I have to say, despite it being the first conference in a new city, in a new venue, the event was a huge success. There were dozens of in-person attendees and hundreds more online, and six fantastic long-form talks. I’ve been working through the homework and thoroughly enjoying my time.
I also had the pleasure of meeting many people in person whom I had only ever met online. For many of them, Boston was the first Handmade conference they had ever attended. It warms my heart that so many people were willing to take a chance on this scrappy first-year conference.
Abner tells me he will be publishing a recap of the conference soon, so if you’d like to hear more from him (and buy your tickets to Handmade Seattle!) then head over to https://handmadecities.com/.
We’ve been hard at work on Orca, our new stack for cross-platform WebAssembly apps. Think of it like Handmade Electron - a runtime that lets you ship the same app on multiple platforms. Unlike Electron, however, we’re throwing away the worst parts of the web stack and keeping the best ones. We’re building all the systems from the ground up to make app development delightful while still giving you the same cross-platform benefits of the web. And we’re doing everything we can to give you freedom and flexibility, so you don’t have to use the parts you don’t need.
We intend for Orca to be completely free and open source. For now, the codebase is still private - but this will be changing soon! We’ve kept the codebase closed since the project is at such an early stage - everything is getting renamed, build tooling is changing, git submodules are being imported and everything is breaking as a result. But we’re stabilizing it as fast as we can, because of this goal:
Orca will be available for use during the Wheel Reinvention Jam in September. It will be very MVP, a “vertical slice” of all the functionality we eventually intend for Orca to have. It will also certainly have bugs. But it will have enough to give you a real taste of our vision for the project. If you’re interested, we’d love to have you give Orca a try.
For more information and updates, and to be notified when the codebase is open, make sure to visit https://orca-app.dev and sign up for the newsletter. It won’t be long until the next one, and in the meantime, you can listen to the latest episode of Allen Webster’s podcast, which is an interview with Martin about Orca: https://conversations.mr4th.com/2204443/13420302-orca-with-martin-fouilleul
As mentioned in previous newsletters, our third Wheel Reinvention Jam will be held from September 25 to October 1. Now is the time to start brainstorming project ideas! No idea is too big or too small. Whether you build a clone of another app for educational purposes, or you try to reinvent programming itself, you have a week to play with new ideas and stretch yourself as a programmer.
More details will be published next month. Stay tuned, start thinking of projects, and consider joining the Discord so you can find others to collaborate with.
Finally, I just wanted to highlight a few fun and noteworthy things that have happened in the community over the past month:
…we’ll be working hard on Orca, jams, education, and other projects I can’t wait to tell you about. This community is going stronger than ever, and I’m so glad to be a part of it!
-Ben
This newsletter brought to you by Ratatat.
Hello Handmade community! It’s been an exciting year for Handmade so far. Here’s what we’ve been up to:
And of course, Abner has expanded his conference efforts and is now hosting two Handmade conferences, one in Boston and one in Seattle. Handmade Boston is less than a month away, so check it out (and don’t forget there’s an online track!)
TL;DR: Orca and Time Machine have both kicked off, and our next Wheel Reinvention Jam is coming in September!
Orca has been in the works for a long time. Many of us were drawn to the Handmade community because we were dissatisfied with the bloated, complicated technologies available to us. The community has spent the last several years learning to make UIs, compilers, debuggers, platform layers - everything you’d need to make a compelling development platform. Now we’re finally putting it all together into something real.
Orca is a whole new stack for making cross-platform applications. It’s designed specifically for WebAssembly, so you can use whatever language you like instead of being stuck with JavaScript. It has a new state-of-the-art vector graphics renderer and we’re developing amazing UI tools that will blow the DOM out of the water. And above all we’re designing the platform to be well-layered - you don’t have to use the parts of Orca you don’t need, and most importantly, you don’t have to ship them to your users either.
The Orca initiative is led by Martin Fouilleul, known in the community by his handle forkingpaths. He originally prototyped Orca as his submission for last year’s Wheel Reinvention Jam, and we’re thrilled to give him the chance to develop his vision further. For more info about Orca, check out the announcement blog post, and subscribe to Orca’s own newsletter while you’re there!
When I attended Handmade Seattle 2019, I visited the (now-closed 😔) Living Computers Museum. I had the opportunity to play with a huge range of computers, from an ancient teletype to a Macintosh Classic to a NeXT cube. While I was playing with Kid Pix on that Macintosh Classic, I was struck by just how fun and responsive the program was, on hardware that pales in comparison to our computers today. How was it possible that a program like that could run so well…or that programs today could run so poorly?
Then in 2021, I found some old computers in our robotics team’s shop that had been in hibernation since 2015. I booted them up and found that they were a perfect time capsule of what we were working on at the time, with our old code still open and everything. And they ran great, with the start menu opening instantaneously (as it should) and programs launching quickly.
And then updates started running.
I watched this computer age five years in thirty minutes. Every Windows update and Chrome update bogged things down more and more. The 4GB of memory that was previously wide open was suddenly almost completely full. And it was slow. So slow.
This is why we’re doing Time Machine. We need more people to remember what it used to be like. And we in the Handmade community need to know exactly what has improved about computers over the past few decades, and what has not.
If you have an old computer or phone lying around, please consider taking a video of it and submitting it to the project! More details can be found on Time Machine’s website.
We’ll be hosting our third annual Wheel Reinvention Jam this September! This jam is an opportunity for you to try out a new project, start something ambitious, explore new ideas, or just learn to build something yourself. Unlike your typical weekend game jam, this jam takes place over a full week so you have ample time to explore a new problem space. (Last year I spent most of my week implementing a toy TCP stack. I do not recommend this.)
This year’s jam will take place from Monday, September 25 through Sunday, October 1. As always, you can participate for as much time as you have available - some people can only participate on the weekend, while others will take entire days off to focus on their jam project. We look forward to seeing what you all submit!
For a recap of last year’s jam, click here.
There are even more things we’re working on behind the scenes that I can’t wait to tell you about someday. Until then, we’ll see you around on Discord, and in Boston in August!
-Ben Visness
Hello, Handmade Network! We’ve got big plans for 2023 and it’s about time we shared them with you all. So let’s get into it!
Last year we launched a new education initiative. Our goal is to cover topics that no one else is covering. And we’re not just making material for beginners - we want to dive deep into each topic and provide a rich understanding that can only come from real experts in the domain.
You see, we’re taking a different approach from most programmer education. We recognize that there are tons of great resources on the internet for a variety of topics. But if you’re new to a particular domain, there’s still an important question: where do I start?
We want to be your guide. We’ll point you to the best books, the best articles, the best resources that will help you gain real understanding. We’ll teach you the jargon and give you the context you need to understand each piece. We’re not just teaching you, we’re equipping you with the knowledge to learn for yourself.
We launched the education initiative with a focus on three topics: networking, compilers, and time. The compiler series will come eventually, but this year we want to laser-focus on one topic: networking.
There is almost no good networking education out there in the world. If you want to learn about TCP, your best bet is an O’Reilly book, Wikipedia, or the RFCs. The space is dominated by Cisco and other companies with expensive certifications. The end result is that almost all programmers are dependent on the network stack, and use it every day, but no one actually knows how it works. This is insane.
We’ve already started the series with an article taking you all the way from HTTP down to the Ethernet protocol, visiting TCP and IP along the way. This year we’ll be expanding the series with two more articles covering NATs, firewalls, internet infrastructure, and many other networking topics that affect programmers every day. We’re very excited to dig into these topics with you!
The core of the Handmade philosophy is the idea that software has been getting worse faster than hardware is getting better. Despite the incredible advances in computer hardware, the user experience of computing today is worse than it was a decade or two ago.
We believe this. But many people don’t. So let’s prove it.
This summer we’ll be launching a project called Time Machine. We’ll be asking you, the community, to dig out your old devices and share video of yourself using them. We want to go back in time and remind ourselves what it was actually like to use these old devices. We’ll be tracking the specs of these devices too, so we have an idea of how computing resources were used.
We hope this will be a fun project for the community and will inspire you all to take advantage of the amazing hardware we have today. We’ll share more details later, but in the meantime, get your hands on some old devices!
Also, if you have installers for old versions of popular software, please ping us on Discord or contact us at [email protected]. When the project rolls around, we’d love to test out old versions of operating systems, browsers, office software, and anything else that represents the day-to-day experience of computing.
We have an ambitious technical project in the works. It brings together all aspects of the Handmade community, from low-level systems programming to forward-thinking developer experiences, all designed to give real users a computing experience hundreds of times better than what’s on the market today.
This project reaches far beyond what a single developer can do. It will only be possible through the concentrated effort of a talented community of low-level programmers, with a common goal, and an inherent desire to make things better. I believe we are that community!
I’m excited to share more this summer. Until then, be intrigued >:)
These are our new flagship initiatives for 2023, but of course we’re still going strong with events for the community. The Visibility Jam starts tomorrow, and we’re going to do our third Wheel Reinvention Jam this fall. Abner has expanded Handmade Seattle into a new initiative called Handmade Cities, with conferences in both Boston and Seattle this year. And we’re still doing weekly Discord coffee chats, real-life meetups, fishbowls on various topics, and more.
I’m so excited for what this year will bring! Now let’s go jam 😁
Handmade Network is different from other software development communities. We promote philosophies and projects that care deeply about software craftsmanship. We criticize common dogma within the software industry that has produced a computing world that is far too sluggish, too bloated, too poorly-designed, and too unwilling to change. We stand for a better computing world.
In the past 4 years, we've done some big things with Handmade Network. The community has grown dramatically, with thousands of (active!) users on the Discord server (where a bulk of Handmade communication happens). We started a podcast. We've had multiple Handmade-themed jams. We transformed the Handmade Network website into a larger repository of Handmade projects and showcase content, to serve as a bastion of Handmade ideas, and concretely demonstrate how Handmade can improve us as builders of software.
Back in 2018, Handmade Network began a new chapter. I took over for Abner Coimbre as the lead of Handmade Network. I was joined by Ben Visness and Asaf Gartner, and together we replaced the original Handmade Network admin team. At that time, Handmade Network had established itself as a large and self sustaining community. It was the new team's job to continue to foster the community, and to take it to new places. The original team was ready to move on to bigger and better things, and they entrusted the keys to the community with myself, Ben, and Asaf.
Today, Handmade Network begins another new chapter. I have decided to step down from my role as Handmade Network lead, with Ben Visness taking my place. Ben has been a great staff member since the beginning. He led an initiative to rewrite and dramatically change the Handmade Network website into what it is today (writing blogs is a lot easier now). He and Asaf are responsible for all of the technology that allows the Handmade Network website to collect amazing showcase material from the Discord server, allowing the website to serve as both personal and project content repositories (in addition to the functionality that the website offered before). Handmade Network would simply not be what it is without Ben, and I know that moving forward, he'll do an outstanding job of leading the community.
I love being a part of Handmade Network, and I will remain a member. It has been an incredible resource to have as I've grown up. I joined Handmade Network in high school as a young and naive programmer, and the community was instrumental in transforming me into a much more capable and responsible engineer. I've decided to step down because I believe that it will be best for both myself and the community. I have found myself preoccupied with work, life, and some of my other personal projects and initiatives. For this reason, I think it will be most productive - not only for me personally, but for the computing world - for me to give undivided attention to those things, and hand the reins over to Ben to ensure that Handmade Network can be given the time and attention it deserves. Ben will be a strong force in continuing to grow, foster, and shape the community, and increasing its impact as a force for change in software.
It has been a thrill being a staff member, and I can't wait to see what the community will do next. Let's all keep going. Let's continue to build new projects, publish new educational material, do new research, and rethink old assumptions. Through all of those efforts, we can change the computing world into something a little better than what it was before.
-Ryan
Hello everyone! Just dropping by to make three announcements of upcoming events and projects here on the network over the summer:
Our next fishbowl conversation will be happening on the Discord on May 28! If you've never joined us, a fishbowl is essentially a panel conversation held over text chat, where a select few participants can hold a focused long-form discussion on a specific topic. We're a big fan of this format because of the way it allows participants to write thoughtful, long-form answers that would be impossible in any other medium.
We've had fishbowls on the future of operating systems in the age of the Internet, the relationship between simplicity and performance, "configuration" and how to avoid it, and many other topics. This time we are excited to tackle a subject near and dear to all our hearts: object-oriented programming.
We hope for this to be the definitive community conversation about OOP, since it's such a frequent topic of conversation and such a confusing issue to discuss. If you'd like a preview of the topic or would like to contribute thoughts or resources, please check out the planning discussion over on GitHub.
The fishbowl will be held in the #fishbowl channel on Discord at noon CDT. To see the time in your local timezone, and be notified when the fishbowl starts, bookmark this whenisit page!
We've held two jams as a community in the past, and they have both been smashing successes. In particular, last year's Wheel Reinvention Jam produced tons of great projects and introduced us to lots of amazing community members. Naturally, we're going to do another jam this year!
We are still working out all the details, so a proper announcement and final dates are yet to come. But we will confirm that this year's jam is happening in August! Expect it to follow a similar format to prior years—so, one week, and working in teams is allowed and encouraged.
More soon. 🙂
This project is still in its early stages, but too exciting not to tease. Spearheaded by long-standing community member cloin, we are hard at work behind the scenes on a new kind of education initiative for programmers. This new initiative will subsume and replace the old library, which we know many people sorely miss, and will also hopefully live up to the dream of the old wiki and old education initiative.
We are very excited to share more about this project with you in the coming months. For now, if you're interested, nag us on Discord and maybe we'll drop a few more hints. 😉
These are just a few of the projects we have in the works for the coming year, and there is even more we'd like to be doing. We'd love to get more people involved in the following:
If you're interested in any of these, please reply to this post or hit us up on Discord!
Happy New Year, Handmade Network! I hope you all had an amazing holiday season, and I hope you're all looking forward to 2022 as much as I am.
The Handmade movement had a huge year in 2021. The Handmade Seattle conference, hosted by former Handmade Network staff member Abner Coimbre, brought the community together for yet another time, even in the face of the many changing circumstances that 2021 held in store. We on the Handmade Network staff team hosted the Wheel Reinvention Jam, and we had a number of very well-done project submissions. Ben Visness and Asaf Gartner rewrote the entire Handmade Network website backend in preparation for some huge features that are slowly making their way onto the website.
This is, of course, only an incomplete list. The real list of all of the great things that happened for the Handmade movement in 2021 is not enumerable. But let's dig into these.
Abner Coimbre successfully hosted Handmade Seattle for a 3rd year in the face of consistently changing circumstances - local regulations for COVID-19, traveling restrictions for international Handmade community members, and many other things I don't know about or understand. Handmade Seattle, in 2021, hosted 25 different presentations, all being either talks, demos of Handmade projects, or podcast episodes. The conference happened both live in-person and also virtually.
I'm not exactly sure how he manages it, but with each year, Abner has produced a better conference, in the face of COVID-19 restrictions, all while staying independent without any corporate sponsorships. I had the privilege of attending in-person, and I was amazed with how smoothly everything went.
I'm here to tell you that the media - talk recordings, demo videos, podcast episodes - from Handmade Seattle 2021 is starting to roll out, so you can enjoy all of the content from the conference for free, even if you missed it originally. To check it out, go here.
As I mentioned, the Handmade Network staff hosted our "Wheel Reinvention Jam" back in October. This was like a game jam, but instead of being for games, it was all about taking existing "boring" software - the kind of stuff that we regularly depend on as users, like file explorers, word processors, and more - and innovating on it. To put it shortly, the jam was a huge success, and we got a number of amazing project entries.
We on the admin team also did a stream to show off some of our favorite projects. And then, something horrible happened: I lost the recording. Long story short, I downloaded the recording, and unknowingly permanently deleted it as I was cleaning off my desktop one day. In other words, I had a very important lessons about backing up important data on my machine.
Hope was, as far as I was concerned, lost.
But I was mistaken - hope is never lost in a community with a hero protecting it.
Martins Mozeiko, the resident programming wizard in the community, has an automated system set up that records stream VODs so he can enjoy them at his own pace after they air. He had a copy of the stream's recording!!!
So, I'm here to report that - because of Martins - you all have the ability to watch the Wheel Reinvention Jam recap stream. Here it is:
Ben and Asaf have been hard at work at the admin team's plan for projects on the Handmade Network website. We realized that the #project-showcase
channel on the Discord server was so popular because so many projects didn't fit the original model of projects on Handmade Network. These projects were smaller, sometimes not intended to be finished, were experimental and not well-established, but nevertheless demonstrated very great results that people love to see. We figured that this prevalent force in the community - of those who are working on such projects - should be reflected in the services we offer on the website.
Now, Handmade Network has two tiers of projects: Personal Projects, and Featured Projects. Personal Projects can be created by anyone, and do not require approval by the admin team. They give you a place to host media for your project.
Featured Projects are similar to the old Handmade Network website projects; they are like personal projects, but are upgraded with a number of features (forums, episode guide, etc.), and they are presented as being featured (and thus hand-picked by the admin team).
The most awesome part of all this comes with how media is managed for these projects. For a while now, we've had the Community Showcase section of the website - these are posts from the #project-showcase
Discord channel of people showing off work on their projects. We've upgraded this system to also allow associating some of those posts with projects (and other things) through tagging.
On each post, you can add tags: Here is a screenshot of my awesome work on &hero for the &cooljam.
Each word that follows a &
symbol refers to one of these tags. Each project gets one tag name, that it can use to pull in certain resources. And, other things can have tags too (like jam events), that can categorize posts in other ways.
Posts that are tagged will not only go to the regular Community Showcase section of the site, but they'll also be pulled onto their respective project pages (and, yes, a post can be tagged to multiple projects).
Ben is writing a more in-depth post about this. It'll be released shortly, so if you're looking for more details about how these new features work, you'll want to check that out when it's ready.
I am extremely excited for this new upgrade to the site's project features. Go and try it out!
I've just released a new podcast episode I did with community member Rudy Faile, who interviewed me about the current state of Handmade Network, all of the things in the Handmade movement in 2021, and where we are planning to go in 2022. Check it out here!
One final remark I want to make is announcing a temporary hiatus for myself on my side-projects, including Handmade Network. In short, I'm taking at least a few months for self-improvement, to focus on some very important personal matters. Thank you to all of those who have expressed support - I'll be back at some point during this year, and I will keep my finger on the pulse of the community, because I'm so excited for what is yet to come.
That's all for the news, for now. Here's to a prosperous 2022, and let's continue moving the ball forward!
Best wishes, Ryan