Skip to content

Instantly share code, notes, and snippets.

View Earnestly's full-sized avatar

Earnestly

  • The Black Gate
View GitHub Profile

IRC protocol extensions

Original IRC protocol

Original protocol (IRCv2): [RFC 1459][rfc1459]

Later updated by [RFC 2810][rfc2810], [RFC 2811][rfc2811], [RFC 2812][rfc2812], [RFC 2813][rfc2813], but few servers follow these completely. IRCnet is probably the most complete implementation.

@Earnestly
Earnestly / llpp.conf.xml
Last active February 22, 2022 10:20
Basic vi-like emulation using llpp's new keymapping. Also some other defaults and examples for custom fonts.
<llppconfig>
<ui-font size='18'>
<![CDATA[/home/earnest/.local/share/fonts/Fontin-Regular.otf]]>
</ui-font>
<defaults zoom='100'
auto-scroll-step='12'
horizontal-scroll-step='24'
case-insensitive-search='true'
uri-launcher='$BROWSER &quot;%s&quot;'
@Earnestly
Earnestly / basedev
Created February 8, 2014 14:15
A list of packages which should not be included in a PKGBUILD's "makedepend=()" array.
binutils
glibc
linux-api-headers
tzdata
filesystem
iana-etc
zlib
file
autoconf
bash
@Earnestly
Earnestly / cvimrc.vim
Last active August 29, 2015 14:08
cvimrc
set noautofocus
set nosmoothscroll
let autoupdategist = true
let scrollstep = 200
let barposition = "bottom"
let searchengine b = "https://duckduckgo.com/html/?q=!"
let defaultengine = "b"
@Earnestly
Earnestly / makepkg_overview.rst
Last active March 22, 2024 03:48
A brief overview of the process involved in creating a pacman package.

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

Introduction

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

@Earnestly
Earnestly / fonts.adoc
Last active March 17, 2022 08:04
Better Defaults for Freetype

Better Defaults for Freetype

Table of Contents

Introduction

@Earnestly
Earnestly / c99_ub_list.rst
Last active March 28, 2024 05:26
C99 List of Undefined Behavior (193 Cases)

C99 List of Undefined Behavior

From N1256: (See http://port70.net/~nsz/c/c99/n1256.html#J.2)

  • 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 (5.1.1.2).
  • Token concatenation produces a character sequence matching the syntax of a universal character name (5.1.1.2).
  • A program in a hosted environment does not define a function named main using one of the specified forms (5.1.2.2.1).
  • 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
Earnestly / dealing_with_failed_install.rst
Last active October 17, 2016 18:49
Dealing with Installation Interruptions with Pacman

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
Earnestly / pulseserver.adoc
Last active June 27, 2023 20:10
PulseAudio as a Server

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 that the commands pacmd and pactl will no longer work when run as your user. Both rely on the user dbus session

@Earnestly
Earnestly / statusbar.adoc
Last active August 7, 2023 09:06
Simple reactive statusbar
Table of Contents

The main event loop

statusdir=$XDG_RUNTIME_DIR/statusbar
mkdir -pm0700 "$statusdir"