Skip to content

Instantly share code, notes, and snippets.

View gpssim.tcl
#!/usr/bin/tclsh
# IV-11 doesn’t know about time zones, so doesn’t know about DST, so it’s set
# to a UTC offset of 0 and this script sends the local time (as defined by $TZ
# or $TCL_TZ, cf. https://www.tcl.tk/man/tcl8.6/TclCmd/clock.htm#M21).
package require Tcl 8.5
package require nmea
# formats a number decimally as ddd.fff with zero-padding. Basically [format "%0[d].[f]f"].
@yath
yath / order_channels.sql
Created Jun 27, 2018
Order channels in Kodi’s TV29.db
View order_channels.sql
with
favs(pat) as (
values ("3sat%"), ("ARD%Alpha%"), ("arte%"), ("Das Erste%"), ("PHOENIX%")),
channels_weighted(id, weighted_name) as (
select idChannel, (
lower(
-- prefix channel name with weight (1 is highest).
case when (select count(*) from favs where channels.sChannelName like favs.pat) > 0 then 1
else 2
end ||" "||sChannelName))
View winssh.pl
#!/usr/bin/perl
use strict;
use warnings;
use Term::Filter::Callback;
# SGR attributes to replacement value (or undef, if to be deleted).
my %sgrmap = (
map { $_ => undef } 40..47, # set background color
37 => 30, # white => black
97 => 90, # bright white => bright black
View fgtwr.pl
#!/usr/bin/perl
# $Id: fgtw3.pl,v 1.4 2015/10/08 21:28:29 yath Exp $
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <marcel@rucksackreinigung.de> wrote this file. As long as you retain this
# notice you can do whatever you want with this stuff. If we meet some day,
# and you think this stuff is worth it, you can buy me a beer in return
# ----------------------------------------------------------------------------
View fttest.c
/* $ gcc -W -Wall -Wextra -o fttest fttest.c -lX11 -lXft `pkg-config --cflags freetype2`
* $ ./fttest "DejaVu Sans Mono"
* $ ./fttest "Noto Color Emoji"
* X Error of failed request: BadLength (poly request too large or internal Xlib length error)
* Major opcode of failed request: 139 (RENDER)
* Minor opcode of failed request: 20 (RenderAddGlyphs)
* Serial number of failed request: 21
* Current serial number in output stream: 23
*/
@yath
yath / sssh
Last active Aug 29, 2015
sssh - sane(r) ssh
View sssh
#!/bin/sh
# sssh - sane(r) ssh
#
# executes a remote command (more) sanely by passing the arguments url-like
# escaped (foo%23bar for "foo#bar") and unpacking them on the remote side
# with perl again.
if [ "$#" -lt 2 ]; then
echo "Usage: $0 <host> <command> [arguments...]" >&2
exit 1
View patch.sh
#!/bin/sh
URL="https://gist.githubusercontent.com/yath/1c7b8f497b869e9070d5/raw/5fee4133fc11bcb96d07467754fef551aea32160/stripenv.c"
OUT=/usr/local/lib/stripenv
set -e
test_vuln() {
dir="$(mktemp -d)"
cd "$dir"
env ohai='() { echo pwned; }' X='() { (a)=>\' bash -c "echo ohai" > /dev/null 2>&1
if grep -qw pwned echo 2>/dev/null; then rc=0; else rc=1; fi
@yath
yath / sendmail.sh
Created Apr 7, 2013
smartd mail script
View sendmail.sh
#!/bin/sh
# send smartd mail plus serial and smartctl -a.
# usage: -m root -M exec /path/to/this/script
# test with: -m root -M exec /path/to/this/script -M test and smartctl -q onecheck afterwards.
tempfile=$(mktemp)
# message is passed via stdin
cat > $tempfile
View sleeper-service.erb
#!/bin/sh
# managed by Class['common::sleeperservice']
#
# sleep some time before running cron jobs
sleep <%= delay %>m
View patch.c
/* As the memmem() fuction is ripped off the GNU C Libary:
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
You can’t perform that action at this time.