Joshua Barretto

Plymouth, UK ·

About Me

I’m a 22 year-old software developer with a degree in Computer Science living in Bristol, UK. I’m interested in software safety, system architecture and programming language theory. I’m proficient in several programming languages and technologies and have experience working on large codebases.

What I’ve Done

I have experience working in the maritime industry writing software for unmanned underwater vehicles. I maintain and contribute to a variety of open source projects. My personal projects are all released under open-source licenses and tend to revolve around topics such as programming language theory, embedded systems, software architecture and rendering. Find out more.

I’m also the author of and contributor to a variety of open-source software projects.


I’m available for freelance work. If you’re interested in hiring me, you can contact me here.

Also, I colourise monochrome photographs in my spare time.


  • C++
  • C
  • Rust
  • x86 Assembly
  • Python
  • Java
  • C#
  • JavaScript
  • Zig
  • Vala
Operating Systems & Tools
  • Linux
  • Git
  • BASH
  • CMake
  • Make
  • x86
  • OpenGL
  • GLSL
  • SFML
  • GTK
  • MBed
Platform Administration
  • Wordpress


Operating system

Tupai is a multitasking operating system written in Rust targeting i386, amd64 and armv7 architectures. It focusses on safety, stability, portability and correctness. It is not designed with a specific application in mind, but rather to act as a base for future experiments in software safety. Tupai does not conform to an existing operating system API (i.e: POSIX) but instead aims to implement a new and innovative design. Tupai has been rewritten upwards of 8 times in C, C++ and finally Rust.

You can find more information about Tupai here.

An old revision of Tupai


Functional programming language

Bread is a statically-typed functional programming language with a compiler written in Rust. It features Hindley-Milner type inference, complex types, currying, a bytecode compiler backend, and beautiful error messages.

def len of (List Num) -> Num = l ->
	if l = []
	then 0
	else 1 + len(list:tail)

You can find out more about Bread and see more example code here


Dynamically-typed imperative programming language

Forge is a dynamically-typed programming language inspired by JavaScript, Rust, and Python. It aspires to be ‘JavaScript, but less shit’.

var basket = ["apple", "banana", "pineapple", "kiwi"];

var display = |item| {
	print("I have a" + item);

for item in basket {

You can try Forge online here.

You can find out more about Forge here.

Forge also has an (incomplete) successor, Leon


Software rendering library

Euc is a versatile, simple to use library that allows 3D rendering on the CPU. It has a portable, compact design that makes it perfect for prototyping ideas, unit testing, or even simple realtime applications.

You can find out more about Euc here.

The Utah Teapot, rendered with Euc

Funki Crab

Optimising BrainFuck compiler

Funki Crab is an optimising Brainfuck compiler written in Rust. It’s capable of a large number of Brainfuck optimisation techniques and produces a significant speedup compared to naive compilation. The performance of programs emitted by Funki Crab are within the ballpark of the best optimising Brainfuck compilers available.

I created Funki Crab as an exercise in learning about compiler development, Immediate Representation (IR) techniques and optimisation. Brainfuck struck me as a sensible language for such a project given its simplicity, Turing-completeness and wealth of potential optimisations.

Funki Crab is an anagram of Brainfuck. ‘Crab’ is a reference to Ferris, the Rust mascot.

You can find out more about Funki Crab here.


Open-world, open-source voxel RPG and engine

Veloren is a multiplayer voxel RPG written in Rust that I founded. Veloren takes inspiration from games such as Cube World, Minecraft and Dwarf Fortress. Veloren’s world is procedurally-generated and makes use of advanced teleological generation techniques such as erosion simulation. The game is currently under heavy development, but is playable. Veloren has since grown into a large FOSS project with about 15 active developers.

You can find out more about Veloren here.

Night time in Veloren


CHIP-8 emulator

Emul8 is an emulator for the CHIP-8 game system. It can run a variety of CHIP-8 ROMs including pong, space invaders, snake and tetris. Emul8 supports various debugging features such as instruction disassembly and step-through execution.

You can find out more about Emul8 here.

Emul8or running Pong


Software Developer

Cambium Networks

Developing an in-house file store and administration web application with frontend and backend web technology.

June 2018 - September 2018

Software Developer

MSubs Ltd

Designing and developing unmanned underwater vehicle control systems, guidance and navigation systems, graphical control interfaces, embedded network synchronisation and more.

June 2013 - September 2017


University of Plymouth

Bachelor of Science
Computer Science
2015 - 2018

Devonport High School for Boys

Computer Science, Mathematics and Economics.
2013 - 2015



joshua [at] jsbarretto [dot] com

Facebook Messenger




Contact Me Now

Alternatively, you can contact me here

Based on the hugo-resume theme by Eddie Webb. Nifty tech tag lists from Wouter Beeftink | Page content generated from commit: abe89c0