Skip to content

Instantly share code, notes, and snippets.

View Alhadis's full-sized avatar

John Gardner Alhadis

View GitHub Profile
@Alhadis
Alhadis / atom.1.html
Last active December 6, 2018 13:28
Manpage previews
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Preview</title><style> html{ background: black; color: white } a{ color: inherit; text-decoration: none } pre{ font: 10px Menloco, Monaco, Menlo, monospace; font-variant-ligatures: none }</style></head><body><pre>
ATOM(1) General Commands Manual ATOM(1)
<b>NAME</b>
atom — a hackable text editor for the 21st century
<b>SYNOPSIS</b>
<b>atom</b> [<u>options</u>] [<u>paths...</u>]
@Alhadis
Alhadis / macro-packages.json
Last active August 31, 2018 10:05
Troff macros organised by package
{
"macros": {
"man": [
"AT", "B", "BI", "BR", "BT", "DT", "EE", "EX", "HP", "I", "IB", "IP",
"IR", "LP", "ME", "MT", "OP", "P", "PD", "PP", "PT", "R", "RB", "RE",
"RI", "RS", "SB", "SH", "SM", "SS", "TH", "TP", "UC", "UE", "UR"
],
"mdoc": [
"%A", "%B", "%C", "%D", "%I", "%J", "%N", "%O", "%P", "%Q", "%R", "%T",
@Alhadis
Alhadis / dwb-darwin.patch
Last active September 11, 2018 13:16
Patches to compile DWB3.3 on macOS 10.13.6
diff --git a/text/eqn/e.h b/text/eqn/e.h
index 881354b..bf5ad3c 100644
--- a/text/eqn/e.h
+++ b/text/eqn/e.h
@@ -21,6 +21,7 @@ extern int class[LAST][LAST];
extern char errbuf[200];
extern char *cmdname;
+#undef sprintf
#define ERROR sprintf(errbuf,
@Alhadis
Alhadis / blend-modes.c
Created February 24, 2019 03:48
blend-modes.c
/* From: http://web.archive.org/web/20090222030436/http://www.nathanm.com/photoshop-blending-math/ */
#define ChannelBlend_Normal(B,L) ((uint8)(B))
#define ChannelBlend_Lighten(B,L) ((uint8)((L > B) ? L:B))
#define ChannelBlend_Darken(B,L) ((uint8)((L > B) ? B:L))
#define ChannelBlend_Multiply(B,L) ((uint8)((B * L) / 255))
#define ChannelBlend_Average(B,L) ((uint8)((B + L) / 2))
#define ChannelBlend_Add(B,L) ((uint8)(min(255, (B + L))))
#define ChannelBlend_Subtract(B,L) ((uint8)((B + L < 255) ? 0:(B + L - 255)))
#define ChannelBlend_Difference(B,L) ((uint8)(abs(B - L)))
#define ChannelBlend_Negation(B,L) ((uint8)(255 - abs(255 - B - L)))
@Alhadis
Alhadis / match-url.pl
Created April 6, 2019 22:41
Match URL
#!/usr/bin/env perl
# Adopted from https://github.com/atom/language-hyperlink
use strict;
use warnings;
use v5.14;
my $matchURL = qr~ \b
# Protocol
( https?
| s?ftp
@Alhadis
Alhadis / an.tmac
Last active March 26, 2020 17:09
troff-temp
' # month name
.if "\nd"0" .nr m \n(mo-1
.if "\nm"0" .ds ]m January
.if "\nm"1" .ds ]m February
.if "\nm"2" .ds ]m March
.if "\nm"3" .ds ]m April
.if "\nm"4" .ds ]m May
.if "\nm"5" .ds ]m June
.if "\nm"6" .ds ]m July
.if "\nm"7" .ds ]m August
@Alhadis
Alhadis / index.html
Created May 29, 2019 12:29
select-file.js
<!DOCTYPE html>
<html lang="en-AU">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="initial-scale=1, minimum-scale=1" />
<title>Cross-browser/Electron file selection</title>
</head>
@Alhadis
Alhadis / config.json
Created June 18, 2019 19:30
JSDoc helpers
{
"source": {
"includePattern": "\\.+(mjs|js(on|x)?)$"
}
}
"use strict";
const {TextBuffer, TextEditor, Range, Point} = require("atom");
const ScreenLineBuilder = loadFromCore("text-buffer/lib/screen-line-builder");
const {emitText} = ScreenLineBuilder.prototype;
const exoticNewlines = "\r";
ScreenLineBuilder.prototype.emitText = function(...args){
const {buffer} = this.displayLayer;
const [char] = args;
@Alhadis
Alhadis / ieee-754.mjs
Last active February 27, 2020 13:01
IEEE 734.mjs
#!/usr/bin/env node
export const qNaN = Symbol("qNaN");
export const sNaN = Symbol("sNaN");
/**
* Convert a binary floating-point representation to a number.
*
* Source: IEEE 754-2008, table 3.5 – “Binary interchange format parameters”