Skip to main content
Life is a Curious Quest

The Great Update of 2011

Prior to my Android app post, it had been more than 2 years since I had posted on this blog. As you might expect, quite a few things happened in that time. To cover all this ground, I will pick a few important events from each year and write a mini-post about it. Here we go.

2009

Moved to the apartment (and Tim comes to SD)

We moved out of Via Mallorca house at the end of '08-'09 school year, just before I started my internship. Alex and I had decided we would continue living together, and Andrew joined in after plans fell through with other people. On top of this, Tim transferred from Cal State East Bay down to UCSD and joined in as well. We decided to move in to La Jolla International Gardens, and it has been a really great place to live. It is a very clean complex, in a great location (right next to the bus stop and walking distance to Vons), and we've had no issues with the management. There were certainly things I liked about the old house, namely a backyard in which to barbecue and having our own washer/dryer, but the location of the apartment can't be beat.

We had a lot of drama trying to get David to pay some outstanding rent that he owed the landlord, but after much grief it all got worked out. Even after all that, she was surprisingly gracious with the state we left the house in. We were honestly a bit rough on the place, and then the sublet that Jason got over the summer seriously destroyed  the carpet and made a huge mess. In the end we only lost our security deposit.

ViaSat internship

I had my first internship with ViaSat  over the summer, and it was an awesome experience. I learned a ton, met some great people, and had a good chunk of fun. Stephen, Stephanie, and I worked on the System Metric Integration and Tracking Engine (SMITE), which was an internal tool for aggregating various project metrics and feeding them into other systems to help the estimators in the bidding process. This was a pretty interesting project, and I learned all about the Google Web Toolkit as I designed its web interface.

The thing that really stands out for me about the ViaSat internship was the intern community there. All the interns would eat lunch together every day and we would have parties and other get together on weekends, and it really made the experience a lot better.

Ubiquitous Presenter

Stephan, my teammate at ViaSat, also happened to be the president of the Triton Engineering Student Council and quite well-connected. He put me in contact with Beth Simon about working on the  Ubiquitous Presenter project. Despite thoughts of doing both the Guardian job and this at the same time, I quickly decided to quit the Guardian and do UP "full time". This was a great switch. It was very nice to be doing a job more in line with my major, and especially nice to be managed by CS professors rather than newspaper editors.

CSE 141

Certainly the most difficult course I have had to take in my academic career, 141 was a blast at the same time. CSE 141: Introduction to Computer Architecture, is a class about how computers work at the lowest level computer science majors care about. I thoroughly enjoyed the lectures, which was a combination of an outstanding professor (Steven Swanson) and interesting material.

We mostly focused on microprocessor architecture, and our quarter-long project was to design and build a simple processor. First we had to design the ISA, which was basically the assembly language that the processor understands, and write an assembler for it (a program that takes in a text assembly file and converts it to machine-readable code). After that, we had to actually implement the processor in Verilog. Verilog is a special type of programming language called a hardware design language that more or less has a one-to-one correspondence to physical structures on the chip. The TAs supplied skeleton code for some of these tasks so we weren't always working from scratch, but the workload was still significant. This was an epic undertaking, and it felt amazing to have accomplished it at the end of the course.

Tau Beta Pi

At the end of the year I was invited to join Tau Beta Pi, which I was very pleased to be a part of. This also prompted me to start volunteering with the Florence Outreach program, which I really enjoyed. This was a program where a small group of engineering students would visit a nearby elementary school and put on engineering-related projects for the students. We had a really great group of both kids and volunteers and I had a great time.

2010

日本語

Alex had introduced me to anime in second year, and I had been becoming steadily more interested in anime and Japanese culture since. In January I started thinking about learning Japanese, and slowly started doing some self-study. I continued this on and off throughout the year, but didn't get serious about it until December when I subscribed to  Skritter , which is a great tool for learning to write the kanji (Japanese characters). I find the kanji to be one of the most interesting things about the language, and the pacing of flashcard-based study also helped keep my interest up.

Once we made plans for the trip to Japan I set up a study schedule for myself that I have mostly kept to, and because of this increased commitment I have made steady progress since then. I am now at the point where I can understand many simple sentences and conversational things when I watch subtitled anime (which also happen to be a great study tool), which is great motivation. I currently plan to enroll in a language school or take lessons of some sort once I get up to Seattle, as there is a sizable Japanese community in the area.

Intuit internship

I interned at Intuit over the summer, which was a great experience. I was initially a little disappointed by the difference between the Intuit internship as compared to ViaSat, but the company grew on me and in lot of ways the two experiences complemented each other well. I certainly learned a lot about engineering practices and working as part of a larger company as compared to ViaSat, where the interns essentially lived in their own little bubble. I was even able to make some improvements to the build system in UP by applying knowledge from my experiences at Intuit.

My comrades on the First Time Use team for QuickBooks Online were awesome, especially my "buddy" Brian. I will always remember getting a call seemingly out of the blue from some guy claiming to be my "buddy" from Intuit. I spent the first 5 minutes of the call thinking, "is he just trying to be nice? Is this a program at Intuit? What's going on here?". Over the summer we did become friends, but that first contact will always be stuck in my head.

There were definitely some perks at Intuit. While the intern community wasn't as close-knit, there were plenty of great people, and I had a good time at the social events. One of the nicest things about the internship, however, was the opportunity to live at home for the summer. It had been a while since I'd been home for a good chunk of time, and it was certainly nice being with family again. I especially appreciated being able to carpool with Dad to work everyday, as Intuit is conveniently located right next to the Googleplex. Lots of great conversations were had on that drive. Living in the Bay also allowed me to visit Uncle Tommy occasionally as well, as he had recently moved into a hospital in Oakland. It was really great getting to know him better, as I hadn't had much contact with him until then.

