LOLCODE IN UR TECHED WebJam BarCampSydney WWEE Summit

Disclaimer: this is just for LOLZ.

Video thumbnail. Click to play
Click To Play

  1. For further reference on LOLCATS: I CAN HAS CHEEZBURGER 
  2. ps: U CAN HAS TSHIRT AT store.lolcode.com
  3. To deconstruct and see the history of LOLCATS: Anil Dash
  4. The obvious wikipedia entry for LOLCATS
  5. LOLCATS takes the memes of the internet, standardizes them with funny pictures of cats. As LOLCATS is mainstream (ref: http://www.news.com.au/story/0,23599,21988724-2,00.html and ref: http://www.chron.com/disp/story.mpl/business/4862013.html) Oh Noes!
  6. LOLCODE: taking the language: syntax, grammar, vocabulary – but more importantly the memes of LOLCATS into an esoteric programming language Other esoteric programming languages include Var’aq, INTERCAL, and Omgrofl
  7. Mitch Denny theory: we’ll communicate in shortened phrases and memes as common understandings. eg: Star Trek:TNG episode: Darmok. Note Mitch Denny is Star Wars, not Star Trek – so this reference may be lost on Mitch.
  8. Examples:
    Stage 1: http://www.nickhodge.com/blog/archives/2025
    Stage 2: LOLCODE HAS LULZ http://forum.lolcode.com/viewtopic.php?id=304
    Stage 3: Seems that the language direction is dynamic, more like Javascript than C# 2.0 (eg: BUKKITS as arrays and slots; like )
  9. LOLCODE.net : compiles down to IL. Really big thanks to Joel Pobar for his expert comments and advice for all on LOLCODE.Net
  10. LOLCODE Specification is presently at 1.2 with lively discussion in the forums on lolcode. And an example of the community creating a language.
  11. U CAN HAS LOLCODE?

LOLCODE: Part 4, A New Beginning

Time to LOLCODE. Watching the forums, it’s fun watching the definition of a programming language where the grammar is obvious.

And I’ve also thought of a great, quotable reason to use LOLCode:

Nick Hodge, Enthusiast Evangelist for Microsoft, recommends the investigation of LOLCODE as Enterprise-worthy Programming Language if your development project has a strong requirement to entertain future system maintenance engineers, and your present development team gets LOLCATS humor.” You can quote me on that.

What was not immediately obvious, another effort is to make your lines of LOLCode funny. Careful choice of variable names should result in LULZ.

There were a few occasions where I had a peek at the C# source code of the LOLCode compiler. It will be interesting to see how much of the engine that makes the compiler is taken over by the new DLR, and how hard/easy it is to create a domain specific language. The DLR contains mainy of the infrastructure pieces, such as creation of abstract syntax trees, etc.

Note that these examples compiled with LOLCODE.Net Build 35, and are based on the 1.2 specification.

First program: Hello World

HAI
VISIBLE “hello world”
KTHXBYE

What’s going on here? HAI is the indication of the beginning of the lolcode app; KTHXBYE is the end.

VISIBLE “hello world” prints out, well, hello world.

Second program: Getting Input

HAI
    I HAS A FLUFFYZ
    VISIBLE “ur namez is?”
    GIMMEH LINE FLUFFYZ
    VISIBLE “hello “!
    VISIBLE FLUFFYZ
KTHXBYE

So, what’s going on this time?

I HAS A FLUFFYZ– declares a variable called FLUFFYZ

GIMMEH LINE FLUFFYZ– gets some input, in this case from the keyboard

The exclamation mark at the end of the VISIBLE “hello “! keeps the printout on the same line

VISIBLE FLUFFYZ prints out the content of the variable FLUFFYZ. Simple

Third program: Looping, Conditionals

HAI
I HAS A LIFE ITZ 1
I HAS A OSCARZ ITZ 10
IM IN YR HEADSPIN UPPIN YR LIFE TIL BOTH SAEM LIFE AN OSCARZ
    VISIBLE LIFE
IM OUTTA YR HEADSPIN
KTHXBYE

This code example should work; it compiles in lolc but neatly stops when running in the CLR. The new parts are the assignment of a value to a variable (I HAS A LIFE ITZ 1)

Secondly, the line  “I am in your loop increasing your LIFE until both-the same life and OSCARZ” is a simple loop with increment and a test.

The “IM IN YR HEADSPIN” is an example/attempt at humor. HEADSPIN is the name of the loop. Crafting these names to something funny will provide a future code maintenance geek some LULZ in the future.

Mind Migration: Orcas / Visual Studio 2008 Beta 2 and LOLCODE.net

aka: I CAN HAS EAT FREEWILLY NOW?

before reading this: note I am a scripter at best; and am learning C# and all the Microsoft tools. I know more than I’ve done which means I am super dangerous. Doing this is purely an experiment in what is possible, not what really should be done to ensure that the world cools down so whales don’t get eaten by Orcas.

Why LOLCODE.net? Does the world really need another obscure programming language?

Why doesn’t the world have one standard language. You know, like French or English?

The brain is a strange thing. Language helps people communicate ideas, or memes, from one person to another.

Programming Languages are more formalised as they map to a very binary computer underneath. No memes here.

Making a programming language from a meme is an attempt to bridge the LULZ we have in our head to the mundane art of punching in zeros and ones. Esoteric programming languages r0x0rz

Enough esoteric blathering on languages as noone cares and onto my personal LOLCODE  journey.

http://lolcode.com/ is LOLCODE central, where the language is being formally specified (more formally than Ruby, albeit less functional. Pun, get it?)

Orcas. Sort of like a black-and-white cat of the sea that eats seals, but has no paws. Orcas are pretty smart beasties. Love eating the tongues of whales. Funny code name for Visual Studio 2008. For this, I’ve installed beta 2.

LOLCode.net. Grab the .zip file from the archive and pop into a directory “c:program fileslolcode”

Readme.txt:
This distribution includes the compiler (lolc.exe), compiler library (lolcode.net.dll),
standard library (stdlol.dll) and code samples.

Read the readme. Hmm, according to the Readme and the LOLCODE forum, “We’d need MSBuild support and a VS extension“. Quick live.com search on msbuild. Ah, msbuild is a build platform. Gotcha. Visual Studio extention.  Now that looks harder.

Might just stick to the documentation and use command line. Firstly, let’s stick the directory into my %PATH%

OK, run cmd

type cd c:Program FilesLOLcode

Let’s be brace and just lolc fulltest.lol   (that is, compile the .lol file fulltext.lol)

Error at line: 2. “Library ‘STDIO’ not found” (line sez: CAN HAS STDIO?)

Probably best to go from source. I’ve been putting this off for months: it’s time for an SVN client for Windows. Off to TortoiseSVN so I can download a build.

Using TortoiseSVN checkout http://lolcode-dot-net.googlecode.com/svn/trunk/ Revision 35 at the time of posting.

Double-click on the .sln file (Visual Studio solution file) and convert to VS2008.

Ahh, 51 compile errors and 17 warnings. Need NUnit. http://nunit.org/ here I come. Installed, and 0 compile errors, 11 warnings. Forget the warnings. If they were serious, they’d be errors. Coolio. Set my code to generate a Release version.

Again, run cmd

cd C:Program FilesLOLcodelolcbinRelease

lolc test.lol

Success! I have a test.exe

test

Number guessing game. I CAN HAS LOLCODE, compiled from source.

 

Technorati Tags: , ,

LOLCODE at TechEd 2007, Australia [Update 23rd July 2007]

lolcode tshirt

TechEd, from a newcomer’s perspective, needs more cowbell. http://twitter.com/atl introduced us all to the world’s newest programming language in May.

Based on a democratic yet technologically flawed vote on http://nickhodge.com/ popular opinion is that LOLCODE should be presented.

Therefore, Chuck has let me subvert the hierarchy and made a slot for me to present the following:

Thursday 9th August

12:45pm-1:15pm   NIck Hodge: LOLCODE. CAN HAS NEW .NET LANGUAGE. LOLCODE IZ IN UR TECHED. C U THERE. KTHXBAI

Just the thing to start the day, and shake off any residual hangover.

Not sure what I’ll get to cover in a mere 30 minutes. Maybe LOLCODE will get into the keynote for 2008?

Buy the t-shirt at http://store.lolcode.com/

Technorati Tags:

I CAN HAS LOLCODE.COM T-SHIRT

As the LOLCATS meme goes TechEd; here one of my submissions:

techedlolcat

Now, in the interest of learning new programming languages: I purchased a LOLCODE.com T-shirt. What was interesting was the non-geeks looking at me strangely. People already think I am “out there”, and the LOLCODE t-shirt just proves it.

Before you start dis’in my new language of choice, there is a Visual Studio 2005 with syntax highlighting and Intellisense and a .Net version on the way.

So, my question to the developer community: do we need a special BOF LOLCODE session at TechEd 2007?