Skip to content

Instantly share code, notes, and snippets.

View tracker1's full-sized avatar

Michael J. Ryan tracker1

View GitHub Profile
import {createAction} from 'redux-actions'
import {
SOMETHING_STARTED,
SOMETHING_SUCCESS,
SOMETHING_ERROR
} from './constants';
export const somethingStarted = createAction(SOMETHING_STARTED);
export const somethingSucceeded = createAction(SOMETHING_SUCCESS);
export const somethingFailed= createAction(SOMETHING_ERROR);
@tracker1
tracker1 / README.md
Last active May 11, 2019 14:37
Web.config file for synchronet on IIS

You'll need windows server, or windows pro for this, so that you have IIS. I'm running Windows 10 Pro.

Move your BBS's Web settings to bind on port 8000 (or any internal port you choose).

Install Application Request Routing (ARR)

Add your BBS's web/root directory to a new website in IIS, you must specify a host name, you can add additional host names under bindings.

My web.config file below, this file should also go into your web/root. You'll need to replace localhost:8000 with the appropriate port you are using. You sould also replace the www\.roughneckbbs\.com and www.roughneckbbs.com references with your host name.

@tracker1
tracker1 / .bash_profile
Last active January 7, 2016 05:52
Start ssh-agent in msysgit bash
# Add the following line to your .bash_profile
. start-ssh-agent.sh
@tracker1
tracker1 / sbbs-install-errors.log
Created August 14, 2015 04:14
sbbs install issues
This file has been truncated, but you can view the full file.
cvs checkout: Updating src/build
cvs checkout: Updating src/sbbs3
cvs checkout: Updating src/sbbs3/chat
cvs checkout: Updating src/sbbs3/ctrl
cvs checkout: Updating src/sbbs3/dosxtrn
cvs checkout: Updating src/sbbs3/execvxd
cvs checkout: Updating src/sbbs3/gtkchat
cvs checkout: Updating src/sbbs3/gtkmonitor
cvs checkout: Updating src/sbbs3/gtkmonitor/pixmaps
cvs checkout: Updating src/sbbs3/gtkuseredit
@tracker1
tracker1 / post-object-from-form.js
Created August 7, 2015 23:25
Post JSON object as form
//assumes jQuery
import clone from 'safe-clone-deep'
import encode from './html-encode';
export default function postObjectFromForm(url, data, options = {}) {
data = clone(data);
//console.log('postObjectFromForm', {url, data, options});
var form = $(`<form method="post" action="${encode(url)}"></form>`);
if (options.target) form.attr('target', options.target);
@tracker1
tracker1 / Global.asax.cs
Created June 26, 2015 18:42
Application_OnError Handler, take care of JS expected responses.
protected void Application_Error(object sender, EventArgs e)
{
var status = 500;
// Get the error details
var lastError = Server.GetLastError();
HttpException lastErrorWrapper = Server.GetLastError() as HttpException;
if (lastErrorWrapper != null)
{
@echo off
set batchdir=%~d0%~p0
:start
"%batchdir%pngquant.exe" --ext .q.png --force --verbose 256 %1
"%batchdir%optipng.exe" -force -o4 -out "%~dpn1.opt.png" "%~dpn1.q.png"
del "%~dpn1.q.png"
@tracker1
tracker1 / .eslintrc
Created March 24, 2015 00:43
ES6 Testing With Mocha and BabelJS
{
"ecmaFeatures": {
"arrowFunctions": true,
"binaryLiterals": false,
"blockBindings": true,
"classes": true,
"defaultParams": true,
"destructuring": true,
"forOf": true,
"generators": true,
@tracker1
tracker1 / keybase.md
Created March 13, 2015 18:27
keybase.md

Keybase proof

I hereby claim:

  • I am tracker1 on github.
  • I am tracker1 (https://keybase.io/tracker1) on keybase.
  • I have a public key whose fingerprint is A61A A793 9795 B51D 33FF C8DD 94C6 BAE3 A095 6216

To claim this, I am signing this object:

@tracker1
tracker1 / filter-etcd-config.js
Last active August 29, 2015 14:16
This is functional JavaScript - composition first
require('cc-globals'); //establishes fetch and R (ramda library) globally
//regular expression for valid etcd address
var address = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:\d{1,5}$/;
//if the input is a string, makes it an array containing the string, otherwise returns the original input
var fixStr = (v) => typeof v === 'string' ? [v] : v;
//converts collection input to an array, returns empty array otherwise
var fixArray = (v) => v && v.length && Array.prototype.slice.call(v) || [];