I’m just over a month late in blogging about this, but my first Android application is out and available for download in the Android Market. I’ve written a few apps for Android, but this is the first to actually be released to the general public.
Say hello to Gas Log, the fantastically simple way to track your car’s fill-ups.

Gas Log is simple by design and features a completely customized UI. There are similar apps on the Android Market that do much more, but Gas Log separates itself by doing a few things really well and not overwhelming the user with a noisy array of bells, whistles, and mostly ignored statistics. It’s apparent in the little details, like the custom numeric keypad that makes entering a new fill-up fast.

Or a beautiful graph that appears when you rotate your phone, showing you only the information you really care about.

Gas Log is out now and is currently free (ad-supported). An ad-free paid version will be out soon, and will include useful additions like easy backups of your data.
Search the Android Market for “Gas Log” or scan the handy QR code below.

I’ve been using this setup for some time now and it’s so insanely useful it’d be a shame if I didn’t share it. (Note: this isn’t new.) Basically, I use Git for my source control and Dropbox as my online repository—and it’s a snap to set up.
- Create a directory in your Dropbox folder for your projects. Mine’s called “Projects.”
- Open up a terminal and go to the directory of the project you’d like to host on Dropbox.
- In the terminal type:
git clone --bare . ~/Dropbox/[projects folder]/[project name].git
- Then type:
git remote add [project name] ~/Dropbox/[projects folder]/[project name].git
That’s it! Now after every local commit, you can push your changes to Dropbox by doing git push [project name] master.
When I want to work on a project on my laptop, I run git clone ~/Dropbox/[projects folder]/[project name].git once to grab the initial code and git pull origin master everytime I want to pull new changes in.
I finished off my masters program at UCI a few weeks ago, and like most other recent grads, I’ve started looking for a job. It’s not as bad out there as people would have you believe, but it’s just as hard as ever to find the right company. For me, that’s a company with a small team that’s working on an interesting product. Naturally, I’ve been eyeing a few startups. However, young startups tend not to have a lot of money to spend on the legal end of things, and it’s far too easy to pull down a seemingly standard legal document from the Internet, so as developers we need to be extra cautious about what we’re signing.
I was asked to sign a nondisclosure agreement (NDA) over the weekend that the CTO assured me was a standard NDA. All the investors and other employees signed it, so it must be OK. It looked normal to me, but I decided to play it safe and have my sister (a lawyer) give it a quick run-through. Turns out there were some bad bits that others might want to keep an eye out for.
- Typos: the “effective date” of the NDA was correct on the first page, but incorrect (a month prior) on the last page.
- Inconsistencies: one of the sections in the NDA referred to another section incorrectly. This is usually an indication that the company pulled down a “standard” NDA they found on the Internet and rearranged (and probably edited) things to their liking. I don’t see a professional lawyer making such an obvious mistake on a three-page document.
- Unusually long terms: from what I’ve been told, the standard amount is 2 years, meaning the NDA is effective 2 years after the “effective date” (the date you sign the NDA). The NDA I was asked to sign was 5 years—not a dealbreaker, but kind of long.
- No provision for counsel: an NDA should have a clause that allows you to share information with your lawyer. Something along the lines of:
Therefore, the Receiving party covenants the following: Not to disclose or reveal Confidential Information received hereunder to any person except for Receiving Party’s employees, directors, counsel, agents and advisors (collectively, the “Representatives”) who are required to have such Confidential Information in order to perform their functions in connection with the Business Purpose;
- Clauses that don’t belong in an NDA: this one really irked me. Along with the typical NDA legalese, there was a “work for hire” clause thrown in there. It’s pretty standard in an employment contract—but has no place in an NDA.
I don’t think the company had bad intentions, and in the end, signing an NDA isn’t all that big of a deal. But as always, read before you sign or else you might just end up losing your soul.