CAP and ACID

The above two concepts are useful starting points for developing a solid understanding of core database concepts. I'm not going to reinvent the wheel, so first, read this quora post, which is the best summary of the above concepts that I've read. Now, let's go a bit deeper. Cap Theorem ... Read more »

Internet Security - OWASP Top 10

In my interview at Fitbit, my now manager told me that every developer should know the OWASP Top 10. It's a list of the most common internet security vulnerabilities. The list is a lot of information, but if you look through it gradually, you'll start internalizing the list before you ... Read more »

I'm joining the Fitbit team! Plus lessons from a job search

Fitbit I just finished my job search for my first full time role. After 2 months of searching and chatting with a lot of companies, I decided on Fitbit, a company that helps people live healthier lives through wearable devices that measure sleep, activity, and heart rate. Fitbit has 72% ... Read more »

Using express 4 and grunt to improve page performance

I went back to my Career Buddy app today and made some performance improvements. Luckily, there are multiple websites that make it very easy to identify and benchmark these improvements. I used GTmetrix. Here was my starting point: Overall, not too bad. I'm already minifying and concatenating all of the ... Read more »

Khan Academy Tutorial Pages and Google Analytics

One of my largest features that I shipped at Khan Academy was a new addition to the topic tree, tutorial pages. Most of Khan Academy's content is organized into a topic tree, consisting of the following types (click on each type for an example page): Domains: www.khanacademy.org/math ... Read more »

Optimizing the Khan Academy home page

It's the end of my first month here at Khan Academy, and I've been having a great time and really improving my knowledge. Everyone at Khan Academy is talented and excited to be here contributing to the audacious goal of providing a world class education for everyone, everywhere. I've been ... Read more »

Career Buddy Part 3: K-means clustering in R

3rd post in a series about the Career Buddy app. Click here for "Career Buddy, Part 1: Adding a Responsive Legend to D3 Charts Using Angular", and here for "Career Buddy, Part 2: Grunt". Why K-means? K-means is an unsupervised machine learning algorithm which groups data into clusters in a ... Read more »

Career Buddy Part 2: Grunt Workflow and Heroku

2nd post in a series about the Career Buddy app. Click here for "Career Buddy, Part 1: Adding a Responsive Legend to D3 Charts Using Angular." This post details a full Grunt and Heroku workflow, including: cleaning target folder generating css files from sass files minification and concatenation of .js ... Read more »

Career Buddy, Part 1: Adding a Responsive Legend to D3 Charts Using Angular

Why Do a Side Project? After finishing some recent client work, I thought about what to do next and considered some exciting opportunities. I decided to take some time and solidify my skills as a full stack developer by working on my own app. I made a list of key ... Read more »

Setting up a Windows VM from a Mac using Azure

I recently finished up my commitments at Hack Reactor, and am developing the curriculum for and teaching a web development course for Mission Bit, which teaches coding to public school students. Next week, I'll be teaching the course to a group of teachers for their professional development, as well as ... Read more »

Moxe Health

Overview My first client project at Hack Reactor was with Moxe Health, a Rock Health company that's standardizing electronic health records among thousands of hospitals across the country. Moxe contracted us to build a useful product that also showed off their API. I, along with my teammate Ian Lyons (a ... Read more »

Services vs. Factories in Angular

Moxe Health One of my Hack Reactor classmates and I recently built a high blood pressure treatment calculator for Moxe Health, an exciting Rock Health company that is building a database integration system and API that will allow any developer to access the electronic medical records of any hospital in ... Read more »

The Gift of Beginner's Mind, Part 2

This post is the second in a series of posts about my beginner's mind as a software engineer. Click here for Part 1: Making Sandwiches with Martians. Estimated reading time: 7 minutes. Read the bolded text for a 30 second summary. It's the end of week 6. I can already ... Read more »

The 10x Engineer, Part 1: Typing

This post is the first in a series of posts that will be about how to improve productivity as a software engineer, and reach the mythical '10x Engineer' status. Estimated reading time: 3 minutes. 30 seconds for bolded only sections. During our 2nd week at Hack Reactor, we were introduced ... Read more »

The Gift of Beginner's Mind, Part 1: Making Sandwiches with Martians

This post is the first in a series of posts about my beginner's mind as a software engineer. Estimated reading time: 5 minutes. Like I mentioned in my last post, being a beginner can be annoying, but what if it can also be a gift? If you go to a ... Read more »

Instantiation Patterns and Execution Speed

This blog post will give you some insight into: - The 4 most common instantiation patterns in Javascript - How you can use jsPerf instead of Chrome profiling tools - Which instantiation pattern is fastest (in a very specific situation) and why During my first week at Hack Reactor we ... Read more »

My Current Level as a Programmer: Pre-Hack Reactor

So, what's my level as a programmer right now? I think it's interesting to get a gauge before and after I go through Hack Reactor. In no particular order, here are the most important languages, frameworks, and skills that I've had exposure to so far. Fair warning; it's on the ... Read more »

Why "following your passion" is terrible advice

Here's a quote from a recent New York Times interview with Louis CK, one of the most famous comedians in the world right now: "There’s people that say: 'It’s not fair. You have all that stuff.' I wasn’t born with it. It was a horrible process ... Read more »

Coding bootcamps

After I decided that I wanted to become a software engineer, the next question was how to do it. I'd already gotten some initial exposure to coding through a programming class at Stanford called "106a: Intro to Java". My dad, who got his PhD in computer science from Berkeley and ... Read more »