programming

Learning ncurses

Implementing a snake game in the terminal

6 minute read

tsnake, a snake game in the terminal

Lately, I have been kicking the dust off my C++ skills, and decided to start by learning to use a library which I have been eyeing for a while, ncurses. ncurses is a C library which lets you create text-based UI programs for the terminal, in the same fashion as the gif above. Basically, you can use the terminal to implement text-based user interfaces. Since I seem to have an obsession with snake games, I figured I’d create a snake game for the terminal.

New simpler design

New less bloated website design

1 minute read

I’ve once again changed the design of the site to make it cleaner, more simple and above all, less bloated. I’ve removed a bunch of javascript code (for instance, MathJax is no longer loaded by the main template but by the actual pages that really need it). Also, I’ve simplified the color palette settling on a black on white scheme with green for links and titles. Old (left) and new (right) design side-by-side.

My Linux setup (as of 03/2019)

Description of my daily Linux setup as of March 2019

6 minute read

In this post I’m documenting the current (March 2019) software setup I use in my machines. This has been converging for a long time but It will surely evolve in the future. However, right now, it works well for me. I use this configuration in the following machines: ARI desktop - hidalgo, i7-7700, 16 Gb RAM, GTX 1070, Ubuntu 18.04 IWR desktop - herschel, i7-4790K, 16 Gb RAM, GTX 970, Manjaro Linux Home laptop - simian, Dell XPS 13 9370 13”, i7-8550U, 16 Gb RAM, Intel UHD 620, Arch Linux Home desktop - bonobo, i5-4460, 16 Gb RAM, GTX 970, Antergos Linux That is what my work PC looks like.

Keyframe-based camera paths

Gaia Sky gets keyframe-based camera paths

4 minute read

During the last months I have been working on a QOL improvement for Gaia Sky video production. Currently, Gaia Sky offers a couple of ways to persist and reproduce camera behaviours: scripting and camera paths. Scripting offers a high level API which allows for the interaction and manipulation of the internal state. Conceptually, a running script is no different from a regular user. A script runs in its own thread and, like a user, interacts with Gaia Sky’s core through the event manager, a message-passing entity which encapsulates the core functionality.

System monitoring polybar modules

Modified version of system monitor scripts

2 minute read

Polybar modules

A couple of days ago I sumbled upon this video by Luke Smith where he presented a couple of scripts to display CPU, memory and temperature information in i3blocks. Since I use polybar due to it working much better in tandem with my dual-monitor setup with different DPIs, I decided I’d adapt and change the scripts to work in polybar. Polybar already comes with memory, CPU and temperature modules by default, but they don’t include a popup showing the top-consuming processes, which is a nice feature to have.