fall through case sucks

ugh just wasted an hour tracking down a bug (Objective-C), only to realize i left out a break statement between two case blocks. this ended up looping between the two cases.  i seem to recall someone telling me i should avoid switch statements at all cost, because it offers very little benefit (and these bugs are bound to happen). ruby got it right with their "when 1,2,3" style switch statements.

on a plus side, i found a royalty-free (donation based) music archive. has a pretty decent collection of reggae music, so i guess i'll be makin g a


updated choibean.com and grizzlypanda.com

switched choibean as i wrote before, and made the whole site a little less crummy. even hooked up posterous to a /blog directory.

deploying with heroku has been a lot nicer than just messing with code in the production machine, even if it's for a small personal site. maybe once coolcurlings takes off we'll start paying heroku :-p



checked in bartCheater on GitHub. basically useless to anyone other than myself, but it tells you what reverse-flow train you can take and until what station so you can get a seat on the BART. It runs on Sinatra w/ Prototype, and optimized for my Android G1.  It's my first project running Sinatra since tinkering with pinkyurl. Also trying Heroku for the first time and setting it all up was pretty easy.  i set up CoolCurlings.com on Heroku as well, and might switch ChoiBean.com into a Sinatra project on Heroku as well.


uptime 100 days!

start mongrel on reboot

[/etc/init.d] $ cat curling-site.sh
kill -9 `cat /(blah)/curling/tmp/pids/mongrel.pid`
rm /(blah)/curling/tmp/pids/mongrel.pid
cd /(blah)/curling/
/(blah)/curling/script/server -d -p300
[/etc/init.d] $ update-rc.d script_name defaults


tramp stamp

[redacted] just overheard female coworker talking about her tattoo...
[redacted] tramp stamp location
[redacted] well, she's a big football fan, USC specifically
[redacted] picture of a football and it says COCKS


Android Hero

Feeling a little more ambitious after the map update... I really like how good Hero looks, but I just know it will run unbelievably slow on my G1.  I might get a better device next year and try upgrading then.

Google Map Navigation on my G1

Got Droid's new Google Map Navigation (thanks DennisF for the heads up!) on my G1.  It disabled my Google Voice again, but once I replaced my build.prop files with the old (1.6) ones (as opposed to the fake 2.0 ones), everything seems fine.


Test from iPod touch

Old-ish pic

Wow that's a really dithered picture. i wonder if that was iTunes or Posterous doing that. Probably iTunes.


My passport is supposed to arrive today.  Crazy that I ordered it just 9 days ago and it's ready.  If it weren't for Veterans' Day Wednesday, it would have been only 8 days.  Extremely impressive and efficient for a government branch - my only complaint is they didn't give me the tracking number for the USPS package I am to expect.



@hc5duke: developers: can we standardize the shortcut key for "redo"? i don't care if it's ctrl+shift+z or ctrl+y, we just need to pick one. like now.


Trip to Korea

It's a good thing I didn't apply for my passport at the citizenship oath ceremony, because we're going to Korea in 3 weeks. Tickets were so cheap it was too good to pass up - something like $570 + tax per person on United. We had to make trips to get Alex's birth certificate and apply for both our passports super-expedited.  Off to Seoul for Thanksgiving!





RN: hard drive failure
RN: on a raid 0 setup
HJ: raid 0 = no raid right?
RN: its raid, just no redundancy
BW: complete guide: http://www.ghen.be/raid.jpg
VP: RAID = Redundant Array of Inexpensive Disks
HC: the R in RAID is redundant... so it's more like AID
VP: so, not R
VP: there was one HD
VP: so, we're down to ID
VP: oh, there's an A
VP: so, AID it is
BW: Redundant Array of Broken, Inexpensive Disks


Citizen wut wut?

I was sworn in at the Masonic Center Auditorium today. The ceremony was mostly boring but we got to hear Kiet Do speak, and I can finally travel abroad without worrying about it! Now just need to apply for my passport...


Android upgrade

Finally getting around to upgrading my G1 to 1.6 Donut.  I'm really behind the curve since I never upgraded to 1.5 Cupcake! I'll be updating my progress as I go, starting right now around 12:30.  My goal is to finish before 2am

Update 00:36

Started backing up the current image using Nandroid, as recommended by the wiki. This was mostly brought on by the news of Android 2.0 coming out soon.

Update 00:46

Should I do a full wipe? Why not.

Update 01:02

