Well, this is embarrassing. There should be an image here. Great picture, too!

Angular2 Lessons Learned

Published: 8 months ago

During my first week or so at IBM Watson, the UI team was working out whether to use React.js or Angular2. The design specification wasn't quite agreed upon yet so I had a chance to play around with tutorials for both. Here's what I learned.

Video Keyword Auto-Cuts

Published: 9 months ago

For the final project for the excellent class, CS194-26, Zachary Zeleznick and I wanted to stretch ourselves. We worked tirelessly through the final weeks of the semester to write a script that does something amazing. Given a video file, and a key word or sentence, our code allows the user to programmatically generate a "supercut" where the words spoken in the video match the requested text.

Page Generator

Published: 10 months ago

On this page you'll find a little utility that helps me submit html files as JSON objects. It acts as a kind of WYSIWYG editor at the same time. That way, I can finish writing a blog post in a plain html file and check that it looks right before inserting it into the blog structure of my website, which runs on Node.js.

Pie Chart Over Time

Published: 10 months ago

Essentially, the client wanted a pie chart whose value changes according to a slider bar in the UI. So, for example, the pie chart might initially show data for 1995, then you can move the slider so it shows a data set for 1996, 1997, etc. This code does that.


Published: a year ago

Here you'll find my calendar in multiple timezones.

Auto-Stitching Panoramas

Published: a year ago

For the culmination of all that I had learned in CS194-26: Image Manipulation and Computational Photography, I wrote the code to seamlessly blend (okay, there are some seams) multiple images of the same subject based on the actual content of the image. Pretty amazing, right? Check out how I did it.

Colorizing 1900s Russia

Published: a year ago

For CS194-26, a class I took about image manipulation, our first project was really neat. Basically a guy in the 1900s in Russia knew that there was no colour film yet, but he took series of 3 photos, just filtering out red, green, and blue. And now with modern technology, we can take those images, line them up, and turn them into colour images. So for project 1 I wrote code to automatically line up the images based on an algorithmic measure of similarity called Normalised Cross-Correlation. We had to submit the project as a web page anyway, so I figured I might as well share it!

CS Scholars FAQ

Published: 2 years ago

After answering a lot of questions on the CS Scholars' Program, I just went ahead and made this FAQ page with my copied and pasted answers. Hope it helps someone.

WebDev for TRUST Center

Published: 2 years ago

Freelance work so professional and aesthetically pleasing that they asked me back twice.

CS61c: Proj4-2 Spec

Published: 2 years ago

Out of frustration with an unclear project description in CS61c at Cal, I rewrote and rehosted the entire thing.

CS61c: Proj1 Spec

Published: 2 years ago

In our machine structures class at Berkeley, we saw that the project specification page was rather ugly. Out of that sprang a fun and rather pointless competition to build the prettiest and most helpful version of the spec.


Published: 2 years ago

All of Ollie's projects in one place? What a treat.


Published: 2 years ago

Wow! What a résumé. I'd love to hire him!

Connect Four

Published: 2 years ago

Pure strategy. Pure JavaScript. You simply cannot win against my algorithm.

Evernote Hackathon: Annot8

Published: 2 years ago

We won a hackathon for this!

The Knight's Tour

Published: 3 years ago

A fun and interactive solution to the Knight's tour recursive problem.


My name is Ollie O'Donnell. I'm studying Computer Science at UC Berkeley. Coming here all the way from Australia has certainly been challenging, but it's worth it to pursue my dream.

In my first few years exploring the world of Computer Science I've grown intellectually, solved challenging problems, and had a lot of fun in the process!

PS: It's easy to hire international students. Click here to find out how!


Calendar (Pacific Time)

Other Timezones: