• This is the digital site of paul shen, a #hacker whose formal titles are computer scientist and interaction designer. I live for opportunities to create elegance, whether in code, in interactions, with visuals, with music, with hardware; the list continues.

I love seeing the Facebook notification light up on my birthday. Who doesn’t? But my guess is that most people can’t help but feel some sort of repetition and monotony when clicking through. Don’t get me wrong; I enjoy every single post on my Facebook timeline. It makes me feel loved, you guys.

With the Facebook Graph API and a couple lines of JavaScript, I extracted the text from the Facebook wall posts on my last birthday. Without any names or formatting, feels a little different, doesn’t it?

Happy birthday!

I will be less lazy.

I’m serious this year. I might’ve said the same thing last year, and the year before, and now to think about it, the year before that too.

Oh hai 2012

I came home to an Amazon envelope on my apartment doorstep. Inside was Khoi Vinh‘s new book, Ordering Disorder.

Grids are not anything new; the book gives a two-page history which mentions that the history of grid-based frameworks trace as far back as 9000 BCE. The typographic grid is a trademark of the International Typographic Style. Bringhurst has a chapter on “Shaping the Page”; Josef Müller-Brockmann has a great book on grid goodness in graphic design. Nowadays, look around the web and you’ll find countless collections of “grid web-based design inspiration” and articles of varying levels of quality.

Ordering Disorder

I love vim. It’s not for everyone, but vim is heaven for people who do a lot of text manipulation. I love introducing people to vim and spitting out shortcuts that save a keystroke here and there. For a while, the cognitive cycles needed definitely outweigh the keystroke saved but over time, you’ll find your fingers moving without thinking.

The following are some vim tips I find useful that I’d like to share, assuming you have the basics down: h, j, k, l, w, e, b, 0, $, %, g, G, i, I, a, A, o, O, v, y, d, c, r, p, P, and so on.

Taking vim to the next level

I am done with my undergraduate education. These last four years have gone by quickly and the following is a short retrospective on both my personal and academic life.

The following are the best classes I’ve taken at CMU; I learned something during these classes and enjoyed it too.

  • 15-251 Great Theoretical Ideas in Computer Science (von Ahn)
  • 15-410 Operating System Design and Implementation (Eckhardt)
  • 57-209 The Beatles (Schultz)
  • 60-412 Interactive Art & Computational Design (Levin)

In general, I found more classes annoying than interesting, more tedious than educational, but I guess it’s all part of the process. I met and interacted with lot of cool students and professors from whom I learned both personally and academically. I really enjoyed my independent studies with Eric Paulos and Stacie Rohrbach. I question my decision to receive my HCI degree but if nothing else, I met a number of neat people with similar interests. I was a purely technical student coming out of high school (math and sciences) but that definitely changed over the last four years as I poked around the design spectrum.

My last four years