Got distracted going through G1 pictures in iPhoto... first hiccup of the installation process - apparently my recovery utility (build JFv1.42) is so old Alt+A doesn't work as "install any zip file".  Since I had already wiped my phone, I had to find an SD card reader, rename the zip file as update.zip and now it seems to be going ok.

Update 01:11

Great, I was supposed to install both things... I don't think this will work, but I installed HTC's image first, and now I'm installing the modded one.  If this doesn't work I may have to install a different recovery utility.

Update 01:38

Ugh, things didn't go so well. I may need to go back to the original state with Nandroid.

Update 01:50

Ok, I see a new "android" loading screen, so a sigh of relief here. It's stuck at the HTC image, but at least it should boot up now and I should be able to install the better recovery utility from here and pick up from here tomorrow.

Update 03:09

Hell yeah, got it working! I now see the same Donut Android loading animation but with the cyanogenmod logo overlaid on the "o."  And now it's past 3am and I really should sleep. I'm going to wait a little while and install tethering software, then call it a night.

Update 03:20

Tethering software installed, and at 3:20, I'm calling it done: 2 hr 50 min. Going from 1.4 to 1.6, UI looks a lot smoother and just overall "nicer."  Can't wait to do this again for 2.0.

gist for twitter

$ curl -u 'hc5duke:password' -d "status=going to flash my android phone just for fun" http://twitter.com/statuses/update.xml

I guess gist embed doesn't work in posterous... poop



great, now i have another guilty pleasure show... this show is more entertaining than it should be.


started tracking my happiness with Track Your Happiness.

testing twitter autopost

if this worked correctly, this post shouldn't post to Grizzly Panda's blog

and i failed... need to turn off auto post i guess



Lincoln has some great commercials. It's so good it almost makes me want to buy one.


Fun with Ramen

So when I noticed that 너구리 ramen has over 2 grams of awesomenesssodium per package, I had to do an experiment.  How much can I raise my (already too high) blood pressure by eating it?  Naturally, I picked a day when my wife has class, so that she would not find out about this until after the deed had been done.

Picture #1 shows you the nutrition facts, showing 1040mg of Na+ per serving, times two servings per package. That's 86% of my recommended daily sodium intake!  Picture #2 shows the other side of the package.  Apparently it's also called the RTA ramen (Thanks JR!) because that's what the Korean text looks like upside down. From what I remember this was my favorite ramen growing up in Korea.

Picture #3 shows you my pre-meal b.p. of 136/86. Definitely higher than it should be, though that's about what it usually is.  I'd say my blood pressure ranges from between 120/70 to 150/90.

Picture #4 shows you the finished bowl (actually used chopsticks and everything).  Normally, I use about 1/2 of the spice packet, because it's too salty otherwise.  In order to get the full effect of the sodium contents, I used everything in the packet, and it was saltier than I would have liked.  I tried to finish most of the soup also, by adding some rice once I was done with the noodles.

Picture #5 shows you my post-meal b.p. of 150/95, about 10 minutes after finishing - increase of 15 and 10 mmHg, respectively.  Not too shabby for a single meal, though it was probably comparable if not worse after my failed pho challenge attempt.  My wife (after telling me how stupid this whole thing was) told me that I probably should have waited about 30 mintues after the meal before taking my b.p. again, to get the maximal b.p. So it's possible that the real results may have been higer than 150/95

Moral of the story: consuming 2 grams of sodium in a single meal is generally not a good idea, even if you already have hypertension.  Wait what?

Nice 'human' experiment.. You don't have to use the whole soup powder... just use a half of it if you're in love with NeoGuri and want to live long. :)


Starting an iPhone app with status bar hidden with SDK 3.0

Summary: if you started an iPhone project before SDK 3.0 came out and all of a sudden you’re (wrongly) seeing a status bar at launch, convert your App-Info.plist to an XML format.

It was supposed to be easy, in the application info plist you need to enable this key


But for some reason this was not working for me.  I was pretty sure this was working at some point before, but git bisect wasn’t helping me out.  Naturally, I googled around for several hours with no luck, but every time I start a new app, setting UIStatusBarHidden just worked correctly.

It got to a point where I was going to rewrite the whole app (if I had done that from the start, it probably would have taken less time), but then I noticed something - my (bad) Curling-Info.plist file was a pseudo-array like this:


UIStatusBarHidden = YES;


Whereas in the new (good) plist, it was in an XML format:

<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0”>



I even tried playing around between “true” and “yes” and the only conclusion I can come up with right now is, the XML version just works where the curly brackets fail.

