↓ Skip to main content
ebeem

ebeem

FOSS Enthusiast & Indie Game Developer

I write extensible software and believe that the tools we use should be as flexible as the minds using them.

I discuss in this blog:

  • Game Development: My published Godot Games and the process behind building them
  • Systems & Tools: Thoughts on Arch Linux, Guix, Emacs, Sway and River
  • Side Projects: Weekend hacks that explore "What If" ideas

Software

Guile Swayer

Guile Swayer

·1 min· loading · loading
Guile Swayer Being and Emacs user and big fan of StumpWM which is an X11 based window manager written in Common Lisp. I find other window managers available have many constraints and not as flexible. I find it very important that window managers provide a scriptable environment to customize the workflow, what you can find nowadays in most window managers is simple configuration parameters instead.

Tutorials & Reviews

Linux

Linux

·1 min· loading · loading
GNU/Linux is often viewed as a single operating system, but it is actually a collection of interchangeable components working together. To truly understand how a GNU/Linux system operates, it is best to explore it from the moment you press the power button to the second you open your web browser. This series breaks down the core software components of your computer, it details the available options, customizations, and tweaks.
Emacs

Emacs

·1 min· loading · loading
Traditional text editors (like Vim, Nano, or VSCode) are designed to edit text files. They provide a fixed set of features and extensions that allow you to write code or modify configuration files efficiently. Emacs is an advanced computing environment that happens to ship with a text editor. it uses a single unified programming language (Emacs Lisp) to declare and manage everything in the system, from basic cursor movements to entire user interfaces like email clients, file managers, and task organizers.
Guix

Guix

·1 min· loading · loading
Guix is an advanced, purely functional package manager and complete Linux distribution. Traditional package managers (like APT or Pacman) install packages globally to all available users, Guix allows installing packages globally or local to a system user. Guix also follows a different approach in managing packages and dependencies which allows installing different versions of each package and eliminates dependency conflicts.
River

River

·1 min· loading · loading
Wayland is a modern, secure display server protocol for Linux and Unix-like operating systems. It is a replacement for the older X11 system and it manages how applications render graphics and windows to your screen. River is probably the only Wayland non-monolithic compositor out there. Popular compositors like Sway or Hyprland tightly integrate the window manager and the compositor into a single executable, River on the other hand follows a modular philosophy.
Wayland

Wayland

·1 min· loading · loading
Wayland is a modern, secure display server protocol for Linux and Unix-like operating systems. It is a replacement for the older X11 system and it manages how applications render graphics and windows to your screen. RECENT

Games

Spooky Night

Spooky Night

·2 mins· loading · loading
An online social deduction game of teamwork and betrayal! Uncover the werewolves among you before they wipe out the village. During the day, chat, deceive, and vote to eliminate a suspect. At night, use your role’s abilities to gather insights or strike. Can you survive?

Recent

2- User Input & Text Navigation (Emacs Survival Guide)

·9 mins· loading · loading
Introduction With the terminology covered and your configuration ready from Part 1, it's time now to build your muscle memory. Navigating Emacs entirely by keyboard has no real shortcuts, it just requires patience, consistency and a lot of practice. I can't promise you that you will memorize all of the keybindings in this guide, but I can assure you that you will be able to know the commands you need, how to invoke them, and how to recall their keybindings in case you forget them.

1- Emacs Terminology (Emacs Survival Guide)

·6 mins· loading · loading
Introduction I still remember very well the first time I downloaded and ran Emacs back in 2008. I'm certain I said something along the lines of, "Meh, this definitely isn't my type of text editor." Out of the box, Emacs is plain and confusing for newcomers, it also has a steep learning curve. However, there is a good reason so many developers stick with it and treat it almost as a way of life, there simply is no other tool that offers what Emacs provides. This guide's purpose is to show you how you can survive in Emacs and how you can complete your daily tasks within Emacs and keep improving overtime.

Emacs Vanilla vs Flavors (Spacemacs and Doom Emacs)

·6 mins· loading · loading
The Batteries-Included Flavors Even though I am not a big fan of the batteries-included flavors anymore, I still believe the are great starter kits for package discovery and understanding how far Emacs can be customized. I personally thought that Emacs was just a simple text editor like a GEdit until I tried the Emacs distribution Spacemacs which comes opinionated, reconfigured, and ready to use out of the box.

Bootloader

·3 mins· loading · loading
Introduction We discussed earlier the objective of the firmware which was to test the hardware and run the bootloader. The bootloader is a small program that has one objective, to load the kernel properly in RAM hand control to it.

Firmware (BIOS and UEFI)

·3 mins· loading · loading
Introduction In this series, I will try to explain how your system (specifically Linux) is booted from the moment you press that power button until you see your desktop environment. I will also highlight the different software available for each task/step and what customization you can apply.