Day 2, Light Mondays (and Wednesdays)

This quarter I’m taking 6 classes and 14 units. Somehow, my class schedule looks quite sparse compared to my Cornell schedules as an undergrad. Maybe it’s because a few classes only meet once a week. Anyways, my Monday and Wednesday mornings are completely open, and thank God I was able to do something productive.

I quickly implemented a very bare-bones django app that can authenticate with Evernote, and retrieve private or public notes and display them. Why bother doing this? Well for Greek class we started working on word studies and “categorizing” usages of a word throughout the Bible, which means there’s lots of verse references. Instead of copying the text of every verse, we wanted a way to leverage reftagger. So with this django app, now we can view word studies (if they are stored on Evernote) with hover-over Bible references!

I also created another github repo for sharing the oauth process  I used to integrate django and evernote. Another +1 geek points!


Deciding on a Graduate School

Hello, hello. So most of you probably already know that I am planning to return to school for a master’s degree this fall. I really need to be more thankful to God for the opportunities he has given me because I got into both of my top choices and now need to make the difficult decision of which one to actually go to (Stanford or Berkeley).

Neither master’s programs are in engineering, but rather in the intersection of design and technology. As you can imagine that’s quite a large intersection, and as such, the two programs I am considering cannot be directly compared because they have different areas of focus.

Stanford’s program is called Learning, Design, and Technology (LDT). It’s a pretty unique and specialized program offered from Stanford’s School of Education focused on designing and implementing emerging technologies and interfaces to solve learning problems and improve education.

Berkeley’s program is called Masters in Information Management and Systems (MIMS), which is offered through Berkeley’s School of Information (also called an ischool). It’s a degree in information studies pertaining to the role that information plays in our lives and how we can design, process, and interact with information in a useful and effective way (I just made up that explanation – as a matter of fact I don’t really know the best way to define what information studies is when people ask). This program is a bit broader in scope and I would be primarily focused on how technology can be used to enhance our experience with information.

Both programs are pretty appealing to me. I visited both schools during their Admit Welcome Days and came out of both feeling positive about each one. In order to distill the important factors in this decision process, I wanted to compile some sort of summary which laid out my various thoughts and sentiments on each school. But instead of doing statistical analysis and comparison like geo did (which is much more impressive, rigorous, intellectual, and probably more useful), I spent more time than I probably should have creating this visual comparison chart using LucidChart (the company that I won the CR-48 from).

Green indicates a "pro" and red indicates a "con." The rest is more or less neutral.

The PDF of the entire chart, if you are curious, can be found here. Stanford vs. Berkeley Visual Comparison.

This chart is a little bit biased in details towards Stanford because it was the more recent of the two schools I visited (and I did like it a lot). That’s probably why Stanford has more green and red. I guess from reading the notes I have you could say I am leaning a little bit more towards Stanford, but I have not made a definite decision.

While my sister was driving me to Stanford (since she works nearby), I asked her what I should do if I came out feeling really positive about it too. She said something that I think is really perceptive and makes a lot of sense:

“It will be as clear as how clearly you know what you want.”

So has this chart made it any clearer to me about which one I should choose? Not really…it hasn’t really revealed anything particularly new or groundbreaking, but I guess it will serve as a useful quick reference for myself.

In any case, I need to pray more. I do believe that often times “God’s will” is less about the absolute place you end up going to and more about what kind of person you are, but when it comes to planning, God has to be in the picture. How can my studies be for the glory of God? Will I be able to still serve while I am studying (I worry a lot about my time management skills)? How can the things I learn be applied to future servitude? (RE obviously comes to mind when considering Stanford’s program, haha). Just some things I feel I need to consider in my prayers.

I’m also curious about what thoughts any of you may have concerning either these schools, the programs, or the general field of design/technology/information in general. What observations or insights do you have about the role technology is playing in our lives now and in the future? Or what advice might you have for a prospective graduate student? What other important considerations should I be aware of?

Personal History Statement

I’m not really sure what to write for this. Some schools only require a “statement of purpose”, but others additionally require a “personal history statement.” The former discusses my academic/research/career interests and experiences, while the latter focuses more on my personal background and this term called “diversity.” Suggestions for this are talking about socio-economic or other difficulties and obstacles I’ve had to face.