I’m 99% certain that the old way (non-XML) worked with pre-3.0 SDK - it must be some backward-compatibility error Apple introduced with the new SDK.  The XML file is (I’m guessing) new in 3.0, and in the process, some of the properties using the curly brackets stopped working.


HP MediaSmart issue with Snow Leopard

I forgot to mention that one of the reasons I had to reinstall OSX several times was to try to access my time machine off of the HP MediaSmart.  After speaking with HP’s tech support, it was suggested the problem had something to do with the newest Leopard (and subsequently Snow Leopard) doing something that HP’s software didn’t like.  This was a bit odd, as I was at one point able to install the HP software with Leopard 10.5.5 (I think).

Anyway, if anyone runs into a problem where they can’t connect to the time machine using HP’s software, this will resolve the issue:

  1. Using Remote Desktop (from Microsoft)…

  2. Go to the /Mac directory

  3. Copy the —-.macbackup file into an accessible directory (I used my user directory)

  4. Rename the file —-.dmg

  5. Close Remote Desktop connection

  6. Now open the dmg file to mount the file and it should be a sufficient work-around if you’re unable to get to the files in it otherwise.


usps fail

i was going to write an entry about how usps’s placing 24/7 automated
systems was the best idea they’ve ever had, but now this is about the
inadequecy of said machines. i sold 10 books on amazon and could only
send 1 of them because the machines don’t take media mail. now the
wife has to ship those tomorrow, because they don’t even open ‘til

eventually, once the current desk clerks begin to retire, they should
think about placing about 5-10 of those machines in each post office
and keep about 2-3 real people working there. the post office is
definitely a place where self-service > clerks, and this would
definitely cut down on overall long-term expenses.

here we go again (re-re-re-reinstalling OSX)

Because I didn’t read this Friday I ended up reinstalling Snow Leopard and Leopard each about 2-3 times, and now I’m re-re-re-installing OSX.  Chronicling the process once again:


23:00 installed OSX. MacPorts & QuickSilver were the first to be installed, and immediately disabled Spotlight.

23:30 Firefox, Thunderbird (haven’t decided if I’d use this), WebKit, VLC, Google notifier, console fonts, iphone SDK+xcode were next


08:50 downloaded my dev folder from Richard’s dev machine. coudln’t untar my App folder, probably privacy issue, oh well.

09:00 Adium

09:30 Transmission, Handbrake - I always get these two confused. Good thing I drive automatic.

10:00 MacVim

10:30 Aptana

11:30 sudo port install git-core +svn (took forEVER!)

12:00 installed Opera (for Alex’s facebook)

12:30 sudo port install mysql5-server-devel (also taking forever)

12:50 sudo port install mongrel

13:00 off to IHOP!

14:00 back!

14:30 sudo env ARCHFLAGS=”-arch i386” (not sure if this is necessary)

14:31 sudo gem install mysql — —with-mysql-config=/opt/local/bin/mysql_config5 (Hmm that’s not working!)

14:35 sudo port install rb-rubygems

14:40 Walmart run!

15:30 replaced bike tire tube

15:40 sudo port install rvm (just for the hell of it)

15:55 sudo gem install rubygems-update

16:00 sudo port install rb-rail

20:00 ok after tackling this and goofing off, figured out I needed to set up launchd and restart the machine, now mysql seems to be working.

21:20 done with dinner… I think I’m done now. messing around with vim colors now



trying to remove some clutter around here (and make some money)… going to list like 20 of my books on amazon


fuck alton brown*

rice cookers may be unitaskers** but it’s physically impossible to cook rice without them. trust me, i’m asian.

* i still love his show good eats.

** you can actually cook potatoes, sweet potatoes, and steam most things in a rice cooker, so technically he’s wrong.



MP: wtf is a retweet
HJ: it's like you're sending a link to a friend
MP: is that it?
HJ: but it's on twitter
HJ: or you said something funny
HJ: and i write your name and the message
HJ: and put it on twitter
MP: all of these people need to get off my metaphorical lawn
HJ: 90% of the time it's marketing spam
HJ: totally retweeting this
MP: ???


HJ: ok RT is more like forwarding a funny email sent by a coworker
MP: so it's basically horrible?
HJ: basically


No, I will not fucking slow down for your kids.

There is a couple houses on my street that always have this turtle “slow down” sign outside their garage.  Then they let the kids ride their bikes and whatnot outside.  This is fucking lunacy and simply irresponsible parenting. There is a park maybe 500 yards from here, get off your lazy ass and take your kids to the fucking park you piece of shit.  These are probably the same fucking people who voted to put up speed bumps that slows down my bicycle every day.  Fuck you, I won’t fucking slow down for your kids.


