Skip to content

Instantly share code, notes, and snippets.

View singpolyma's full-sized avatar

Stephen Paul Weber singpolyma

View GitHub Profile
diff -r 7a3ac037e57f mod_onions/mod_onions.lua
--- a/mod_onions/mod_onions.lua Fri Jun 08 21:59:42 2018 +0200
+++ b/mod_onions/mod_onions.lua Mon Dec 03 01:28:59 2018 +0000
@@ -148,12 +148,16 @@
end
function socks5listener.onconnect(conn)
+ if not sessions[conn].socks5_handler == socks5_handshake_sent then
+
module:log("debug", "Connected to SOCKS5 proxy, sending SOCKS5 handshake.");
@singpolyma
singpolyma / git-ipfs
Last active October 1, 2017 22:04
git-ipfs
#!/bin/sh
set -e
TMP="$(mktemp -d)"
git clone -q --bare . "$TMP"
cd "$TMP"
git update-server-info
if [ objects/pack/*.pack != 'objects/pack/*.pack' ]; then
cat objects/pack/*.pack | git unpack-objects
@singpolyma
singpolyma / stanza.xml
Last active March 7, 2017 22:43
Movim file transfer
<message type='chat'>
<body>https://upload.movim.eu/get/2emEaZ6N2T8t--Pfd_qZv7-nI4E/EzfA43bGA9ydH/biclogo.png</body>
<reference xmlns='urn:xmpp:reference:0' type='data'>
<media-sharing xmlns='urn:xmpp:sims:1'>
<file xmlns='urn:xmpp:jingle:apps:file-transfer:4'>
<media-type>image/png</media-type>
<name>biclogo.png</name>
@singpolyma
singpolyma / Gemfile
Last active April 8, 2020 00:37
Add cell numbers from a set of vcards to your XMPP roster (through Cheogram)
source "https://rubygems.org"
gem "blather"
gem "vcard"
@singpolyma
singpolyma / SqlSimpleHelpers.hs
Created August 12, 2016 21:06
*-simple helpers
module SqlSimpleHelpers where
import Prelude hiding (all)
import Control.Applicative ((<*>))
import Data.Tagged (Tagged(..), asTaggedTypeOf)
import Data.Text (Text)
import qualified Data.Text as T
class SqlColumns a where
columns :: Tagged a [Text] -- ^ Columns representend in the Haskell data, in order used in ToRow/FromRow
@singpolyma
singpolyma / http-stream-file.hs
Created March 14, 2016 18:26
Stream a file as it is created (such as a video)
module Main (main) where
import Control.Monad (forever, when)
import System.Environment (getArgs)
import System.IO (withBinaryFile, hIsEOF, IOMode(ReadMode), hSetBuffering, BufferMode(BlockBuffering))
import Control.Concurrent (threadDelay)
import Blaze.ByteString.Builder.ByteString (fromByteString)
import Data.ByteString (ByteString)
import Data.ByteString as BS
import Data.Text as T
@singpolyma
singpolyma / html2text.rb
Created November 20, 2015 19:52
Example algorithm to textify HTML of tweetish posts
require 'nokogiri'
def content_text(nodes)
nodes.map do |el|
if el.text? || el.attributes['class'].to_s.match(/\b(?:h\-card|vcard|h\-x\-username)\b/) || el.attributes['rel'].to_s.match(/\btag\b/)
el.text
elsif el.name == 'a'
href = el.attributes['href'].to_s
if el.text.strip == ''
''
@singpolyma
singpolyma / option_map_mut.rs
Last active August 29, 2015 14:26
Mutable variable swap in rust
// This allows you to consume a variable ane replace it with a new value
fn option_map_mut<T, F: FnOnce(T) -> T>(x: &mut Option<T>, f: F) {
match *x {
Some(_) => {
*x = Some(f(x.take().unwrap()));
}
None => {}
}
}
@singpolyma
singpolyma / autorotate.sh
Created April 22, 2015 14:19
Novena Autorotate Script
#!/bin/sh
set -e
x="$(cat /sys/bus/iio/devices/iio:device0/in_accel_x_raw)"
y="$(cat /sys/bus/iio/devices/iio:device0/in_accel_y_raw)"
abs_x="$x"
[ "$x" -lt 0 ] && abs_x=$(( $x * -1 ))
@singpolyma
singpolyma / TDD.hs
Created April 8, 2015 18:43
TDD add exercise (no errors yet)
module TDD (add) where
import qualified Data.Text as T
data ArgumentError = ArgumentError deriving (Show)
add :: String -> Integer
add s = sum $ map toI $ T.split (\d -> d == ',' || d == '\n') (T.pack s)
toI :: T.Text -> Integer