Why the tagline, Life hacker?

People often ask me, “what’s up with your tagline, life hacker?”

It has to do somewhat with my personal philosophy as well as Paul Graham‘s (my idol) definition.

Paul Graham said in his essay about Hackers and Painters,

What hackers and painters have in common is that they’re both makers. Along with composers, architects, and writers, what hackers and painters are trying to do is make good things. They’re not doing research per se, though if in the course of trying to make good things they discover some new technique, so much the better.

Over the course of my career, I have realized that I really enjoy building and tinkering with things. I should have realized this much earlier, but my desire to go back to programming and actually enjoying building web applications made me realize it. Ever since I was young, I really enjoyed building different things like AM/FM radio from a kit, model airplane, propeller-rubber airplane, etc.  I think that’s why I also enjoyed being a product manager, building a product someone actually finds useful. I think one of the highlights of my career was when we delivered a product as promised and more on time, the customer was actually surprised. It’s so prevalent in high tech industry for a product to be shipped late, being on time is a surprise.

I also have a sort of utilitarian approach to life, where I hate extra things that just get in the way of achieving a goal such as stupid, bureaucratic processes big companies put in place. This is why I love open source. If I need to get something done, the chances are I can find a tool to do it in open source. Like at my previous company, which was quite small, when we wanted a way to communicate with everyone and also have repository of information such as customer requirements and feedback, I just installed Drupal CMS on a unused PC and configured in a day or two. It actually came about because I wanted a simpler way of sharing training video with everyone. I certainly didn’t want to put it on share drive and have people download the huge file so that they could watch it. The best way was streaming, even internally, and converting to and uploading a flash version of the file on to Drupal seemed to be a good answer at the time. And we just started using it for internal communications portal. It is unthinkable at a company like Samsung or AT&T (I used to work at both companies).

My definition of hacking is not hacking in Hollywood‘s or security term, but just making things work and getting things done. I tell people I hack codes. I look at examples, see how they work, and make my own changes to fit my own needs. This is again why open source is so beautiful. I am not at the point of being able to contribute to open source world, but I hope I can some day. Internet is a wonderful place for hackers (this time it means for both my kind of hackers and also Hollywood’s hackers). My definition of hacking also aligns with utilitarian approach. Taken to extreme, it could mean that you can whatever you can, ethical or unethical, to reach a goal. But, I think majority of people including me have good sense of morals that prevent them from hurting or stealing from others. I think and I hope.

At any rate, I feel like I am going back to my root by hacking and building web applications that I think would be useful, not just to me but hopefully to many others, too.

Driving direction and link to edit playground information

I just updated the PlaygroundRUs site with driving direction option in info text bubble of a marker. Two buttons, “To Here” and “From Here”, are available. For now, they just open a new tab or window to Google Maps page with destination or source address of the playground.

There is a way to make it more dynamic – clicking “To Here” or “From Here” brings up a text field, where it asks where from/to address. However, this requires the logic to be placed in the javascript world. In my code, all the markers and info text bubble information are prepared in Ruby. To make it more dynamic, I need to put the logic in javascript, and it will take a while to do it.

By the way, there is an excellent set of tutorials that show how to work with Google Maps API here, all in javascript.

I also moved “Edit Playground Info” link to next to the Playground name to make it more obvious.

Next Up: Integrating with Facebook Connect.

Fix display problem with Fedora 11

I have an old laptop, Dell Inspiron 4100, and while its battery is busted, it still works with AC power plugged in. It’s not fast with Pentium Mobile processor with 384MB RAM.

Anyhow, I wanted to install the Fedora 11 as a toy box at work. I used Live CD i686  to install it, but for some reason, the display was really messed up. There were black vertical lines, and modifying xorg.conf and display settings wouldn’t do anything. At some times, the display was totally off the screen, and sometimes there were four screens in the monitor.

After searching for a while, I saw a posting that recommended disabling Kernel Most Setting (KMS) by adding “nomodeset” in /boot/grub/grub.conf. I tried it and it worked perfectly…  You can read more about KMS here.

How to enable WordPress permalinks on 1and1.com

On WordPress’ page about using permalinks, it gives steps to enable “pretty” permalinks. I have non-shell hosting account at 1and1.com, and I had use only .htacceess to make it work. Even though the WordPress’ instruction says you have to set FileInfo directives allowed, but I found that it actually causes Internal Server 500 error.

I had the following piece of code in .htaccess, and now it’s working fine.

# BEGIN WordPress

Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

It’s here to stay and disrupt for a long time

Marc Andreessen is the second most admired person on my list after Paul Graham, and what was able to do in this tough economy and what he said about startups and the Web are the perfect examples of why.

And in addition, that’s why I hate my job. I can’t believe how backward a lot of these Korean companies can be. No, I should take it back. They are not backwards, but they are just so predictable and so ordinary that not much innovations come from there. I have no others to blame but myself for current situation. I should have known it and seen it coming even under the sweet talks by my old boss. Their way of management is through micro-management and hierarchical structure. Ewwwww. What was I thinking?

But, at the same time, it gives me more and more motivation to pursue my own interest. I see it as my only way to do what I enjoy since my resume is not good fit for one of those hot startups. I will channel my frustration into something good. I am actually having fun with what I am building. I have even registered domain name for it. I have no idea whether it will become of something. But, all that matters is that I am enjoying it.

Mobile app – translator

Here is another idea for a mobile app: translator.

In my last job, I had to travel abroad a lot for business. Luckily I was able to speak the local language, so it wasn’t a big deal to me, but some sort of translator would be cool. It doesn’t necessarily need Internet connection to work. Basic phrases could be downloaded with the app initially or downloaded before a trip. Since Wi-Fi (either open or paid) hotspots are available in many international cities, additional translation could be done easily. Ordering food or telling a cabbie where to go or asking for direction could be done so easily….. Perhaps, even local map, public transit map, points of interest with recommendations could be downloaded before so that the stay could be enjoyed better. Actually better yet, you use crowd wisdom to have other ex-pats recommend places to go, foods to eat, etc. Now it’s becoming more like a travel app with translator feature. And maybe work with local or international ad network to place small local-specific ads…..as revenue source.