Hi, thanks for stopping by my little corner of the internet. I hope you find something here useful, inspirational, or entertaining!
Purpose
This website is intended to fulfill 5 main goals (in no particular priority order):
- A condensed, public version of my curriculum vitae
- Hosting some small custom tools and games that I write
- Easy reference for common scripts or code snippets I find myself often referencing
- Searchable interface for cool things I find online so they don’t remain buried in bookmarks (or more likely, perpetually open browser tabs)
- My personal writing, whether fictional, notes on software team productivity, board game reviews, or other hobbies
About Me
Software developer, board game buff, armchair historian. You can find me on GitHub here and LinkedIn here.
Tech Toolbox
Here are some of the tools I enjoy using in my development work, both professionally and personally.
Languages:
- .NET with C# and F#
- Python
- Vanilla Javascript (and HTML). React is fine too, but you can get a surprisingly long way with just JavaScript.
- SQL (MS SQL Server, PostgreSQL, SQLite, Snowflake, and DuckDB dialects)
Applications:
- DBeaver: A universal database tool, great for supporting a variety of database dialects at once.
- Visual Studio Code: A flexible, cross-platform IDE. I don’t love how much memory it consumes, and the extensions ecosystem can be a little spooky sometimes. But it gets the job done, and that’s says a lot.
- Podman: Container management system, similar to Docker but truly open source. Also, better support for secure rootless mode.
- Git: Distributed version control system. Table stakes these days to retain history of your work.
- Obsidian: Note keeping / knowledge management system (unfortunately not open source, but a solid product). There is also a community plugin to use git to synchronize your notes across devices.
- Notepad++ / Sublime Text / Textadept: I wish I liked vim/neovim, but the context switching between my terminal and every other “regular” consumer-grade application is too much overhead for me. I’m regularly on the hunt for an application that is 1) cross-platform, 2) has customizable autocomplete with support for a variety of programming languages, and 3) lightweight and fast, even when processing large files. Notepad++ is decent at this, but is Windows-only. Sublime Text is promising, but I would prefer an open source application. Maybe I really do just need to embrace vim. If you have any suggestions on how to live with vim in a workday still dominated by Outlook and Excel, please let me know.
From Around the Web
Games
This is a collection of quick & casual games you can play online:
- 2048: A simple but addictive number cruncher. You slide numbers around a 4x4 grid, where like numbers merge into the next factor of 2, so two 2s become a 4, two 4s become an 8, etc. You win if you can make it all the way to 2048 before running out of space.
- Spyfall: This is a mafia-esque game of hidden roles, where a spy is trying to guess which location the group is in, while everyone else is trying to prove their innocence without giving up too much information. It is a good in-person party game where everyone can join with a short code from their phones.
- GeoGuessr: Given a random Google Street View location, try to guess where in the world it is. You can pan and zoom to find clues such as the language on signs or the side of the road used for driving.
- Timeguessr: An iteration on the
*Guessrfamily of games, this version kicksGeoGuessrup a notch by asking you to find both the location and year of a still photograph. - Wordle: You get 6 tries to guess the daily word. Every word is 5-letters, and you get hints on letter presence & placement as you go. This was acquired by the New York Times and added to their games subscription, but you can also play daily for free.
- Framed: Part of the
*rdlefamily of games, this one give you 6 tries to guess the movie based on a series of stills. - Heardle:
Part of the
*rdlefamily of games, this one give you 6 tries to guess the song based on an increasing length of the song. The original version of this game was acquired & killed by Spotify. - Worldle: Not to be
confused with the OG Wordle, Worldle is part of the
*rdlefamily. This one gives you the outline of a country and 6 tries to guess the country name. You get some hints after each guess telling you how close your guess is to the real country in terms of direction and kilometers. - Universal Paperclips: Play as the owner of the hottest new paperclip manufacturer on the block with grand ambitions for world domination.
- War Chest: An online variant of the board game. A bit more involved than some of the other games on here, as it does require an account to play. There is an AI mode/trainer, but this is primarily a multiplayer experience.
- Bracket City: A very creative game hosted by The Atlantic, you must find nested words that collapse together to describe some past event that happened on this day in history.
- Tiled Words: If Scrabble and Tetris had a baby together, it would look kind of like this. You play on a Scrabble-esque board, but instead of placing individual letters you must spin shapes of word fragments around to align them into the correct configuration.
- putt.day: A bit of a change from the other games, this is mini-golf in your browser. This is as much about precision of movement as it is a puzzle.
Hobby Apps
There has been a growth of “hobby apps” that seek to provide a social media experience but with bespoke features catering to specific hobbies. I like to think of these as “pseudo-social media”, but not all .
- Running & biking: Strava
- Hiking: AllTrails
- Reading: Goodreads
- Movies: Letterboxd
- TV Shows: Serializd
- Travel: Roadtrippers or TripIt
Neat Projects
This one is a little fuzzy as to the definition of “project”. These are projects that I have no affiliation with, I just think they’re neat.
- Advent of Code
- Untools: A collection of tools for how to think, such as systems thinking, decision making, or problem solving
- Zoom Quilt
- Archive.org
- Web Wormhole
- Kvak: In-browser notes app
- A Trail Tale
- Standard Ebooks
- DuckDB
- https://totalrealreturns.com/
- https://orbis.stanford.edu
- Hanukkah of Data
- Weather Spark
- View Stats
Open X: projects adhering to the Open model (and nothing related to the-site-formerly-known-as-twitter):
Open source games:
Fiction
This is small collection of science fiction short stories.
- A Cognitive Discontinuity by Andrej Karpathy (yes, the same Karpathy who has been prolific in the natural language processing world). This tells the story of future where human operators guide artificial brains that drive robotic avatars to perform tasks in the real world.
- Manna by Marshall Brain. Manna tells the story of 2 alternate futures for society as artificial intelligence & robotics absorb roles traditionally occupied by humans.
- SCP Foundation: Antimemetics Division by qntm. SCP (Secure, Contain, Protect) is a collaborative writing project exploring paranormal activity. This specific series is about the “Antimemetics Division”, which explores entities with self-censoring properties. In other words, inter-dimensional monsters that you can never remember.
- Slow Tuesday Night by R. A. Lafferty: Life moves fast, and it only gets faster. What does this mean for the future?
- Profession by Isaac Asimov: A classic, this story feels like a college graduation speech turned novella. I find this especially germane given all the recent hype about AI coming for every white-collar job, although Asimov approaches this from a lens of hyper-advanced education, not artificial intelligence.