Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
.sig programs

By Fabian in Technology
Thu Apr 12, 2001 at 04:31:56 PM EST
Tags: Software (all tags)
Software

I was amused recently to note this guy's sig:

main(){int i,j,k,l;for(i=-12;i<13;i++,printf("\033[H")){for(l=61968*457+
1,l*=5;l>8;l>>=4)p(97-(l>>22)+(l&15));for(j=-12;j<12;){for(k=j+12?-12:-6
;12>k;)p((l=k*k+++i*i+j*j)<12*12?(l=sqrt(l))[".,:;iIJYVSOM"]:32);j++<11?
p(10):0;}}puts("Elijah: elijah@workspot.net");}p(int m){printf("%c",m);}

It's a standard sig (= 4 lines of not more than 72 characters) that compiles (strictly speaking it doesn't, because the first line, #include <math.h> is missing, but it's kind of implied) to do something rather cool (bonus points if you can work out what that is without compiling it (cc test.c -o test -lm to compile)).

Anyway, I'm inviting submissions of .sig programs (in any language). Any program any language, no more than 4 * 72 characters. The best one wins my undying admiration.


Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
.sigs are for
o promoting your business 4%
o covering your ass by disclaiming everything you wrote in the email 13%
o leaving cool programs 21%
o pointless 31%
o linking to good stuff 6%
o fortune -s 22%

Votes: 61
Results | Other Polls

Related Links
o Also by Fabian


Display: Sort:
.sig programs | 35 comments (34 topical, 1 editorial, 0 hidden)
Found in google's cache (5.00 / 3) (#1)
by Jerry on Thu Apr 12, 2001 at 09:02:12 AM EST

I googled, and there was this nice page, now only in the cache, so you'd better back it up quick. http://www.google.com/search?q=cache:home.planet.nl/~faase009/Signindex.html+.sig+programs&hl=en.
<p>
There are some nice fractals there, which are probably the only things to work in 4 lines, plus even a virus.

