Closed frank-dittrich closed 9 years ago
In the end this is a problem with super's installation, but it might be nice to mute it anyway. I guess we should just drop lines from stderr that includes "no version information available". There wont be any problem with --fork and interleaved lines because this is printed prior to forking off.
(I accidentally wrote --dork above at first. Now I want that option! What should --dork do?)
print random insults in ST mode. The database would of course be found in the new dork.c file.
So who is going to create the john issue create --dork mode
We'll do it on next April 1. I think that source file should be written in lolcode though.
I had not heard of that language. It if frickin perfect for a april 1 prank. However, it all I can find is interpretors. Too bad. We would need to write our own interpreter. Probably not hard, since we are only going to use a few of the syntax items, we can simply use an iterative while loop state machine.
It might be better to have JtR spit out insults at random during the entire day, even during runtime!
I really like this idea.
it might be best to take this offline, however, so the surprise is sweeter.
Actually since this would simply be printing strings brainfuck language might be better:
https://esolangs.org/wiki/Brainfuck Only 8 characters in the entire language to remember and the entire interpreter is a 1 page recursive function.
Did I mention that I am a fan of piet? http://www.dangermouse.net/esoteric/piet.html http://www.dangermouse.net/esoteric/piet/samples.html
piet is a great lang, BUT using it for some form of easter egg in a open source command line tool would be pretty damn hard, let alone, trying to insert graphic program/image files. That is the nice thing about bf. Here is the entire language, including full error handling and debugging:
int p, r, q;
char a[5000], f[5000], b, o, *s=f;
void interpret(char *c)
{
char *d;
r++;
while( *c ) {
//if(strchr("<>+-,.[]\n",*c))printf("%c",*c);
switch(o=1,*c++) {
case '<': p--; break;
case '>': p++; break;
case '+': a[p]++; break;
case '-': a[p]--; break;
case '.': putchar(a[p]); fflush(stdout); break;
case ',': a[p]=getchar();fflush(stdout); break;
case '[':
for( b=1,d=c; b && *c; c++ )
b+=*c=='[', b-=*c==']';
if(!b) {
c[-1]=0;
while( a[p] )
interpret(d);
c[-1]=']';
break;
}
case ']':
puts("UNBALANCED BRACKETS"), exit(0);
case '#':
if(q>2)
printf("%3d %3d %3d %3d %3d %3d %3d %3d %3d %3d\n%*s\n",
*a,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],4*p+3,"^");
break;
default: o=0;
}
if( p<0 || p>100)
puts("RANGE ERROR"), exit(0);
}
r--;
}
>+++++++[<++++>-]<[->,->,-.<-.<]+++>[-]+<[->+++<]>.!hAcsmof.vjtuej.i{!wpe!pbj!xb"f"bqdmpgjv!qp"-qe)o"uqxts"z
+[->,----------]<[+++++++.<]>[-]++[-<+++++>]<.!imossg$e$xik$ys}$0xys$wmlx$ivykmj$ys}$jm$0qyrkeqD
This is on super for a
--disable-cuda
build:@jfoug there are several ways to fix it, I don't know what you prefer.