Automating JavaScript Code Quality Checks
At Wealthfront, we’re big advocates for automation. In general, automation saves time and ensures consistency. One of the things we want to ensure is the quality of our JavaScript code. This is particularly important for JavaScript, given its weirdness. While this task can’t be fully automated, there’s some low hanging fruit available by automating linting… Read more
Security Notice on Heartbleed / CVE-2014-0160
The Internet community learned on April 7 about the OpenSSL vulnerability CVE-2014-0160, known colloquially as Heartbleed. Many security professionals remember similar vulnerabilities in SSH, BIND, and Sendmail that pried open large chunks of the Internet Infrastructure. Heartbleed is a similar type of vulnerability, as detailed on the Heartbleed website. We join financial institutions across the… Read more
Tracking Down a Crash in iOS
One of the iOS black arts is hunting down the cause of a crash report. At the best of times they’re vague and indicative of the final point of failure; rarely do they ever identify the actual root cause in any enlightening way. So let’s take a look at a stack trace from one of… Read more
Unit testing -drawRect:
One of the more challenging places to get test coverage on iOS is custom UIView subclasses that override -drawRect:. Let’s examine how we do this at Wealthfront and look at an example from our iOS application. There are a number of great reasons to implement custom UIViews, for example we have a simple custom view… Read more
Nuke the NPE in Java
Null is a pain and it is time to nuke the NPE (NullPointerException) in Java! Actually, NPEs are trivial to fix, so they’re not actually what this blog post is about. We’ve all seen code like above throw a NPE, and we know the fix is trivial: View the code on Gist. It is safe… Read more
iOS Development at Wealthfront
At Wealthfront everything we build is designed to move quickly. For example, it is common for new hires to deploy new code to production on their first day. Our continuous integration and deployment environment are designed so that if the tests pass we ship. This, of course, is actually quite normal for a Silicon Valley… Read more