Oh, The Things I Will Ngo

Chronicling my adventures in software engineering

about me

I’m a software engineer from Hack Reactor. I hack life. Usually with computers.

recent public projects

Status updating…

found on

More on Hack Reactor

- - posted in hackreactor, thoughts, | Comments

As Hack Reactor has been gaining in popularity, I’ve been getting more and more questions about my experience and perspective on the program. So for anyone else who may be interested, I’m publishing a few of the most frequently asked questions (to be updated as I get more questions).

How does Hack Reactor help you learn programming compared to learning by yourself?

Reflecting on Hack Reactor

- - posted in hackreactor, thoughts, | Comments

2 months after graduating from Hack Reactor, I’ve been asked several times about what it was like to attend Hack Reactor. When I was considering going to Hack Reactor in the first place, I found it really helpful to read about other people’s experiences, so I’m adding my 2 cents for anyone else who might be interested (and also so I don’t have to answer the same question multiple times!).

TLDR: Hack Reactor been an awesome experience and I couldn’t recommend it highly enough.

Best Practices on Deploying Node.js to AWS EC2

- - posted in aws, ec2, nodejs, security | Comments

So you’ve reached v1.0 of your Node.js-based project, and you’re ready to deploy. Congratulations! One of the many ways you can deploy a Node.js project these days is via Amazon Web Service’s Elastic Cloud Compute (EC2). There’s others, such as Heroku and Nodejitsu. Amazon actually even has another service that helps you deploy Node.js applications using their services, called Elastic Beanstalk. In theory, it’s great; you simply install their CLI tools, run ‘eb init’, and you’re on your way to quickly deploying your application based on your latest git commit. In practice, I haven’t had much success with it due to node dependencies not installing properly, and I’ve had to launch my own VM to set up Mongodb anyway (since Amazon doesn’t offer a simple service like Amazon RDS to easily set up a NoSQL database aside from their own DynamoDB), so I’ve also set up a VM dedicated to Node.js. In fact, my good friend Matt Goo even wrote a blog post that walks you through the steps I’ve used in my deployments here. Once you’ve gotten node set up, there’s a few more things to keep in mind in your deployment.

Adding Form Fields Dynamically in AngularJS

- - posted in angularjs | Comments

Once of the first challenges I encountered with building NOMinatr on AngularJS was figuring out how to dynamically add new form fields. Polls in NOMinatr needed to be able to allow users to add as many different options as they want and not be constrained by some arbitrary number based on the number of fields I created beforehand. So how does one go about setting this up in AngularJS? Turns out, it’s a lot simplier than you’d think.

Reflections Halfway Through Hack Reactor

- - posted in hackreactor, thoughts, | Comments

I originally planned to blog each week at Hack Reactor, but…that turned out to be a lot more challenging than I anticipated. Hack Reactor’s schedule officially runs from 9am-8pm, but I’m actually here 8:30am-9:30/10:30pm on most days, coming in earlier to take advantage of the continential breakfast and socialize with fellow students, staying later to work on extra credit portions of our assignments. Often times, I won’t even realize how late I’ve stayed until I look at the clock around 8:30pm, thinking it was still 7:30pm.

Week 1, known as “Hell Week” for the back-to-back lectures and the insanely dense lesson plans, was probably the most I’ve ever learned in a single week in my life.

Hello World!

- - posted in hackreactor, thoughts, | Comments

About 2 months ago, I started learning about programming bootcamps one day as I was browsing through my Facebook News Feed. One of my friends had shared a link to an article about a programming bootcamp called App Academy, which had been featured on ABC News because they changed the nature of these bootcamps by doing one thing: changing how they charge for tuition. Rather than charging for tuition upfront, like many other educational institutions, they (at the time that the article was published) take 15% of your annual salary over the course of 6 months, from the first job you land after graduating from the academy. Intrigued by both the concept of a programming bootcamp and the lack of upfront costs, I applied.