Skip to content

Instantly share code, notes, and snippets.

rhodey rhodey

  • lol, nah
View GitHub Profile
@rhodey
rhodey / muxrpc-tcp.js
Created May 16, 2018
trying to understand how to use muxrpc atop tcp.
View muxrpc-tcp.js
var pull = require('pull-stream')
var toPull = require('stream-to-pull-stream')
var net = require('net')
var MRPC = require('muxrpc')
var API = { echo : 'async' }
var server = undefined
var client = undefined
function echo(str, cb) {
@rhodey
rhodey / hash-signatures.js
Created Apr 12, 2018
playing around with hash-based signatures
View hash-signatures.js
const bitwise = require('bitwise')
const bignum = require('bignum')
const crypto = require('crypto')
function hash(buf) {
var hash = crypto.createHash('sha256')
hash.update(buf)
return hash.digest()
}
@rhodey
rhodey / Heretic.scala
Created Apr 14, 2017
True heretics keep their own time.
View Heretic.scala
package org.anhonesteffort.heretic
import scala.language.implicitConversions
object Heretic {
sealed trait Ticable {
def asTics(): Long
}
@rhodey
rhodey / gist:873ae9d527d8d2a38213
Last active Jan 18, 2018
RE: Flock shutting down
View gist:873ae9d527d8d2a38213

Those who have received the latest Flock update are hopefully now aware that the project is shutting down, with the final EOL date set for October 1st. It is my belief that Flock performed a function not fulfilled by any existing projects, I want to share with you the main reason for EOL so that future projects of the same kind may come about and find greater success.

WebDAV was the wrong choice

Many developers in the Free Software security/crypo/hacker/whatever-this-thing-is scene tend to complain (sometimes vehemently) when a new protocol is developed to replace an existing protocol. For example, 9 out of 10 people in the whatever-this-thing-is scene will tell you there is nothing wrong with XMPP or OTR and argue that you're anti-OSS to try and replace either, I was partially of this mindset when I decided to augment WebDAV for Flock instead of creating something new or using something modern. WebDAV came about in 1999 and it shows in every library and OSS server available today. The [Remote Storage](ht

View gist:2c320f67080c7e59d7df
var split = require('split');
var http = require('http');
function pullHaikuFromLine(line, offset) {
return line.replace(/\s{2,}/g, ' ')
.replace(/<div class="line">/g, "\n")
.replace(/<(?:.|\n)*?>/gm, ' ')
.substring(3);
}
@rhodey
rhodey / scrape-message-ids.js
Created Oct 21, 2014
A quick & dirty script to monitor the "ST LOUIS COPTALK" forum for deleted messages (http://members.boardhost.com/stlouiscoptalk/index.html). A list of message ids is saved to "process.argv[2].Date.now()", make this a cron job and then identify deleted messages through diffs.
View scrape-message-ids.js
var fs = require('fs');
var split = require('split');
var http = require('http');
var pages = new Array();
var messageIds = new Array();
var pageScrapeCount = 0;
var msgIdFileName = process.argv[2] + '.' + Date.now();
var msgIdFile = fs.createWriteStream(msgIdFileName);
View gist:ec47ce821c3b08d6f0f6
GROUP="org/whispersystems"
ARTIFACT="libpastelog"
VERSION="1.0.1"
EMAIL="rhodey@anhonesteffort.org"
if curl "https://repo1.maven.org/maven2/$GROUP/$ARTIFACT/" | grep "$VERSION/"; then
echo "is available! :D" | mail -s "$ARTIFACT $VERSION" $EMAIL
fi
@rhodey
rhodey / minigames.md
Last active Dec 28, 2015
community building through minigames.
View minigames.md

Community Minigames

I assert that in the absence of regular interaction, communities will segregate physically and emotionally, and inevitably become unhealthy. I believe that interactions should more often than not be collaborative, though competitive and even provocative interactions can serve a greater purpose as well.

I would like to foster community growth within and across fractured communities through a geographically distributed system that encourages interaction on shared tasks, more specifically games, more specifically something like "Mario Party" style minigames.

Generally speaking, minigames are comprised of resources and controls. The task of the player is to manipulate the controls and resources using a strategy to obtain reward. So, the task of the minigame designer is to establish a set of controls that can manipulate resources and are equally accessible to all players, and to a determine a reward or set of rewards that are desirable to all.

The most primit

You can’t perform that action at this time.