The truth is, in terms of diversity, I don’t have much to say for myself. Yes, I’m oriental, but thanks to my parents’ hard work and support, I never experienced financial strain or impediments to receiving a good education. I didn’t need to work during college to support myself. I didn’t even need to save up to buy my car. I was never really involved with diversity organizations and groups or in specialized community service. In a sense, I’m just a plain person. On paper, I’m just boring (maybe in real life I am too, but you can be the judge of that).

Of course everyone’s life is unique in many ways, but I don’t know how to extract that uniqueness into a statement without sounding like I’m just using my experiences to convince a school to accept me. For example, not everyone grows up with an sibling who has a learning disability. I tried to discuss and write about it in a college application essay, but none of the schools that I submitted it to ended up accepting me. Ironically, the schools where I submitted what I felt were more generic and less sincere essays were the ones that accepted me. So now I’m starting to doubt the significance of these essays altogether.

Any pointers? I suppose I could also write about how my parents hindered me from pursuing areas that I was actually interested in, but seeing how this phenomenon is virtually universal in oriental families with immigrant parents, I don’t think it would contribute much to diversity.

Anyways, my goal is to submit all my apps before my semi-coerced vacation to Taiwan on Dec 26th.

HCI, User Experience, and Designing for Usability

The title is a rough summary of what I aim to study in graduate school. Yup, I’m applying.

I think the information industry is the perfect field for my skill set and interests because it’s a cool mix of other fields like computer science, psychology/cognitive science, and even the arts. Technical, scientific, and aesthetic.

As “preparation” for graduate school, I’ve been trying to read a book called, “The Design of Everyday Things.” So far I really like it and it describes a lot of things rigorously which we probably knew vaguely about why we get frustrated with many of the things we use everyday, like doors and light switches. Seems like a nuisance at first, but the faulty design principles extend to high-risk things like nuclear power plants and air planes. It’s clear why this is considered required reading for people in the user experience and product design fields.

I’ve also been doing some reading on the blogosphere, most of them related to web design. Here are some sites that I now follow, for those who might be interested:

Coming up, I hope to try to blog about things that I learn during this preparation and how they apply to objects that I use on a regular basis. Or just excerpts from what other people have written that I really liked.

Bitten by the Microcontroller-Geek bug

Ever since ECE4670 (actually since the summer before I took the course), I’ve always wanted to pursue these sorts of electronic DIY projects as an intelligent hobby. In fact, after completing my final project for the class and completing my sole final exam, I hooked up an old school imitation SNES controller to an arduino emulating the controller protocol (it’s not very difficult) and was able to detect which buttons were being pushed (the goal of this step, which was never realized, was to be able to play SNES games on the computer using Zsnes). And then I went ahead and ordered another arduino board that was compatible with various shields (so now I have the nano and a duemilanove), some pin headers and jumper cables, and a wiznet ethernet module compatible with the arduino ethernet shield in anticipation of all the cool projects I’d be doing after starting work. And what do I have to show for it all? Sadly, zilch.

I’ve sorta tried within the first few weeks of moving out to California, but I gave up pretty quickly. I wanted to set up an infrared LED emitter/detector pair and just be able to detect objects, but when I set up the circuit and dumped readings onto the serial port, it wasn’t working. And since I had no debugging tools, I decided it would be a waste of time to try to fix it. I bet the circuit is just wrong since I suck at that, but I can’t definitely check anything without a multimeter. After wasting a few hours of unaided “educated” poking around, I decided the hobby required too high of a set up cost (namely getting all the necessary components that I took for granted in the school lab, actually having a semi-suitable “workbench”, and then spending the time making things work). I packed all my electronic tinkering parts into some boxes and left them in my closet. They’ve been there for the last 5-6 months.

Since then, as is apparent from previous blog posts, I’ve been dabbling in purely web programming. And although it’s been fun and engaging and enriching (while hating on overly complex java web development at work, I’ve picked up django and yii at home), it doesn’t have as much of a “cool” factor as something that is really tangible. Or maybe I’m just looking for variety – people need change and variation to be interested right?

Truth is, the more I think about the high setup cost of microcontroller projects, the more I realized how that it wasn’t as high as I thought. I kept saying, “Oh man I need all these tools and they’re not cheap!” But at a bare minimum, I really only need a multimeter (continuity buzzer a must), soldering iron+solder+stand, wire cutter, wire probes/clips, and that’s basically it – I already have breadboards and components leftover from my sister’s EE projects and from my own projects. Some other things would be nice to have – power supply board, an accessory box so I can finally organize resistors, etc. An oscilloscope would be nice and critical, depending on the project, but definitely not a bare necessity for someone like me. I guess it’s still somewhat of a nontrivial list of supplies, but considering how much money I burned on a DSLR, a cello, and a longboard, the cost of getting what I need isn’t really too high at all. Even if I bought a bench-top oscilloscope, I could find one that comes out to less than half the price of my DSLR.

