Jared's Blog

About  Contact

I'm Jared Di Carlo (sometimes spelled DiCarlo). My interests are robotics, computers, computer graphics, reverse engineering, programming languages, and video game emulation.

I was at MIT from 2015 to 2020, studying Computer Science and Electrical Engineering. During that time, I worked with Professor Sangbae Kim in the MIT Biomimetic Robotics Lab. I helped with the electronics and software for the Cheetah 3 robot. I wanted to make robots run and jump, so I studied control systems and convex optimization and developed a Model Predictive Controller that you can see in the video below:



After that, I helped Ben Katz on his Mini Cheetah robot. I worked on the software and control software, moving away from MATLAB to a pure C++ controller. I got my first taste of nonlinear optimization in my final project for the class Underactuated Robotics - optimizing a backflip trajectory for Mini Cheetah.



From January 2020 to September 2025 I worked at Boston Dynamics. I worked on a ton of different things there, including model predictive control (MPC), writing really fast linear algebra for the MPC optimizer, motor control, firmware, low-level actuator and joint control, general robot infrastructure code, and so much robot debugging. The most memorable projects are the dance video, where I worked on the tracking controller and the All New Atlas, where I worked on electric motor control and the low-level controllers for the fancy back and ankle mechanisms.

Since September 2025, I work at Physical Intelligence.

I have no relation to Jared DiCarlo on Twitter/X.

Hobby Projects


I do a lot of programming projects. Hopefully I'll find the time to document them in detail on this blog. One of my favorite is OpenGOAL, which is a port of the PlayStation2 video game Jak and Daxter to PC. The developers of this game were somewhat crazy and actually wrote the game entirely in their own LISP-based programming language called GOAL. I built reverse engineering tools for this language, including a decompiler and a compiler. With the help of about 5 contributors, we decompiled millions of lines of GOAL code, ported platform-specific code to PC, then rebuilt the games as native x86 executables. Here's a sample of what GOAL code looks like:

(defstate plat-path-active (plat)
:virtual #t
:event plat-event
:exit (behavior ()
(sound-stop (-> self sound-id))
)
:trans (behavior ()
(set! (-> self path-pos) (get-norm! (-> self sync) 0))
(get-point-at-percent-along-path! (-> self path) (-> self basetrans) (-> self path-pos) 'interp)
(if (< (vector-vector-distance (-> self root trans) (ear-trans 0)) 81920.0)
(sound-play "eco-plat-hover" :id (-> self sound-id) :position (-> self root trans))
)
(plat-trans)
)
:code (behavior ()
(until #f
(ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
#f
)
:post plat-post
)


I also like embedded projects and video game emulation.


An STM32 emulating the Gameboy and generating NTSC video output
An STM32 emulating the Gameboy and generating NTSC video output


My attempt to port the Super Mario 64 decompilation to the PC in a weekend
My attempt to port the Super Mario 64 decompilation to the PC in a weekend


Other Interests


Outside of programming, I like video games, playing piano, and running.

My Computers


This wouldn't be a programming blog without a section about my computer.

My main computer is named VCR3, as it's the third upgrade of my once VCR-shaped computer.


I use the i3 window manager. For text editing, I use a mix of vim, Sublime Text, and Jetbrains CLion. I've recently started using VSCode and Zed.

As of October 2025, my desktop looks something like this.

my development environment
my development environment


I also have a M2 Macbook Air for web browsing.