New Whitespace-Only Programming Language
foobarbazquux writes "Introducing whitespace, a
language designed to compensate for the "white-space doesn't count" culture of
contemporary programming languages. Amaze your friends by hiding programs in
your web-pages! Astound colleagues by putting a virus in your text file!" (And for those who prefer obfuscation to invisibility, Koshatul writes "This article in the Sydney Morning Herald, tells of a new programming language which 'makes it impossible to express a security vulnerability in a program's source code.'")
This has been done. Damian Conway implemented it as a Perl module, Acme::Bleach, quite some time ago.
Hit your nearest CPAN mirror and 'use Acme::Bleach' for great justice.
The novelty of this wore off in 1998.
make it past the slashdot lameness filter
Your comment violated the "postercomment" compression filter. Try less whitespace and/or less repetition. Comment aborted.
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
Do the editors realize that it undermines the whole point of April Fool's Day when everything they post is a joke? Of course, this is the one day out of the year when Taco and friends actually _realize_ the stuff they are posting is BS.
I just want to mention that April Fools to me has always been to make up BELIEVABLE stories that you can gloat over later - which really adds to more of the fun.
I mean, funny as some of this may be, it gets tiring after a while. I mean, you can make a story believable but still false and a good April Fools candidate.
So learn to write some good stories and THEN post to the site, eh?
p.s. the above link provides information that helps a great deal in all sorts of situations, I highly recommend it.
My life in the land of the rising sun.
ATI just released a new version of their Catalyst drivers, and it fixes every known bug in every single game in existance. ATI also mentioned this driver fully supports Duke Nukem Forever, which was also released today.
---
DRM is like antifreeze, to the MPAA/RIAA it's sweet, to the consumers it's poison.
I've found that GZIP is able to compress source code written in whitespace by up to 99.9%! This is truly an incredible advance in application development and distribution!
Then again as long as it doesn't use pointers the uni students will be happy.
_______________
Get slashdoted at Cheap Web Site Hosting
...at keyboards, typing forever need only hit the space and/or tab keys to create the infamous do_stuff()! A breakthrough!
Finally, I have the monkeys.. Now, to acquire the keyboards... Quickly too, because the monkeys are starting to get stank.
"...now strip down and get on the probulator!"
-Capt. Leela
Compared to war, all other forms of human endeavor shrink to insignificance. God, how I love it. - Gen. George Patton
Well, I WOULD post a source example if Slashdot's "whitespace filter" and "lameness filter" wouldent prevent it...
What's a guy gotta do to post whitespace source code around here?
See, in .au, it is no longer April Fools. I almost fell for the NewCode thing, until about half way through!
But I foiled the whitespace langauge. You can't see it, until you click and drag down the mozilla windows. Ha ha! I can see it now! Suckers.
I'm waiting for the next topic on the frontpage -
:D
"Gentoo Developers to recode kernal in whitespace"
My blog [.net, rants, general IT]
"whitespace" code broken by buffer overflow. Internationalisation of the "space" key blamed. Authorities warn not to use international versions whitespace.
"It was horrible..one minute I was sitting in a counting loop and then the next thing I know someone pushed [TAB][SPACE][TAB][TAB] into the execution queue and all heck broke loose...."
Snowy Angelique Maslov - http://www.snowy.org/
Unfortunately, I'm unable to post the source code here because of slashdot's lameness filter :(
Here's a mirror.
--
Mod up a post Rob doesn't like and you'll never mod again
It's a cool paper; check it out. If you have problems finding it, just Google for "B Stroustrup: Generalizing Overloading for C++2000. Overload, Issue 25. April 1, 1998."
Only 2 symbols are required to express any algorythm (1 and 0), and whitespace has 3 ([SPACE], [TAB] and [LF]). I can see no reason off hand why whitespace cannot work, and in fact without having tried it, I suspect it is probably genuine, if not entirely serious.
If I seem short sighted, it is because I stand on the shoulders of midgets
What's with all the comments, "This is total bullsh*t! April Fools! Complete crap!" ?
Did anyone actually read the link to the whitespace language? Anyone? Hello? I mean, I know, I know, nobody on /. reads the articles, but this is ridiculous.
It's real! The description of the syntax is a masterwork of stunning proportions!
This is exactly what April Fools is supposed to be about! It's real! It's just... silly.
doh.. lost my angular braces
$prog = "";
while(<>) {
chop();
$prog = sprintf("%s%c", $prog, length($_));
}
eval $prog;
Forget the DeCSS T-shirts. Xerox is selling boxes of DeCSS source code in whitespace at Staples. And my department has a cabinet full of backup copies of the source. That should keep the RIAA busy for a good while.
>>>>>++[<++++>-]<[<++++>-]<<<<>>++++[<+++++>-]<[ <++++++>-]<-.. >+++++[<+++>+ +++>-]<.>>>.- .>+++[<--->+ .+.
>+++++[<--->-]<.+.>++++[<+++>-]<-.>+++[<----->-]<
-]<-.---.>+++++[<--->-]<.++.++.>>>.<<<++++.>++[<+
<<<>+++[<---->-]<-.>+++[<+++>-]<.+++.>>>.<<<-----
-]<--.>++++[<+++>-]<.>++[<---->-]<.>++++[<+++>-]<
Because we're nerds.
Is this so hard to understand? We're the type of people who laughed at three Austin Powers Movies worth of the same jokes. The type of people who felt kinship with the horrible jokes of Revenge of the Nerds. The type of people who thought Hackers was hilarious (Oooo! A 28.8bps modem!!!)
By all means, laugh at us rather than with us. It's not like nobody ever has before. I mean, they call us nerds for a reason.
Why must so many people have such contempt for nerdy action on a website with the slugline "News For Nerds"?
Karma: Non-Heinous
I am looking forward to the Unicode version of whitespace. This would truly demonstrate the expressfullness of Unicode as it has several whitespace characters.
A M SPACE MARK;Zs;0;WS;;;;;N;;;;;
$ grep ";WS;" UnicodeData.txt
000C;;Cc;0;WS;;;;;N;FORM FEED (FF);;;;
0020;SPACE;Zs;0;WS;;;;;N;;;;;
1680;OGH
2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;;
2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;;
2002;EN SPACE;Zs;0;WS; 0020;;;;N;;;;;
2003;EM SPACE;Zs;0;WS; 0020;;;;N;;;;;
2004;THREE-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;;
2005;FOUR-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;;
2006;SIX-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;;
2007;FIGURE SPACE;Zs;0;WS; 0020;;;;N;;;;;
2008;PUNCTUATION SPACE;Zs;0;WS; 0020;;;;N;;;;;
2009;THIN SPACE;Zs;0;WS; 0020;;;;N;;;;;
200A;HAIR SPACE;Zs;0;WS; 0020;;;;N;;;;;
2028;LINE SEPARATOR;Zl;0;WS;;;;;N;;;;;
202F;NARROW NO-BREAK SPACE;Zs;0;WS; 0020;;;;N;;;;;
205F;MEDIUM MATHEMATICAL SPACE;Zs;0;WS; 0020;;;;N;;;;;
3000;IDEOGRAPHIC SPACE;Zs;0;WS; 0020;;;;N;;;;;
)9TSS
Joking asside, but if you've ever programed in RPG, Whitespace MATTERS.... Every command/Argument/Result HAS to be positioned in a certain column ...Somthing like this
C NUM1 ADD NUM2 RESULT
C MOVE 'HELLO' STR 10
C DSPLY STR
.. etc etc.
Well, it's what you make of it. For example, this morning I exchanged the sugar in the sugar bowl with salt and watched someone spit coffee all over the place. That was funny.
Oh, you mean jokes with, like, words and stuff ...
Did you know you can fertilize your lawn with used motor oil?
1.
2.
3. PROFIT!
They reinvented Python?
Not that you care, but there's a bit of history behind Matt's Script Archive (MSA). You could say MSA was one of the first Perl script archives, and certainly one of the most popular. Unfortunately you could say that many of the scripts were sort of half assed. Many of the scripts were bug prone, such as the guest book that wrote to a single text file WITHOUT file locking (thus waiting for the impending doom of 2 simultaneous writes). Others where just exploitable.
The most notorious of them all is by FAR 'formail.pl'. This is a pathetically easy script to use for evil purposes since it basically allows you to directly send crap through sendmail (ie spam) on the server - and even a basic understanding of HTML would allow a person to figure out how to do it. If you have logs on a webserver you can STILL find a lot of hits probing for formail.pl in your cgi-bin. Probably the saddest thing about MSA is the fact that it's been around forever and has thus been cataloged by every search engine out there, and as soon as someone searches for "free perl/cgi-scripts" MSA is almost always at the top of the list.
On the lighter side, if you're new to cgi and want to understand more about CGI/perl security - find a friendly Perl guru and have him/her tell you about how NOT to write CGI scripts by using the ones at MSA as an example. The humor in it is probably best known to Perl programmers as MSA is somewhat infamous in the perl world, and probably the cgi world in general.
well, i did something more internet related, i changed the internet explorer icon to to wipe the harddrive on my roomies computer, NOW THAT IS FUNNY.
not
world was created 5 seconds before this post as it is.
There's a buffer overflow that can lead to root access with the hello-asking-name program. Here's a patch.
-
-
+
+
+
+
+
Sure, great, wonderful.
But, once again, it doesn't say "News for Computer users and developers" it says "News for Nerds" Why is this such a problem to understand? And why is it always such a problem around here when someone does something nerdy? Honestly, I see people flamed all the time for that kind of stuff. Every once in a while people need a kick in the butt to remind themselves of where this comes from. I personally like that they go overboard with the jokes. Gives me more stuff to laugh at.
Karma: Non-Heinous
Actually, this one isn't a joke.
Okay, that's not true. It is a joke, but it's not an April Fools' prank. I was sent a copy of this link yesterday by a friend of one of the language's designers, who confessed to having 'given encouragement at the wrong time'. The language is real, and does work. The interpretor is written in Haskell which, being a functional language, is very well suited to this task (although may not be very quick).
The second article linked to, however, is clearly an April Fools' joke. Feel free to denigrate it if you wish.
I am TheRaven on Soylent News