RSSAmplifier

Blog

/home/alajmo

Personal blog about software development, CLI tools, and technology

alajmovic.comRSS feed ↗28 posts

Latest posts

game-reviews

This is a list of games I've played and a short review for each one of them.

projects

sake

[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

[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

[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

[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

[tap-report](https://github.com/alajmo/tap-report) is tap (test anything protocol) consumer that provides user friendly and informative tap output.

template-generator

[template-generator](https://github.com/alajmo/template-generator) is a simple bash script used to generate boilerplates.

mani

[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

[bok](https://github.com/alajmo/bok) is a simple static site generator (powering this blog) implemented as a command line tool in Deno.

Krivaja

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

[Pinto](https://github.com/alajmo/pinto) allows you to create, view and edit vim color themes in a web browser.

index

About

Somewhat coherent ramblings about programming.

3body, a Multiplayer Arena Game Built on Chaos

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...

Tabify, a Browser Extension for Tab Management

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...

Project background for sake, a task runner for servers

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...

Writing a Transpiler For a Subset of the Markdown Language

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...

mani, a CLI Tool to Manage Multiple Repositories

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...

Working with IndexedDB

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...

A Brief Intro to SSH

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

Explaining SOLID through Code

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...

Setting up a private Docker Registry

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

"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...

Recording terminal commands and generating GIFS

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.

Validating BEM using regex

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...

Generate Boilerplates with Bash

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...

Using jsonb in Postgres and Making it Work with BI Software by Leveraging Views

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...