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.
Gaia Sky has a quite powerful Python scripting system which has gotten a revamp lately. The system exposes an API which can be used from Python scripts to interact with an instance of Gaia Sky running in the same machine (so far). But to understand where we are, we need to know where do we come from.
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. The new design is cleaner and more pleasant to the eye.
The new design also looks better on mobile screens, as I took some care of adapting the templates for pocket devices. Finally, I changed the home page from the blog summary listing to an introduction and welcome page, and added a full blog listing page containing a list of all blog post titles sorted by date.
Description of my daily Linux setup as of October 2019
8 minute read
Edit (2020-10-02):
change termite to kitty due to font ligatures support. Edit (2020-06-01):
change urxvt to termite, update info on qutebrowser with tor.*
Overview
In this post I’m documenting the current (March 2019) system setup I use in my development machines. This has been converging for a long time already, and It will surely evolve in the future. However, right now, it works well for me.
I use the machines mostly for development work (Gaia Sky, Gaia First Look, Ph.D., etc.). I also use my personal computers for the occasional light gaming session (Terraria, C&C remastered, or whatever I feel like at the moment) and as all-around computing devices to manage stuff.
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.
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.