Picture of me

Michael Connor Buchan

Meticulous · Driven · Tenacious

I'm an enthusiastic University of Stirling Computing Science undergraduate by day, a passionate systems programmer and successful Open Source contributor by night.

I'm committed to using my skills to build technology that makes the world a better place for everyone.

Contact Me

<

Past Work Experience

Northern Education Trust
Classroom Assistent & Equality, Diversity, and Inclusion Ambassador - Sept. 2021 - May. 2022

<

References

Redacted for privacy reasons

Qualifications

A Levels

Computer ScienceA*
MathsA
PhysicsA

GCSEs

BTEC Creative MediaD*
Computer Science, Physics, English Language, English Literature, Religious Education9
Maths8
Biology, Chemistry7
Design Technology (Product Design)6

My Projects

Odilia

Rust · Linux · DBus

A new fast, extensible screen reader for the Linux desktop

odilia.app

Cyal

Python · Cython · OpenAL

Python bindings to the OpenAL 3D audio library, written in Cython

github.com/lower-elements/cyal

LEGE

C++ · SDL · Lua · OpenAL

The Lower Elements Game Engine, an engine for building audio games

github.com/lower-elements/lege

Blind Computing

Web · Hugo · Bootstrap

A central resource for information related to assistive technology and accessibility of systems by the blind and visually impaired

blindcomputing.org

Technical Skills

Systems Programming

  • Developing a large C++ application (LEGE)
  • Made many smaller projects with C
  • Developing a large asynchronous Rust application for the Linux desktop (Odilia)
  • Proficient in x86_64 assembly, including SIMD instruction sets

Scripting

Web Development

  • Developed many static sites with Hugo and the Bootstrap CSS framework
  • Built a large PHP-based online game using MySQL and the Laravel framework (Mundistry)

Dev Ops

  • Intimately familiar with git, including advanced topics like interactive rebase
  • Made use of multiple code forges, including Github, Gitlab, and Sourcehut
  • Used Github Actions to write continuous integration workflows for testing my projects where appropriate
  • Implemented continuous deployment strategies to production VPSs and Github pages
  • Maintained some small open source projects (Odilia, Cyal) and helped review and merge contributions

System Administration

  • Administered several Linux servers that people depend on, including VPSs and my home server
  • Proficient with Docker and Docker Compose for containerised applications, including building custom images
  • Can configure secure HTTP sites and proxies with Nginx, Traefik, Acme clients, and Lets Encrypt
  • Maintained ZFS storage pools and ZFS on Root
  • Familiar with Linux distro components, including the kernel, its modules, Systemd, and package managers (apt, pacman)

Soft Skills

Adaptability

  • I'm a problem solver, I learn very quickly, and have developed an intuition for code of almost any kind that lets me see problems and find bugs faster than most
  • I'm proactive, I enjoy exploring new problem domains, languages, libraries and frameworks, and do so constantly in my free time
  • This diverse technical knowledge has allowed me to tackle several, completely different problems, E.G. improving Linux accessibility with Odilia, and building optimised, idiomatic bindings to a complex audio library for developing audio games with Cyal

Efficiency

  • I see the bigger picture when working on a project, and can abstract and decompose a large problem into many smaller, manageable tasks
  • I strive for simplicity in design and implementation (code is read much more than it's written)
  • I like to write fast programs using efficient algorithms and, where appropriate, hardware acceleration features such as SIMD instructions and GPU processing
  • I make use of existing, well-known, secure libraries in my projects: SDL, OpenAL, and Lua in LEGE, and Tokio and Zbus in Odilia, for maximum compatibility and stability

Team Work

  • I have worked with developers across the globe on free, open source projects (Odilia and Blind Computing), using many chat platforms: Discord, Matrix and IRC
  • I have also contributed to FOSS projects maintained by others, such as creating C bindings for tts-rs
  • I am the president (former secretary) of the University of Stirling Computer Club, and work with the USSC committee on a weekly basis, to plan, write, and deliver events and workshops

Leadership

  • I'm a natural leader, and enjoy kick-starting and managing projects, like the former UOS AI society's fatial recognition project
  • I love to teach interested people new technologies, and work with them to succinctly explain and digest concepts