Building as a search algorithm
Finding the best place to build a castle.
Recent content on zeptonaut
Finding the best place to build a castle.
Building healthy habits without hating every minute of it.
The four million things you need to figure out when assembling your own tech stack.
You don't need pixie dust (or LLM magic) to build your product faster.
When is VC money helpful? When is it harmful?
How to speed up negotiations without looking like a total jerk.
Outcomes for employees in middling acquisitions depend heavily on the character quality of the executive team.
How can you let others know about your work without irritating them immensely?
You probably aren't qualified to dissect your own failures because you're the idiot who screwed everything up.
How do you strike a balance between getting customer feedback quickly and shipping something mediocre?
You should be putting at least as much emphasis on early distribution as early product.
Toddlers provide the perfect environment to learn about human nature because they'll throw stuff at you when you make them mad.
How do you come up with a startup idea that's both ambitious and tractable?
Building software looks a lot like building a house, but selling the two couldn't be more different.
Cryptocurrency may be destroying the planet, but it could also help save it.
In order to get investors and other employees on board, it pays to be clear-headed about the exact ways in which you're delusional.
Seriously - just do the thing manually until it becomes painful.
If you're going to show up uninvited to someone's inbox, make sure to bring an hors d'oeuvre.
You don't have to fight fair when starting a company: choose a customer base where you already have a leg up.
At a certain point in your career, "doing what you're told" goes from being an asset to a liability.
Getting the word out about your startup is hard work: why not skip some of it?
I miss people. :-(
How to get things done when your browser keeps navigating itself to Hacker News.
One engineer's clever trick to make himself a hub of the most interesting people in Chicago.
People naturally tend to blame the most proximal cause of failure, but the reality is usually more complicated.
Allowing engineers on your team to go too long without concrete progress can initiate a vicious cycle.
In secondary markets where employees stay longer, you need to find engineers that learn quickly and can help others do the same.
When you start out at anything, you’re probably really bad. Some people aren’t, but those people are annoying so we’ll ignore them. Across most activities, we see the same cycle play out as people learn: Let’s quickly zoom in on each step. Do This one’s pretty obvious: you do the thing that you’re trying to get good at. If you’re like me, you probably…
A few years ago, I spent about five months trying to improve at chess. In that time, I learned a lot about chess. More importantly, I learned a lot about how to systematically become more effective at something I care about. In that time, my rating improved from about 1100 (the ~50th percentile of players on chess.com) to about 1400 (the ~75th percentile of players on chess.com). While neither is…
If you close an issue but not one else notices, does it really make a sound?
In January, I left Google to work with my friend Curtis at a startup in Ann Arbor called Ploria. My role is Chief Technology Officer, which frankly didn’t mean squat when I joined because there were only two of us working full time and leading a team of one developer doesn’t take a heck of a lot. However, we’ve since added a few more full-time developers and now have a team of…
Soon after switching my major to computer science at Michigan State, I realized I was spending too much unproductive work time at my computer. Sometimes after writing code for an hour, I’d step away only to realize that I hadn’t accomplished anything meaningful since I sat down. Other times, I’d quickly check the news while my code compiled. When I remembered to go back to work,…
When Erin and I remodeled our condo from a loft into a two bedroom, we tore out the modern stainless steel railings that didn’t match our new traditional aesthetic. We also had our painter paint the risers the same color as our trim, replaced the stair skirt with one that matched our new baseboards, and hired someone to refinish the treads to match the cherry floors in the rest of the house.…
When I last wrote, our second bedroom had a floor but not much else. Here’s what our condo looks like, all the way from when we originally bought it until Friday night: It was also looking likely that it would stay this way for a while. My Uncle Mike, who’s installing the second bedroom for us, was busy this weekend. I was busy for the next two weekends, and he was busy for the subsequent two.…
In early August, Erin and I were thrilled to close on a condo in Midtown Detroit. We’d been looking for a two bedroom place for a while that was near to Children’s Hospital where she works and could fit our needs for the next few years. One of our must-haves in our home was two bedrooms: in the short-term, we can use that second bedroom as a guest bedroom and office. In the long-term, we can turn…
(This is a copy of the email that I sent to Eric Lawrence, author of the article linked to below.) Hi Eric, I’m incredibly concerned about the $2.9B MDOT plans you wrote about in Retaining walls, extra lane could be in works for I-94 . MDOT’s reason for widening the highway resonates well with common sense: if traffic is expected to grow, and the road is currently two lanes wide, then…
Since I’ve started working more on Trace Viewer , there have been plenty of times when I’ve wanted to share work on a feature branch between my desktop and laptop before sending that work out to the world for code review. I originally did this by pushing my feature branch to the project’s public Git repo from one computer and fetching that branch from the other computer. # On my…
I just finished reading The 7 Habits of Highly Effective People by Stephen R. Covey and thought it’d be nice to have a short blog post to look back on to remind me what the book’s maxims actually mean. The 7 habits are: Be proactive. Accept control of your life and focus on the things that you can control (your “circle of influence”) rather than the things that affect you (your “circle…
I’ve been reading The 7 Habits of Highly Effective People by Stephen R. Covey over the past few days and have loved it. I’m probably a little over-enthusiastic about these types of self-help books. I read How to Win Friends and Influence People by Dale Carnegie and talked about it obnoxiously to my friends, but found as I tried to apply its lessons that I need to basically reread the…
In the world of Getting Things Done , I’ve found that Emacs’s org mode is second-to-none in terms of low-friction task managers. One thing that David Allen stresses in the book is that even a tiny amount of friction in the tasks that you have to do frequently when staying organized is enough to prevent you from staying organized. At least for me, this is very, very true because I am…
I stumbled across a pretty fantastic comment the other day on Hacker News that I wanted to share. The comment was in response to an article on GPG (GNU Privacy Guard) posted by an encryption expert. The encryption expert explained that he felt it was vitally important that someone create a more usable successor to GPG. Here’s user sillysaurus’s response to this idea: You know…
Suppose that you’ve just acquired some hard-fought knowledge or skill. Maybe you’ve made tweaks to a particularly cringeworthy area of your codebase, or finally figured out how to hook up a profiler to the system that you use to run unit tests. Anyhow, you’re done and ready to move on. Right? /shrug Chances are if you had to fight hard to get this far, most other people turned…
I spent a bit of today playing around with Go’s RPC package . It’s super easy to set up an RPC server in Go. Check it out !
I’ve been beefing up on my algorithms lately by trying to finish a programming competition problem a day. And, just for kicks and practice, I’ve been doing these problems in python. I really like python so far. It’s quick and dirty and great. The problem though, is that some of the expressiveness that makes it great costs speed. Loads of it. The problem I was working on…
The best and worst part of my job is working with really, really smart people. Why this is the best part is probably obvious. Why it can be the worst, though, stems from the fact that it can lead to some serious self-esteem issues. It’s hard not ask yourself “Am I ever going to be as good as these people?”. One thing that I’ve found helpful is to remind myself: even smart…
I think that we can all agree that [spaceballs-mode]({% post_url 2014-10-11-the-missing-emacs-mode-spaceballs-mode >}}) turned out pretty damn well. There’s at least one glaring flaw in it, though. Remember when we made insert-random-spaceballs-quote an interactive function so that we could bind it to a key? Declaring that a function is interactive is a little bit like signing a contract -…
For years I’ve been urging the Emacs community to create a major mode dedicated to the movie Spaceballs but, alas, I must be communicating my vision poorly. Eager to bring this idea to fruition, I’ve decided to teach myself the basics of writing a major mode. Specifically, I’ll be creating a mode that inserts a random Spaceballs quote every time the user hits ENTER . I wrote the…
Flycheck is a fantastic little emacs plugin that aims to help you find basic errors that can be found through static analysis. On its surface - yes, I know -this sounds incredibly boring. In practice, though, it’s often the most boring jobs that I want a computer to help with, in order to help conserve my precious little sanity. You’re probably already familiar with what this looks…
Yesterday we walked through how to write an extremely simple emacs plugin, [Friendly Veterinarian]({% post_url 2014-10-07-the-friendly-veterinarian >}}). Today I want to see if we can expand the knowledge base of our friendly veterinarian a bit by having the plugin read the autocompletion options from a text file of animals rather than having to manually list them in elisp. I found this animal…
Emacs is a fantastic editor. The flexibility offered by the plugin architecture makes its potential almost limitless. Or… so I’ve been told. I say all this never having actually developed an emacs package. I’m changing that today. And I’ve limited the scope of my first plugin to reflect the fact that my attention span is limited to about 30 seconds. I think this plugin…