Skip to content

Instantly share code, notes, and snippets.

View simlun's full-sized avatar

Simon Lundmark simlun

View GitHub Profile
@simlun
simlun / EPIR_Zm.js
Created March 13, 2024 19:15
EGLO Connect.Z Motion sensor - ZigBee2MQTT
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const utils = require('zigbee-herdsman-converters/lib/utils');
const e = exposes.presets;
const ea = exposes.access;
const fzLocal = {
@simlun
simlun / command.sh
Created December 14, 2015 07:48
Collect inotify statistics for each root directory
sudo sysctl fs.inotify.max_user_watches=524288
sudo inotifywait -r -m --format "%e;%w%f" /bin /boot /etc /home /lib /lib64 /opt /root /sbin /srv /tmp /usr /var | ./dirstats.py
@simlun
simlun / keybase.md
Created September 23, 2014 21:21
keybase.md

Keybase proof

I hereby claim:

  • I am simlun on github.
  • I am simlun (https://keybase.io/simlun) on keybase.
  • I have a public key whose fingerprint is 3831 9AC1 51D6 ABD9 9D63 AA11 FC2C 138A 3B94 9A0F

To claim this, I am signing this object:

@simlun
simlun / vnc-connection.command
Created July 30, 2014 14:45
Connect to an x11vnc server over an SSH tunnel from a Mac
#!/bin/sh
# Tip: An executable script given a `.command` suffix will be double-clickable on Mac OS X
REMOTE_SSH_USER=pi
REMOTE_SSH_HOST=192.168.0.17
REMOTE_VNC_SERVER_PORT=5900
LOCAL_VNC_PORT=5901
# This is the RealVNC Viewer, works with Chicken of the VNC too
LOCAL_VNC_CLIENT=/Applications/VNC\ Viewer.app/Contents/MacOS/vncviewer
@simlun
simlun / raspi-monitor
Last active September 14, 2021 14:36
Script to enable and disable the HDMI signal of the Raspberry PI
#!/bin/bash -e
# /usr/local/sbin/raspi-monitor
# Script to enable and disable the HDMI signal of the Raspberry PI
# Inspiration: http://www.raspberrypi.org/forums/viewtopic.php?t=16472&p=176258
CMD="$1"
function on {
/opt/vc/bin/tvservice --preferred
@simlun
simlun / dropbox-reconciliation.sh
Last active January 3, 2016 16:29
Compare MD5 checksums for all files in a local Dropbox directory with a remote one. Use for example to reconcile your Dropbox directory between your laptop and workstation. You will be surprised over what you may find... Script was written for Mac OS X. You must of course have "Remote Login" enabled (System Preferences/Sharing).
#!/bin/bash -ex
#
# Example usage:
# $ ./dropbox-reconciliation.sh 192.168.0.17
#
REMOTE_HOST=$1
EXCLUDES="-name '*.DS_Store' -or -path './.dropbox.cache*' -or -name 'Icon*' -or -name .dropbox"
@simlun
simlun / diff
Created March 16, 2013 20:52
socket recv's may raise EAGAIN, unlike any other platform Fix for recognizing gdbm 1.9.x databases; already upstream: http://hg.python.org/cpython/rev/14cafb8d1480
diff --git a/Lib/socket.py b/Lib/socket.py
index bd364e7..fd432f6 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -92,6 +92,7 @@ except ImportError:
errno = None
EBADF = getattr(errno, 'EBADF', 9)
EINTR = getattr(errno, 'EINTR', 4)
+EAGAIN = getattr(errno, 'EAGAIN', 35)
@simlun
simlun / gist:4405824
Created December 29, 2012 09:57
!cleancode Clojure solution to Project Euler problem number 74
(defn euler074 [up-to chain-len] (let [right-chain-len? #(= chain-len (count %))
start-nrs (range 1 (inc up-to))] (count (filter right-chain-len? (map (fn
[start-nr] (loop [chain #{start-nr} prev-trm start-nr] (let [next-trm (reduce +
(map (memoize (fn [n] (if (= n 0) 1 (reduce * (range 1 (inc n)))))) (map #(-
(int %) (int \0)) (str prev-trm))))] (if (contains? chain next-trm) chain (recur
(conj chain next-trm) next-trm))))) start-nrs)))))
(euler074 1000000 60)
@simlun
simlun / download-sicp-videos.sh
Created November 5, 2012 00:11
Download script for the SICP videos
#!/bin/bash
set -e
#DOWNLOAD_COMMAND='curl -s -S -C - -L -O'
DOWNLOAD_COMMAND='wget --quiet --continue'
SIMULTANEOUS_DOWNLOADS=3
one-word-per-line() {
xargs -n 1 echo $@
}
@simlun
simlun / euler.clj
Created July 7, 2012 22:22
euler002
(ns euler002.euler)
(defn- fib-fast
[i a b limit]
(if
(< i limit)
(fib-fast (inc i) b (+ a b) limit)
b))
(defn fib