This month in natlang awesome, Andy Baio has released a Z-machine interpreter site: playfic.com. The key innovation here is that it's both writeable and readable: play games, ?view source? on them, download, modify, and upload a new, playable version.
Hearing about the natural language programming capabilities of Inform7 upon its release in 2006 definitely set some of the seeds for LOLCODE. As Baio points out on his introductory blog post, this is a fully playable 'game':
East of the Garden is the Gazebo. Above is the Treehouse. A billiards table is in the Gazebo. On it is a trophy cup. A starting pistol is in the cup. In the Treehouse is a container called a cardboard box.
New friend Rob Muller pointed me to a project that he and his friend cooked up about a year ago. Since today is September 19th, Olde Timey Speke seemed relevant enough to today's a Talk Like A Pirate celebration to share:
Inspired (once again) by the Ruby community (discussion here), closing nested blocks can be accomplished with repeating 'x' for as many ?kthx?s that would be repeated. See the discussion at the above link, and it will be made clear.
I don't know if anyone regularly watches LOLCODE news any more, but I will be hanging out at South by Southwest Interactive between now and March 16, 2011. If you've heard of LOLCODE, say hi. If you want to find me (or follow me), then ping me on teh twitterz: @atl.
You doubtless know that our older, far more accomplished cousin, the Cheezburger network, is serious business. What you may not know is that they now make several APIs available.
Naturally, the way for checking in with the API, the ?Hello World? call, is at api.cheezburger.com/xml/hai.
Most of the other API elements are for hooking into the user- and submission-oriented features of the various sites on the network, but the Content Caption API is fairly nifty on its own, with a quite complete interface for placing text on images. I'd recommend checking it out.
Inception, a repository on github by A R Karthick that's the ?Inception movie explained programmatically.? From the README:
My tribute to [Director Christopher] Nolan in ?C? Language and a bit of assembly (x86) as the inception is done using x86 code morphing so that Fischer wakes up thinking that the thought was originated from his mind. Running the program would unravel the entire sequence in the movie. Reading the code would explain the movie Programmatically.
Nicely done. I'm always sympathetic to efforts like this. The commit log in itself is a nice artifact.
For those of you who are still clicking around the 'net looking for funny things while avoiding worldwide football (soccer) fever, I offer a preview of a newly designed LOLCODE website. Click for the beta. I hope this is something that will generate a real buzz about the language.
Reddit has been infected by this meme of ?A Reddit clone in X lines of Y programming language.? I suppose, then, that it was inevitable that someone would pull it off with LOLCODE. Naturally, as with any high performance web programming needs, they turned to PHP, and Tetraboy's LOLCODE implementation, which was one of the very first out there (and why it might not look like other dialects of LOLCODE found elsewhere).
CAN HAS SQL?
DBASE IZ GETDB('db/lcsn.db')
FUNNAHS IZ DBUCKET(&DBASE&,"CAN I PLZ GET * ALL UP IN lollit")
IM IN UR FUNNAHS ITZA TITLE
VOTEZ IZ &TITLE#ups& - &TITLE#downs&
...
The inaugural issue of PragPub, an electronic magazine for programmers edited by Michael Swaine, former editor of Dr. Dobb?s Journal, has a cameo appearance for LOLCODE.
Paul Lamere, a blogger for whom I have long had much respect, has outdone himself with a long look at the recent 4chan hack of a time.com poll.
At the core of the hack is the work of a dozen or so, backed by an army of a thousand who downloaded and ran the autovoters and also backed by an untold number of others that unwittingly fell prey to the spam url autovoters. So why do they do it? Why do they write code, build complex applications, publish graphs - why do they organize a team that is more effective than most startup companies? Says Zombocom: ?For the lulz?.
Parry Gripp is a brilliant, mad genius. Anyone who rocked to Buffy the Vampire Slayer's theme tune at any time in the past twelve years already knows this. Lately, he has been building his reputation as the Mayor of the Internet by creating such musical hits as ?Hamster on a Piano,? ?Fuzzy Fuzzy Cute Cute,? and the below ?Nom Nom Nom Nom Nom Nom Nom? song:
I came across the above video, and knew I had to remix the music using my latest project: a script that created automatic, parameterized random re-edits of a song. It lead to a potentially limitless number of variations, most of which are actually less annoying than the original:
I wrote up a full explanation of how I did it on my personal site. It tries to get across some tricky computer and music concepts in a non-technical manner.
But why do I bother posting it to this site? I mean, other than the fact that it's a mashup of a cute, popular internet meme?
LOLCODE helped me create it. No, I didn't code it in our favorite esolang, but the process of designing LOLCODE got me thinking about fluent interfaces: code that when you read it, just makes sense.
While the below code might not have the same enduring qualities as CAN HAS STDIO?, it's definitely motivated by the same desire to create code that anyone can read:
I didn't create the open-sourced Echo Nest Remix API, but I have contributed parts that might make it more fun to code. If you want to learn more about Remix, I have also written a semi-technical overviewof the API, as well.
Variations of this joke get passed around all the time, but this one was special. LOLCODE joined the ranks of Lua, Ruby, and Erlang as the languages of the moment worth comparing.
LOLCODE would be Pastafarianism - An esoteric, Internet-born belief that nobody really takes seriously, despite all the efforts to develop and spread it.
Nailed it.
The whole piece is worth checking out, but I just couldn't resist quoting the highlight here.
I recently learned of a lot more developments in the LOLCODE world.
First off, congratulations to Dale, Brendon, and Carlos, winners of the N-Squared LOLCODE Challenge. Achievements like this give me hope for the next generation.
Secondly, Adrian Tsai provided a C++ LOLCODE interpreter for Windows. I haven't had time to investigate fully, but it sounds promising.
Also fresh off the blogosphere is a Ruby-to-LOLCODE code translator that works via Ruby's abstract syntax tree. (Also available on github.) It reminds me more than a little of Patrick Michaud's talk on using Perl6's Parrot to do a similar thing. But that doesn't dampen my delight, because I love this sort of hack.
I'm going to be taking a bit of a holiday, so things on the site and forums might be a bit quiet from my end for a while.
If you haven't heard the news, the folks behind ROFLCon, a watershed in LOLCODE's life, have teamed up to do another event, this time in NYC. Alexis Ohanian, of the big hands, the OLPC Laptop Auction, the LOLCats panel, and an obscure news aggregation site, is the host this time, and it looks like it's shaping up to be another nice event.
Check out the news: if you can be in New York on January 24, 2009, then try to do so. (LOLCODE won't be there, sad panda.)
Airships are funny. Dirigibles cast as flying LOL-Manatees are somehow magic. I caught Aaron Muszalski's flickr set of BaLOLoons, and thought it was great. However, co-conspirator Meredith Yayanos went one better and blogified the concept at DRGBLZ.com.
(Thanks to Simon Willison for pointing out the blog/site.)
Unless you're one of the lucky students of Massey University in New Zealand, this is merely a curiosity, but I hear that there is a contest with cash prizes for the best LOLCODE program to compute square roots. The fine and clearly discerning folks at N-Squared Software (i c whut u did thar) are sponsoring this programming challenge to support local programming talent.
This is not the first time I've noticed the role of LOLCODE in education in the lands down under. Good luck to all who compete!
I've mentioned Josh ?Eggyknap? Tolley's adventures with LOLCODE in PostgreSQL before, but never really gave him the spotlight. About a week ago, he presented his work at PostgreSQL Conference: West about a week ago. LOLCODE once again proves its worth as a ?HAI WORLD? language for language implementors, as Josh's 90-minute presentation was a tutorial on how to implement a procedural language for PostgreSQL.
The entertaining and informative slides are here, and there's a bonus program listing telling you how to calculate pi.
Thanks, Josh, and congrats on a job well done!
In other news, I've had to turn off new user registrations in the forum. For more details, see this announcement.