Please enable Javascript to view this site.
Why does exist?

The existence of this site is not to say that my life is in any way interesting or that I'm an entertaining person (in fact, I've been told the opposite numerous times). However, I do get tired of those perfunctory conversations you always have when seeing a friend for the first time in many years-- you know, the ones where you ask each other how you've been but don't really care or expect any meaningful response. This website started out as a simple blog to keep those who really do care up to date, and for those who didn't, it allowed me a quick and easy "I have a blog, check it out" repartee.

For a while this system served its purpose, and I even had time to put up a few photos to show off my good looking friends and scare away stalkers.

However, with the growing number of myspace netizens constantly tweeting to their 700+ facebook friends about their new youtube videos relating their opinions on cool whip, I started to wonder whether or not my site was worthy of the space it occupied in this growing array of fascinating social content. So I decided to start a collection of articles so people who didn't give a fudge about my own personal thoughts might still find something useful and informative here.

Of course, the topics covered still center around my own interests, but I hope the articles can still be useful to readers who share similar interests, such as coding (PHP, Ruby, Python, MySQL, Javascript, and various frameworks), software, technology, gadgets, and the Japanese and Chinese languages and culture.

Who is QiGuang?

I am a very private person. That is why I have an online blog... ;)

Qi Guang is my Chinese name, which I actually don't use in anything other than this site. I am Taiwanese, and although I would have a hard time getting by in Taiwan with my limited knowledge of the language, I still count Taipei as one of the places I call "home."

I'm always trying to improve my Chinese as well as learn Japanese, due in large part to my fascination with anime and other Japanese media. I also love Japanese and Taiwanese food.

Building websites and applications with PHP and MySQL started out as a hobby when I was an undergraduate majoring in Electrical Engineering. Even when I later got my Masters in Biomedical Engineering, I still dabbled heavily in web programming. After college, I worked as a systems engineer at a software company that helped manage some of the largest networks in the world. I had the opportunity to work directly with clients including British Telecom, Vodafone, Sprint-Nextel, Alltel, Verizon, the Pentagon, and Defense Information Systems Agency (DISA). I learned a lot about Cisco switches and Juniper routers as well as Internet routing protocols. I also learned how to work with a team of brilliant Java developers under stringent deadlines developing software for cutting edge technology.

Nowadays I'm trying to learn more about the programming languages that power the web and the frameworks and coding techniques that empower web developers. I sometimes wonder if I'll ever go back to designing CMOS circuits and doping semiconductors, performing patch clamp experiments on mutant ion channels in xenopus oocytes, or getting free swag from telecom companies at tech conventions. A part of me misses the high level theoretical work I've done in the past, but I also appreciate the immediate, tangible results you get from creating useful applications.

Long term goals aside, I try to enjoy the few hobbies I have time for these days. I play RTS and RPG games, try to keep my twelve years of piano training from atrophying, keep up with the drums, watch anime when I have time, hit the tennis courts and golf courses, and shoot with my Nikon D-90.

How was built?

Ah, if you are reading this, then maybe you are someone who also spends most of their free time building websites. If that's the case, let's grab coffee sometime and discuss our latest favorite CMS, it'll be fun! :)

So, what's going on under the hood? Well, the blog and articles use Wordpress. The photos use Gallery 3. All the templates for both Wordpress and Gallery 3 were built more or less from scratch, except for the blog template which borrows heavily from "Smooth" by BenoƮt Burgener

The frontpage was built from scratch and employs a custom class that queries the Wordpress and Gallery 3 databases for the latest updates. It completely bypasses both Wordpress and Gallery 3 files to reduce overhead and load time.

jQuery is used throughout the site. I'm a huge fan of noscript and eschew sites that go to town with obtrusive javascript just because they can, therefore I try to maintain basic functionality for non-javascript users as well as keep the client-side code footprint to a minimum. So, if you are browsing this site with noscript, please kindly add me to your "allow" list. ;)

The code for this site was written in PHP and MySQL, with Vim and UltraEdit, and on CentOS. Images were created and edited with Photoshop.'s previous incarnation consisted entirely of light text on dark background. It made the pictures and text "pop" more, but readability suffered, as light-on-dark text causes more eye strain than the traditional dark-on-light text. With this new design I wanted to use the easier-to-read dark text on light background scheme for pages that contained lots of text, and keep the dark background schemes for the photos and pages with minimal text. Making the transitions between the two contrasting schemes as smooth as possible so as to not create a jarring experience for the user when switching between the two was a bit of a challenge, but I think in the end it worked out. If you disagree, feel free to leave me a comment. :)

Got something to say?

I appreciate all feedback, both positive and negative. If you just want to say "hi" that's also appreciated. :)

Send a comment: Your name, so I know who you are:

Your email, it will only be used to reply to your comment:

Enter the last three letters in "" (to prove you're human):

Type your message: