Category Archives: _Micropost πŸͺ

Tiny, short thought. Less polished.

You don’t even need to be successful

Something I’ve learned through my streaming project is that you don’t even need to be super “successful” at what you’re doing to build an audience of people that are excited for you and want to support you.

Based on my experience, you just need to be:

  • trying hard
  • at something hard
  • consistently
  • in public

I wouldn’t say I’ve been so “successful” at building an OS. It currently doesn’t even really boot or do anything yet. It does not support running programs at all. All it can do is kind of initialize the hardware and slowly initialize itself to the point where it’s almost ready to run programs. (And I didn’t even write a lot of that code. A lot of it was provided by the base foundation for the course I’m following.)

And none of that matters. People are still excited about what I’m doing, even though it’s not novel in the slightest, and I’m not that “successful”. What matters is simply that I’ve been trying, a lot, and talking about it.

Writing is like exercise

Sometimes I struggle to justify why I spend time writing for my blog. Here’s the argument I keep coming back to:

A regular writing habit is just like a regular exercise habit for your brain. Yes, it takes time, energy, and money, but it’s also good for you, and well worth it.

Writing and especially publishing it is just like going to the gym for your brain. Plus it increases your luck surface area and helps keep you young. So, well worth the investment.

6 months of live-streaming

I’ve been live-streaming weekly for six months now, and I’ve noticed a virtuous flywheel develop.

  • Publicly committing to doing this activity creates pressure to follow through and do it
  • The more I do it, the more of a streak develops
  • The more the streak that develops, the more I want to keep it up and not break it (Especially if I’m very public about the streak)
  • The more I want to keep it up and not break it, the more I prioritize it
  • The more I prioritize it, the more importance it gets in my schedule, and other things are scheduled around it

This has been a powerful cycle to harness because the activity (learning OS development) is deeply aligned with my interests and aspirations β€” so I’ve effectively designed a system that provides positive pressure towards doing something good for me.

WIP: Humans need variety

I believe this is a basic insight at the core of many aspects of human life. For example:

  • Variety of diet
  • Variety of physical positions/movement (i.e. Why you shouldn’t sit all day, or why it’s good to exercise)
  • Variety of physical location (i.e. Why 100% remote work is difficult for many people)
  • Variety of daily experience (i.e. Why people travel to other places for vacation)
  • Variety of people to be around (i.e. Why people can get annoyed with each other if they’re constantly around each other too much – like families)
  • Variety of daily occupation (i.e. Why people switch jobs every few years)

How I live-stream programming

I’ve been live-streaming myself doing operating systems programming every week for 6 months now. This is not meant to be a comprehensive guide on streaming, just an overview of how I do it.

The bare basics

I stream to Youtube using OBS. I use Youtube because:

  • It automatically archives the streams indefinitely to your channel by default. (Twitch only keeps the video for a limited time IIRC).
  • It exposes you to all of Youtube for potential viewership.

I tried Twitch once but didn’t get many viewers, so I stopped trying there.

A bit more (chat widget, alert boxes, chatbot)

I use Streamlabs’ free plan for my Chat Widget, Alert Boxes, and Chatbot. It works very well for a free offering and these add some more flair and professionalism to your stream.

  • Chat Widget: The messages in the chat are rendered directly into the stream video. The chat is an important part of the streaming experience, and it would be a shame to lose those messages. This ensure they are at least captured in the video.
  • Alert Boxes: These are visual effects that show in the stream when someone subscribes or does other actions.
  • Chatbot: I have a few chatbot commands for answering common questions about my tools, discord, or recommended sources. The chatbot is also useful for moderating the chat and e.g. restricting offensive language.

After using a basic OBS setup for a while, I customized it with a text box at the top that gives viewers a quick sense of what I do (“Streaming OS/Kernel Dev, Assembly & Low Level Programming”), the topic of today’s stream, and a friendly invitation to engage in the chat.

Misc tips

I used this plugin for background removal for that streamer green-screen effect (without a green-screen). It’s quality is just ok. I eventually stopped using it and just show my background.

  • After streaming to Youtube, be careful to not use their built in trimming tools because this removes the chat replay from the video. I used to press stream, then trim the beginning, but now I press stream and immediately start to preserve the native Youtube replay.
  • Resolution β€” Increase your screen resolution so people can read the text more easily. On my monitor, I reduce the resolution to 720p and live with the fact that it’s comically big for me when I stream.
  • Music β€” I use a 3 hour LoFi hip hop video on Youtube that explicitly claims to be No Copyright. I have OBS set to do a macOS capture which records audio. I then play it, and actually mute my laptop so I don’t hear it (it distracts me when programming) but it gets recorded in the stream.
  • Multi-streaming β€” You can multi-stream to Youtube and Twitch with paid Streamlabs, but there are other ways to do it, apparently even including using ffmpeg locally.
  • Youtube Thumbnails β€” I use CapCut, which is perfect for this. I took a screenshot of one of my streams, loaded it in CapCut, then overlay a few text objects and images on top. CapCut paid version also conveniently can remove backgrounds from people and give a colored border for that authentic Youtuber effect.

