Skip to content

Instantly share code, notes, and snippets.

#!/Hello world!
@jaseg
jaseg / keybinding
Created April 20, 2015 11:14
fish: Remap CTRL+O to execute the current command as root
bind \co sudo-execute
@jaseg
jaseg / gist:1ce39aa6ee73dbfd97d0
Created May 26, 2015 11:12
Basic string interpolation in pure python
# alike https://github.com/lihaoyi/macropy#string-interpolation
In [23]: class Interpol:
def __getitem__(self, str):
import inspect
return str.format(**inspect.currentframe().f_back.f_locals)
....:
In [24]: s = Interpol()
import re
censor = lambda s: re.sub('[acemnopqrsuvwxyz]', '▄', re.sub('[bdfhijkltABCDEFGHIJKLMNOPQRSTUVWXYZ]', '█', s))
# censor('This is a test.') → '███▄ █▄ ▄ █▄▄█.'
#ifdef TEST
#include <stdint.h>
#include <stdio.h>
uint8_t LCDDR0=0,
LCDDR1=0,
LCDDR2=0,
LCDDR3=0,
# Modified cd that also displays the directory's contents if the listing is less than 5 lines long
function cd
if test -n "$argv"
if test -e $argv -a ! -d (realpath $argv)
set argv (dirname $argv)
end
end
builtin cd $argv
and test (ls -C -w $COLUMNS |wc -l) -le 5; and ls
end
@jaseg
jaseg / article-style.css
Last active November 20, 2015 00:30
Goldendict style sheet for use with JMdict/EPWing dictionaries
body
{
/* font-family: Sazanami Mincho; */
font-family: Source Han Sans JP;
font-weight: 100;
font-size: 16px;
}
h3
{
@jaseg
jaseg / ruby-test.py
Created January 5, 2016 11:44
Fooling around with furigana on a terminal.
#!/usr/bin/env python3
import unicodedata, textwrap
print('\033[38;5;250m ニホンゴ\n\033[0m日本語', end='\n\n')
# I could not find any terminal actually rendering this. urxvt just ignores the escapes, which is kind of sane. gnome terminal et al. print it literally, replacing the \e with a replacement character which looks garbage.
print('foo\033[1\\bar\033[2\\baz\033[0\\fnord', end='\n\n')
FW_TO_HW_MAP = {
@jaseg
jaseg / blobstore.py
Last active January 9, 2016 23:32
little python experiment
import pathlib
import itertools
import lzma
import threading
import functools
class Blobstore:
def __init__(self, path, create_if_missing=False, validate=True, blobid_len=4):
p = self._path_obj = pathlib.Path(path)
self._blobid_len, self._fmt_blobid = blobid_len, lambda blobid: ('{:0'+str(self._blobid_len)+'x}').format(blobid)
import sqlite3
import itertools
import lzma
import threading
import functools
class Stringstore:
def __init__(self, dbfile, max_block_size=262144):
self.db = sqlite3.connect(dbfile)