reinstalling mac osx

chronicling this headache…

  1. figure out a lot of things aren’t working

  2. try to back things up using time machine at work with the old macbook

  3. time machine stalls, give up on the macbook and try to back things up at home with the new macbook pro

  4. figure out that time machine is one of the things not working properly

  5. to get time machine working, reinstall HP software, restart the server once and the macbook pro three times

  6. start time machine, see that it will take 2-3 hours

  7. come back after a 3-hr nap to find the power adapter is broken and the macbook pro has powered down - not certain if the time machine backup has finished before the battery died

  8. (15 hours later) figure out time machine back up was about 80% finished, finish the rest

  9. re-install osx (about 2 hours)

  10. and the fun part now is re-installing all the software…

  11. sudo gem update —include-dependencies

  12. sudo port install mysql5 +server (oops, apparently this is deprecated)

  13. sudo port uninstall mysql5 +server

  14. sudo port install mysql5-server, mongrel, etc

  15. had to remove Leopard’s rails and replace it with ours: sudo mv /usr/bin/rails /usr/bin/rails.old && sudo ln -s /opt/local/bin/rails /usr/bin/rails

  16. sudo ln -s  /var/run/mysqld/mysqld.sock /tmp/mysql.sock (and now it’s 3 am)


things going wrong so far with macbook migrations

  • crontab - everything was running fine, but I accidentally reset it, and now nothing is running when I recreate it

  • printing - nothing working


macbook pro

on bing.com for irony. overall pretty sweet, but some complaints

  • i like to rest my right thumb on the trackpad button while moving the mouse, and i can’t do that any more, because the whole thing is a trackpad without no button.

  • they took my f5 button! i’m sure there is a way to circumvent this but it’s kinda annoying i can’t refresh firefox with f5 because f5 and f6 control keyboard illumination

  • select-and-drag is still a pain, but that’s nothing new

joe got me a student discount at the ucsf student store (though they never actually checked for a student id), and got an ipod touch with it as well. i’ll probably send it to etchamac.com for maureen this week.


quadriplegic on the highway

it’s a shame it was too dark for pictures and he was chugging along so slowly - we totally saw a quadriplegic man driving his chair with his mouth on the highway on the way back from laura and raymond’s wedding [in Charlotte]… words cannot describe the ridiculousness of this spectacle. truly a mind-bottling experience


red lobster biscuit recipe




found a new go-to drink at jack’s wedding - crown on the rocks


fun with konglish

JK: 안녕하세요 !!! Tweeting in Korean.
VP: @JK hello!
VP: @JK 나 배고파
JK: @VP 하하하! 앨오앨
HJ: @JK a true korean would write it ㅋㅋㅋ
JK: @HJ ㅋ ㅋ ㅋ!
VP: @JK @HJ 홀라
HJ: @VP 댐 그링고
JK: @HJ hahahahahahaha



Alex swimming for the first time (500 megs of HD goodness)



95/75 every day we’re in houston. going to be awesome, maybe alex will get to swim for the first time


Spın̈al Tap

Spinal Tap on Conan without costumes - wtf christopher guest? Also, on that note, Heidi and Spencer on Jimmy Fallon - god I hate fallon



Scott Michael Foster from GR∑∑K is a total doppelgänger of Demetri Martin

farmers market

Finally went to the farmers market - first time this year I think. it's great when we go, except we never wake up before noon on Saturdays.  Having a 10am dentist appointment forced us to wake up and enjoy downtown Pleasanton today and meet a persistent kid giving out strawberry samples (we did buy from that shop).



DeAnna or D. Anna would be an awesome name for a daughter with my last name. Too bad my wife doesn’t share my sense of humor for giving awful names.

2009-06-11 08:21:06 GMT



macfuse + macfusion + ssh = i can finally back up all the hd video of alex onto choilaptop and free up some space on this machine - maybe i’ll install win7 again?

at 802.11g speed, i can play redered video ok, but i doubt i could play the actual the original 1080p video. i definitely couldn’t over ftp; can’t try right now since I’m backing up said videos (10+ gigs)

my only complaint right now is the timestamps are all reset to 0 - the weirdest part is that it resets to 1904-based zero day (1904-01-01 00:00:00 GMT) instead of Unix zero day (1970-01-01 00:00:00 GMT), going from mac to ubuntu

