31 December 2011

Year in Review: 2011

Well, 2011 has been quite the year! I'm getting the hang of surviving at MIT, especially with my masochistic nature. Although IAP at the beginning of the year was miserable, the year progressively got better and climaxed in the summer. Sophomore year has been going well, although I didn't have much time to breathe this fall. With that said, I'd like to get a few thoughts off my head.

This summer has been incredible! If you're a seasoned reader or stalker of this blog, you probably know that I interned at Apple this summer. Initially, my primary motivation to go was to satisfy my inner Apple fangirl, but everything changed when I arrived. I thought life couldn't get any better when I got a day pass to Apple's annual developer conference. However, upon learning my boss was a car geek (and an amateur photographer), I thought I found heaven. We'd talk about all things (super)cars, computers, and cameras when we occasionally bumped into each other in the stairwell, and enjoyed thrilling rides on traffic-less highways in exotic supercars. It was an incredibly refreshing and uplifting experience coming from a year being surrounded with math nerds.

I've been increasingly going out of my comfort zone (read: my room) this semester. In particular, I've been hanging out at MITERS more than I did last year. I even attended this term's MEETERS, the semesterly project showcase, even though I had nothing to show. That concluded with a copter flying melee, comprising of a mini quadrotor, a massive quadrotor, and a unique trirotor. Speaking of that, I should upload the video in the near future.

In addition, I made an effort this semester to go out and shoot at least once a week, for about an hour. It sure is fun standing in the cold for an hour! (actually, no sarcasm intended) I've posted some shots on this blog; more can be found on my flickr

I've also decided to double major in math, rather than EECS. Watch me officially declare Mechanical Engineering next year.

Here's to hoping 2012 is even better!

29 December 2011

Fall 2011 End of Term

This term has been incredibly busy and academically rigorous! Here's a brief recap of what I've been up to:

6.01 Intro to EECS I: This introductory class is based around writing Python code and building circuits for programmable robots. It covers a potpourri of topics from object oriented programming to Bayesian updates, but none in depth. The class also has standards: if you're not careful, you just might get a lower-than-expected grade.

6.828 Operating Systems: This rigorous semi-lab class is awesome for one (and only one) reason: building your very own operating system! I was not a fan of using a toy operating system to teach operating system concepts since I had very little background prior to taking the class, but the case studies covered in the second half of the class were cool. This class easily becomes a time sink: a small bug from a previous lab can add another ten hours of debugging to your time spent on the current lab.

15.279 Managerial Communication: This class teaches strategic communication using a variety of contrived exercises. Sadly, this class does discourages an appreciation for thoroughly researching and knowing subjects of importance.

15.437 Options and Futures: This class covers futures, options, and credit derivatives. The first two topics were hot, the last one was not. I also wish this class went more into modeling, but that's what 15.450 is for.

18.440 Probability and Random Variables: This class is basically Art of Problem Solving Intermediate Probability and Combinatorics. And random variables.

25 December 2011

IAP To-Do List

Hopefully this won't sprawl into a gigantic list like last year's:
  1. SCOOTER!: I have not a clue about how long this will take. Probably will consume my life, but that's okay.
  2. Work out: I'm hoping to go at least five days a week. 5hr/wk
  3. BattleCode infrastructure: This is actually mandatory, but my health (and scooter) comes first :P ~20hr/wk
  4. Power Mac G5 case mod / Hamburger rebuild: This is going to be EPIC! It's been about four years since my last build, so it's time for an all-out upgrade! I'm going to do a very faithful G5 mod to appease my inner Apple fangirl. I need to order that hex-core engineering sample and buy a few standoffs and screws at some point. 7hr/wk
  5. Power Mac G4 Cube case mod: I've already gutted the unit and dremeled the back to make way for the ports, so all that's left is mounting the motherboard and making a carrier for the second hard disk. 3hr/wk
  6. Holy Balls: The game I've been working on with my bestest friends at MIT <3 4hr/wk
  7. Move to BigRoom: I got a bigger room, so I'll need to move. 'Nuff said.
  8. Mystery hunt: MIT's annual puzzle hunt held on a weekend, starting on Friday.

20 December 2011

Spot the Stupidity: Give me a sign

Spot the stupidity!