One of the more interesting things to come out of my work experience at Intuit was a video I ended up making. I still think I'm a terrible voice actor, but it seemed to get a decent response.

Anime Expo

Tim, Kirt, Brian and I went to Anime Expo in July, which was much better than I expected. Kirt had suggested the idea a while back and I remember not being incredibly excited about it, but it turned out to be a blast. For starters, going anywhere with a group of friends like that is bound to be enjoyable, but Anime Expo was particularly good. Simply walking through the convention center halls was a treat as we admired all the various cosplay (costume play, where people dress up as their favorite character), some of which was exceptional.

There were tons of events and panels to go to, and we were particularly impressed by the Chibi Masquerade, an event in which cosplayers would get on stage to show off their work, often with a choreographed song and dance or skit to go with it. We vowed to come back next year with some kick-ass cosplay of our own (which may or may not happen...as with most of our plans). Another event that stands out in my mind was a pre-release showing of the first movie in an upcoming series called Gundam Unicorn. Now, each Gundam series is basically the same plot with shinier robots, but the atmosphere in the room made the experience epic . This really illustrated to me the reason you go to events like this. The sheer energy and atmosphere generated by a convention center full of like-minded people is awesome.

Amazon and the quest for a job

From my internship experience, I knew that I had to start looking for jobs early. I was going to job fairs in the first quarter of my final year here at UCSD, and ended up with a first round of interviews consisting of Microsoft, Salesforce, and Amazon. Intuit was conspicuously absent in this lineup, as for whatever reason I found it very hard to get in touch with the right people to arrange an interview. Everyone I worked with seemed enthusiastic, but in the end it just didn't work out.

The Microsoft interview went terribly. I was a little nervous and completely over-thought the simple programming question I was given, forgetting basic things like input sanity checks. This actually helped me in subsequent interviews as I was a lot more careful to avoid these silly mistakes. The Salesforce interview went really well, with the interviewer essentially telling me to expect a call for second round interviews in San Francisco. This provided a nice confidence boost for the upcoming Amazon interviews.

Amazon had a nice system in which 4 interviewers came down. We had a 45-minute interview with one of them on day one, and if you did well were invited back for three more with the remaining interviewers the next day. I felt pretty good about these interviews, and was cautiously optimistic when I was invited to dinner with the interviewers and some of the other candidates on the night of the second round. Shortly after all this, I had to fly up to San Francisco for an on-site interview with Salesforce.

Talk about grueling. I flew up on a Monday night during one of the final weeks of the quarter and had the interview bright and early the following morning. The interview lasted 6 hours , split up into 5 parts: a short coding exercise by myself and then 4 sessions with different groups of 2 interviewers. My performance degraded rapidly due to some combination of stress, fatigue, and lack of preparation. To be honest, I was disappointed in my performance in a lot of ways. While I felt like I mostly misrepresented my ability as a prospective employee in the interview, many of my mistakes were legitimate. I made some silly mistakes and I could have done better on some of the algorithms questions if I had just reviewed some of the common algorithms before hand. On the plus side, I came to realize that I knew a lot less about Java than I thought I did, which is always a good realization to make.

Needless to say, I didn't get the job. However, the trip was perfectly timed. After the interview I had time to go visit Uncle Tommy. I will always appreciate Salesforce for giving me the opportunity and reason to come up north during one of the busiest times in the quarter so that I could see UT one last time before he died.

On a brighter note, shortly after returning from my trip I got a call from Amazon asking why I hadn't been responding to their emails. Surprised, I came to realize that all the emails from Amazon that had been arriving for weeks were being flagged as spam by Gmail. WHAT!? Gmail's spam filter is usually amazing and I had never had issues with it before, so this completely caught me off guard. However, any anger that I may have felt was immediately drowned out by sheer joy that I had gotten my first choice job.

I'll be starting with the Kindle team in August!

2011 (so far)

UP developments

This year Haro joined up with UP, and its certainly been nice having someone else to work with. Ever since Aaron and James left I'll admit things had been a little lonely on the UP front. Our first task once Haro come on board was to redo the UP web page to improve usability and looks. This was a bit of a pet project for me, as it had always been the thing that bothered me most about UP. The old site just plain looked bad and had made some very odd design decisions. A more in-depth look at the changes  we made is available on the site.

Japan trip plans

Tim, Brian, Kirt, and I decided earlier this year that we were going to visit Japan for 10 days at the beginning of the summer. We've got a whole bunch of destinations we want to check out and I'm really looking forward to heading over. There have been some worries about the effects of the earthquake and tsunami, but everything I've read seems to say that it shouldn't be too much of an issue in the areas we were planning on visiting (mostly Tokyo and Kyoto).

Currently...

I'm having a decent quarter. Brian came down to visit at the beginning of the quarter to burn some free time before starting his job at Pandora and it was great having him around. Classes this quarter are looking decent.

My favorite by far is CSE 127 (Computer Security), which has been as interesting as it is challenging. Most of our assignments involve exploiting a virtual machine that was set up for the class, which works out perfectly for a class like this. With a virtual machine, that every student can run a copy locally on their own computer and we don't need to be breaking into the school machines, which would naturally cause problems (not that they are even vulnerable to the things we are exploiting in our assignments).

I recently finished the first assignment and it was quite challenging at times. The assignment consisted of 5 vulnerable programs that we had to exploit in order to produce a root shell on the system. The first few were relatively simple, but the last two were quite challenging. Successfully exploiting these programs requires a complete understanding of whats going on, and I spent a good chunk of time just drawing diagrams to help wrap my head around what was happening under all the code. Let me just say that the feeling of seeing that root shell pop up on part 4 was pretty epic. I literally got up and danced around the apartment for a bit. Fun stuff.