by Michael Zhang on May 5, 2010
When will larger publications like Time magazine finally realize that people don’t want to view single image slideshows anymore? Sure, it’s good for inflating page views, but websites like The Big Picture over at the Boston Globe are killing it in terms of sharing amazing photographs in an easy-to-view and easy-to-share way.
I’d much rather view and link to a page containing 20 photographs of a particular event than a old school slideshow that only shows me a single, low-resolution photograph on 20 separate pages.
by Michael Zhang on April 24, 2010
When I switched to using a Mac at the beginning of this school year, I didn’t want to shell out money for Microsoft Office, so I decided to give OpenOffice a shot.
I absolutely love it.
For me, there hasn’t been any perceivable downside to the program, and it works exactly like MS Word did for me when I was on a PC.
It’s also the program I’m writing my master’s thesis in, rather than LaTeX, since there isn’t any formatting requirement for the program I’m in. Also, I’m using CMU Serif, the font that LaTeX uses, so my paper actually looks like something created with LaTeX. Using the “Export as PDF” feature in OpenOffice, you’ll end up at the same result (as long as you don’t need complicated formulas and other things LaTeX is used for).
Earlier this week, I suddenly realized that certain formatting and styling changes weren’t being saved, and were lost after closing the document and reopening. After a lot of searching and tinkering, I found that it was because I was saving the document as a MS Word compatible .doc.
If you save your files in the OpenDocument file format (ODF), the native format used by OpenOffice, all your changes should be preserved perfectly.
by Michael Zhang on March 19, 2010
If you develop add-ons for Firefox, be sure to keep your extensions compatible whenever Firefox releases a new version of its browser.
I don’t have concrete data or statistics, but I’m pretty sure you’d see a pretty fast drop-off in number of users if they upgrade their browsers and find your extension incompatible. Once they uninstall your extension, you lose your chance to prompt them to update, and they might quickly forget about your extension and look for replacements.
Just a thought.
by Michael Zhang on March 13, 2010
If you’re a startup with something extremely novel you’re trying to sell (i.e. software, hardware, gadgets, accessories, etc…), a video showing how unique your product is can help it gain publicity. Make it short and sweet (1-2 minutes) showing exactly what it does and why it’s so cool.
If the product is indeed cool and the video done well, then people will naturally want to show their friends. Furthermore, tech/gadget/niche/personal blogs will want to share the video as well.
Which brings me to my tip: Make your video embeddable!
Too often I’ve come across some product and video that I’d like to embed, but have no way of doing so because the company decided to go with some custom (and non-embeddable) video player.
Better yet, just use YouTube! Why wouldn’t you? You can host the video for free, make it easily embeddable elsewhere, promote it through YouTube itself, and still have it available wherever you want on your own website.
by Michael Zhang on March 12, 2010

When did it become acceptable for a web service to become completely inaccessible whenever it has load issues? Can you imagine if Facebook constantly put up messages like,
Facebook is over capacity
Too much activity! Please wait a moment and try again.
Somehow Twitter seems to get away with it.
by Michael Zhang on March 10, 2010
Before I upgraded to Firefox 3.6, I had two major complaints with the browser:
- It crashed all the time. Sure, the tab recovery feature saved my work each time, but it was still extremely annoying.
- Firebug leaked memory like crazy. Leaving Firefox open would cause it to run slower and slower as time went by. Disabling all panels didn’t solve the issue. Only disabling the extension fixed it.
After upgrading to 3.6, it seems as though both of these annoyances were fixed. The browser hasn’t crashed a single time (yay for crash reporting), and Firebug (the only reason I stuck with Firefox) doesn’t seem to bog down the browser over time anymore. Yay for progress.
by Michael Zhang on March 10, 2010
Haven’t used Eclipse in quite a while, and started on an Android class project today.
When I wanted to run my application in the emulator, the following “Run As” popup appeared:

The problem was, this popup appeared every time I wanted to run the application, even though my selection never changed (Android Application).
Here’s how to make it remember your preference:
Preferences->Run/Debug->Launching->Launch Operation->Always launch the previously launched application
Here’s what you should be seeing:

Bam! Easy as pie.
by Michael Zhang on March 8, 2010
I find MySQL’s error messages pretty annoying due to how vague they usually are.
SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near blah blah blah at line #
Not helpful.
I was doing a very simple INSERT into a new table I had created. The table had two columns, which I named “key” and “value”. Here’s what the query looked like:
INSERT INTO tablename (key, value) VALUES ('Text1', 'Text2')
The syntax is correct, but it just wouldn’t work, and kept spitting out that annoying error message.
Finally, it dawned on me that “key” is a reserved word in MySQL, and therefore needed quotes to inform MySQL that I was talking about the column rather than the reserved word.
Doh.
by Michael Zhang on March 8, 2010

I’m loving this (new?) feature of Gmail that detects things like “I’m attaching” and offers a javascript confirmation if you try to send it off without anything attached. I’ve often sent off emails forgetting to actually attach documents, only to have to send it in a second email.
by Michael Zhang on March 8, 2010
If you recently upgraded to Firefox 3.6, you might have noticed that opening links in new tabs cause the tab to be created immediately after the current tab in the list of tabs, rather than the previous style of opening new tabs at the end of the list (far right). In other words, tabbed browsing was changed from FIFO to LIFO, or from a queue to a stack.
While there’s no easy option in the preferences to regain this old behavior, changing it back is still quite easy.
- Go to about:config in your URL bar
- Click the I’ll be careful, I promise! button
- In the filter bar, type in browser.tabs.insertRelatedAfterCurrent
- Double click that entry, which should currently be true, to set it to false
- Close the window
That’s it! You should notice the old behavior immediately after doing this.