Officially driving a car that gets under 15 mpg!



RN: What was he doing in Thailand? Does he live there or something?
BW: Not any more!


benjamin button

finally saw benjamin button. it was pretty decent but didn’t think it was worth all those awards and attention.



AM: http://punditkitchen.com/
HJ: oh yeah that was awesome i saw that on tv
HJ: carl edwards
HJ: is it bad that i know whose car that is AND know when that was?
HJ: that was about a month ago i think
HJ: talladega i think
AM: :I
AM: and u have already reproduced
AM: super


HJ: "KD is looking for young BD guy [on LinkedIn]."
HJ: ... to rape
JD: BD? what is BD?
HJ: business development
HJ: i think that's a fluff title that says i don't know shit, i don't do shit
JD: he just wants someone in development. Preferably open to ideas.
HJ: willing to be flexible
HJ: go the extra mile
JD: Some experience ideal, but not required. Willing to teach.
HJ: brown nosers a plus - literally, not figuratively
JD: Someone that sees the cup as half full.
HJ: someone willing to be ridden very hard, stay up all night long


star wars

just got done watching star wars 1-6 on mtv (dvr-ed of course), and it reminded me of the band lock-in in high school in 1998 or 1999. can’t believe that was 10 years ago.

kia soul

ooh also hate that kia soul commercial with the three squirrels. maybe i should start a blog just about commercials i hate and why



rooted the android last weekend, and now i can tether it to my laptop! worked like a charm on the bart, though by the time i got to work, the phone was hot as hell and my battery was down to <50%.


more commercials i hate

that orbits “big pak” commercial bothers me on so many levels

also, this one is old, but the microsoft commercial with that kid with a weird accent making some lion video makes me want to punch the kid in the face


Wailua Wheat Ale

wailua wheat ale - got me some of these from whole food today. pretty good and wheat-y. it’s what’s for breakfast


Biked today

59’16” total
10.83 mi total
10.98 mph avg
19.01 mph max

R on Stoneridge
R on Gibraltar
L on Hacienda
R on Las Positas
R on Hopyard
R on Gibraltar
R on Willow
L on Stoneridge
R on Santa Rita
U on Main
L on Valley
R on Hopyard
R on Las Positas
L on Stoneridge


starting to like tumblr ok

and a chat log that has nothing to do with the title of this post:

Matt: http://www.thestate.com/local/story/785432.html
Matt: great photo
HJ: yeesh
Matt: who's got two thumbs and is the next supreme court justice: THIS GAL
Matt: his name can't be said alone


wootofftime! bought something from woot for the first time. a rechargeable led flash light… boring


Filling out my N400… hopefully I’ll be a citizen before my birthday, but more practically, I’m shooting for end of the year

(edit on 2008-10-06: interview was in september, now waiting on my (hopefully) approval letter!)


commercials i like

Hyundai Genesis Coupe and Lincoln commercials in general - they have some great songs

p.s. oh and the heineken commercial with biz markie


sharing the hate

New shows coming out that I already hate:

  • HawthoRNe

  • Royal Pains



almost done with HanGeulider… I need to clean up the help text and possibly update the icon. Officially 1 week behind schedule now.

(edit on 2008-10-06: make that 5 months behind schedule)

not switching to typo

my brief flirtation with typo is over just as fast as it began… My 4-year old box just can’t handle it and I kinda need it to stay up and feed me BART and weather info 24/7… guess I’m sticking with Tumblr for now




Got mod_ruby to work with apache on my home ubuntu machine.  I wanted to basically replace my php scripts with Ruby without Rails (though I suppose I could have used this chance to learn Python).  Setting it up was pretty painless, but this post helped me get over one last problem I was having.


Twitter = SBC

HJ: from the dept of wtf? http://training.oreilly.com/twitterbootcamp/
Matt: Twitter's widely recognized thought leaders
HJ: is that like SBC's widely recognized evolution researchers?
Matt: sbc?
HJ: southern baptist convention
Matt: I see SBC and think "small block chevy"
HJ: i see sbc and think that internet company
HJ: something bell
HJ: couldn't think of a better anti-evolution denomination
Matt: small bell chevy
HJ: southern bell chevy
HJ: totally twittering this


So close… almost hit single-digit MPG

testing tumblr


So far I’ve gone through Blogger, WordPress, Typo, and I guess I’ll
give tumblr a try.

(edit on 2008-10-06: well that lasted 6 months... moving to posterous)

(edit on 2010-07-18: and that experiment ended... back to blogger)