Skip to content

Instantly share code, notes, and snippets.

Avatar
kevin :: Coffee → Code

Kevin Brubeck Unhammer unhammer

kevin :: Coffee → Code
View GitHub Profile
@unhammer
unhammer / git-is-related
Last active April 5, 2022 08:08 — forked from simonwhitaker/git-is-ancestor
A script to determine whether one git commit is the ancestor of another
View git-is-related
View legal-xml-ids.txt
@unhammer
unhammer / Adder.hs
Created November 24, 2021 20:04 — forked from mtolly/Adder.hs
Small example of compiling a Haskell Mac .dylib to be used from C
View Adder.hs
{-# LANGUAGE ForeignFunctionInterface #-}
module Adder where
import Foreign.C
adder :: CInt -> CInt -> IO CInt
adder x y = return $ x + y
foreign export ccall adder :: CInt -> CInt -> IO CInt
@unhammer
unhammer / Words.hs
Created December 14, 2020 08:55
Data.Algorithm.Diff.Words extension to Diff package
View Words.hs
-----------------------------------------------------------------------------
-- |
-- Module : Data.Algorithm.Diff.Words
-- Copyright : (c) Kevin Brubeck Unhammer 2020
-- License : BSD 3 Clause
-- Maintainer : s.clover@gmail.com
-- Stability : experimental
-- Portability : portable
--
-- Convenience functions for "word-diffing" / grouping diffs by separators.
@unhammer
unhammer / Pascal.hs
Last active December 8, 2020 13:52 — forked from queertypes/Pascal.hs
Pascal's triangle in Haskell
View Pascal.hs
import Control.Applicative ((<$>))
center :: String -> Int -> String
center s n = spaces ++ s ++ spaces
where spaces = replicate ((n - length s) `div` 2) ' '
-- http://www.haskell.org/haskellwiki/Blow_your_mind, Ctrl-F "pascal"
pascal :: [[Int]]
pascal = iterate (\row -> zipWith (+) ([0] ++ row) (row ++ [0])) [1]
@unhammer
unhammer / .tmux.conf
Last active November 2, 2020 09:14
tmux double-click menu with "open in emacs" item
View .tmux.conf
bind-key -T root DoubleClick1Pane if-shell -F -t = "#{||:#{mouse_any_flag},#{pane_in_mode}}" "select-pane -t=; send-keys -M" "display-menu -t= -xM -yM -T \"#[align=centre]#{pane_index} (#{pane_id})\" 'Open in Emacs' 'e' {run 'cd \"#{pane_current_path}\" && ~/bin/switch-to-emacsclient \"#{q:mouse_word}\"'} '' '#{?mouse_word,Search For #[underscore]#{=/9/...:mouse_word},}' 'C-r' {copy-mode -t=; send -Xt= search-backward \"#{q:mouse_word}\"} '#{?mouse_word,Type #[underscore]#{=/9/...:mouse_word},}' 'C-y' {send-keys -l -- \"#{q:mouse_word}\"} '#{?mouse_word,Copy #[underscore]#{=/9/...:mouse_word},}' 'c' {set-buffer -- \"#{q:mouse_word}\"} '#{?mouse_line,Copy Line,}' 'l' {set-buffer -- \"#{q:mouse_line}\"} '' 'Horizontal Split' 'h' {split-window -h} 'Vertical Split' 'v' {split-window -v} '' 'Swap Up' 'u' {swap-pane -U} 'Swap Down' 'd' {swap-pane -D} '#{?pane_marked_set,,-}Swap Marked' 's' {swap-pane} '' '#{?pane_marked,Unmark,Mark}' 'm' {select-pane -m} '#{?wind
@unhammer
unhammer / test.html
Created June 25, 2020 18:14
alsadjfa
View test.html
<html>
<head>
<style>
h1 {
font-family: Verdana;
}
</style>
</head>
<body>
<h1>RAWR</h1>
View test.md

blah

stuff!

code:

{
  "foo": "bar"
}
@unhammer
unhammer / wp-email-validate-check.php
Created March 17, 2020 08:57 — forked from yolabingo/wp-email-validate-check.php
Test Wordpress email validation regular expression
View wp-email-validate-check.php
<?php
/*
When using a current PHP version, class-phpmailer.php:validateAddress() uses a complex regex ("pcre8") for email address validation.
PHP < 7.3 uses libpcre 8.x.
PHP 7.3 uses libpcre2 10.x.
Due to a bug in libpcre2 < 10.32-RC1 https://bugs.exim.org/show_bug.cgi?id=2300,
this email regex validation fails in PHP 7.3 with PCRE_VERSION < 10.32.
@unhammer
unhammer / install-mssql-ubuntu.sh
Created November 21, 2019 13:35
Fix mssql package for Ubuntu 19.10
View install-mssql-ubuntu.sh
#!/bin/bash
# https://askubuntu.com/a/1033956/25639
set -e -u
wget -qO- https://packages.microsoft.com/keys/microsoft.asc \
| sudo apt-key add -
echo 'deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial main' \
| sudo tee /etc/apt/sources.list.d/mssql-server.list