for (unsigned x = 0; x < GridSizeX; ++x) {
for (unsigned y = 0; y < GridSizeY; ++y) {
if ((unsigned)abs(x+y) % 2 == 1) {//modulo 2
glColor4f(1.0f,1.0f,1.0f, alpha); //white
} else {
glColor4f(0.0f,0.0f,0.0f, alpha); //black

glNormal3f(                  0,                  0, 1);
glVertex3f(    x*SizeX + world.minX,    y*SizeY + world.minY, 0);
glVertex3f((x+1)*SizeX + world.minX,    y*SizeY + world.minY, 0);
glVertex3f((x+1)*SizeX + world.minX,(y+1)*SizeY + world.minY, 0);
glVertex3f(    x*SizeX + world.minX,(y+1)*SizeY + world.minY, 0);


And this, ladies and gentlemen, is why you should not code at 3am.

26 October 2011

Get Fever, Do Housekeeping

That's pretty much the only thing besides read ``Steve Jobs'' while I'm sick, right?

Much cleaner than before.


05 October 2011

RIP Steven P. Jobs


I have some very sad news to share with all of you. Steve passed away earlier today.

Apple has lost a visionary and creative genius, and the world has lost an amazing human being. Those of us who have been fortunate enough to know and work with Steve have lost a dear friend and an inspiring mentor. Steve leaves behind a company that only he could have built, and his spirit will forever be the foundation of Apple.

We are planning a celebration of Steve’s extraordinary life for Apple employees that will take place soon. If you would like to share your thoughts, memories and condolences in the interim, you can simply email rememberingsteve@apple.com.

No words can adequately express our sadness at Steve’s death or our gratitude for the opportunity to work with him. We will honor his memory by dedicating ourselves to continuing the work he loved so much.


Thanks for revolutionizing the last ~thirty-five years of the personal computing world and, more importantly, inspiring me to dream big. May your philosophy and visions live on within the rest of the Apple community.

[Edit] Kendall Square in Cambridge, MA has dedicated a concrete tile as a tribute:

24 September 2011

MiniHack: Shelf G5

So how did that get up there?!

A much larger scale and more public hack

21 September 2011

UPS Shipping Fail?

I really doubt this is the most efficient routing path; maybe there's a bug in USPS/UPS's package router?

The reason that I needed a second graphics card to drive my triple monitor setup

19 September 2011

New [School] Year, New Setup

I had these nice IPS screens laying around, so why not use them? (Please don't remind me of my lack of mini DisplayPort -> * adapters [1])

Triple displays driven off a...Power Mac G4 [2]?!

 I ought to do ``real work'' instead of reading random papers...

[1] Over the summer, I acquired a Biostar Radeon HD 6870, which did not come with any mini DisplayPort adapters. Last week, I ordered a handful adapters, but they have yet to arrive despite the 3-4 day shipping. I longed for the setup ever since leaving Apple (where I had a dual 27" + 21" setup -- a glorious six megapixel arrangement), so initially I tried using my crufted Matrox DualHead2Go Digital, but that didn't work because the highest analog resolution the 6870 supported over DVI was 2048x1536, which was a few pixels short from the requisite 2560x1024. I then asked a friend for a PCIe x1 card since my mATX motherboard had a free and unobstructed x1 slot, and lo and behold, I am running a Nvidia Quadro NVS 290 to drive the Dell U2211H and the Radeon to drive the Apple Studio Displays (which, by the way, the one on the right is my personal hacked monitor -- shameless plug for myself).

[2] I ought to write up my Power Mac G4 case mod someday. Maybe on Wednesday, which is a student holiday for me!

[EDIT 20 Sep 2011] Yes, I'm running Windows. No, I don't have the time to fix my Linux partition and pray for both Nvidia and ATi drivers to work together peacefully. Nor do I have time to hackintosh. Any more questions?

01 September 2011

Attention To Detail: Apple Photographer Screws Up

For a company that prides its unrelenting attention to detail, why is Eddy Cue positioned in the opposite direction?
(Eddy's shoulders are pointed from the bottom left to the top right, whereas everyone else's shoulders are either neutral or pointed from the bottom right to the top left.)

I can forgive Jony Ive for not smiling: he probably was upset that the camera was poorly designed.

28 August 2011

Compiling SDL on Lion

I ran into this problem while trying to compile Gingerbread on Lion, figuring that the existing SDL was a 64-bit library and Android wanted the 32-bit one. I grabbed the source from the SDL website and tried to compile using the -m32 flag in gcc, which resulted in several assembly errors. It turns out that this is a known incompatibility with llvm-gcc. [1] However, changing CC to gcc-4.2 wasn't good enough; ltmain.sh complains that it can't infer the tag configuration. [2]

Here is how I solved the problem: In build-scripts/makedep.sh, every time --mode=compile appears, put --tag=CC next to it. Then, in libtool, add a gcc-4.2 entry to the case statement in func_infer_tag() as follows:

case "$@ " in
  " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "* | "gcc-4.2"*)

It compiles! Install the library with sudo make install.

Unfortunately, the vanilla SDL and SDL used for the Android emulator aren't the same; besides the Android one being two releases earlier, I'm not too sure what the other differences are. The steps outlined above are not sufficient for building the SDL needed for the Android emulator. I'll report back if and when I get that working.

24 August 2011

Long Live Steve Jobs

To the Apple Board of Directors and the Apple Community:

I have always said if there ever came a day when I could no longer meet my duties and expectations as Apple’s CEO, I would be the first to let you know. Unfortunately, that day has come.

I hereby resign as CEO of Apple. I would like to serve, if the Board sees fit, as Chairman of the Board, director and Apple employee.

As far as my successor goes, I strongly recommend that we execute our succession plan and name Tim Cook as CEO of Apple.

I believe Apple’s brightest and most innovative days are ahead of it. And I look forward to watching and contributing to its success in a new role.

I have made some of the best friends of my life at Apple, and I thank you all for the many years of being able to work alongside you.


18 August 2011

2011: Year of the copycats?

Apple said the phrase first back in March this year regarding tablets, but turns out it's true for cars too (who would have guessed?)

Here's the leaked picture of the 2012 Lexus GS:
Photo credit: LeftLaneNews

And here's the F10 5-series:
Photo credit: AutomotiveRoom

Here's a cursory list of similarities:
  • Layout of the vents with respect to the strip of wood. Both cars have the peripheral vents above the wood and the IP stack vents adjacent to the wood.
  • Layout of IP stack: Screen above vents above CD player above climate, with the gear shift to the left of the entertainment controller.

Has Lexus lost its touch of uniqueness? Sure, these cars probably have been in development for several years, but this layout is certainly not the only way to layout a mid-level luxury sedan.

[EDIT] Seems like the original leaked GS interior image has been pulled, but no worries! It has been cached.

01 August 2011

Homage to the Classic Mac

Today, Apple released iCloud web apps in beta form. Perhaps the most intriguing aspect is the ``Cookies Required'' page:

iCloud needs cookies

You may think that the eyes and the nose of the cloud look familiar. You're not mistaken. Voilà, exhibit A, the classic Mac icon:

classic mac

10 July 2011

How Do I Use a Computer?

I posed this question to myself amid the paradigm shifts happening in the desktop computer world.

To start off, I had been using various Wintel boxes ever since I was a little squirt. I got my own Dell box in 6th grade. The computer was a portal to the internet, so the handful of windows I had open were Internet Explorer and probably AIM instances. I may have had a couple of Internet Explorer instances open at once, but that became history when I discovered Firefox and tabbed browsing. I rarely had a need for minimizing windows. Simple and clutter free.

I got a Mac mini in 7th grade. With it came iLife, the consumer media applications suite, which I used to manage my family's photographs and learn more about and have been engrossed in the creation of digital media ever since. Unfortunately, the mini was underpowered so running more than a couple of apps would cause it to page out. Thus, all of my open windows could neatly be contained on one desktop. Since the Mac is application-based, I could easily hide applications I wasn't currently using, which more or less eliminated the need for minimization.

Another year passed and I discovered Ubuntu, which introduced virtual desktops, among bring back the taskbar and other things. They were decent, but I was never a fan because I never had a large number of open windows at once. I don't remember using the command line much either. In any event, Ubuntu became irrelevant when I acquired my trusty MacBook Pro, picking up where I had left off in the Mac world.

Two things happened in sophomore year of high school: I started programming in Java and C++ and Apple released Mac OS X Leopard, which included Spaces. Programming introduced me to the wonderful land of the Terminal (with a capital T!), which I actually have come to love. It was so simple, so clean; unlike a Windows or Linux GUI, it didn't immediately show you all the available options unless you asked for it. As for Leopard, it reunited me with virtual desktops, which I actually started to use because I had a more capable computer and thus built up more desktop clutter.

In my junior year of high school, I dual booted Linux on my desktop and tried out XMonad per a friend's suggestion. I don't remember how I quite felt about it ever since I broke it, other than it was simple and clean, but wasn't for me because I didn't need to see all of my windows on a virtual desktop at once. XMonad might have had layers within a desktop at the cost of adding complexity, so I never took advantage of it. Then I came across EvilWM, which I loved because it was so simple. The minimalist controls just included basic window manipulation: terminal spawn, moving, resizing, alt-tabbing; I do not use move-in-front or move-behind controls. Combined with a lack of a file manager (good riddance, Nautilus), my computing experience became minimalist, lightweight, nonintrusive, and almost eerily Mac-like [1].

Come 2011: I finally acquired an iPad to complement my relatively nascent MacBook Air. It handled most of what I did on my Air with aplomb, save for remote coding and photo post-production jobs with Aperture. It was even less obtrusive and had even better battery life, at half the weight of my laptop. When I was traveling from Cupertino back to Boston for the holidays and had noticed the weight of my backpack (which contained a change of clothes, headphones, iPad, MacBook Air, and its charger), this question occurred to me: How do I use a computer, and did I need what I was carrying?

[1] By Mac-like, I mean that it adheres to nine of Dieter Ram's ten design principles

05 July 2011

Happy Independence Day!

Man, if only I had brought my tripod and held the exposure longer would I not have had to jack the ISO up to 2500. Next year!

[edit] The photograph was untouched except for the watermark.

18 June 2011

Adventures at Apple [Part I]

It's amazing how much more you'll experience by getting to know some people.

``Oh, baby!'' is right!

Yup, I got a ride in this monster to a coffee shop! After discovering that I was a car geek at heart, her owner invited me for a spin. I was blown away by its raw speed and prowess on the road; it was pinned to the road at all times (much unlike the rental Prius my family had for vacation did). The engine roar was harmonious; the echo is amazing if revved under a bridge or inside a garage. (protip: this will set off car alarms!) Above all, it was equipped with a stick, for a truly engaging driving experience.

The twothree-hundred large one pays not only acquires a spectacular handcrafted driving machine (hey, this ain't a Bimmer!) but also a richly upholstered cabin. The leather-wrapped dash is met with tasteful carbon fiber trim in the center stack and an Alcantara swathed headliner. Extra bolstered seats sitting low on the floor in the style of a sports car supported the driver and passenger in tight turns. All in all I was amazed by the dynamics that a car could have (this statement speaks volumes of what sorts of cars I am used to riding and driving).

[EDIT] Ha, two hundred large for this baby? Add a few options and it easily becomes $300k!

11 June 2011

WWDC 2011!

I thought I would never have the opportunity to attend this much vaunted event, perhaps now the biggest Mac community gathering, but hey, Apple employees get to visit for a day (or a half)!

Perhaps my biggest display of fangirlism ever, besides the time that I met Steve Jobs?
(The Green badge is for Apple Engineers -- I went as an iOS Engineer)

But that's pretty much all I can say. You know why. :-)

I'll hopefully get to posting my Power Mac G4 case mod in the near future.

02 June 2011


Gorgeous as always.

Taken with a Canon EOS 5D Mark II with 24-105 f/4L lens.

11 May 2011

Andrew Lo: What a boss

``If you have no interest in money or don't care about making money, talk to me after lecture and I'll fix that.'' --A. Lo

Andrew Lo, a renowned finance professor, talked about how we could use financial engineering to solve society's three biggest problems (cancer, global warming, and one more that I forgot). His plan is similar to what MIT did to win the Darpa Network Challenge: to incentivize people who give money to solve problems, essentially relying on human greed, which has always been and will continue to be a part of human nature. (Fear, another powerful tool, only works in the short term; if one is constantly afraid of something, then he is not capable of surviving.) Lo gave the following example:

Suppose that, for a pharmacutical, developing a drug for cancer cost $500M, had a cycle of 10 years, and a 5% success rate. A successful drug would make $2B a year. If we only invested in one pharm, then they would have a pitiful return. However, if we invested in forty pharms, then our probability of having at least one successful drug is 1-(1-0.05)^40, or 87%, which is much higher than 5%. We would then need $20B, which we can get from one-tenth of America families if each family contributes $2,000. We can further incentivize by deducting this amount from the family's tax.

This $20B we get from taking advantage of people's inherent greedy nature is supplemented by donations from the altruistic, which amounts to $25M. Of course, this is a very simple model, but if we learn to take advantage of greed and focus it like a giant laserbeam to benefit society, say curing cancer, then we are capable of achieving great things.

Edit: typo in math; 0.87 = 1-(1-0.05)^40, not 1-0.05^40.

09 May 2011

Nyan Cat Alarm

This is quite possibly the silliest project I've done. Besides nchoosethree.com. Anyway.

The project was simple: to set up an alarm that would wake me up to the tune of nyan.cat every morning. Since I had just set up my lovely iMac G4 earlier that day, complete with my JBL Creature II speakers, I had something that could autonomously play loud and annoying music every morning, at the expense of my roommate's sleep. I could have done this two ways: (A) command line with cron and mplayer, or (B) with builtin Mac OS X apps. I chose the latter because I was lazy. So the troll begins:
  1. Get an MP3 of the Nyan Cat song of nontrivial length. I ripped mine from here.
  2. Create an Automator workflow as follows:
    1. Set system volume to some annoying but tolerable loudness.
    2. Tell iTunes to get the selected song (Nyan Cat, in this case).
    3. Tell iTunes to play the selected song.
      Then save the workflow as an Application.
  3. Create iCal events at the time when you wake up. Set an alarm to 0 minutes before and open up the Automator application. You may want to test this before going to sleep.
There you go! Troll in a box in five minutes! Unfortunately for me, I forgot that my Mac's clock was ahead by three hours, so creating wake-up events at 8:00am meant waking up to mute the speakers at 5:00am. Whoops!

07 May 2011

End of term evaluation

It's the end of another term at MIT, which means that I'm very close to have finished freshman year! (all that's left is two finals and a problem set) The semester was quite a ride; I did not do as well as I had hoped, but in the end, I think I learned all the material the classes asked me to learn. Without further ado, here are my opinions on my classes this term:

15.401 Finance Theory I (MW8:30-10, F8:30-10): This class is mostly memorization based; one only needs basic mathematical skill and intuition to do well (of course, economical intuition is highly recommended). It's easy to lose points here and there because of silly mistakes and can cause one's grade to drop quite easily, in fact. However, this class is a great introduction to the world of quantitative finance. Professor Stephenson isn't the best lecturer, but he gets the point across well.

15.053 Optimization Methods of Management Science (MW2:30-4): This class is also memorization based; same thoughts as above. It's a good introduction to Linear Programming, optimization algorithms such as Dijkstra and Max-Flow/Min-Cut/Min-Cost, and NP-completeness (although referred to as "really hard problems" in class). Again, silly mistakes will kill you. Professor Orlin, a renowned researcher of flow, inserts humor into an otherwise basic ((and boring) course.

14.01 Principles of Microeconomics (MW1, F1): This class is more math based than I thought, after doing almost no calculus in its sibling, 14.02. Your grade is basically determined by how silly you are on tests. Professor Harris is quite eccentric, which makes his lectures worth attending.

6.004 Computational Structures (TR1, WF2): This class was a lot of fun (one gets to build a 32-bit RISC microprocessor! (except in software, boo)), except for the quizzes, which actually required studying. (wait, what kind of statement is this?!) Ward is a great lecturer and injects humor into his lectures. But please, STOP WITH THE COMIC SANS!!11!!1

6.046J/18.410J Design and Analysis of Algorithms (TR9:30-11, F3): This class is one of those "rites of passage" for any decent math/computer science nerd at MIT. It wasn't particularly fun; absolutely no implementation was required: the entire class was very mathematically rigorous and proof-based. The take-home was lots of fun; it's rewarding when you solve a (hard, not NP-hard :P) problem you haven't seen before. Professor Leiserson is a great lecturer and knows how to use humor, unlike Professor Moshkovitz, who does very intense and dry math-based proofs (and in turn, loses half the class).

All in all, classes weren't as fun as first semester, probably because there was no software coding involved (no, those 6.004 bits do not count). I was also less bored because I spent more time learning and reviewing the material for classes, so I think I did better grade-wise this term than last term. However, I was still sufficiently bored at times, suring which I could have spent extending class material, such as working out proofs or reading papers on Google Scholar instead of staring blankly at a wall. What's done is done; grades have basically been decided, and although I could have gotten more As, I don't regret my decisions because (1) what's done is done; regretting will only waste CPU cycles, and (2) I needed to experience how a typical "lazy student" did and learn to not take this path again. Here's to a more exciting and more academically successful term this fall!

05 May 2011

Stuff that's changed in the past $n = 17+2!$ years

What's notable/changed from year N to year 19:
  • N = 18: I became a health freak! I also finally got a Power Mac G5 (and it's liquid cooled!) Dream come true after seven years much? Oh yeah I got into college.
  • N = 17: I learned how to play bridge. I also quit violin cold turkey. I grew out of gaming, although I occasionally play pinball and get the occasional high score.
  • N = 16: I built my first computer =D
  • N = 15: I learned how to program (albeit in AutoIt). I started trolling people.
  • N = 14: I got the world's thinnest dual core laptop, the MacBook Pro 1,1. I also met Steve Jobs in person!
  • N = 13: I used Linux  (albeit Ubuntu)! I also hackintoshed my Dell (and proceeded to get a copyright infringement notice from my ISP for seeding).
  • N = 12: I sold my soul to Steve Jobs. Possibly one of the best decisions ever. I also learned how to play Sudoku from a classroom activity.
  • N = 11: I started cracking my joints and got my first computer. I also was a moron and chose a Dell Dimension 4600C over a Power Mac G5.
  • N = 10: I went to this awesome summer camp in which I did EE and played Super Smash Melee. I think this was when I got my first 1:18 diecast car (a 1998 Guards Red Porsche 911 Carerra).
  • N = 9: I got into cars. Every day at lunch I would draw cars with these two guys who were into supercars. I also bought Hamburger at one of the holiday botique sales in school.
  • N = 8: I immersed myself in Honda lawnmower literature because my family was going to buy a gas-powered mower.
  • N = 7: I got my Nintendo 64 (and I still have it!) I also got a teal GameBoy Color, which I retardedly sold to GameStop for a measly $15.
  • N = 6: I learned how to solve a two-equation two-variable linear system of equations. (this honestly can't be the most interesting thing, can it?)
  • N = 5: I learned how to play violin.
  • N = 4: I learned multiplication.
  • N = 3: I learned addition: the start of my math career.
  • N = 2: I broke my parents' VCR. This was possibly the start of my affinity towards EE/MechE.
  • N = 1: lolwut

29 April 2011

New York Auto Show!

tl;dr because designing 32-bit carry select adders are fun.
  • Fiats are cute and inexpensive. I'll probably get one if people don't start saying ``Fix It Again, Tony'' any time soon.
  • The NuLuxe leatherette in the Lexus CT200h was unimpressive. I want my leather!
  • Bugatti Veyron looks stunning in person. It's hard to imagine seeing a beautiful and physics (and common sense)-defying piece of art in person. Be sure to watch its documentary (produced by National Geographic)!
  • Electric cars are unimpressive. Sure, they're fun to build, but driving them is another story. I would not sacrifice luxury for supposed greenery any day soon (I would gladly take the electric Rolls, though).
All 350+ photos up at the photo gallery (does not work in Chrome, apparently).

I really want a car now :(. I haven't driven in quite a while; hopefully I finish my electric scooter before I leave for Apple so I can build my electric car next year! (of course it will have leather =P)

21 April 2011

Late night pinball

Possibly yielded me a personal best for one ball:

Yeah, I guess I should have been hubmottering.

Also, Pinball music does not go well with Rebecca Black parodies.

20 April 2011

CPW 2011: From the other side

Everyone says CPdubs is a blast if you're a prefrosh, but does the fun wilt when one becomes a student at MIT?


Since we're students and the rigorous MIT calendar does not allow for ``holidays,'' I dutifully went to my classes, 6.046 (Algorithms), 6.004 (Computational Structures), and 15.053 (Optimization Methods). At the end of 15.053, I talked with Professor Orlin for a bit regarding these ``hard problems'' he mentioned in class. We got into a little bit of complexity theory talk, which was pretty cool. I might end up taking some TCS classes after all…

After class, I scootered around a bit and ran into two BCA prefrosh. This makes three as I had run into one during lunch. Then I chilled at the MITERS booth in Lobby 10 to help show off EE talent (and be obnoxious, of course). Since there was only an hour left before we had to clean up, I did not bring my case mod and hacked displays. Instead, we blasted (contemporary) dance-pop music (Friday included) using LOLriokart's 100W sound system. That sure got a lot of attention!

Friday was the big day. After 15.401 recitation (which only had 4 people show up), I went back to my room and slowly disassembled my desktop setup to carry to Lobby 10. I managed to haul my Power Mac G4 Quad and my two Apple Studio Displays after half an hour of hard work and assistance. At the booth, I plugged everything in and fired up unholyballs (for lack of a demo) and then switched to xlock since it looked flashier. Too bad I didn't have a newer graphics card to do real time ray tracing. I wasn't quite expecting my casemod and displays to get much attention since MITERS really isn't the place for these types of projects (or is it?), but to my delight a good number of people asked me about my setup. I even had someone ask me about my overclock!

Meanwhile, we continued blasting pop music from LOLriokart. Charles was not happy when we played Friday (for the $$n^{th}$$ time), but he approved of the cycling theme from Pokemon Red/Blue. I suggested to him to drive around LOLriokart while playing the song, which he did. He gave some prefrosh rides on LOLriokart and even taught one to ride SegFault! I still am deathly afraid of that thing, most likely because the person stands above the axle.

Later that evening was the MITERS build party. Quite a lot of prefrosh went and they got to see the facilities and us in our native habitat. They were all amazed by our Make-a-bot, a handmade 3D printer, printing a white naked woman (I say white not only to be factually correct, but also to emphasize the contrast with the black naked woman sitting atop the Make-a-bot). After a while, all the prefrosh left to attend other events. We then did the usual: drinking soda, winding hubmötters, and burning vegetables with Bayley's incomplete and probably defective SLR.

I went back to MITERS on Saturday to finish winding my hubmötter. I was surprised and happy to see a prefrosh building a circuit! He was working on a little thing that had a POT to change the frequency with which an LED blinked (controlled by a 555, of course). After getting distracted by many things, I finished winding my hubmötter! Time to buy magnets and finish my electric scooter =)

14 April 2011

HTOP + Folding@Home

...with 24 threads:
My life is complete.

[EDIT] I ssh'ed into the 48-core box and was greeted with almost 4800% CPU usage:
So beautiful that I want to cry!

21 March 2011

Apple, Please Fix Your Nvidia Drivers!

So things like this won't happen:
Video corruption while working with Aperture 3 presets on my Late 2010 MacBook Air

While doing some intensive editing, my laptop actually locked up for a full half an hour before I force-rebooted it. I checked the logs only to see the driver acting up (click to see log dump):

Otherwise I'm jumping ship to ATi AMD when I upgrade my Hackintosh! (Linux users: now's the time to scream ``NO YOU WOULDN'T!'')

[EDIT 17 Aug 2011] Seems like Apple has better drivers in Lion and Aperture is no longer locking up my machine anymore!

15 March 2011


I just realized that I have a legitimate need for Mac, Windows, and Linux:
  • Mac: Aperture (because I'm a semiserious photographer, but not serious enough to warrant me a 12-core Mac Pro)
  • Windows: AutoDesk Inventor (3D parametric modeling)
  • Linux: General development, OpenCL, CUDA
All three require [serious] graphics acceleration, so virtualization is a very big no-no.

Hmm actually I could probably get away without Linux, but coding just works so much better on Linux than on Windows. Plus my EvilWM setup with my split keyboard and trackball just seems so hardcore and user unfriendly hahah

Time to build another box so I can run all three platforms concurrently?

05 March 2011


Looking back, I used to be a relatively big gamer. Especially for a girl.

Now, I'm not. Not at all. (Although I can wallop a good handful of people on my hall at Super Smash Bros. Melee)

Ten years ago, things were mostly `mechanical,' or physical, to be general. Rubik's cubes, block letters, stuffed animals. The thought of a multifunctional handheld device that contained an alternate universe was unfathomable. Perhaps my fascination with this new concept is the reason I played Pokémon for upwards of eight hours a week on my teal GameBoy Color (which I somewhat regret selling to GameStop). In sixth grade I would devote some time each week to practicing Super Smash Brothers Melee when family friends came over. I did get `better' at these games; I could beat a good number of people who challenged me.

Today's world is more or less the opposite. Activities are mostly virtual, from organizational tasks, to learning, and even to simulation of mechanical objects. `Mechanical' things mostly have been relegated to the past. The thought of building a microprocessor out of transistors seems anachronistic today; it is `trivialized' to writing some number lines of simulation code in JSim. Sure, prototyping in software is much faster and more cost efficient, but one does not gain the tactile experience of merely touching a transistor, never mind stripping wires, hooking everything up to a breadboard, or even soldering.

Perhaps the digital dominance has pushed me to pursue `mechanical' activities more than before.

04 March 2011

Spring Cleaning

My computer needs it.

This thing is so clogged that no air can flow through; the hot air ends up flowing into my case.

I always wondered why my 8800GTS ran at 72ºC: now I know why!

Unfortunately, this is the result of running my case with the side panel off. The sad thing is that, even before the dust, my computer will shut down with the panel on after like 10min of intense work. A new case is on its way; I just have to finish modding it!

25 February 2011

Early 2011 MacBook Pro notes

[This is just some random thoughts/reactions to Apple's latest updates. Thanks to the excellent MacRumors community for some of these points!]
  • First off, LightPeak! Or should I say Thunderbolt! Sure, it's overkill for the average consumer, but without such innovations, technology would not evolve at the rapid pace at which it is evolving today.
    • Note that in order for computers to have support for Thunderbolt, a controller chip must have direct access to the graphics subsystem and PCIe channels, i.e. be on the motherboard. Therefore, old, non-Thunderbolt computers cannot be upgraded via an expansion card to support Thunderbolt.
      • Can we make Thunderbolt PCIe x4 expansion cards that just have a data connection?
      • People were fussing about high security privileges that Thunderbolt devices have. I would like to see this clarified, even though I'm not a security person.
    • Apple has not clarified whether the new laptops support triple displays (two externals + internal). I'd wager yes: one 2560x1600 and one 1920x1200 for the 13" and dual 2560x1600 on the 15" and 17".
  • Quad cores in 15" and 17" units! I'm ecstatic to see this, but I'm not sure how Apple can manage the increased 10W TDP. The 13" got a decent upgrade, starting with an i5 on the low end and an i7 on the high end. (yay, no i3!) Hopefully these units will not get as warm as the first generation MacBook Pros. 
  • The low-end 15" unit sees a graphics downgrade to an AMD Radeon HD 6490 and the high-end 15" unit sees an upgrade to an AMD Radeon HD 6750. I'm also surprised and delighted by this move, but not as much as with the 13", which now uses the on-die Intel graphics.
  • The MacBook Pro 13" did not get a higher-resolution panel. I suspect the integrated Intel 3000 graphics did not deliver high enough framerates at the higher resolution for Apple to think it is worthwhile. Sure, people who plug in an external display will discover this flaw, but considering that much of the 13" consumers would be fine with a white MacBook, we can ignore this issue. In addition, the 13" still does not have an optional matte screen.
  • Mac OS X Lion has been and is still advertised on a MacBook Air. Previously, with Snow Leopard, the poster Mac was always a MacBook Pro. I (and many others) believe that Apple is pushing the MacBook Air, instead of the [13"] MacBook Pro, as the mainstream Mac, relegating the MacBook Pro to its upscale position.
  • The battery ratings reflect the results from the new battery testing methodology used by Apple first seen on the MacBook Airs. I'm iffy on the 15" and 17" ratings since the chips have a higher TDP.

New [Old] Hardware!

A couple of days ago, I decided to put my hacked Apple Studio Display to work, so I spent an hour cleaning most of the things off my desk. I then connected the monitor, but unfortunately it displayed no image, so I thought that Linux was being annoying and rebooted into Windows. It worked! I then booted back into Linux, which caused X to initially freak out (by reverting my 1080p screen's resolution to 640x480, which sucks, but you probably knew that already), but after a bit of terminal work and some button clicking, it worked! I deemed this setup to be enough (for now) and will hold off on buying the remaining parts for my quad 1080p setup. ;)

It works! (and my desk is a mess)

P.S. Apologies for the dearth of blog posts; I always end up squandering my time with Minesweeper (and now Freecell)!

13 February 2011


makes me want to get a job at Dropbox and move to Fourth West.

26 January 2011

Apple CSS Fail, Take II

Remember this? Well it looks like Apple is in the process of upgrading the website to be HTML5 compliant, but didn't implement the new CSS sliding window trick yet, as one can see below:

[EDIT] Woah, that was fast! The website is now fixed!

18 January 2011

IAP Goals…or not

After not being hosed (okay, maybe I was extremely tired after the last week of straight coding) first semester, I started planning out my IAP and came up with the following list of things to do:
  • Learn 18.03
  • Pokerbots
  • TA 6.096
  • Case mod the Quicksilver Power Mac G4 I found 
  • Direct USACO Feb11
  • Pongmegrenades
  • Port Pongmegrenades to Android, i.e. figure out drag and drop, besides other things
  • Build an audio input/output switcher
  • Speed up the raytracer
  • Add some more shortcuts and features to EvilWM
  • Facebook Hacker Cup
  • Techfair chores, etc.
  • …and possibly a bit of bridge
However, I soon found out that I was squeezed for time. I immediately came back to my list and scratched off a bunch of things:
  • Learn 18.03: I'm almost there! Just 1/5 of the material left…chug chug chug choo choo!
  • Pokerbots: I'm not exactly obligated to do it, but it seems worth it.
  • TA 6.096: I'm obligated to do this.
  • Case mod the Quicksilver Power Mac G4 I found: I went to Home Depot to buy plexiglass and cut out the old IO port sections…does that count as nontrivial progress? Dremelling was fun (and very sparky) though =D
  • Direct USACO Feb11: Not an obligation, but it'd be cool to contribute to each of the monthly contests =D
  • Pongmegrenades: I got sound to work (by virtue of copy & pasting code…does that count?
  • Port Pongmegrenades to Android, i.e. figure out drag and drop, besides other things: Not enough time T_T
  • Build an audio input/output switcher: The bus switch that engadget mentioned on its AV switcher is no longer stocked by DigiKey :( I got all the other parts from MITERS, though.
  • Speed up the raytracer: Uhhh about that…
  • Add some more shortcuts and features to EvilWM: About that too…
  • Facebook Hacker Cup: Dunno if Facebook will get its act together
  • Techfair chores, etc.: I'm obligated to do this.
  • …and possibly a bit of bridge: Bridge? Uhh…do I still know how to play?

16 January 2011

Humming to a Song

Recently, I find myself always singing aloud with a song (fast-forward to 0:45) that I found this past summer when it always comes up on my iPod. I easily determined that my parents, at least, get annoyed pretty quickly. Oh, how fun it is to annoy people. I must say it's the easiest empirical way to find people's limits. :) Now to counter me when I start murmuring "doh-oh-oh-oh-oh Steve Jobs // Steve Jobs // Steve Jaaaaaaahhhhhh-ahhbs, my dad insists that I'm saying "Steam Jobs," as if I were hungry and wanted to steam a cabbage to eat.

And here are the lyrics for you to sing along:

As business men go he is a legend
surviving exile returning as king
if that sounds like Moses it's no accident
the cult of Macintosh is a religion
we bow down to products that make us weep
the beauty of simplicity the Shepard and his sheep
we defend all attackers with fervent zeal
in each operating system some new truth is revealed

his violent temper, his strict beliefs
his singular vision make him adored
we try our best as we make our way
through the pipeline of products we can't afford
in his guarded temple there's a beating drum
and it's made of glass and of aluminum
on every surface a mysterious brew
a reflection of desire is forged anew

Steve Jobs
Steve Jobs
Steve Jaaaahhaahh
Oh Oh Oh Oh Oh
Steve Jobs
Steve Jobs
Steve Jobs
Steve Jaaaahhaahhbs

when he speaks we all listen
lovers and haters
the excitement that i feel when he walks out on stage
it's not just what he's revealing but the way he reveals it too

Steve Jobs
Steve Jobs
Steve Jaaaahhaahh
Oh Oh Oh Oh Oh
Steve Jobs
Steve Jobs
Steve Jobs
Steve Jaaaahhaahhbs

09 January 2011

Five Years of Intel Macs

Whew, I almost forgot that Steve Jobs announced the first batch of production Intel Macs five years ago on this day at the 2006 MacWorld Keynote! Here's to another great five years of x86 (yes, I'm including the possibility of AMD-based machines) Macs!

Specs of each machine:

MacBook Pro 1,1:
  • 15.4" 1440x900 Matte
  • Intel T2500 Core Duo "Yonah" 2.0GHz 667MHz 2MB
  • 2GB DDR2-667 PC5300 RAM
  • 160GB Intel X25-M SSD
  • 256MB ATi Mobility Radeon X1600
  • Dual-link DVI port
  • 2 USB 2.0, 1 FireWire 400, Gigabit Ethernet, Digital/Analog Audio In/Out
  • iSight
  • ExpressCard/34 slot
  • Kensington lock
  • Old style backlit keyboard
  • Scrolling trackpad + button
MacBook 2,1:
  • 13.3" 1280x800 Glossy
  • Intel T7200 Core 2 Duo "Merom" 2.0GHz 667MHz 4MB
  • 1.5GB DDR2-667 PC5300 RAM
  • 80GB Toshiba HDD
  • 64MB (shared) Intel GMA 950
  • Single-link Mini-DVI port
  • 2 USB 2.0, 1 FireWire 400, Gigabit Ethernet, Digital/Analog Audio In/Out
  • iSight
  • Kensington lock
  • Chiclet keyboard
  • Scrolling trackpad + button
MacBook Air 3,2:
  • 13.3" 1440x900 Glossy
  • Intel SP9400 Core 2 Duo "Penryn" 1.86GHz 1066MHz 6MB
  • 4GB DDR3-1066 PC85000 RAM
  • 121GB Toshiba SSD (7GB reserved for garbage collection)
  • 256MB (shared) Nvidia GeForce 320M
  • miniDisplayPort
  • 2 USB 2.0, Analog Audio Out
  • iSight
  • SD card slot
  • Chiclet keyboard
  • Multitouch glass trackpad

06 January 2011

Apple Price Discrepancy Fail

Here is Aperture's page on the App Store. Notice the rather low price of $79.

Here is store.apple.com's listing of Aperture.

$120 for a box, CD, and some instruction pamphlets? Really, Apple?

05 January 2011


Doing math never felt so cathartic before, especially in the library at night.