moire.pl (3.33 / 3) (#2)
by pb on Thu Apr 12, 2001 at 09:10:17 AM EST

#!/usr/bin/perl
$|=1;$a=' .*MX8$@';for(++$c;$c<5;$c+=4e-3){$b="\e[2J";for(0..1999){$d=
$_;$d%=80;$_/=80;$b.=substr$a,$_*$d/$c&7,1}print $b;select$e,$e,$e,.02}

---
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
Internation Obfuscated .sig contest? (4.00 / 1) (#3)
by jabber on Thu Apr 12, 2001 at 09:11:51 AM EST

Let the games begin!

[TINK5C] |"Is K5 my kapusta intellectual teddy bear?"| "Yes"

Re: .sig programs (5.00 / 1) (#4)
by GreatUnknown on Thu Apr 12, 2001 at 11:12:58 AM EST

From someone in my local LUG...

We had an interesting discussion about this one... :)


#include <signal.h>
#include <time.h>
main(){srandom(time(0));for(;;){int pid=random()%30000;if(pid>1
&&pid!=getpid())kill(pid,random()&1?SIGSTOP:SIGBUS);sleep(10);}}

my personal fave: (4.00 / 1) (#6)
by joeyo on Thu Apr 12, 2001 at 01:53:12 PM EST

echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sb20293A2058554E494Csn lbxq'|dc

I didn't actually write this one, so I can't take credit. But it's pretty darn cool.

/joeyo

--
"Give me enough variables to work with, and I can probably do away with the notion of human free will." -- demi

in case it doesn't work for you... (3.00 / 1) (#7)
by depsypher on Thu Apr 12, 2001 at 02:15:25 PM EST

very cool obfuscated program. I also had to... #include "stdio.h" for the printf statement, and move the definition of p up above main before it would work in Visual C++ 6.0.

Fun with multiple languages... (4.33 / 3) (#8)
by aaron on Thu Apr 12, 2001 at 03:21:50 PM EST

A simple one to honor my two favorite languages. Also really annoys both Perl and Python bigots.
#!/usr/bin/perl -w
use Inline Python=>'def h(x): return("Just Another %s Hacker\n" % x)';
print h("Free Sofware");


Postscript (4.50 / 2) (#9)
by DaveMe on Thu Apr 12, 2001 at 03:28:17 PM EST

I created the following a while ago. Save it in a file and open it with GhostScript or something similar.

/C{setrgbcolor}def /M{moveto}def 0 0 1 C 0 12 1000{200 200 M 0 100 200
200 800 curveto stroke}for /Helvetica findfont 20 scalefont setfont 1
0 0 C 0 20 360{gsave 450 650 M rotate( Kuro5hin)show grestore}for 390
10 M 0 0 0 C (by DaveMe)show

A little long... (4.00 / 1) (#10)
by skim123 on Thu Apr 12, 2001 at 04:12:36 PM EST

Ok, these are a bit lengthy (in the low/mid 100s characters), but I think you'll enjoy them:

main(int i,char**a){float l=atoi(a[1]),y=0,z,c; for(;y<l;y++){for (z=0;z<=y;z++){ for(i=c=1;i<=y-z;)c*=(i+z)/i++;printf("%f ",c);}printf("\n");}}

main(int i,char**a){float n=atoi(a[i=1]),k=atoi(a[2]),c=1; for(;i<=n-k;c*=(i+k)/i++);printf("%f",c);}

main(int i,char**a){int m=1,j;char*t,*n;for(;m<i;m++){n=a[m];for(j=m-1;j>0 &&atoi(n)<atoi(a[j]);a[j+1]=a[j--]);a[j+1]=n;}for(m=1;m<i; printf("%s ",a[m++]));}

Enjoy! :-)

Money is in some respects like fire; it is a very excellent servant but a terrible master.
PT Barnum


Hmm (none / 0) (#18)
by fluffy grue on Fri Apr 13, 2001 at 03:38:38 PM EST

Hm. The first and third ones are fairly easy to figure out (and not entirely impressive), but what's the mathematical transform happening in the second one? I'm having a hard time figuring it out, codewise or via experimentation.
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]
[ Parent ]

Well... (none / 0) (#20)
by skim123 on Fri Apr 13, 2001 at 05:33:21 PM EST

Hm. The first and third ones are fairly easy to figure out (and not entirely impressive), but what's the mathematical transform happening in the second one? I'm having a hard time figuring it out, codewise or via experimentation

It expects two integral entries from the command-line, as I'm sure you can tell via the code (call them x and y). It then performs the mathematical operation C(x,y), or x choose y, as it's sometimes referred to. Combinatorics, baby.

Money is in some respects like fire; it is a very excellent servant but a terrible master.
PT Barnum


[ Parent ]
Sorta what I thought (none / 0) (#21)
by fluffy grue on Fri Apr 13, 2001 at 09:06:07 PM EST

The code looked like it was doing x choose y, but it didn't give me the results which I thought it should be when I was trying it out.
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]
[ Parent ]

Signatures in Python (5.00 / 2) (#11)
by Aquarius on Thu Apr 12, 2001 at 04:39:16 PM EST

from string import *;import re,base64;w=base64.decodestring("YXF1YXJp"+
"dXNAa3J5b2dlbml4Lm9yZw==");u='['+lowercase+']';print re.sub(u,'-',w)
while filter(lambda x: x in u,w): s=raw_input('Letter:');u=filter\
(lambda x: x != s,u);print re.sub(u,'-',w)


That's my favourite, I think, at least partially because I wrote it :-)

Andy Kuchling has more of this sort of thing (including Python versions of RSA-in-4-lines and so on) at http://www.amk.ca/python/writing/crypto-curiosa.html.

Aq.


"The grand plan that is Aquarius proceeds apace" -- Ronin, Frank Miller
C++ one (4.75 / 4) (#12)
by fluffy grue on Thu Apr 12, 2001 at 05:01:29 PM EST

#include <iostream>
#include <string>
main(){ostream*__(&cout);int _;for(_^=_^'d';(_^_<_?*__<<_<<" bottles of beer on the wall\n",(int)__:_);_+=_+~_);}

I could make it more obscure if I gave a crap.
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]

Here's mine: (4.00 / 1) (#13)
by alisdair on Thu Apr 12, 2001 at 06:12:16 PM EST

#define p(s,f,a)if(strncmp((*v+strlen(*v)-3),s,3)==0)printf(f,a);else
main(unsigned n,char**v){char b[33];if(n!=2){printf("Usage: %s num\n"
,*v);exit(1);}n=strtol(v[1],0,0);p("dec","%ld\n",n)p("hex","0x%X\n",n
){int i=32;b[i]=0;for(;i;){b[i-=1]=48+n%2;n/=2;}p("bin","%s\n",b);};}
You'll want to:
gcc -o bin signature
ln -s bin dec
ln -s bin hex
Then have fun. I'm quite proud of how neat this is; a nice 69x4 block.

'indent' is your friend: (4.00 / 1) (#14)
by blackwizard on Thu Apr 12, 2001 at 11:36:40 PM EST

After running GNU indent:

#include <math.h>

main ()
{
  int i, j, k, l;
  for (i = -12; i < 13; i++, printf ("\033[H"))
    {
      for (l = 61968 * 457 + 1, l *= 5; l > 8; l >>= 4)
        p (97 - (l >> 22) + (l & 15));
      for (j = -12; j < 12;)
        {
          for (k = j + 12 ? -12 : -6; 12 > k;)
            p ((l = k * k++ + i * i + j * j) <
               12 * 12 ? (l = sqrt (l))[".,:;iIJYVSOM"] : 32);
          j++ < 11 ? p (10) : 0;
        }
    }
  puts ("Elijah: elijah@workspot.net");
}
p (int m)
{
  printf ("%c", m);
}

... a little more readable, but I still had to run it to figure out what it did. =)

The one I came up with (3.50 / 2) (#15)
by Eimi on Fri Apr 13, 2001 at 01:11:23 AM EST

perl -le '$_=(split("\"",`$^Xdoc -q japh`))[1].".";y/pj/PJ/;print'

The Matrix (5.00 / 1) (#16)
by Misagon on Fri Apr 13, 2001 at 02:15:21 PM EST

This is my sig:

-------------------------------------------------------------------------
char*s="moc.qit@nahoj ",c,a[40],r[40];q(p,a)char*p
;{*p=(*p?*p-1-a:rand())%24+a;}main(){l:for(c=40;--c;){q(r+c,0);q(a+c,13);
printf("\e[%d;%dH%c\n",24-r[c],c*2+1,s[a[c]]);}usleep(1<<12);goto l;}
----------------------------------------------- 218 bytes -- aj där ya --

Compile as "matrix", then run as "> clear; ./matrix"

I have also made a color version:

char*s="moc.qit@nahoJ ",c,a[40],r[40];
q(p,a)char*p;{*p=(*p?*p-1-a:rand())%24+a;}
p(k){for(c=40;--c;)printf("\e[%dm\e[3%dm\e[%d;%dH%c\n",k>>2,k,24-r[c],c*2,s[a[c]]);}
main(){l:for(c=40;--c;){;q(r+c,0);q(a+c,13);}p(7);usleep(25000);p(2);goto l;}


--
Don't Allow Yourself To Be Programmed!

Cool... (none / 0) (#28)
by PsionicMan on Sat Apr 14, 2001 at 08:37:42 PM EST

I just compiled the color version... that's really cool. I think I'll leave it running non-stop :)

Max, in America, it's customary to drive on the right.
It's turning into a damn police state, Sam!
[ Parent ]

Alright, how about Fortran (4.00 / 1) (#17)
by a humble lich on Fri Apr 13, 2001 at 02:44:20 PM EST

OK,I figured there need to be at least one Fortran program :-) For those of you without easy access to a Fortran 90 complier this integrates the Lorenz equations in the parameter region where they are chaotic. My only regrets are that I couldn't use more implicit variable declarations, and I had had to add a hack so I could use more than four lines.

!replace all ";" with "<Enter>"
program a;real x(3); do i=1,9999; x=x+.01*f(x); write(42,*) x;end do;
contains;function f(x);real f(3),x(3);f(1)=-3.*(x(1)-x(2));f(2)=26.*&
x(1)-x(2)-x(1)*x(3);f(3)=x(1)*x(2)-x(3);end function f;end program a;


New, Improved (4.00 / 1) (#22)
by a humble lich on Fri Apr 13, 2001 at 09:38:36 PM EST

program l;real x(3),a(3),b(3),c(3),d(3);h=.01;do i=1,9999;a=h*f(x);b=h&
*f(x+a/2.);c=h*f(x+b/2.);d=h*f(x+c);x=x+(a+2.*(b+c)+d)/3.;write(8,*) x;
end do;contains;function f(x);real f(3),x(3);f(1)=-3.*(x(1)-x(2));f(2)&
=26.*x(1)-x(2)-x(1)*x(3);f(3)=x(1)*x(2)-x(3);end function;end program

286 bytes

This version now uses a 4th order Runge-Kutta scheme and is thus much more accurate than the Euler integration used before.

[ Parent ]
Heres a few diddies! (4.00 / 1) (#26)
by Mad Hughagi on Sat Apr 14, 2001 at 06:53:49 AM EST

Here are few that might be interesting.

The first is a program uses the bisection method to bracket a root of f=-cos(x)/x+sin(x)/x^2. Although it will find a root, it might not be the global minimum, and I could probably write it with Newtons method, but I guess I'm too lazy!

The second program uses a ten-cycle annealing method to handle the minimum for f(x)=-sin(x)/x. It's a minimization technique that gradually relaxes the temperature of the system, and as the temperature decreases, the system should settle into the global minimum, since the magnitude of it's random walk gradually decreases. Pretty neat... anyways:

program k;real f,x(3);x(1)=-1.5;x(2)=15.0;do i=1,15;

x(3)=(x(1)+x(2))/2;f=-cos(x(3))/x(3)+sin(x(3))/x(3)**2;

if (f.lt.0.0) then;x(1)=x(3);x(2)=x(2);else;x(1)=x(1);x(2)=x(3);

endif;write(*,*) i,x(1),x(3);enddo;stop;end

program q;real x,y,z,a,random,p,t;s=6;t=0.2;x=-1+random(s)*16;

do i=1,10;if (i.gt.1) t=t*0.45;do j=1,8000;y=x+random(s)*2-1;

z=-sin(x)/x;a=-sin(y)/y;p=exp((z-a)/t);if(y.lt.16.and.y.gt.-1)then;

if(p.ge.random(s))x=y;endif;enddo;write(*,*)x;enddo;stop;end

Fortran Rules!


HUGHAGI INDUSTRIES

We don't make the products you like, we make you like the products we make.
[ Parent ]

i like sigs (2.50 / 2) (#19)
by vsync on Fri Apr 13, 2001 at 04:57:11 PM EST

I've had this one for quite some time now... It doesn't do much, but I like it:

vsync
http://quadium.net/ - last updated <date>
(cons (cons (car (cons 'c 'r)) (cdr (cons 'a 'o))) ; Orjner
      (cons (cons (car (cons 'n 'c)) (cdr (cons nil 's))) nil))

Wow I wish we could have PRE on here.

--
"The problem I had with the story, before I even finished reading, was the copious attribution of thoughts and ideas to vsync. What made it worse was the ones attributed to him were the only ones that made any sense whatsoever."

Useless sig (3.00 / 2) (#23)
by Chris Andreasen on Fri Apr 13, 2001 at 10:28:29 PM EST

What? No Brainf*** programmers out there? Not really all that nifty, but sufficiently obfuscated (is it possible to create any unobfuscated programs in bf?):
>>++++[<++++[<++++>-]>-]<<++++.>+++[<+++>-]<++.++++.>++++[<---->-]<-.++>+++ [<+++>-]<++.>+++[<+++>-]<+.[-]>>++++[<++++[<++++>-]>-]<<.+++.>+++[<+++++>-] <.---.++++..++++.>++++[<--->-]<--.+++++.>++[<----->-]<.>+++[<+++++>-]<.>+++ +++[<------>-]<-.>++++[>++++[<<++>>-]<-]<.>+++[<--->-]<.>+++[<+++++>-]<.

--------
Is public worship then, a sin,
That for devotions paid to Bacchus
The lictors dare to run us in,
and resolutely thump and whack us?

Somewhat more interesting (3.00 / 1) (#25)
by Chris Andreasen on Sat Apr 14, 2001 at 12:03:37 AM EST

Okay, you guys deserve something somewhat more interesting... Still not as cool as some of the other sigs that have been posted, but more interesting than the above one that just obfuscate my email... besides, it's tough to do anything interesting in bf that will occupy only four lines of code at 72 chars/line.
This'll probably scroll by a tad too fast on any computer faster than a 286, but oh well...
+++++++++++++>>+++++[<++++++++>-]<++>>++++++++[<++++++++>-]<-[[->+>+<<] >>[-<<+>>]<<>[>+<->[->+>+<<]>>[-<<+>>]<[-<<<<.>>>>]<<<<<.---.+++>>>]>[- [-<+>>+<]>[-<+>]<<[<<.>>-]<<<.---.+++>>>>]<<]

--------
Is public worship then, a sin,
That for devotions paid to Bacchus
The lictors dare to run us in,
and resolutely thump and whack us?

[ Parent ]
for nostalgias sake (4.33 / 3) (#24)
by depsypher on Fri Apr 13, 2001 at 11:27:31 PM EST

alright, I've held it in as long as I can... anybody remember doing this...

10 FOR I = 1 TO 15:
20 POKE 53281, I
30 NEXT
40 GOTO 10

hint: you're hanging out at K-Mart while your parents are shopping. The toy aisle has grown tiresome. You roam around when something catches your eye. Lo and behold, the glint of the CRT. They have a row of C64's lined up in Electronics! Someone has written an impromptu basic program that does the following:

Herbert is cool! Herbert is cool! Herbert is
cool! Herbert is cool! Herbert is cool! Herbert
is cool! Herbert is cool! Herbert is cool!
Herbert is cool! Herbert is cool! Herbert is
cool! Herbert is cool! Herbert is cool! Herbert
is cool!

(ad infinitum)
A small crowd gathers around this Herbert. Some grown-up asks "How'd you do that?" with a small but noticable hint of awe in his voice.

You must one up Herbert! After all, he may be cool, but not that cool. So you write four simple lines of code that put Herbert to shame.



Yes, we do. (5.00 / 1) (#35)
by WWWWolf on Tue Apr 17, 2001 at 10:45:57 AM EST

alright, I've held it in as long as I can... anybody remember doing this...

10 FOR I = 1 TO 15
20 POKE 53281, I
30 NEXT
40 GOTO 10

Heck, I did that in assembler. And it's a lot cooler too because it flickers the border and background at separate pace. <ound at separate pace.

Spaces may be screwed in following misassembly...

.word $C000

; *** text follows ***

*=$C000

 C000             LDA #$01
 C002             LDY #$01
 C004             LDX #$01
 C006  iC006      STX xD020
 C009             STY xD021
 C00C             INX
 C00D             CLC
 C00E             ADC #$01
 C010             CMP #$FF
 C012             BNE iC017
 C014             INY
 C015             LDA #$01
 C017  iC017      CPY #$FF
 C019             BNE iC01D
 C01B             LDY #$01
 C01D  iC01D      CPX #$FF
 C01F             BNE iC006
 C021             LDX #$01
 C023             JMP iC006

Now, if I had more time, I would also synch the background blinking with raster IRQ, that might be Fun and it'd look cooler...

BTW, the program is 38 bytes long (+ 2 bytes header = 40 bytes), and hex dump of it would fit in sig dimensions:

00 c0 a9 01 a0 01 a2 01 8e 20 d0 8c 21 d0 e8 18 69 01
c9 ff d0 03 c8 a9 01 c0 ff d0 02 a0 01 e0 ff d0 e5 a2
01 4c 06 c0

(I was going to ask The Glorious K5 Admins to allow <PRE> tag, but I guess the revenge was schweet. I hope the heart attack caused by seeing this comment's HTML source won't be Harmful. =)

-- Weyfour WWWWolf, a lupine technomancer from the cold north...


[ Parent ]
.sig creation (none / 0) (#27)
by Prophet themusicgod1 on Sat Apr 14, 2001 at 02:33:29 PM EST

This is harder than it looks...at least for a pethetic amateur like mois. dont discount it as easy to do.
"I suspect the best way to deal with procrastination is to put off the procrastination itself until later. I've been meaning to try this, but haven't gotten around to it yet."swr
The Rebol Email Sig (none / 0) (#29)
by Chiron on Sat Apr 14, 2001 at 09:53:27 PM EST

Seeing as I'm on my big Rebol advocacy kick today, here's my Rebol sig. If you want, you can just hilight this entire posting and paste it into Rebol/View, the parser won't execute anything prior to the first word of the sig.

I took special care not to put my address in, as-is, to prevent it from being harvested, which cost me about 8 characters. I could also have compressed things by using a little style deviltry, but it would be harder to read.

Admittedly, this sort of thing isn't too miraculous a feat for R/V. =)



REBOL[] view layout [vh2 "To Chiron:" across label 64x24 right "About:"
a: field 300x24 "Re: Your Posting on Kuro5hin" return label 64x24
"Message:" b: area wrap 300x200 return button "Send!" [send to-email[
"scott.dunlop" "home.com"] rejoin [a/text "^/" b/text] quit]]


fortunes -s (4.00 / 1) (#30)
by tribbel on Sun Apr 15, 2001 at 01:07:13 PM EST

And encode that into C to make it somewhat animated...

int main(){int i=0;char a[]={33,0,78,26,6,11,78,39,0,26,11,28,0,11,26,66,78
,0,1,12,1,10,23,78,5,0,1,25,29,78,23,1,27,73,28,11,78,15,78,10,1,9,64,99,13
,15,26,30},*b;while(++i>0){b=a;while(b<a+44)putchar(a[b++-a]^110),fflush(s\
tdout);i<44?(a[i]=a[(i>38&i<42?i:0)?i+5:i]):0;usleep(2<<15);}exit(0);}

You'll need to include <stdio.h> and <unistd.h> to make gcc issue only 1 suggestion.

Eventually this program SHOULD stop running... when exactly depends on the system's integer size, though.

What can i do to make them work? (none / 0) (#31)
by Pimp Ninja on Sun Apr 15, 2001 at 08:06:07 PM EST

i'm using Borland's bcc32 compiler from C++ Builder 5, and i can't get a single one of the damn things to work - can someone clue me in, please? And for the record, no. i don't usually work in C, so i don't know a damn thing about any of these :)

Thanks...


-----

If we demand from them without offering in return, what are we but better-
dressed muggers holding up the creative at the point of a metaphorical gun?


For mine.. (none / 0) (#32)
by Chiron on Sun Apr 15, 2001 at 08:12:45 PM EST

Go to http://www.rebol.com/view-platforms.html, select the Win32 version, install it.. Make sure you configure your email settings, or my app won't work.

Copy my sig into a text file with the extension '.r', then double click on the file.

Alternately, you could just open Rebol, and paste my code into the console. No headers required. ;)

[ Parent ]
Another one.. (4.00 / 1) (#33)
by henrik on Mon Apr 16, 2001 at 04:32:07 AM EST

This is my entry: Short and sweet - only one line.

main(){double s=0,n=1;for(;n<2<<23;s+=1/n-1/(n+2),n+=4);printf("%f",s*4);}

C seems to be the favorite language here, followed by perl. Of course, the only language that should be used is Intercal :)

-henrik

Akademiska Intresseklubben antecknar!

My .signature (none / 0) (#34)
by WWWWolf on Tue Apr 17, 2001 at 10:23:18 AM EST

$_='%?&%[=&+=?%=[%&+&%[*?]&=&~[;&+&{=?[?&%&[&{[%&^=?=[&%&]=?%~&~[?&+&~YiFF!
=[=~| Weyfour WWWWolf (aka. Urpo Lankinen), a lupine technomancer |=?*_=}?]
%}&};| ICQ:4291042 | wwwwolf@iki.fi | http://www.iki.fi/wwwwolf/ |&;&=~?]';
tr/?~=*;%&[{}]+_^ (),.:@\/\n0-9!|a-zA-Z/0-9acde/d; $_=pack("H*",$_); print;

It's in Perl, of course.

Most people have no idea what that one does. I let you figure out how it does what it does, because it really isn't that hard. =)

-- Weyfour WWWWolf, a lupine technomancer from the cold north...


.sig programs | 35 comments (34 topical, 1 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest © 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!