One of the things I like to do most in this world is write computer software. I tell interviewers that when I’m seeking a job. I spend a lot of time writing software both on the job (it’s a large part of my job after all) and off the job. Not too long ago I read some advice for job seekers about having a “passion project”. It wasn’t the first time I’ve seen that advice.I’ve got several such projects that I’ve been working on over the years. I’ve written many times about the simulated computers I’ve written and continue to write. I’ve written too about the blogging platform that I wrote and used for my personal blog several years ago. I no longer use that platform, finding it easier to keep up with what little blogging I do using WordPress, but I wrote the platform and made sure it was compatible with various tools for blogging.
I’ve also worked on several other types of projects, which I haven’t written about. I’ll probably be posting something about them all in the next several weeks. After all, I spent time on them, so why not talk about them? I’ll also be making the source code for all of them publicly available . Maybe some of it will be useful to other people, maybe it won’t.
So, what sort of things have I worked on for my own entertainment, or… at least that weren’t directly related to my job? Other than the blogging platform and the simulated computers? Well, how about these?
- A menu driven financial formula calculator that I wrote in B.A.S.I.C. the first and only time I ever took a course related to computer programming.
- An algebraic calculator that I wrote in Turbo Pascal during the 1980s using a rudimentary recursive descent parser.
- A text-based adventure game that I coded (I didn’t write this one, I just entered the code and made changes from UCSD Pascal to Turbo Pascal) based on the example in the book “Programming Your Own Adventure Games in Pascal”.
- A data-layer generator that used several MS-SQL system stored procedures to read a database schema and create source code for a library that allowed object oriented access to the objects in the database.
- A repository model for accessing databases using ADO.NET providing a simple, testable object oriented mechanism for reading and writing objects in a SQL database.
- “Screen scrapers” that were used to read various HTML report screens in the (no defunct) online game “Blogshares” and produce Excel spreadsheets and analyses of player portfolios and team portfolios.
- An online logbook for drag racing.
- A weather forecasting web site. This was a mash-up of Microsoft’s Terradata services and the National Weather Service’s forecasting database, as well as a zip-code database providing geographic locations for zip codes. Enter a zip code and it would give you the five-day forecast for that zip code from the National Weather service.
- A text based adventure gaming engine with a GUI scenario generator and two different programs to run the adventures – one a classic console game running using .NET Core 2.0 and the other using a Windows Forms interface – with a web based interface coming too.
These are all projects I’ve worked on, or am currently working on. This stuff is fun for me. I’ve also got a few projects in the works that I’m collaborating on with some past and present co-workers. I’ll be getting back to those fairly soon.
What’s the point of all of this? It’s not to impress potential interviewers. Like I said at the start, I do this stuff for fun. A youth pastor once told me that the secret to happiness in life was to find something you enjoy doing and figure out how to get someone to pay you for it. He was wrong about that, there’s another secret to true happiness, but by his measure, I’m happy.