Life updates

It’s been almost a year since I’ve updated my blog and a lot has happened! In January I interned with Astrid, a productivity startup in San Francisco. It worked out well so they invited me to spend the summer working with them. This was my first experience working for a startup and my first time living in San Francisco, and I fell in love with both! The Astrid team grew a lot between January – when it was just me, a few other interns and Jon and Tim – and May, when we actually had our own office space and, by the time I left again for school, three more full-time employees. The Astrid team was, and is, so awesome! The energy and creativity in the office challenged and inspired me every day. 

San Francisco and the Bay were wonderful to me in general. I met a lot of wonderful people and had the pleasure of seeing my cousin Josef and friends from Madison almost every week. 

Being back in Madison has been nice. One thing I realized in San Francisco is that I felt my theoretical understanding of Computer Science was still lacking. This semester was timely, then, because I took Artificial Intelligence (CS 540 with Jerry Xiaojin Zhu) and algorithms (CS 577 with Jin-Yi Cai). I also took first semester Chinese, which kept me quite busy – and with reason, Madison’s Chinese program is consistently ranked highly in the nation. 虽然我五个年学法文,但是现在我说中文比说法文好很多。

I’ve also been involved this semester in student ministry with InterVarsity Christian Fellowship. I’ve been co-facilitating a small group Bible study and that’s been a huge blessing to me. Our group is about half Malaysian, half American, and it’s wonderful to see friends of two different cultures interacting, loving each other, and digging deep on a regular basis. I feel particularly blessed, with my international background, both to be around different cultures regularly and to see others experience very different cultures for the first time. 

I’m not too sure what the future holds besides next semester and parts of summer 2012. Next semester I’m studying more Chinese, taking modern algebra to round out my abstract math/proofs education, and taking natural language processing (CS 545) with Benjamin Snyder, who, by the looks of his CV and personal statement, has an awesome approach to NLP that I want to learn more about. 

During the semester I will also be working on a video series for SAMS/Addison-Wesley on web development with PHP, MySQL, HTML(5) and JavaScript. Exciting times!

Before all that I still have final exams for this semester, Christmas and Christmas break! I will be returning to Malaysia and the Philippines for the first time since 1997. I can’t wait! 我希望去马来西亚,非鲁宾。。。寒假快到了!

Posted in News, Personal | Leave a comment

Remove MySQL from Mac OS X, Snow Leopard

If your system has a mishmash of MySQL installs like mine did earlier today, it makes sense to start with a clean slate. I had the default that comes with xcode, the version that comes with MAMP, and then one I had tried to install from source. After running Oracle’s GUI installer, none of them would run. At this point, a fresh start made sense – I wiped all traces of MySQL from my system and started from scratch with the GUI installer. Here are the details from Rob Allen.

If you’re running MAMP, it might help to nuke that too.

Additionally, I recommend getting rid of old config files:
rm /etc/my.cnf
rm /etc/mysql/my.cnf
rm /usr/local/mysql/etc/my.cnf
rm ~/.my.cnf

Posted in Coding, News | Leave a comment

Preliminary hierarchy of programming languages

A preliminary hierarchy of programming languages. Incomplete but I got most significant languages (for me, anyway).

Comments very appreciated. I made this with GraphViz on my MacBook in a day.

Programming Language Hierarchy v1 (1.2 MB PNG)

Posted in Coding, News | 1 Comment

New paper: tea processing, brewing, and tasting

A couple weeks ago, I finalized my report for a project I did this semester on tea. Many friends were guinea pigs for my presentation, which was well-received by my professor and my TA. For my presentation I prepared this report, which details processing of tea and touches on proper brewing, selection of vessels, and tasting. More than being comprehensive here, I wish more to inspire in others a curiosity with tea in all its varieties, as well as to foster discussion.

Comments and questions of any sort are very appreciated.

Download the paper: tea processing, brewing, and tasting.

Posted in News | Leave a comment

TwitterTranslate 2.0 available

New version of TwitterTranslate out today: it

  1. works with the new Twitter web interface
  2. shows you the original text if you click on the translation indicator below a tweet
  3. automatically translates any new tweets that show up on a tweet – when scrolling the page, etc

Get it get it!

Posted in Coding, News, Social Networking | Leave a comment

My latest project: TwitterTranslate

Tonight I made this little Safari 5 extension: TwitterTranslate

Pretty simple – it finds any foreign tweets on your Twitter feed and translates them to English, or Spanish, or Japanese, or whatever your native language is. Enjoy!

Posted in Coding, News | Leave a comment

India to monitor BlackBerry messages

