Skip to content

Instantly share code, notes, and snippets.

@hanshuebner
hanshuebner / day1-2.rs
Last active December 2, 2023 04:37
Advent of code
use std::env;
use std::fs::read_to_string;
use regex::Regex;
use std::collections::HashMap;
use memoize::memoize;
const DIGIT_NAMES: [&str; 10] = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
#[memoize]
fn digit_encoding() -> (Regex, HashMap<String, usize>) {
@hanshuebner
hanshuebner / gist:84a7141dbab8be25d21572df83e0d8d5
Created November 3, 2022 10:17
XPath evaluation on XML file
#!/usr/bin/env luajit
local xmlua = require("xmlua")
xml = [[<?xml version="1.0" encoding="utf-8"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport" ID="_21f12cc0-a7f7-4e65-8b21-a0bba35e39c5" entityID="urn:federation:MicrosoftOnline">
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
@hanshuebner
hanshuebner / voting.lua
Last active April 10, 2017 05:07
NodeMCU program to read buttons and light up LEDs, communicates with MQTT
broker_ip_address='192.168.178.19'
wifi.sta.config({ssid="ssid",pwd="password"})
m = mqtt.Client('esp', 120, 'dev', 'dev')
wifi.setmode(wifi.STATION)
gpio.mode(1, gpio.INPUT, gpio.PULLUP)
gpio.mode(2, gpio.INPUT, gpio.PULLUP)
gpio.mode(3, gpio.OUTPUT, gpio.PULLUP)
@hanshuebner
hanshuebner / gist:f15e915e349f0ca0f979
Created November 19, 2015 20:44
ClojureScript errro
clabin 1175_% rlwrap lein run -m clojure.main script/figwheel.clj
Figwheel: Starting server at http://localhost:3449
Figwheel: Watching build - dev
Compiling "resources/public/js/main.js" from ["src"]...
Reading analysis cache for jar:file:/Users/hans/.m2/repository/org/clojure/clojurescript/1.7.170/clojurescript-1.7.170.jar!/cljs/core.cljs
Compiling target/figwheel_temp/dev/figwheel/connect.cljs
Reading analysis cache for jar:file:/Users/hans/.m2/repository/org/omcljs/om/1.0.0-alpha22/om-1.0.0-alpha22.jar!/om/util.cljs
Reading analysis cache for jar:file:/Users/hans/.m2/repository/org/omcljs/om/1.0.0-alpha22/om-1.0.0-alpha22.jar!/om/dom.cljs
{:tag :cljs/analysis-error}
ANALYSIS ERROR: Map literal must contain an even number of forms on file null, line null, column null
@hanshuebner
hanshuebner / centos7_timechine.sh
Last active August 29, 2015 14:28 — forked from darcyliu/centos7_timechine.sh
Install Time Machine service on CentOS 7
# Install Time Machine service on CentOS 7
# http://netatalk.sourceforge.net/wiki/index.php/Netatalk_3.1.7_SRPM_for_Fedora_and_CentOS
# http://confoundedtech.blogspot.com/2011/07/draft-draft-ubuntu-as-apple-time.html
yum install -y rpm-build gcc make wget
# install netatalk
yum install -y avahi-devel cracklib-devel dbus-devel dbus-glib-devel libacl-devel libattr-devel libdb-devel libevent-devel libgcrypt-devel krb5-devel mysql-devel openldap-devel openssl-devel pam-devel quota-devel systemtap-sdt-devel tcp_wrappers-devel libtdb-devel tracker-devel
yum install -y bison docbook-style-xsl flex dconf
@hanshuebner
hanshuebner / gist:4573c0bd258c507aeaee
Created September 18, 2014 15:58
l1-sockets.lisp with initial ipv6 support
;;;-*- Mode: Lisp; Package: CCL -*-
;;;
;;; Copyright (C) 2001-2009 Clozure Associates
;;; This file is part of Clozure CL.
;;;
;;; Clozure CL is licensed under the terms of the Lisp Lesser GNU Public
;;; License , known as the LLGPL and distributed with Clozure CL as the
;;; file "LICENSE". The LLGPL consists of a preamble and the LGPL,
;;; which is distributed with Clozure CL as the file "LGPL". Where these
;;; conflict, the preamble takes precedence.
@hanshuebner
hanshuebner / gist:11211196
Created April 23, 2014 11:14
Create high-level varnish events in librato
var readline = require('readline');
var spawn = require('child_process').spawn;
var request = require('request');
var config = {
interval: 10000,
email: 'email-address@example.com',
apitoken: 'the-librato-readonly-api-token'
};
@hanshuebner
hanshuebner / rc.local
Created March 28, 2014 09:19
my tmux start stuff
#!/bin/sh
su hans -c '/home/hans/bin/start-tmux.sh'
@hanshuebner
hanshuebner / fixed-width-record.lisp
Created April 15, 2012 19:20
fixed width record reading and writing
(defpackage :fixed-width-record
(:use :cl)
(:export #:define-format
#:write*
#:read*
#:field-parse-error
#:create-table
#:insert-record))
(in-package :fixed-width-record)
@hanshuebner
hanshuebner / sudoku-test.lisp
Created December 11, 2011 10:46
Ruby book Sudoku solver in Common Lisp
(defmacro deftestpackage (package-name for-package &optional (test-library-package-name :unit-test))
"Define a new package PACKAGE-NAME used to test the package
designated by FOR-PACKAGE. The new package will import all symbols
from FOR-PACKAGE and :USE the package designated by
TEST-LIBRARY-PACKAGE-NAME which supposedly contains unit testing
functions and macros."
`(defpackage ,package-name
(:use ,test-library-package-name ,@(mapcar #'package-name (package-use-list for-package)))
(:import-from ,for-package
,@(let (symbols)