My trips to Stockholm and San Fran in September this year.
My trips to Stockholm and San Fran in September this year.
Our apartment’s couch is almost finished. The last step is to staple gun the faux suede for the back cushion into place. I built an end table to accompany the couch and constructed a pallet-looking shelf to serve as a pot rack.
But the best addition to our living space has been my roommate Gary’s framed posters. He was nice enough to share eight of his family’s four-by-three foot long pictures of movie stars, singers, and baseball players with us. Now these gorgeous hardwood frames to decorate our spartan walls. Marilyn Monroe, James Dean, Frank Sinatra, Dean Martin, Peter Lawford, Sammy Davis Jr., and Don and Michael Corleone now accompany us in our living room. Mickey Mantle, Joe DiMaggio, Babe Ruth, Muhammad Ali, and The Beatles reside in the hallway.
The couch left behind by the previous tenants in my new apartment was in less than peak condition. It’s pleather cushions were peeling and shedding. Instead of buying a couch from Ikea for $600 to $800, my roommates and I decided to build one from pine 2x4s for a fraction of the cost.
I woke up at 6AM on Sunday July 1 despite sleeping two hours and started hauling my possessions onto the corner of 135th Street and Riverside Drive. I shouldn’t have stayed out till 4AM with friends the night before moving to a new apartment.
“I’m ten minutes from you,” Pavel texted.
Plenty of time, I thought. The beauty of having few things means I’m able to pack in two hours and find a man-with-a-van on Craigslist the day before. Pavel pulled up to the curb in a van at 7AM. We loaded my stuff and began cruising down the West Side Highway.
To me vi is zen. To use vi is to practice zen. Every command is a koan. Profound to the user,
unintelligible to the uninitiated. You discover truth every time you use it.
A friend recently told me that he’s going turning to the “dark side” and trying out Emacs. When I asked why, he said the escape key was too far away. I tried dissuading him by saying he hadn’t learned the full extent of Vim’s zen and power (neither have I), but in the end gave wished him good luck.
I recently worked with someone who excelled at Emacs to the point that watching him code was like watching a musician playing an instrument. He mostly used muscle memory to make his fingers dancing across the keyboard. This person inspired me to drop GUI editors and focus on becoming proficient in Vim. The productivity gains, easy to discount at the outset, have been tremendous simply because I spend at least six hours a day inside a text editor. Each keystroke I reduce amounts to seconds which add up to minutes that over weeks accumulate into hours. It’s less time and brainpower I have to exert for mechanically typing code and more time to conceive of good code.
It’s been four months since I’ve been using Vim exclusively. I remember the steep learning curve at the start and the constant temptation to reach for the mouse and arrow keys. But as a novice I discovered that there are legions of Vim users passionate enough to publish helpful articles, create games, and wage crusades in order to convert more heathens.
I hate getting distracted. But with the increasing addictiveness of the web it’s becoming harder to prevent myself from reflexively checking sites like Facebook and Hacker News. That’s why I was excited to see a nice Python script called focus.py that acts as a DNS and schedules firewalls to prevent users from wasting time. I can block entire domains and specify timeframes during which they are allowed.
I wrote “Stay focused” on my local homepage. Annoying Facebook share and like buttons have also delightfully disappeared from my world.
I’ve heard that one can become a great software engineer with ten years of experience or with fewer years of experience but a solid grasp of data structures and algorithms. Since I studied pure math as an undergrad, I love this stuff. Recurrence relations, prime numbers in hashing functions for hash tables, P vs NP.
When I first started off programming I didn’t know just how much I didn’t know. I thought that being able to write a simple CRUD application was all there was to it and who cares about knowing how quick sort works. It’s true that I’ll probably never have to implement a hash table on the job, but knowing how to reverse a string or a linked list is like knowing how to play the scales as a musician. They’ll never be played during a concert, but they are classic building blocks in understanding computing.
Below is a chart of my job application track record during the last semester of college. First round means whether the company responded to my resumé, second round was usually a phone screen, and third round was an on-site interview.
One of my favorite classes during middle school was woodworking. Our first project was to make small wooden trays from pine and ply wood. I learned to cut wood with a miter saw, glue them together, and correctly hammer a nail. The class moved onto drills and various electric saws like the jigsaw, circular saw, and planer. (We were never allowed to use the table saw, however, as the exposed blade was too risky to trust with eleven-year-olds.) With these tools I made a two-level shelf that could be placed on desk to hold paper and various knick knacks.