Greetings and Salutations! My name is Thomas Cort. I live in Gatineau, Quebec, Canada with my wife and daughter. I'm into computer programming as well as electronics. I created this website to share some of my personal projects and hobbies with the world.

github twitter youtube linkedin email

Edgar LISP Interpreter

Ever since I took a Compilers and Interpreters class at Bishop's University, I've been fascinated by programs that compile and/or run other programs. I finally had a bit of spare time to build an interpreter, and developed 'edgar', a small LISP Interpreter written in C. It doesn't have a lot of built-in functions yet, but it is already quite functional. It allows users to define functions and supports some of the classic intro to LISP programs: factorial, fibonacci, GCD, LCM, and more. I've put my code up on github for anyone interested: https://github.com/tcort/edgar/.

Terminal Node Controller

I designed and built a terminal node controller (i.e. 1200 BAUD radio modem) from scratch. I designed the circuits, laid out the printed circuit board, hand soldered the surface mount components, developed the firmware, developed the software, and wrote documentation. The only part I didn't do was manufacture the PCBs. It was a great learning experience. I've put my code and design files up on github for anyone interested: https://github.com/tcort/va2epr-tnc/.

Minix

When I first got my copy of "Operating Systems: Design and Implementation" (2nd Ed), I would day dream about how cool it would be to work on Minix. Years later, I had the good fortune of being selected to work on Minix as part of Google Summer of Code. Even though the summer is over, I still continue to contribute as a committer. Some of my more interesting contributions include 10+ drivers for Minix/arm (blog), implementing the adjtime() system call and porting OpenNTPD, implementing UNIX domain sockets, porting many 3rd party applications, and importing over 50 utilities from NetBSD's base system.

Systems Administration

Even though I no longer setup and maintain servers as part of my day job, I still deeply enjoy learning more about UNIX and keeping up with the latest innovations and trends. I've been using Linux at home for over 10 years and enjoy experimenting with various UNIX-like operating systems. For example, this web page is being served by an OpenBSD server I administer. I maintain my home network and am in the planning stages of setting up a stratum 1 time server.

Geocaching

Geocaching is treasuring hunting for the 21st century. You get clues from the official website and use a GPS to find hidden containers. Usually they're in interesting locations. It's a great way to explore the outdoors with the help of some advanced technology. I've found over 900 geocaches including Canada's first geocache since creating my geocaching.com account in 2005.

Amateur Radio

Amateur radio is a neat hobby where licensed/certified individuals setup radio stations and make contact with other radio amateurs from all over the world using a variety of "modes" including voice, Morse code, and digital modes. I've been licensed since 1999. I'm an "Amateur Extra" in the US with the callsign KB1EPR. In Canada, I have "Basic with Honours" with the callsign VA2EPR.