The Hacker News Stack

If you want to build a web app The Hacker News Way, here's the stack you should use.

Opening Mail

First make the change easy, then make the easy change.

Shuhari

Follow the rules, break the rules, transcend the rules

On Leaving Facebook

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.

React API evolution

From React.createClass to hooks: why React is at odds with JavaScript

Moving my serverless project to Ruby on Rails

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.

Optimize Your Meetings for Engagement

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.

Things that are not strings

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.

How not to use Flux: SET actions

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.

Digital Typewriter

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.

Better way to switch between apps on macOS

(+ 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.

React-flavored JavaScript in 5 minutes

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.

cdtmp

Create a temp directory and cd into it, and how it changed the way I try new things

Plotting ideas

Errors with extra information can help locate and fix the problems faster.

Test Plan

On why test plan is useful when making changes to large codebases.