Skip to content

Instantly share code, notes, and snippets.

@andreoss
andreoss / gist:7fa2b28646c1ad120345131a5bff18dc
Last active December 31, 2023 03:35
Installing binary packages in NetBSD
PATH="/usr/pkg/sbin:/usr/pkg/bin:$PATH"
PKG_PATH="https://cdn.NetBSD.org/pub/pkgsrc/packages"
PKG_PATH="$PKG_PATH/$(uname -s)/$(uname -m)/$(uname -r|cut -f '1 2' -d.|sed 's/.99.*$/.0/')/All"
export PATH PKG_PATH
pkg_add pkgin
@andreoss
andreoss / fix-maidir.sh
Created July 6, 2023 19:20
Fix duplicate UID errors after migrating Maildir to new machine
# Duplicate UID Errors
export OLD=old-hostname NEW=new-hostname
find ~/Maildir -name "*.${OLD}*" -type f -exec bash -c 'X={}; Y=${X/$OLD/$NEW}; [ "$X" != "$Y" ] && mv --verbose "$X" "$Y"' \;
@andreoss
andreoss / gist:d90490ce12a5ed8f6aefae83501777ca
Created March 16, 2023 01:12
gcc 12 use-after-free fix
diff --git a/tools/lib/subcmd/subcmd-util.h b/tools/lib/subcmd/subcmd-util.h
index 794a375dad36..7009fc176636 100644
--- a/tools/lib/subcmd/subcmd-util.h
+++ b/tools/lib/subcmd/subcmd-util.h
@@ -49,13 +49,12 @@ static NORETURN inline void die(const char *err, ...)
static inline void *xrealloc(void *ptr, size_t size)
{
- void *ret = realloc(ptr, size);
- if (!ret && !size)
#!/bin/sh
XDISPLAY_NUM=3
XDISPLAY=":${XDISPLAY_NUM}"
export XDISPLAY
Xephyr -fp ~/.fonts/ -ac -br ":${XDISPLAY_NUM}" -resizeable &
XEPHYR_PID=$!
sleep 1
DISPLAY=$XDISPLAY xrdb "$HOME/.Xresources"
DISPLAY=$XDISPLAY STUMPWM_INNER="$XDISPLAY_NUM" "$HOME/.stumpwm.d/init.ros"
wait "$XEPHYR_PID"
user_pref("general.useragent.override", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0");
user_pref("general.buildID.override", "20181001000000");
user_pref("general.appversion.override", "5.0 (Windows)");
user_pref("general.oscpu.override", "Windows NT 10.0; Win64; x64");
user_pref("general.platform.override", "Win32");
@andreoss
andreoss / jupiter
Created April 26, 2021 00:51
Migrate to Junit 5
#!/usr/bin/env perl
use strict;
use File::Find ();
use feature qw(say);
use Carp qw(croak);
use Data::Dumper;
use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune = *File::Find::prune;
@andreoss
andreoss / decolorize
Created April 18, 2021 23:01
Decolorize output
#!/usr/bin/env --split-string=perl -p
s/ \x1B [ @ A-Z \\ \] ^_ ] //gx;
s/ \x1B \[ [0-9 : ; < = > ? ]{1,8} \W? [@ A-Za-z ^_\` {|} ~]? //gx;
@andreoss
andreoss / lombok.config
Created April 15, 2021 04:46
Lombok configuration for Spring, makes contructor injection work with annotations
lombok.addLombokGeneratedAnnotation = true
lombok.anyConstructor.addConstructorProperties=true
lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier
lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Autowired
lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Value
@andreoss
andreoss / toggle-touchpad
Created April 8, 2021 04:27
Toggle touchpad/trackpoint/mouse
#!/bin/sh
set -u
list_all_ids() { xinput list --id-only; }
device_by_id() { xinput list --short "$1";}
device_property() {
xinput list-props "$1" | while read -r prop
do
case "$prop" in
*"$2"*:*[01])
echo "${prop#*:}" | xargs
find src -name '*.java' -exec perl -i -nE 'print unless /[@](version|author)/' {} \+
find src -name '*.java' -exec perl -i -007 -pE 's{^/[*][*]}{/*}' {} \;