As expected, more governments are jumping on the BlackBerry-monitoring bandwagon. The latest to join the craze is India, which has set an August 31 deadline for RIM to “provide technical solutions that will allow security agencies to monitor the company’s BlackBerry corporate email and messenger services.”

Posted in Mobile, News | Leave a comment

A chink in RIM’s armor

The UAE and Saudi Arabia, in remarkably short time, convinced RIM to set up data centers and allow surveillance of BlackBerry Messaging in their nations. India and the United States have been asking for surveillance options for years, but Saudi Arabia convinced them to set it up within the span of a week. The UAE has a deadline of October 11, that it seems likely, RIM will meet.

RIM has built a reputation of having a very secure network, which is unique for the mobile messaging industry. Messages on the BlackBerry network are encrypted, so even intercepting wireless signals can fail to be effective. RIM’s data centers are in Canada and, to the best of my knowledge, even the Canadian and United States governments don’t have easy access to messages in RIM’s servers. How did the UAE and Saudi Arabia convince RIM, so quickly, to give them access to messaging data within their nations?

With a relatively small security force, the UAE relies heavily on electronic eavesdropping to monitor for any potentially subversive activities. The Gulf nation has been particularly on edge after a Hamas leader was assassinated in Dubai earlier this year” – Tom Peter, Christian Science Monitor

Since that assassination, the UAE has put pressure on RIM to open up message data for snooping. Supposedly, BlackBerry messaging was involved in the assassination – but even if it wasn’t, BlackBerry messaging remains conspicuously absent from the UAE’s surveillance program, and that’s making the nation’s government nervous.

But RIM has, until now, remained consistent and resilient: they do not give surveillance abilities to one government and not others. Even if they did, they don’t possess the keys used for encrypting corporate networks. This is reassuring for businesspeople, government officials, and maybe even terrorists who travel internationally and send confidential information over the BlackBerry network.

Until Saudi Arabia called RIM’s bluff and shut off the BlackBerry network for two hours. RIM quickly conceded and agreed to set up a data center in Saudi Arabia that the government could snoop on. Now RIM has lost their higher ground and they’ll have to concede to other nations’ demands: UAE wants their own data center to snoop on, India does too, Kuwait wants pornography filtered from the BlackBerry network, and other nations are sure to have demands of their own in the next few weeks.

Most likely, this will just mean headaches for RIM and more overhead operating overseas. They’ll no longer be able to boast such a secure network, except to corporate users with their own data centers who should be unaffected. But realistically, most BlackBerry users won’t be affected. Consumers who use it domestically (in the U.S., Canada, Europe, etc) don’t care about what’s going on in the UAE or Saudi Arabia or India. Corporate users will be on a corporate server if it matters to them. But now that RIM has caved to the UAE and Saudi Arabia, they will have to cave to other nations’ requests too.

Posted in Mobile, News | Tagged , | 2 Comments

Environmental History of Ladysmith

In my Freshman year at UW-Madison I wrote this paper on the environmental history of Ladysmith, WI, my mother’s hometown. I’m linking to the PDF here for posterity.

Ladysmith, Wisconsin – Mushroom City

Posted in History, News, Personal | 2 Comments

iPhone photo and music compression

While happily exceeding the bandwidth limit on my 200 MB 3G data plan with AT&T, it occurred to me that a large chunk of that bandwidth has been devoted to uploading photos. I decided to look into if/how the iPhone stores photos and how they’re compressed, and found some details on music compression along the way.

Music compression

Over at Just Another iPhone Blog, @ragart details the new option in iTunes 9.1 that allows music compression on the iPhone. This is pretty straightforward: it just lowers the bitrate of your music and saves about 40% disk space in the process. You’ll notice the lower quality if you’re using decent earbuds, headphones or a stereo setup.

Image compression

To see how compression works, I did some very informal testing. I uploaded three Photos to MobileMe: one is a portrait indoors, one is a sunset photo, and one is a poster outside. I uploaded them to my MobileMe account and according to MobileMe, the original photos are 2592×1936 pixels and average 1.5 MB each.

The “actual size” photos on MobileMe are scaled down to 764×1024 pixels and average 149 KB each. This means that the scaled-down photos are 10% the disk space of the originals. Running jpegoptim on all the photos resulted in savings of only 2 KB per image, so MobileMe is doing a pretty good job at compression.

Which leads me to this question: Why should I be uploading 1.5 MB photos over 3G when all I’ll ever be viewing are the scaled-down images at 10% the file size? Other popular services are scaling down too, think Facebook and Twitter image services.

I’ll post my answer to that question another time. Until then, let me hear your thoughts.

Posted in News, iPhone | 4 Comments