Skip to content

Instantly share code, notes, and snippets.

View Pewpewarrows's full-sized avatar
🦀

Marco Chomut Pewpewarrows

🦀
View GitHub Profile
@dryan
dryan / backup.py
Created January 22, 2014 19:21
Backup a MySQL database and/or a directory of files to S3.
#!/usr/bin/env python
import subprocess, sys, os, zipfile
try:
import boto
except ImportError:
print 'requires boto. `pip install boto`'
sys.exit(os.EX_UNAVAILABLE)
try:
@rmmh
rmmh / gist:8515577
Created January 20, 2014 05:53
MSP430 Alphanumeric Instructions
[0-9a-zA-Z]{2}
30-39,41-5a,61-7a
a:61 z:7a A:41 Z:5a 0:30 9:39
MSP430 alphanumeric shellcode is hard. There's no way to write to memory,
no word-sized reg-reg operations, and all we have is add/sub/mov and a few conditional jumps.
(function() {
'use strict';
var indexOf = function(list, needle) {
if (list.indexOf) return list.indexOf(needle);
for (var i = 0, n = list.length; i < n; i++) {
if (list[i] === needle) return i;
}
return -1;
};
@0xabad1dea
0xabad1dea / weird-machines-video-games.md
Last active December 26, 2025 00:20
Weird Machines in Video Games

Abadidea's Index of Weird Machines in Video Games

A "weird machine" is when user-supplied input is able to create an arbitrary new program running within an existing program due to Turing-completeness being exposed. Sometimes such functionality was deliberately included but it is often the result of exploitation of memory corruption. You can learn more at the langsec site. There is a good argument for weird machines being inherently dangerous, but this index is just for fun.

It is broken into two categories: intentional gameplay features which may be used as weird machines, and exploit-based machines which can be triggered by ordinary player input (tool-assisted for speed and precision is acceptable). Games with the sole purpose of programming (such as Core Wars) are not eligible and plugin APIs don't count. If you know of more, feel free to add a comment to this gist.

Intentional Gameplay Mechanics

#!/bin/sh
# Setup some variables needed for bootstrapping the environment
ROOT=/home/vrde/projectz/myproject
REPOS=${ROOT}/repos
export PYTHONPATH=${REPOS}
#!/bin/sh
#
# The hook should exit with non-zero status after issuing an appropriate
# message if it wants to stop the commit.
if git diff --cached | grep "NOCOMMIT"
then
echo "NOCOMMIT found in code, cancelling commit."
exit 1
fi
@xaviershay
xaviershay / build_frontend.sh
Last active December 24, 2015 20:49
SASS + Coffee + Concatenation in prod
#!/bin/bash
set -exo pipefail
BUILD_ENV=$1
if [ `uname` == 'Darwin' ]; then
OSX=1
JSCOMPRESSOR="yuicompressor --type js"
else
OSX=
@jbenet
jbenet / simple-git-branching-model.md
Last active December 30, 2025 11:27
a simple git branching model

a simple git branching model (written in 2013)

This is a very simple git workflow. It (and variants) is in use by many people. I settled on it after using it very effectively at Athena. GitHub does something similar; Zach Holman mentioned it in this talk.

Update: Woah, thanks for all the attention. Didn't expect this simple rant to get popular.

http://fluentconf.com/fluent2014
http://2013.jsconf.us/
http://cssconf.com/
http://events.jquery.org/2013/austin/
http://backboneconf.com/
http://www.ng-conf.org/
http://aneventapart.com/
http://2013.cascadiajs.com/
International:
@atmos
atmos / heaven.md
Last active November 23, 2020 22:35
Response to a dude who asked about heaven. https://github.com/holman/feedback/issues/422

@holman got a request about our deployment system, heaven

I know it's not a high priority, but has there been any activity on open-sourcing the core Heaven gem?

There is. I've been working on extracting the non-GitHub specific parts into two gems. This first is a CLI portion called hades. The second is an HTTP API portion called heaven.

When you open source something previously used as in internal tool like Heaven, Hubot, Boxen, etc., how do you manage and hook in the parts that need to stay internal?

Normally I focus around four questions: