Skip to content

Instantly share code, notes, and snippets.

View destroytoday's full-sized avatar

Jonnie Hallman destroytoday

View GitHub Profile
@destroytoday
destroytoday / update_flexunit
Created January 8, 2011 07:23
A bash script for updating the FlexUnit swc across all destroy libs
#!/bin/bash
rm ~/dev/as3/destroy-*/lib/flexunit*
FILES=~/dev/as3/destroy-*/lib
for f in $FILES
do
cp -f ~/dev/as3/flexunit/FlexUnit4/target/flexunit*as3*.swc $f
done
package
{
public interface IRecycleOperation extends IDisposable
{
function get numObjects():int;
function get numDataItems():int;
function createObject():void;
function reuseObject(i:int):void;
function setupObject(i:int):void;
@destroytoday
destroytoday / DisplayObject.as
Created February 10, 2011 18:18
Proposal for the use of interfaces to allow mocking of final classes like Stage
package flash.display.DisplayObject
{
public class DisplayObject extends EventDispatcher implements IDisplayObject
{
public function DisplayObject()
{
}
public function get stage():IStage
{
@destroytoday
destroytoday / List.as
Created February 26, 2011 02:04
REALLY scrappy prototype of a virtual list with variable-height rows
package com.destroytoday.scratch.virtualvariableheightlist
{
import flash.display.Graphics;
import flash.display.Sprite;
public class List extends Sprite
{
protected var colorList:Array =
[
0xFF0099, 0x9900FF, 0xFF9900, 0x663399, 0xFF0000,
@destroytoday
destroytoday / Background.as
Created March 7, 2011 01:57
New invalidation strategy, using a flag manager and mapping methods
package com.destroytoday.scratch
{
import com.destroytoday.invalidation.InvalidationFlag;
import com.destroytoday.invalidation.NewInvalidatingSprite;
import flash.display.Graphics;
import flash.events.Event;
import flash.events.MouseEvent;
public class Background extends InvalidatingSprite
@destroytoday
destroytoday / gist:899948
Created April 2, 2011 22:05
Prints classes in src folder that don't have an accompanying test file, excluding provided regex args
#!/usr/bin/ruby
puts "Testless classes in #{Dir.pwd}, excluding #{ARGV.join(', ')}:"
Dir.glob("src/**/*.as") do |f|
test = f.sub('src', 'test').sub('.as', 'Test.as')
exclude = false
ARGV.each do |arg|
if (test.match(arg))
@destroytoday
destroytoday / gist:979553
Created May 18, 2011 21:02
DestroyTwitter link regex
/(?<!@)(\b)((((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp):\/\/)|(www\.))*((([✪a-zA-Z0-9_-]+\.)+(aero|asia|biz|cat|com|coop|edu|gov|int|info|jobs|mobi|museum|name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bl|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mf|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw))|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(\/[a-zA-Z0-9\+\
<?php
ini_set ( "memory_limit", "1000M");
set_time_limit ('1000');
$tmp = $_FILES['file'];
$type = strtolower(strstr ($tmp['name'], "."));
if ($type == '.jpg' || $type == '.jpeg')
{
@destroytoday
destroytoday / image_tag.rb
Created July 10, 2011 20:52
Tag for auto-setting image sizes in Jekyll
module Image
class ImageTag < Liquid::Tag
require 'RMagick'
SYNTAX = /(?:'|")([^ ]+)(?:'|")\s?(?:(?:'|")(.+)(?:'|"))*/
def initialize(tag_name, markup, tokens)
super
if markup =~ SYNTAX
@url = $1
package com.destroytoday.twitterdiff.command.snapshot.follower
{
import com.destroytoday.twitterdiff.core.IDatabaseService;
import com.destroytoday.twitterdiff.model.FollowerSnapshotModel;
import com.destroytoday.twitterdiff.model.vo.User;
import com.destroytoday.util.VectorUtil;
import com.destroytoday.vo.Timespan;
import flash.data.SQLResult;
import flash.errors.SQLError;