I like to write. Here is some of my work.

Blog

LitElement Hello World with Webpack

I created a GitHub repo of a basic “Hello World” LitElement view with Webpack (hot module reload and decorators). I only uploaded this…

How to Improve Windows

As a long-term Mac user who’s recently been using Windows a lot again (thanks to Windows Subsystem for Linux), there are a lot of things I…

How to make a Universal Javascript Single-Page App with Server-Side Rendering

In this post I will explain what this is, and the basic idea of how to make one. Feel free to check out my React Redux boilerplate to see a…

Rebuilding My Personal Website for the Millionth Time (this time with Gatsby)

I just rebuilt my personal website again, this time with Gatsby.js. Gatsby is a static site generator (SSG), and SSGs are all the rage these…

Vroom - Building an Blazing Fast Ecommerce Website From Scratch

I was hired as the first engineer in Vroom’s new NYC HQ to rewrite Vroom.com on a modern tech stack. I rebuilt the website from the ground…

Windows Subsystem for Linux Review

Windows Subsystem for Linux (WSL) gives you a native linux terminal on Windows, which is a gamechanger for Windows. No longer can “lack of a…

Places I've Been

Here is a list of the cities and countries I’ve been to. The purpose here isn’t to brag or anything like that, this is literally just for me…

I made a resume template

I made a resume template with Google Docs. Check it out. I actually didn’t make this for fun, I just couldn’t find any templates I liked. I…

Long Neck Village Impressions

Today I visited one of the villages habitated by the Karen Tribe, famous for the neck rings that the women wear. Originally from Burma, many…

How to work an office job without destroying your eyes, wrists, and back

It probably won’t come as a surprise to you that sitting down all day and staring at a bright LED screen a couple feet away from your…

Social Skills as a Software Engineer

I was grabbing lunch with a stockbroker friend of mine from the hostel the other day, and for fun we decided to shoot some street interviews…

Why I Sold My Macbook Pro for a Dell XPS 15

After 3 years exclusively using the Macbook Pro, I’ve ditched it for the Dell XPS 15. As a web developer, the one thing that’d kept me on…

Completing things is addicting

I wasn’t planning to write so much today. I would just force myself to start writing one article, and then seeing the unfinished article…

Stop Demanding Perfection From Yourself

Perfectionism is one of the greatest sources of procrastination. Our fear of things not being perfect prevents us from completing anything…

You are a product of your habits

You are a product of your habits. Our brains are naturally lazy and seek what’s easy, the past of least resistance - the comfort zone. It’s…

Communal Living

I think that communal living is the ideal way to live for anyone not in a serious committed relationship. I’ve spent the last 8 months…

Foreigner's Impression of NYC

I was just speaking to a South African in the hostel common area who’d spent 8 years living in London. When I told him I’d been living in…

Cold Weather

It’s cold outside here in Kiev (13° high, 7° low). As someone who hates cold weather, this would normally be my cue to leave - after all…

Hostels are Amazing (1 week of hostel life in Kiev)

Kiev, Ukraine After spending a couple weeks in AirBnBs, I was bored and struggling to get work done, so I booked a dorm in a hostel for a…

International Mobile Plans

It’s important to set up your mobile plan/strategy before leaving the country, especially if you’re currently with an overpriced provider…

Credit Cards I Use and Recommend

