Joel's site
Hi, welcome to my site.
I am a student studying a Masters of Electrical Engineering at the University of Melbourne. I have completed a Bachelor of Science (Electrical Systems) and a Diploma in Computing.
My interests lie in Computer Hardware Design and the operations of tech companies. I avidly read tech sector and business news, and enjoy analysing business decisions and trying to predict their outcomes.
My formal resume is available here. Please feel free to reach out to me at joelgrun@gmail.com.
Profiles
My Sites
I run my own:
- Blog — Containing occasional posts
- Arch Linux Package Repository — My custom AUR package repository
- Git server — Staging server and hosting more personal projects
- Wiki — Personal wiki with university notes and tricks
Projects
Personal
Arch Linux Package Autobuilder
A script I wrote to automatically build packages from the AUR (Arch User Repository), and to assemble them into a repository. The script has a simple configuration file which enables package signing, should that be required. The feature I'm particularly proud of is the ability to build packages in parallel, allowing the script to run much quicker at the cost of system resources. I use it to build my own repository every two hours.
dnscomp — A DNS benchmark tool
A simple DNS benchmarking program written entirely in C from scratch. The program tests against a known list of websites and has a number of popular DNS servers, but allows more to be added on invocation. Servers are tested in parallel and feedback is provided during execution, before the final results are presented.
Verilog CPU on FPGA
A project for a university subject to implement a CPU on an FPGA. This was a great experience to learn the fundamentals of hardware design and assembly programming while being guided along the way.
Simplified C to MIPS compiler
A project I completed on exchange at the University of Edinburgh to write a C to MIPS assembly compiler written in Java. The assignment was guided but the vast majority of implementation details were self-implemented.
Various personal websites
I have created and maintain a number of websites for my own use. I host on my own server and utilise various cloud providers. Through this, I have experimented with different web servers, virtualisation, Docker, DNS configuration and Linux administration.
Open-source
Termux packages
Termux is an open source terminal environment for Android with its own build and packaging system. I have added and maintained some packages for the program, working within its unique build environment and tooling.
AUR packages
The AUR (Arch User Repository) is a community collection of build scripts for packages within the Arch Linux distribution. I have added my own scripts and taken over maintenance of others.
LLVM clang-format patch
LLVM is an open source compiler toolchain, and clang is the C/C++ front end. I submitted a patch for clang-format, a formatting tool for C/C++, enabling a more complex invocation option.