Skip to content

Instantly share code, notes, and snippets.

View hohl's full-sized avatar

Michael Hohl hohl

View GitHub Profile
@hohl
hohl / RedisEventEmitter.test.ts
Last active August 29, 2015 14:18
RedisEventEmitter for Node.JS written in TypeScript
/*
*
* █████╗ ██╗ ██╗ ██╗ █████╗ ██╗ ██╗███████╗ ██████╗ ███╗ ██╗ ██╗██████╗ ██████╗
* ██╔══██╗██║ ██║ ██║██╔══██╗╚██╗ ██╔╝██╔════╝██╔═══██╗████╗ ██║██╗██╗██║██╔══██╗██╔════╝
* ███████║██║ ██║ █╗ ██║███████║ ╚████╔╝ ███████╗██║ ██║██╔██╗ ██║╚═╝╚═╝██║██████╔╝██║
* ██╔══██║██║ ██║███╗██║██╔══██║ ╚██╔╝ ╚════██║██║ ██║██║╚██╗██║██╗██╗██║██╔══██╗██║
* ██║ ██║███████╗╚███╔███╔╝██║ ██║ ██║ ███████║╚██████╔╝██║ ╚████║╚═╝╚═╝██║██║ ██║╚██████╗
* ╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ╚═════╝
*
*
@hohl
hohl / pg_backup.sh
Last active September 5, 2015 11:35
Bash script which dumps a Postgres DB and uploads it via SFTP
#!/bin/bash
# Purpose: Dumps a PostgreSQL database and uploads it via SFTP to another host.
# Author: Michael Hohl <me@michaelhohl.net>
# -----------------------------------------------------------------------------
display_usage() {
echo "Usage: $0 <dbname> <user@stfp-target>"
}
if [ $# -ne 2 ]; then
@hohl
hohl / Parser.scala
Created September 14, 2015 09:21
Why does this single test case fail, while others work as expected?
// ...
lazy val prefix: Parser[Prefix] =
(host | nick) ~ opt('!' ~> user) ~ opt('@' ~> host) ^^ {
case t ~ u ~ s => Prefix(t, u, s)
}
lazy val host = """[a-zA-Z0-9.:\-^_\-\[\]\\/`]+""".r
lazy val nick = """(\p{L}|[0-9]|[-_\[\]\\`^\{\}\|])+""".r
lazy val user = """[^(\s|@)]+""".r
package hohl.irc
/*
<message> ::= [':' <prefix> <SPACE> ] <command> <params> <crlf>
<prefix> ::= <servername> | <nick> [ '!' <user> ] [ '@' <host> ]
<command> ::= <letter> { <letter> } | <number> <number> <number>
<SPACE> ::= ' ' { ' ' }
<params> ::= <SPACE> [ ':' <trailing> | <middle> <params> ]
<middle> ::= <Any *non-empty* sequence of octets not including SPACE or NUL or CR or LF, the first of which may not be ':'>
<trailing> ::= <Any, possibly *empty*, sequence of octets not including NUL or CR or LF>
@hohl
hohl / .htaccess
Last active July 19, 2023 05:19
rewrite URLs to remove .html ending and always hide "index.html"
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.html\ HTTP
//
// rfc3339.swift
// Alwyzon for iPhone and iPad
//
import Foundation
/// Parse RFC 3339 date string to NSDate
///
/// :param: rfc3339DateTimeString string with format "yyyy-MM-ddTHH:mm:ss.SSS"
@hohl
hohl / ThreadQueue.swift
Last active August 28, 2016 14:25
Serial dispatch queue implementation for cross-platform usage with Vapor. Feel free to use the code below as you want.
import Core
/**
Defines the basic ability of a job queue to dispatch jobs on a queue.
ThreadQueue is designed as protocol to support further implementations like a ConcurrentQueue.
*/
public protocol ThreadQueue {
func dispatch(_ function: @escaping () -> Void)
}
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo dpkg -i </path/to/cudnn-runtime.deb>
sudo dpkg -i </path/to/cudnn-developer.deb>
# replace the parts between < and > with your real file paths
@hohl
hohl / gist:eba551d34cda19bc694c0c36a3e076c8
Created January 17, 2020 09:51
Install Bazelisk for compiling Tensorflow 2.1
# Install Bazelisk.
sudo curl -Lo /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/download/v1.2.1/bazelisk-linux-amd64
sudo chmod +x /usr/local/bin/bazel
# Verify Bazel installation
bazel version