game-reviews
This is a list of games I've played and a short review for each one of them.
Personal blog about software development, CLI tools, and technology
This is a list of games I've played and a short review for each one of them.
[sake](https://github.com/alajmo/sake) is a CLI tool that enables you to run commands on servers via ssh. Think of it like make, you define servers and tasks in a config file and then run the tasks on...
[Dashgrid](https://github.com/alajmo/dashgrid) is a highly customizable drag-and-drop grid built on pure es6 with no external dependencies, using bounding box collision detection.
[tabify](https://www.tabify.dev) is a Chrome browser extension for managing tabs and windows. It keeps tabs organized with workspaces, saves your sessions, blocks distractions, and adds 60+ keyboard s...
[3body](http://3bodyspace.com/) is a 2D multiplayer arena game built on the chaotic dynamics of the three-body problem. It's made with React, Three.js (WebGPU), and a Bun WebSocket server.
[tap-report](https://github.com/alajmo/tap-report) is tap (test anything protocol) consumer that provides user friendly and informative tap output.
[template-generator](https://github.com/alajmo/template-generator) is a simple bash script used to generate boilerplates.
[mani](https://github.com/alajmo/mani) is a tool that helps you manage multiple repositories. You specify projects and commands in a yaml config and then run the commands over all or a subset of the p...
[bok](https://github.com/alajmo/bok) is a simple static site generator (powering this blog) implemented as a command line tool in Deno.
Krivaja is a game engine and editor written from scratch in C17 with SDL3 and Vulkan. It covers a Vulkan renderer, rigid-body and ragdoll physics, skeletal animation, an ECS scene, navigation and AI, ...
[Pinto](https://github.com/alajmo/pinto) allows you to create, view and edit vim color themes in a web browser.
Somewhat coherent ramblings about programming.
3body is a 2D browser-based multiplayer arena game where up to 15 players control planets caught in the gravity of three suns locked in a chaotic three-body orbit. The suns fling everything around unp...
TL;DR - Tabify is a browser extension that helps you organize tabs into workspaces and save sessions. In **Tabify**, you group tabs into workspaces, use keyboard shortcuts to navigate, and backup sess...
I usually make a project background document for my personal projects, it documents what I'm trying to solve, the core design decisions that will guide the code architecture and comparisons to other s...
For a personal project, I needed to create a Table of Contents are given markdown content, however, the markdown content was to produce a different HTML output than the CommonMarkdown specification. T...
TL;DR - Mani is a many-repo tool that helps you manage multiple repositories. It's useful when you are working with microservices, multi-project systems, or just a bunch of personal repositories and w...
When searching for indexedDB on google, the top search results don't provide a good introduction to indexedDB. So I thought it might help others who want to persist some data in the browser (and avoid...
Because I haven't posted in a long time, and I want to maintain the image of being an active blogger, it's time to go over the basics of internet communication, bit by bit... sorry :S
Man is a consumer and a producer, a pattern interpreter and pattern producer; thus the code we produce and consume ought to have characteristics that favor such activ...
This tutorial covers setting up a private **Docker Registry** on **AWS** with **Nginx** setup as a reverse proxy and generated **Let's Encrypt** **SSL** certificates. While the steps are specific to p...
"97 things every programmer should know" is a rich book containing programming wisdom from famous software developers. The "things" range from practical advice on how to write code, to the more social...
In this post, we'll go through how to create a script that records commands on the command-line and generates GIFS (Graphics Interchange Format) without having to record them manually.
BEM (Block-Element-Modifier) is a naming pattern that helps you reason about your implementations. Any text that embeds a hierarchy or structure is a suitable candidate for BEM. For instance, it can b...
I often find myseld creating the same files over and over again. So, in the spirit of automation, I created a boilerplate generator in bash. No need for the old googling and **ctrl-c** + **ctrl-c** an...
Json (or more recently Jsonb) is a great addition to Postgres, and soon many other established SQL solutions will follow suit. It enables us to relax some of the conditions relational databases come w...