Skip to content

Instantly share code, notes, and snippets.

View ironcamel's full-sized avatar

Naveed Massjouni ironcamel

  • Blacksburg, VA, USA
View GitHub Profile
@mfontani
mfontani / raptor.sh
Created June 23, 2011 13:10
raptor -- type less to do more with a Perl one-liner
# Based on http://blogs.perl.org/users/randy_stauner/2011/06/exploratory-one-liners-with-less-typing.html
# and a couple more things which are *really* handy
function raptor {
case "$1" in
-*) break ;;
'')
echo "Syntax: raptor [-lneEp etc] 'code'
The code can make use of:
DD() to Data::Dumper::Dumper() a thing, D() to say() it
YY() to YAML::Dump() a thing, Y() to say() it
# A typical piece of data
> mixed_data = {"id"=>18929882, "title"=>"Lorem Ipsum", "author"=>"Sit Dolor"}
# JSON stores the data in a reasonable amount of space...
> mixed_data.to_json.length
=> 58
# But messagepack does much better
> MessagePack.pack(mixed_data).length
=> 44
# That's a pretty big difference! But its even more efficient with numbers
> numerical_array = [1223, 2190, 1980092, 8932191892, 98321982189]
@throughnothing
throughnothing / gist:936021
Created April 22, 2011 04:37
PRU examples -> Perl
# grep --- all lines including foo
ls -al | grep foo
ls -al | pru /foo/
ls -al | perl -ne 'print if /foo/'
perl -E 'say for <*foo*>'
# grep --- all lines including current date
ls -al | grep $(date +"%Y-%m-%d")
ls -al | pru 'include?(Time.now.strftime("%Y-%m-%d"))'
ls -al | perl -MTime::Piece -ne '$d=localtime->strftime("%Y-%m-%d");print if /$d/'
#!perl
use strict;
use Acme::CPANAuthors;
use File::Find;
use Getopt::Long;
use LWP::Simple;
use File::Temp qw(tempdir);
use Acme::CPANAuthors::Japanese;
use CPAN::DistnameInfo;
use Compress::Zlib;
@lfborjas
lfborjas / gist:817504
Created February 8, 2011 23:12
Filter even numbers in a list; fork it for maximum fun!
#these are meant to be run in a REPL, and the java one in beanshell of something of the sort:
#ruby
[1,2,3,4].select{ |x| x.even? }
#python
[x for x in [1,2,3,4] if not x%2]
#or, more norvingly
filter(lambda x: not x%2, [1,2,3,4])
#clojure
@tildedave
tildedave / automated-war-deploy.pl
Created January 31, 2011 21:41
Watch a WAR file for changes, and then deploy it to the root of a running tomcat instance.
#!/usr/bin/perl
use strict;
use warnings;
use File::Monitor;
use File::Path::Expand;
use File::Copy;
use File::Remove;
use App::Rad;
@schwern
schwern / mxd_vs_ms_vs_perl.pl
Created January 10, 2011 06:21
Benchmarking MooseX::Declare vs Method::Signatures vs hand written
#!/usr/bin/perl -w
use MooseX::Declare;
class WithDeclare {
has greetings =>
is => 'rw',
isa => 'Str',
default => "Hello"
;
@ironcamel
ironcamel / index.tt
Created December 20, 2010 09:01
A simple websocket web app using the Dancer web framework http://perldancer.org
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
var socket;
$(function() {
// ws_path should be of the form ws://host/_hippie/ws
var ws_path = "ws:<% request.base.opaque %>_hippie/ws";
@tildedave
tildedave / ruby-1.8.7-is-poorly-scoped.rb
Created December 2, 2010 14:03
from Andrew Kennedy
# scoping in ruby 1.8.7
x = 0
[1,2,3].each{|x| puts x}
puts x
@avar
avar / benchmark-hello.pl
Created October 17, 2010 13:45
Benchmark Hello world programs. From http://news.ycombinator.com/item?id=1800220
#!/usr/bin/env perl
use strict;
use warnings;
use autodie qw(:all);
use Benchmark qw(:all);
use File::Temp qw(tempdir);
use File::Spec::Functions qw(catfile);
my $dir = tempdir(CLEANUP => 0);
my $obj_file = emit_c($dir);