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. I’ve spent time working as a computer science teaching assistant, a defense contractor, and a software developer at an alternative asset management firm.
Tech Toolbox
Here are some of the tools I enjoy using in my development work, both professionally and personally.
Languages:
- C#
- F#
- Python
- Vanilla Javascript (and HTML)
- SQL (MS SQL Server, PostgreSQL, SQLite, Snowflake, and DuckDB dialects)
Frameworks & platforms:
Tools & libraries:
- DBeaver: universal database tool
- Dapper:
lightweight ORM for .NET
- RestSharp:
lightweight HTTP client library for .NET
- Hangfire:
background job processing for .NET
- glogg: log file explorer
- Visual Studio
Code: flexible, cross-platform IDE
- Docker & Docker Compose: container management & (basic) orchestration
- Podman
- Jupyter Notebook &
JupyterLab: interactive computational documents
- Git: distributed version control
system
- Obsidian: note keeping / knowledge management system (unfortunately not open source, but a solid product)
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.