Monthly Archives: May 2024

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.

Creative pitfall: You don’t need to innovate in every area

I think a massive creative pitfall beginners make is subconsciously assuming they need to innovate in many areas, at the same time.

For example, to get started making music, a budding musician might assume she needs to:

  • 1 – Write her own lyrics
  • 2 – Write her own vocal melody
  • 3 – Write her own chord progression
  • 4 – Write her own instrumental melody
  • 5 – Write her own song arrangement

…which sounds like a tremendous amount of work! (And it is!)

But that’s not accurate assessment of the effort needed to complete the goal (make a song). It’s actually an assessment of the upper bound of the effort.

In reality, you can (and should) “steal like an artist”:

  • 1 – Use your favorite song’s lyrics
  • 2 – Use your favorite song’s vocal melody
  • 3 – Use your favorite song’s chord progression
  • 4 – Use your favorite song’s instrumental melody
  • 5 – Use your favorite song’s arrangement

(You will probably also do this subconsciously anyway, as you draw from your influences.)

Of course, these vary in terms of how acceptable they are to “ship in production” without giving credit to the original. #1 should always be done with credit, and is usually considered “Doing a cover” song. On the other hand #3 is 100% fair game to use, and release with no credit. There are only so many chord progressions actually used in popular music.

However, provided you give credit where it’s due, as you mix and match these options, you can explore the creative space of tradeoffs between originality and effort.

The lower bound is “stealing” on every dimension possible, which produces the platonic ideal of a “Cover Song”. There is nothing wrong with this, and this is how virtually every artist in the world gets started. (e.g. Justin Bieber)

At this level of your journey, the absolute most important metric to optimize (lower) is the friction & effort of doing the craft. Only once you’ve built your creative muscle stronger, can you tolerate more strenuous artistic projects that explore different parts of the effort vs originality space.

This concept applies to any other creative practice, including starting a business or learning to code. In fact, the inspiration for this idea was this Indie Hackers interview with Michael Seibel of Y Combinator, where he advises startups to select where they innovate.

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.

How to learn everything

Some people ask how I can do many things β€” code, make music, make visual art, live stream, blog, podcast, indie hack.

I don’t think it’s because I’m ultra talented or special. I do believe talent is real, that people can have natural aptitudes, and that I might have some β€” maybe for music or code β€” but definitely not for all of these areas.

I think it’s simply because after a lifetime of trying things, I’ve realized that the process of learning is basically the same for everything.

And the most important part is to have confidence that you can actually do the thing. Not counting yourself out from Day 1 is half the battle. (I see this all the time β€” “Oh wow, I would love to learn to paint… too bad I’m not artistic.”)

Much of what makes crafts seem difficult is the unknown of what happens behind the scenes. Before you learn to produce music, or make visual art, or code, you look at the artifacts produced by those artists and your jaw drops. You have no sense of what the creative process looks like, so it’s natural for it to seem intimidating and beyond your ability.

But then you get a chance to observe the artist, and you see that they’re simply using a bunch of Ableton Live presets, or Photoshop layer effects, or a bunch of code libraries that someone else built. And you see that it’s not so hard, after all. (Usually thanks to the efforts of skilled tool-builders, behind the scenes. Giants whose shoulders you stand on.)

This is not to say that one can realistically become expert-level skilled at everything. For example, I’ve spend hundreds of hours skateboarding, and although I love the sport & art form, that is one thing I simply do not have natural ability for. That’s fine.

It’s just to say that once you start doing different things, you stop being scared at the prospect of learning something new. You learn the ways you learn things, and also have the confidence that you can do it. Your learning muscle grows stronger every time, accelerating future learning.

You also stop being scared of being a beginner and looking bad. Because once you’ve exited the beginner stage of anything once, you now know that being a beginner is actually a noble state, and nothing to be ashamed of. Everyone was a beginner once. The only people that make fun of beginners, are those perpetually on the sidelines, that have never dared to step into the arena.

In short, over time, learning gets easier because you develop familiarity with the activity of learning. The phases of learning become like old friends that you visit and catch up with after not meeting for some time. But most importantly you build significant confidence in yourself. And that’s what matters most.

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.)

I like WordPress

Among programmers, it’s very unfashionable to use WordPress for your blog. (“PHP? Yuck.”) Instead, you should be using the latest minimalist static site generator, hosted on the latest free static hosting.

(A decade ago, this was Jekyll on Github Pages β€” I haven’t bothered to keep up, but I did put in my time. At various points, my blog was based on Jekyll, Pelican, and Octopress).

In 2020 I decided to restart my blog, but just use WordPress.

Three years, later this has been an unambiguously good decision. I keep running into things that save me significant time, compared to me trying to code this myself, or use a static site generator.

I think the proof is in the pudding. If the goal is to actually publish writing on the internet, consistently, over a long period of time, I’ve done that (or at least am well on my way β€” see the Archive).

Here are some handy things I’ve found myself needing that were just there for me. I’ll add to it as I run into more.

  • Automatic redirects if you change a post slug
  • Rich plugin ecosystem for nearly everything
  • Extensive documentation, both first and third-party on how to do things. Even ChatGPT can advise.
  • Ability to customize with PHP if absolutely necessary
  • Migrating to a different permalink structure was a piece of case with the Redirects plugin
  • Built in RSS feed
  • Built in Recent post
  • Built in Top posts/pages (via Jetpack)
  • Built in downtime monitoring (via Jetpack)
  • Easy mailing list integration (MailChimp, ConvertKit, etc)
  • Built in grouping and taxonomy features (Tags, Categories)
  • Built in Monthly Archives
  • Built in comments
  • WordPress/Jetpack mobile app for easy editing/moderation on the go
  • One click plugin install to have dark mode for blog
  • Builtin pingback detection if someone links to me

Be your most authentic self (and write about whatever you want)

I love writing about computers, but I also love writing about other topics like creativity, art, and productivity. However, many programmers out there strictly blog about technical topics, which made me feel a bit weird for posting random stuff like poems or my experience with GTD.

This led me to a dilemma: Do I blog all in one place, or do do I perhaps create a separate blog for non-technical content?

My answer is to apply my “golden piece of advice”: Do what feels most authentic to you.

For me, writing about all of my interests is the most authentic expression of myself, so when in doubt, I do this. Curbing this instinct, and making a strictly technical blog just to be like “all the other programmers” wouldn’t be.

It’s totally possible that “all the other programmers” simply don’t feel a desire to write about anything else. So making a strictly technical blog is their maximally authentic expression of themselves β€” which is great for them! Let’s all do what feels most authentic to us.

Hiding in this case study is a profound lesson about life. The situation applies equally to any other life situation where you feel some pull to act in one way, but feel some hesitation upon observing “everyone around you” seems to act.1

When in doubt, apply the “golden advice”: Do what feels most authentic to you.


I’m very happy with this decision. It feels great to have a single place which all of my thinking, which also has the practical benefit of making it easier for potential followers to submerge themselves in all my content.

I also believe this will win in the long run as it’s more likely to resonate with like-minded people that can respect having a myriad of interests β€” the kind of people I’m looking to connect with!

Lastly, there’s the non-trivial but subtle benefit that simplicity of infrastructure & accounts actually matters and translated into a lot of time saved.