Skip to content

Instantly share code, notes, and snippets.

Avatar

Stephen Paul Weber singpolyma

View GitHub Profile
View mod_onions.lua.patch
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
View 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
View stanza.xml
<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)
View Gemfile
source "https://rubygems.org"
gem "blather"
gem "vcard"
@singpolyma
singpolyma / SqlSimpleHelpers.hs
Created August 12, 2016 21:06
*-simple helpers
View SqlSimpleHelpers.hs
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)
View http-stream-file.hs
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
View html2text.rb
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
View option_map_mut.rs
// 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
View autorotate.sh
#!/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)
View TDD.hs
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