Sometime between 2013 and now you graciously provided me with your email address after reading an article on alexbowe.com (probably something about succinct data structures like Wavelet Trees and de Bruijn Graphs, Natural Language Processing, Python, or programming interviews).
Over time my writing crawled to a stop due to life (doing a PhD, moving countries, getting a job, chasing shiny things), but also my harsh inner critic. But Learning in Public has incredible network effects - why should I let any critic deny me that, let alone myself?
So I’ve decided to make a conscious effort to overcome that, and wanted to give you a heads up that I'll be using this mailing list more often (you can always unsubscribe here if my emails aren't relevant or interesting, although I hope they will be).
I’m still feeling out what I want to use this newsletter for, so today I'll start simple by giving a quick update on what I've been up to, give a couple of links to articles I’ve written recently, and a preview of what I'll be writing about soon.
In 2017 I quit my PhD and moved from Tokyo to San Francisco to work on routing and pickup-dropoff locations for self-driving cars at Cruise. It's been cool seeing the company grow from ~100 to ~3000 people, with a fully driverless ride-hail service operating with a small-ish group of beta testers (but improving and scaling very quickly).
In 2020 I succumbed to the crippling guilt of leaving my PhD, so decided to finish it by hiring a project manager to guide me, and someone to help with typesetting (LaTeX, am I right?). This accelerated my progress a lot and was a huge relief (if you are an ABD and want to do the same, let me know).
In 2021 I realized how much I missed writing, so decided to resurrect my blog and joined a writing club.
The first article I wrote was about how I recovered a lost passphrase to a Bitcoin wallet. It turns out that the edit distance of typos follows a Zipf distribution, so doing a breadth-first search from an initial guess can yield the correct passphrase in a practical amount of time (it took around 3 hours in my case):
(Cryptocurrency is a divisive topic, but give it a chance even if it isn't your thing - the article is mainly about programming and natural language).
Then in January 2022 I wrote an article about a code snippet I use to simplify tree problems in programming interviews (with examples):
And currently I'm gearing up to run my first online course for preparing for programming interviews using the 80/20 rule and spaced repetition. More on this later, but if you're curious the landing page is here:
As for what I'll write in the future, here are some of the things I have in mind:
- How I got a Knuth Reward cheque (I found an error in the math describing decodable de Bruijn sequences in TAoCP vol 4A), and how a miscommunication about addresses almost led me to bang on Donald Knuth's door demanding he pay me my $2.56.
- Variable Order de Bruijn Graphs (my favourite paper from my PhD - lots of nice diagrams and patterns).
- Colour de Bruijn Graphs (the third paper from my PhD).
- Fundamental data structure, algorithm, and compression tutorials (what is little-o complexity? What is 0th and kth order entropy? What is the BWT?).
- More programming interview and career tips.
- Tools for learning and thought (Obsidian, Spaced Repetition, Incremental Reading).
- Stuff I've learned at Cruise (when I'm allowed to share it).
- Maaayyybbee some cryptography and cryptocurrency stuff (I'm a big fan of Monero).
- Summaries of articles/books I've read or things I'm learning, including what I learned from taking Maven's Course Accelerator to build the course I mentioned above.
- Anything else I'm thinking about/ideas I want to bounce off you (I'm particularly interested in using AI to generate fashion designs at the moment, and making an open source composable fashion design library with a Figma/Replit-like interface).
But now I'd like to hear from you! Do any of the above topics sound interesting (and would you be interested in reading drafts of them)? What other topics or questions would you like me to write about? Just want to say hi? Just hit reply and I'll read it (and I'd love to chat!).
Join the newsletter to receive the latest updates in your inbox.