I tried a blog once before and it just collapsed while I was busy with other stuff, but maybe I'll try again. Don't expect any frequent updates or anything but I'll probably put things up here every once in a while.

This time I've decided to build the site using Gridsome. I know React is the cool thing everyone is using these days, and it's great, but I think I like Vue slightly better. I prefer Vue's template syntax as opposed to JSX, partially because there's less abstraction; it's closer to native front-end components (HTML, CSS, JS).


That somewhat describes my coding style in general. On principle I tend to aim for the least amount of abstraction. For the most part I actually enjoy being as low level and plain as possible in my code. It prevents me from getting tied down to a particular library when its unnecessary and greatly helps keep my code more clear for other developers. Speaking of low-level, I love tinkering with embedded systems on my own time, though I rarely get to play with them at work. I own a Raspberry PI (which currently primarily serves as a classic gaming rig) and a few Arduino boards.

I'm often asked which programming language is my favorite. However, much like my taste in food, I actually prefer a variety of languages. C++ is fun because, as explained above, I enjoy low-level nitty-gritty stuff. JavaScript/Node is my go-to for application development. NPM is by far my favorite package system, and the Node.js ecosystem is simply amazing. Python is great for prototyping as well but it tends to be slower than JavaScript without dedicated optimization. Not that that's always a problem, but if I could just as easily make an app in Python or Node, I'd choose Node most of the time. Still, Python is excellent for AI/ML apps due to the awesome packages it has for those kinds of systems. Java is great for larger enterprise projects. The Standard library is powerful and the VM is very fast these days. The one thing that bugs me about Java is how ridiculously verbose it is. If C/C++ tends to suffer from cryptic naming conventions, Java suffers from MyMethodNameIsActuallyACompleteSentence() syndrome. I've dabbled a bit in Rust recently, and I do say it's pretty awesome. That compiler is brutal, in a good way 🙂.

Fiction Writing

Anyway, apart from coding I am working on the first novel of a Sci-Fi/Fantasy series. I'm hoping to get it traditionally published in the near future, though if that doesn't work out I'll just self publish on Amazon or something. I've had this story evolving in my head for the past 20 or so years, so I'm mostly just happy that I've finally been able to put words to the page that I'm happy with!

Video Production

If you've read my about page, you know that I was seriously into video production in high school and planned to go into Film in college before coming to my senses. Even though I diverted from that career path I still have a tremendous love for video production and editing. I've put together a few videos for MITRE, like this one. I also got to use those skills a bit during my graduate program at UVA for an awesome design class. Ever wanted more information than you ever needed to know about Aneroid Sphygmomanometers? Look no further.

Bruised Fingers

I also do a few DIY home projects now and then in partnership with my wife. She's an interior design genius so she typically tells me how it needs to look and I figure out how to make it happen. She's also a talented photographer. You can see her site here. I'm absolutely no expert but I've laid some tile, built a few tables, laid some vinyl planks, built a bookshelf, and I'm currently installing an irrigation system in preparation of putting down our own landscaping.

Bookshelf Tile Backsplash Table & Coffee Table

In conclusion, I have wayyy too many hobbies

So yeah, I guess this ended up being a ramble about some of my interests. You can expect to see some posts on topics like the above in the future, in addition to things like philosophy and biology. That stuff is just fascinating!

I hope to see you around!