Then there’s still the issue of time. Getting electronics to work is time consuming. But now that I think about how much time I put into picking up web development, I realized how time consuming that is too (although, there’s much lower of a hurdle to get into web development – $0 monetary cost being a biggie).

So a few days ago, I dusted off my arduino. I downloaded the IDE (along with the Processing environment, which by the way, is a great way to get your feet wet in programming). I loaded a few basic examples and made minor modifications just to familiarize myself again with what it’s like to program for a microcontroller. I rediscovered that the longer terminal on an LED is the negative end. I quickly wrote a sketch enabling me to send serial commands to the arduino. It was all simple and basic stuff, but being able to turn on an LED just by typing “on” or “off” on my keyboard felt good (albeit, in a lame sort of way, but still overall positive).

This is the part where I list out what things I plan on buying in attempt to get back into this sort of thing. I’m trying to be budget conscious so if you know of something that you’ve used for cheaper, please let me know.

  • Multimeter: Debating between (cheaper) ones from futurlec (starting at $4.90) and the $15 one from sparkfun. The cheap one on futurlec looks a lot like ones I’ve seen used in lab, but I’m not sure. The one from sparkfun I know is probably reliable since they only sell things they endorse after using them.
  • Soldering supplies: sparkfun. Soldering iron, soldering stand, solder, and solder wick. Total cost around $25.
  • RS-232 board from futurlec: This is just for convenience when interfacing with serial devices. I suck at circuitry so I’d much rather work with modules for an extra cost than spend hours making an inferior and temporary one.
  • 5V power supply board from futurlec: Also for convenience, in case of projects where I don’t want the microcontroller to be tethered to my computer, or need to supply more power for other components.

Hopefully it won’t all be a waste, and that I’ll not be lazy and have some geeky fun. However, one thing I’m really not looking forward to is picking out the right resistors by trying to read the stupid color bands. Suggestions for a suitable and convenient storage solution would be greatly appreciated.

Personal Computing: Then and Now

Before you think that from the title of this post, this might be some scintillating discussion about the evolution of computers and technology, allow me to severely and promptly disappoint you by saying this up front. This post is solely about – surprise, surprise – myself, and how I used to do things then (i.e. freshman year and prior), versus how I’ve come to use computers now (a lengthy 4-5 years later).

What prompted this post was my visit back to NJ and cleaning around the house. I came across my previous laptop (an HP dv4000 series I believe) which I ditched because it would literally stall at any given time (not freeze, but stall – including the hard drive activity indicator LED). The only remedy was to semi-randomly apply pressure on the laptop with my hand, or to tilt it, until it resumed execution (before stalling again shortly thereafter). Yeah, weird. And very annoying when trying to work on projects, especially time-critical ones. Anyways, it’s still technically usable so I booted it up to give it a run, and browse through what contents I had on it in the hopes that I could salvage some data that I lost when my hard drive recently died. It wasn’t until I browsed through my “programs and software downloads” folder that I realized how much I’ve changed as a computer consumer throughout my engineering education.

Basically, pre-college, I was one of those ignorant consumers where everything I used was a black box (well, that might still be true, but to a lesser extent; at least, that’s what I’d like to believe), and I expected everything to be pre-configured just right. Thanks to the nature of my major (namely, requiring extensive use of a computer), I’m a more well-informed and tech-savvy consumer (again, that’s what I’d like to believe), and thus able to make some better choices in terms of computing. So without further ado, I present the “then and now” list: Continue reading

Cornell 2009 Video


Song: Strawberry Swing by Coldplay

Shot with a Creative Vado HD camcorder (hassle to edit with though). Converted to WMV files for importing into Premiere Pro, which was fine until I had to export. Never ever edit with WMV. I did not know this until finding out the hard and VERY LONG way. The wmvdecod.dll module caused Premiere to crash on export a bajillion times no joke. Basically I had to export in small parts trial-and-error style until it worked.

I hope it makes my Cornell readers at least smile if not laugh.