WIP: We grow old because we stop making art

We don’t stop playing because we grow old; we grow old because we stop playing.

George Bernard Shaw

I’d like to offer a variation of this.

We don’t stop making art because we grow old; we grow old because we stop making art.

Children are naturally curious, creative, and artistic. They freely draw, sing, and ask questions. At the core is a youthful fearlessness. They’re not afraid β€” of being judged or looking stupid (yet).

We lose this as we grow older. We become concerned with appearances, and learn to avoid actions that might cause us to be judged or look stupid. We become afraid.

There is something deeply healthy about engaging in a creative practice, that connects us back to this youthful fearlessness. Just like how a personal fitness practice is essential for maintaining physical function despite the natural progression of entropy, a personal creative practice is essential for resisting the tendency to become fearful.

Where do you feel creative? At a piano? Taking photos? Writing words? Cooking? Working out? Playing sports? Dancing? Look more closely β€” that might be your fountain of youth.

To have good ideas, stop auto-rejecting your ideas

Half of having good ideas is not immediately rejecting the ideas you do have, but rather allowing yourself to respect them, give them the chance, and even consider them as worth sharing.


This is just an observation of my own shift in mental state over the last few years. I don’t consider myself particularly smart or insightful, compared to all those “wise” people with “famous quotes”.

But I’ve found that releasing myself from this automatic “self-doubt instinct” has led to a more nurturing mental space where weak, fledgling ideas have the space to potentially grow into stronger ones. And that is what eventually leads to genuinely amazing, novel ideas.

At least, I hope. We’ll see if I have one one day.

It’s not enough to have good ideas

You also need to present them well.

This is one of the things I’ve learned on Twitter in my decade using it. On Twitter, the slightest change of phrasing can make or break a tweet. Part of learning the game is learning how to express information in a way that’s more likely to be received well. Usually that means being a combination of: valuable, concise, and punchy.

The general lesson is that you need to be aware of the venue, and its communication norms. What is the communication style is common, and commonly successful?

This applies not only to online platforms, but also real life communities you may be a part of, such as your work.

So if your ideas aren’t landing how you’d like them to, or you believe a great idea you have is being unfairly overlooked by others, take a moment to pause. How do the successful people in the venue communicate? And are there any ways you could restructure your presentation to better fit the venue? You might be surprised at how little it takes.

You need your own workshop

This is originally Derek Sivers’ idea, from his book “Anything you want”.

We all need a place to play.

Kids need playgrounds and sandboxes. Musicians need an instrument. Mad scientists need a laboratory.

Those of us with business ideas? We need a company.

Not for the money, but because it’s our place to experiment, create, and turn thoughts into reality. We need to pursue our intrinsic motivation.

We have so many interesting ideas and theories. We need to try them!

The happiest people are not lounging on beaches. They’re engaged in interesting work!

Following curiosity is much more fun than being idle. Even if you never have to work a day in your life.

That’s the best reason to have a company. It’s your playground, your instrument, your laboratory. It’s your place to play!

Get the ideas out of your head and into the world.

https://sive.rs/laboratory
  • Gardeners need a garden.
  • Car enthusiasts need a garage.
  • Entrepreneurs need a business.
  • Artists need a studio.

But what about systems programmers?

Systems programmers need a project. A place for them to explore, work, play.

Live streaming myself working on my baby operating system has felt great over the last 14 weeks. And now with Sivers’ idea in mind, I can totally see why. It’s finally my own project where I have full control, and it’s a large enough project where there is infinite potential for the things and can do and learn within it.

No matter what your craft is, if you aspire to be great at it, you need a safe, comfortable “space” to work on your craft.

If you have aspirations, but don’t have a space, you likely haven’t fully committed, or given yourself permission to publicly identify as an enthusiast of the craft. (Actions speak louder than words).

Taking action to make that space for yourself can be scary, because it exposes physical, undeniable proof of your interest, which is vulnerable. But in my experience, it can also be deeply affirming, exciting, and motivating.

Getting into reading again by playing offense

I used to look at long non-fiction books and immediately wince, thinking of how long it would probably take me to read it, and what a slog it would probably be. Of course, this is a strange point of view that seems to forget that books can actually be captivating and fun.

But beyond that, something that helped me is changing my perspective. Rather than letting the book be in control, I now try to play more on offense.

Instead of allowing a long book to suck a potentially infinite time out of me (which means in practice, I won’t even start), I now give books a budget. If I only have 2 hours of time to give a book, oh well, that’s all it gets. I stop and move on. Hopefully the book can deliver some of its meaning in that time frame, or even better, captivate me and convince me to renegotiate my relationship with it β€” and give it more time.

Instead of putting the responsibility on you to slog through and make it to the end, put the responsibility on the book to earn your time.


(This does work better when you don’t pay for the book – ideally by lending it from someone else.)