Credit cards with cash back policies and no annual fees are essentially free money (assuming you treat it like a debit card and don’t spend…

Neofeudalism and the Parasite Economy (summarizing Michael Hudson)

There are two types of income: earned and unearned, aka economic rent. Economic Rent = Price — Instrinsic Cost Value Economic rent is the…

Mexico City Impressions

Mexico City was the first stop on my world tour, and these are my impressions after 1 week. I’ll be completely honest - I originally had no…

How Japan and Korea Design Cities for People instead of Cars [Video]

I think we can learn a lot from Japan and Korea on how to design livable, walkable cities that don’t require you to drive a vehicle to go…

South Korea's Dystopian Nightmare

South Korea is one of the most technologically advanced and culturally influential countries in the world, but behind the curtain is an…

CeilingBuster.com

I made a remote jobs website that lets you filter by salary with a giant slider. Check it out at ceilingbuster.com

iHeart - Complex Universal Single-Page JS App

iHeart was my first real web engineering role at a large corporation. I was hired as a “Web Engineer” to the web team, responsible for…

Peter Thiel - Competition is for Losers (Summary)

This is my quick summary of Peter Thiel’s video: Competition is for Losers with Peter Thiel (How to Start a Startup 2014: 5). Here is the…

Z-Indexes in CSS Explained

Z-Index is one of the most confusing and unintuitive properties in CSS, but it’s actually pretty simple once you understand it. Your first…

Upgrading to Webpack 2, and Tree-Shaking Results

Recently made the upgrade to Webpack 2 because I wanted the tree shaking functionality. Took about a day. Here are some tips, along with the…

Excess Management Is Costing the U.S. $3 Trillion Per Year

https://hbr.org/2016/09/excess-management-is-costing-the-us-3-trillion-per-year Background Data There were 23.8 million managers, first-line…

How to set up a basic dev environment for web development (mac OSX / Linux)

This is a tutorial for beginners on how to set up a dev environment on a Mac/OSX (applicable to Linux as well). Text Editor - Sublime Text…

Shortest Flexbox Tutorial

Making a CSS block grid is super easy with Flexbox. Check out this basic example I made. All you need to do is add the following lines of…

I Made a React Redux Node Boilerplate

Redux is currently the hottest framework in React world. The official Redux examples are very lackluster, so I wrote a simple blog app that…

Adam Grant - Originals (summary)

Recently listened to an interesting interview of Adam Grant (via James Altucher’s podcast) where he talked about his research in his book…

How to work efficiently and stop wasting your time

Productivity, or the rate at which you get stuff done, is highly variable. When I’m “in the zone”, I’d estimate conservatively that I’m 4x…

ImmigrationBags

Made a simple single-page ecommerce after work attempting to profit off of Amazon affiliate links. I did not make a sale, but I thought the…

Employment by Industry Sector in the U.S. (Visualization)

Here’s a data visualization I made of nonfarm employment in the U.S. by industry sector. You can click on any box to zoom in. The data was…

9-5 Office jobs are inefficient. Employees would be more productive if granted more freedom

Forcing employees to be in an office from 9-5 is incredibly inefficient for both employees and employers, and results in an extraordinary…

How I went from a 3.0 student to a 4.0 student

Most people who struggle in school despite working hard simply aren’t making the effort to fully understand the material on an intuitive…

Javascript Absurdities

Javascript is a funky language. Here are some obvious design flaws: 1. Regex method is inconsistent when global flag is set Today at work I…

Tips for developing a 2D HTML5 Canvas Javascript game

I recently had the pleasure of creating a 2D HTML5 Canvas game from scratch. Here are some tips and takeaways that might save you some time…

Web Audio API Intro Tutorial

With the Web Audio API, you can make sound in the browser. I’m going to show you how to play a triangle wave. 1. Create the AudioContext…

3D World

I started making a 3d world using Three.js and WebGL. I didn’t finish unfortunately, but I’m posting it anyways because why not. Check it…

Merging Geometries in Three.js

Merging multiple small geometries into one single geometry is generally more performant. Rendering 150,000 cubes would be excruciatingly…

3D Audio Viz

I made a 3D audio visualization with Three.js. The colors and movement subtly sync to the music. You can move around with the mouse and W/A…

2 Weeks in Europe

I recently spent 16 days traveling solo around Europe. I visited Stockholm, Amsterdam, Berlin, Prague, Vienna, Budapest, and Copenhagen. I…

How I Got 1,000 Twitter Followers in 1 Week

Last night I was bored and looking for a side project to work on to help improve my Javascript skills for my new job (just finished week…

Web Audio Keyboard

Web Audio Keyboard I made a web keyboard using the Web Audio API. You can play it with your keyboard (“z”, “x”, “c”).

Why Remote Work is the Future

Remote work is becoming more and more mainstream as companies are realizing that chaining their employees to a desk in front of a laptop for…

Varick Media - Data Engineering to 3D Visualizations

My work at Varick Media ranged from data engineering to complex 3d visualizations in the browser - easily the most varied role I’ve ever had…

NYC Stuff To Do

I made a simple website for people to find free things to do in NYC. Check it out here (no longer on its own domain)

NYC Anonymous

I made a real-time chat app with the gimmick that if you allow access to geolocation, it will tell people what NYC neighborhood you’re…

Reflections after getting a Master’s in Operations Research from Columbia University

I just finished the Master’s program in operations research from the School of Engineering & Applied Science (SEAS) at Columbia University…