Posted on Jan 28, 2025
If you want to build a web app The Hacker News Way, here's the stack you should use.
Posted on Jun 19, 2024
How do you choose the best tool for the job?
Posted on Jan 6, 2024
First make the change easy, then make the easy change.
Posted on Nov 22, 2023
Making reliable systems that expect things to go wrong
Posted on Oct 29, 2023
This is a story about a side project that I started in 2018, and the reasons I'm shuting it down.
Posted on Jul 4, 2023
How a random stream of events ended up creating a picture with 57 million views
Posted on Jun 29, 2023
What's inside that package.json? Pain.
Posted on Jun 18, 2023
Follow the rules, break the rules, transcend the rules
Posted on Mar 27, 2023
Questioning the status quo of software maintenance
Posted on Nov 7, 2022
A senior engineer joins a team. Before long, they start noticing weird quirks in the codebase…
Posted on Aug 8, 2022
How I replaced Jekyll with 200 lines of JavaScript
Posted on Jan 21, 2022
After 8.5 years at Facebook I joined a small startup called Replit. Leaving wasn't easy, and during the process I've talked to half a dozen friends who were in the similar situation.
Posted on Mar 11, 2021
From React.createClass to hooks: why React is at odds with JavaScript
Posted on Feb 23, 2021
A story about my attempt at SaaS
Posted on Nov 14, 2020
Serverless is like a black hole. It promised exciting adventures, but the gravity sucked me in and I spend most of my efforts dealing with its complexity, instead of focusing on my product.
Posted on Oct 28, 2020
What if I'm a left-handed person in the world of right-handed tools?
Posted on Sep 24, 2020
Imagine you meet a bunch of old friends that you haven’t seen in a while. Everybody’s sharing their stories, and everybody else is actively listening, asking questions, and are fully immersed.
Posted on Aug 19, 2020
As programmers, we have a collective delusion that anything that can be represented as a string, is a string. This thinking causes a whole bunch of problems.
Posted on Apr 13, 2020
In most of my personal projects I have a file called TODO. I use it like this…
Posted on Mar 16, 2020
Overengineered way of measuring your internet connectivity.
Posted on Mar 12, 2020
Successful communication is so much about understanding the context and the people on the receiving end
Posted on Dec 15, 2019
Actions that are named `SET_*` is anti-pattern. It usually means that the code that should be in the reducer lives inside React component instead. This makes apps harder to reason about, debug and test.
Posted on Jun 9, 2019
What if you could use your favorite keyboard away from your computer? In this side project I'm building an old-fashioned typewriter from modern IoT parts.
Posted on May 19, 2019
End-to-end tests are not flaky, if you cook them right.
Posted on Mar 9, 2019
How to adopt React Native incrementally with little risk inside an existing native application and a team full of native engineers.
Posted on Oct 28, 2018
My favorite announcements from React Conf 2018
Posted on Aug 27, 2018
Posted on Aug 22, 2018
Posted on May 17, 2018
(+ video tutorial!) ⌘-tab sucks when you have more than two apps running. In this blog post I explore how we can make switching between apps more efficient.
Posted on May 2, 2018
Work vs Hackathon vs Competition vs Side Projects
Posted on Jan 10, 2018
Fun, misery and yak shaving expeditions
Posted on Apr 28, 2017
A little known story about the first React Native app that was published on the AppStore.
Posted on Apr 24, 2017
This document is for experienced software engineers who already know several other programming languages and just want a TL;DR summary on JavaScript in the context of React, Flow and the new ES6+ hotness.
Posted on Mar 24, 2017
I think I *finally* understood it
Posted on Mar 21, 2017
Create a temp directory and cd into it, and how it changed the way I try new things
Posted on Feb 24, 2017
Errors with extra information can help locate and fix the problems faster.
Posted on Jan 18, 2017
Errors with extra informaton can help locate and fix the problems faster.
Posted on Dec 14, 2016
Using the 80/20 rule to make your slide deck better
Posted on Sep 11, 2016
On why test plan is useful when making changes to large codebases.
Posted on Sep 1, 2016
One practical tip that will make your technical blog posts more useful.
Posted on Jul 5, 2016
Fighting lack of attention span with some advanced tooling hacks
Posted on Jun 5, 2016
CTRL+R → search history
Posted on May 28, 2016
How to use Flow to add type annotation to your Redux-powered app.
Posted on May 20, 2016
Posted on Apr 2, 2016