Skip to content

Instantly share code, notes, and snippets.



  • The Black Gate
View GitHub Profile
Earnestly / !README: and
Last active Jul 19, 2021
Convert PCF and BDF files to bitmap only OpenType (.otb) using fontforge
View !README: and
Convert PCF and BDF files to bitmap only OpenType (.otb) using fontforge
If you have a new enough fontforge, the python version of this script can
optionally read filenames from standard input, generating multiple .otb
font files as it finds new families. It also handles gzipped PCF and BDF
View !README: fc-glyph
fc-glyph - display all fonts which contain specified glyphs
Earnestly / Makefile
Last active Apr 23, 2018
Mouse pointer centering for X11
View Makefile
PREFIX = /usr/local
bindir = /bin
LDLIBS := $(shell pkg-config --libs-only-l x11 xi)
all: mouse-spring
install -Dm0755 mouse-spring $(DESTDIR)$(PREFIX)$(bindir)/mouse-spring
Earnestly / statusbar.adoc
Last active Mar 18, 2021
Simple reactive statusbar
View statusbar.adoc
Table of Contents

The main event loop

mkdir -pm0700 "$statusdir"
Earnestly / pulseserver.adoc
Last active Apr 19, 2020
PulseAudio as a Server
View pulseserver.adoc

Multiplexing Access to Audio Hardware via a Single PulseAudio Server

The goal of this setup is to create a single pulseaudio service which has sole access to the audio hardware while providing a server for many clients to use. This is not using the system wide mode as it doesn’t run as root, nor does it use the --system flag.

One disadvantage of this arrangement is the commands pacmd and pactl will no longer work when run as your user. Both rely on the user dbus

Earnestly / dealing_with_failed_install.rst
Last active Oct 17, 2016
Dealing with Installation Interruptions with Pacman
View dealing_with_failed_install.rst

A Method to Correct Interrupted Installations with Pacman

An upgrade via pacman could be broken down into three phases:

1) Sync

Updates the sync databases with, if any, new packages. These are downloaded from the mirrors usually as gzip files located in /var/lib/pacman/sync such as core.db and extra.db.

Earnestly / c99_ub_list.rst
Last active Jun 9, 2021
C99 List of Undefined Behavior (193 Cases)
View c99_ub_list.rst

C99 List of Undefined Behavior

From N1256: (See

  • A "shall" or "shall not" requirement that appears outside of a constraint is violated (clause 4).
  • A nonempty source file does not end in a new-line character which is not immediately preceded by a backslash character or ends in a partial preprocessing token or comment (
  • Token concatenation produces a character sequence matching the syntax of a universal character name (
  • A program in a hosted environment does not define a function named main using one of the specified forms (
  • A character not in the basic source character set is encountered in a source file, except in an identifier, a character constant, a string literal, a header name, a comment, or a preprocessing token that is never converted to a token (5.2.1).
  • An identifier, comment, string literal, character constant, or header name contains an invalid multibyte character or does not
Earnestly / fonts.adoc
Last active Dec 13, 2018
Better Defaults for Freetype
View fonts.adoc

Better Defaults for Freetype

Table of Contents


Earnestly / makepkg_overview.rst
Last active Jul 4, 2021
A brief overview of the process involved in creating a pacman package.
View makepkg_overview.rst

A Brief Tour of the Makepkg Process: What Makes a Pacman Package


This is a terse document covering the anatomy of a package built for the pacman package manager.

The following example commands can mostly run verbatim to manually create a

View cvimrc.vim
set noautofocus
set nosmoothscroll
let autoupdategist = true
let scrollstep = 200
let barposition = "bottom"
let searchengine b = "!"
let defaultengine = "b"