Automaton

function Automaton(substr) { this.delta = [{"a":0, "b":1}, {"a":1, "b":0}]; this.state = 0; this.search = function(str) { this.state = 0; for (var i = 0; i < str.length; i++) { this.state = this.delta[this.state][str.charAt(i)]; WSH.Echo(this.state); } } } var a = new Automaton("..."); a.search("ababbbba");

2013-11-08 · tswr

Select

my $paddr = inet_aton($addr); croak "Cannot resolve '$addr'" if (!defined $paddr); socket SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp') or croak 'Cannot create socket'; connect SOCK, sockaddr_in($port, $paddr) or croak "Cannot connect to server '$server'"; send SOCK, "$query\r\n", 0; vec($rin, fileno(SOCK), 1) = 1; do { ($nfound) = select($rout = $rin, '', '', $timeout); croak 'Select() error' if ($nfound == -1); croak 'Timeout' if ($nfound == 0); croak 'Recv() error' if (!defined(recv SOCK, $buf, 512, 0)); $answer .= $buf; } while $buf ne ''; shutdown SOCK, 2;

2013-02-02 · tswr

Raw Sockets

sub sendRaw($$$) { use constant IPPROTO_RAW => 255; my ($destination, $dport, $packet) = @_; eval { socket(SOCKET, PF_INET, SOCK_RAW, IPPROTO_RAW); my $paddr = sockaddr_in($dport, inet_aton($destination)); send(SOCKET, $packet, 0, $paddr); }; if ($@) { print "Error occured: $@"; } } sub assembleRawUdp($$$$$) { my ($destination, $dport, $source, $sport, $data) = @_; ...

2013-02-02 · tswr

Tk

#!/usr/bin/perl use Tk; sub Exit { exit(0); } sub showHelp { $tl = $root->Toplevel; $tl->title("Help"); $tl->Label(-text => '(c) tswr')->pack(); } ...

2013-02-02 · tswr

Hamming Code

Source <html> <head> <title>Snippet for "Hamming code"</title> <style> body { padding: 5px; background-color: lightgoldenrodyellow } </style> <script type="text/javascript"> function copy() { var input = document.getElementById('input'); var output = document.getElementById('output'); output.value = input.value; } </script> </head> <body> <h4>Snippet for "Hamming code"</h4> <input type='text' id='input'></input> <input type='button' onclick='copy()' value='copy'></input><br> <input type='text' id='output'></input> </body> </html> Demo

2013-02-02 · tswr

IPC

alarm use Socket; eval { local $SIG{ALRM} = sub { die "time is out" }; alarm 3; socket SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'); connect SOCK, sockaddr_in(81, inet_aton("microsoft.com")) or die "connect failed"; alarm 0; send SOCK, "GET / HTTP/1.0\n\n", 0; print while <SOCK>; shutdown SOCK, 2; }; print "$@\n" if $@; die $warnings = 0; $SIG{__WARN__} = sub { print @_ if $warnings }; $SIG{__DIE__} = sub { print "Goodbye, my darling!\n" }; warn "i'm only warning..."; die "i'm dying..."; ...

2013-02-02 · tswr

Entropy

var message = "ananas"; var hash = new Array(); for (var i = 0; i < message.length; i++) { var char = message.charAt(i); if (typeof(hash[char]) == 'undefined') hash[char] = 1; else hash[char]++; } for (var key in hash) { WSH.Echo(key + " : " + hash[key]); }

2013-02-02 · tswr

Readfile

function readfile(filename) { var ForReading = 1; var fso, f, s = ""; fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.OpenTextFile(filename, ForReading, false); try { s = f.ReadAll(); } catch(e) { // ... } return s; } var s = readfile("1.txt"); WScript.Echo(s); var a = s.split("\r\n"); WScript.Echo(":" + a[0] + ":");

2013-02-02 · tswr