Skip to content

Instantly share code, notes, and snippets.

View oderwat's full-sized avatar
💭
Go da Lang...

Hans Raaf oderwat

💭
Go da Lang...
View GitHub Profile
@oderwat
oderwat / Spotify Track 2 Clipboard.scpt
Created March 16, 2013 13:05
Quick and Dirty "Fetch current running Title from Spotify to Clipboard" for usage as LaunchBar Action (can easily be modified for other Launchers)
try
tell application "Spotify"
set theTrack to name of the current track
set theArtist to artist of the current track
set theAlbum to album of the current track
set track_id to id of current track
end tell
set AppleScript's text item delimiters to ":"
set track_id to third text item of track_id
@oderwat
oderwat / eject-usb.sh
Created March 28, 2013 16:54
Hier ein Script, das ich für und mit @tekshrek gebaut habe um bei ihm eine externe Platte die an der #Synology NAS hängt "remote" vom Mac auswerfen zu können. Das Script selber gehört auf die Synology und ist mit Hilfe verschiedener Informationen aus dem Forum gezaubert! Anwendung: In der Synology z.B. unter /root/eject-usb.sh ablegen (chmod u+x…
#!/bin/sh
# I have this as /root/eject-usb.sh and execute it from the mac by ssh with keypair
# With no parameters we list the currently mounted devices
if [ -z "$1" ]
then
# Listing mounted USB Drives
/usr/syno/bin/synousbdisk -enum
exit 0
@oderwat
oderwat / gist:9158840
Created February 22, 2014 17:45
GoLang HTTP PUT / DELETE (just copied from somewhere else!)
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
const (
@oderwat
oderwat / keybase.md
Created March 21, 2014 12:44
Keybase.io Proof

Keybase proof

I hereby claim:

  • I am oderwat on github.
  • I am oderwat (https://keybase.io/oderwat) on keybase.
  • I have a public key whose fingerprint is 9EC4 4C57 2A7F C458 5B02 D1CB 8865 988A 52C1 B6B3

To claim this, I am signing this object:

@oderwat
oderwat / firebase_pushid.nim
Last active August 29, 2015 14:15
Firebase push id algorithm in Nim (aka Nimrod) (ref: https://www.firebase.com/blog/2015-02-11-firebase-unique-identifiers.html)
# Fancy ID generator that creates 20-character string identifiers with the following properties:
#
# 1. They're based on timestamp so that they sort *after* any existing ids.
# 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs.
# 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly).
# 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the
# latter ones will sort after the former ones. We do this by using the previous random bits
# but "incrementing" them by 1 (only in the case of a timestamp collision).
#
# Based on https://www.firebase.com/blog/2015-02-11-firebase-unique-identifiers.html
@oderwat
oderwat / re_check_prime.nim
Last active August 29, 2015 14:15
Test for being prime with a regular expression in Nim (aka Nimrod)
# regular expression to check a number for being prime
#
# see: http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/
import re, strutils
let rprime = re"^1?$|^(11+?)\1+$"
proc testPrime(n: int): bool =
not (repeatChar(n, '1') =~ rprime)
@oderwat
oderwat / update-all-nim-gtk3.sh
Created February 24, 2015 21:18
Simple script to clone / pull and install the Nim GTK+3 wrappers from Stefan Saleski
#!/bin/bash
if [ ! -d "nim-gtk3" ]; then
git clone git@github.com:StefanSalewski/nim-gtk3.git
fi
cd nim-gtk3 && git pull && nimble install -y && cd ..
if [ ! -d "nim-gdk3" ]; then
git clone git@github.com:StefanSalewski/nim-gdk3.git
fi
@oderwat
oderwat / nimrun
Created March 4, 2015 22:34
nimrun (using my modified tcc with nim on osx)
#!/bin/bash
rm nim/nimcache/*
nim c -c --verbosity:0 -w:off --hints:off nim/ex1.nim
./tcc nim/nimstub.c -I/usr/local/lib/nim nim/nimcache/*.c -run
@oderwat
oderwat / aporia-hacked-to-osx.md
Created March 22, 2015 01:07
Hacking Aporia (Nim IDE) to work on Yosemite OS X with GTK 2 Quartz (no X11)

Aporia on OS X Yosemite (GTK+ 2.x)

"Don't try at home or don't blame me for lost hours of your life!"

See this Nim Forum Topic where this started.

Well I have a working Aporia version on my Yosemite OS X 10.10.2 from the new-suggest branch of the repository.

BUT the lengths I had to go to get this working are plastered with stuff I did not understand :)

#!/bin/sh
# Called by "git push" after it has checked the remote status,
# but before anything has been pushed.
#
# If this script exits with a non-zero status nothing will be pushed.
#
# Steps to install, from the root directory of your repo...
# 1. Copy the file into your repo at `.git/hooks/pre-push`
# 2. Set executable permissions, run `chmod +x .git/hooks/pre-push`