Skip to content

Instantly share code, notes, and snippets.

@Abstrct
Abstrct / galaxy.pl
Created September 10, 2014 19:29
Schemaverse - Multi Instance Framework
#!/usr/bin/perl
#############################
# Galaxy v0.0.0.0.1 #
# Created by Josh McDougall #
#############################
# Sit this in a screen and walk away
# use module
use DBI;
@Abstrct
Abstrct / keybase.md
Last active December 31, 2016 02:52

Keybase proof

I hereby claim:

  • I am abstrct on github.
  • I am abstract (https://keybase.io/abstract) on keybase.
  • I have a public key whose fingerprint is 7EAF 329D CC20 C78E 30A4 602C 3FAD D08F BF69 76D0

To claim this, I am signing this object:

c0 60 f8 ef ae d3 bb cc d4 30 75 b4 2d d2 b7 08
df ec db 60 95 e3 19 38 26 c1 9a 37 a2 11 58 d9
19 1f 73 21 f2 38 55 74 8c e7 b7 6a 06 ec 16 fd
87 69 c0 3a d7 6b 54 6c 53 02 ab 40 2d 14 be b8
fb f8 63 6f 76 cb e6 52 72 6a 5f 07 d4 a6 f5 6c
f7 81 f4 bc 4a 3e 5e 9d 0c fd d8 af d5 46 65 4d
42 80 d1 f0 c3 cc 55 80 c4 40 90 9d fa 33 a9 58
9a af 57 6b fc 41 25 a2 68 6d 4c 82 19 59 94 b9
af 09 4c 70 d8 37 e4 27 bd 96 0d 39 f6 d6 c8 7d
d2 22 fc 27 09 78 90 79 23 d9 ba df 71 db 64 56
@Abstrct
Abstrct / gist:7796567
Created December 4, 2013 22:14
New Schemaverse repo is almost ready! Now using 100% more sqitch
abstract@dev:~/schemaverse$ sqitch --db-name sv deploy
Adding metadata tables to sv
Deploying changes to sv
+ sequence-round_seq ................. ok
+ sequence-tic_seq ................... ok
+ function-generate_string ........... ok
+ table-player ....................... ok
+ sequence-player_id_seq ............. ok
+ data-schemaverse_player ............ ok
+ view-my_player ..................... ok
CREATE OR REPLACE RULE ship_control_update AS
ON UPDATE TO my_ships DO INSTEAD ( UPDATE ship_control SET target_speed = new.target_speed,
target_direction = new.target_direction,
destination_x = COALESCE(new.destination_x, new.destination[0]),
destination_y = coalesce(new.destination_y, new.destination[1]),
destination = COALESCE(new.destination,POINT(new.destination_x, new.destination_y)), repair_priority = new.repair_priority, action = new.action, action_target_id = new.action_target_id
WHERE ship_control.ship_id = new.id;
UPDATE ship SET name = new.name, fleet_id = new.fleet_id
WHERE ship.id = new.id;
);
CREATE OR REPLACE FUNCTION move_ships()
RETURNS boolean AS
$BODY$
DECLARE
ship_control_ record;
velocity point;
new_velocity point;
vector point;
@Abstrct
Abstrct / gist:058ce368c0d59b3c2119
Created July 16, 2014 16:01
defcoind Ruby RPC wrapper
# This class is just a copy from the Bitcoin class shared here: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
class CoinRPC
def initialize(service_url)
@uri = URI.parse(service_url)
end
def method_missing(name, *args)
post_body = { 'method' => name, 'params' => args, 'id' => 'jsonrpc' }.to_json
resp = JSON.parse( http_post_request(post_body) )
-- Getting Started in The Schemaverse
-- Last edited: 7/13/11 10:25
-- Step 1
-- Whoops Where did step one go?
-- Step 2 - Create a fleet that will run while you're not paying attention
-- If you ran the previously posted script, you can comment this out.
INSERT INTO my_fleets(name) VALUES('Controller');
INSERT INTO my_fleets(name) VALUES('My Home Fleet');

The Schemaverse [skee-muh vurs] is a space battleground that lives inside a PostgreSQL database. Mine the hell out of resources and build up your fleet of ships, all while trying to protect your home planet. Once you're ready, head out and conquer the map from other DEF CON rivals.

This unique game gives you direct access to the database that governs the rules. Write SQL queries directly by connecting with any supported PostgreSQL client or use your favourite language to write AI that plays on your behalf. This is DEF CON of course though so start working on your SQL Injections - anything goes!

Prizes generally include honorable swag, Bitcoin, software licenses and entire mugs of respect.

Looking to sign up or need a hand? Come visit us at our booth in the Contest Area.

=begin
WARNING - This has some issues with really small numbers at the moment. I think this goes without saying
for random gists you find on the internet, but you probably shouldn't use this in production.
For every altcoin you want to store, create this schema:
CREATE SCHEMA fuckcoin;
CREATE TABLE fuckcoin.block (