Jonathan Murata


Glad you could make it here today! My name is Jonathan Murata, but I usually go by Jon since lots of people (myself included) are too lazy to say the full thing. I currently live in South Bay and am working for Apple, a small tech company that you probably havent heard of ;). I graduated with a Bachelors of Science in Electrical Engineering & Computer Science and Mechanical Engineering at the University of California, Berkeley. Yes, it's quite the mouthful every time I have to say it and takes up a whopping 87 characters on my diploma, so I usually just say I studied CS.

If you're interested in learning more about me, you've come to the right place! Scroll down to see some cool stuff. If you just want an overview, this box should suffice! I was born and raised in Hawaii, but you probably couldn't tell given my poor pidgin and surfing skills. I'm currently interested in computer arhitecture and systems, which is fitting for my current work.

While at Berkeley, a lot of my time has been devoted to teaching CS classes, but now my time is consumed by my full time job. In the little free time I have, I like to do the basics: eat good food and take long naps. When that gets a little too boring, I bake (mostly cookie variants, sometimes banana bread), hang out with friends, play videogames, and think about how I should be productive instead of watching youtube videos.

Academics


My academic journey is really a story to tell. I graduated from the University of California, Berkeley studying Mechanical Engineering and Electrical Engineering & Computer Science. I didn't always have this long of an introduction, though; I started out as a MechE but eventually discovered the beauty of Computer Science. I became a part of the Berkeley CS community, taking hard courses, meeting great people, and even joining course staff as a TA for Data Structures, Machine Structures (Intro to Computer Architecture and low-level programming), and Operating Systems. In typical Berkeley MechE fashion, a chart is shown below to illustrate this (stressful) journey.

Red = non-tech, Green = general tech, Blue = Mechanical Engineering, Yellow = Electrical Engineering & Computer Science, Black = Teaching
Fa 2015 Sp 2016 Su 2016 Fa 2016 Sp 2017 Su 2017 Fa 2017 Sp 2018 Su 2018 Fa 2018 Sp 2019 Su 2019

Most Berkeley students use Berkeleytime to check enrollment and grade distributions. This process was pretty important through my college schedule planning, so I've included that data here mostly for nostalgic purposes (haha). The above chart was genearted with the distributions found on Berkeleytime for the semester I took the class, with my grade highlighted. As you can probably guess, this schedule was no walk in the park. Lots and lots of classes each semester :(.

Eventually I may return to graduate school, but I am putting that on hold for now. On the MechE side, my interests involve heat transfer and controls. I've done projects in biomechanics and heat transfer labs and briefly worked for a controls lab. On the EECS side, my interests involve systems, computer architecture, and parallel computing. I will be working in a Systems lab over the Summer.

Projects


BobaBot

  • Fully automatic boba dispenser.

  • Rotating table, 3-stage design.

  • Tapioca pearls -> milk tea -> creamer.

  • 1 raspberry pi, 1 arduino, 1 DC motor, 2 DC pumps, 1 servo, 1 payment system, acrylic, food-grade tubing, code, and lots of boba.

  • More information (video demo).

Kingdom Conqueror

  • Finding the least-cost conquering tour over student generated maps.

  • Weighted nodes/edges representing travel/conquering time.

  • Converted problem to an Integer Linear Program and used Gurobi Optimization software to solve.

  • Programmed in Python.

  • Competition rank #4 out of 230 teams (CS 170 Spring 2018).

BearWatch

  • Desktop security tower.

  • 2-camera protection system.

  • Bottom cam watches over belongings and sounds alarm, deactivated with a special key.

  • Top cam mounted on servo to track and record thief.

  • Programmed in LabVIEW.

Parallel FDM

  • Exploring nearest neighbors in traditional and non-traditional high performance computing frameworks.

  • Finite difference method in a heat transfer system.

  • Programmed in C++ (OpenMP and MPI) and Golang (Thread-like and Message Passing).

  • Measured performance in terms of weak and strong scaling efficiencies.


Pintos

  • Single-core Operating System.

  • Implemented priority scheduling and donation.

  • Added support for user programs and system calls.

  • Implemented a filesystem based on the Berkeley Fast File System (Unix File System).

SoC Hotspot

  • Map hotspots produced in a SoC (System on a Chip).

  • Ran custom double precision general matrix multiply benchmarks on a Raspberry Pi 3B+.

  • Recorded temperatures with a FLIR A65 thermal camera and characterized heat patterns.

  • Theorized architectural placement of components such as caches, ALU, etc.

Gitlet

  • Mini version control system based on Git.

  • Created version control system to stage and commit files.

  • Added support for branches.

  • Added functionality to merge commits and handle conflicts.

  • Prorammed in Java.

Just In Case

  • iPhone 6 case with slide-in plate attachment system.

  • 3D printed on Type-A machines.

  • Interference fit with mini ridges leads plate into right spot and locks it in.

  • Custom accessories can be mounted to the plate, for quick-swapping funtionality.

  • Designed in SolidWorks.

There's More Coming!


This website is currently a work in progress. There will be more sections in the future!