Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The best web language: LOLCODE!!!


Published on

LOLCode 20/20, Pecha Kucha, or 6:40 presentation that I gave at PHP/Py Works 08. Now improved and infamous. KTHXBYE!

Published in: Technology

The best web language: LOLCODE!!!

  1. The best web language. language Which is the best programming language for you? Perl? PHP? OR Python? Ruby? ASP?
  2. The one true answer is: LOL Code!!1one LOLCode is an esoteric language by geeks with too much free time. There are multiple lolcode interperters, parsers, and even compilers. “Laser Cats”
  3. I wrote the first working lolcode parser And the first lolcode powered website. I am one of those geeks. “LOLCode By O'RLY”
  4. Basic Usage CODE SNIPPET !BEWARE! HAI <- Opening tag MUST HAS STDIO <- Require File VISIBLE quot;HAI WORLD!quot; <- Print KTHXBYE <- Closing Tag
  5. Variables CODE SNIPPET !BEWARE! I HAS COLOR1 <- Initiate Variable I HAS COLOR2 IZ GREEN ^- Initiate and Set Var COLOR1 IZ RED ^Set existing var
  6. More Variables CODE SNIPPET !BEWARE! VISIBLE “COLOR IS &COLOR1&” ^- Print with Var replacement. IVAR IZ 1 < Set var to 1. IVAR UPUP!< Increment twice. IVAR UPUP! < IVAR is 3. BTW THIS IS A COMMENT ^- Use BTW to comment line.
  7. Control Structures CODE SNIPPET !BEWARE! IZ &IVAR& == 1 < IF. BTW IF VISIBLE quot;YEAH RLYquot; VISIBLE __SKY__ <-Print Constant NOWAI BTW ELSE <- ELSE VISIBLE quot;NOWAIquot; KTHX
  9. Arrays CODE SNIPPET !BEWARE! ARRAY IZ BUCKET < Create Bucket ^Variable Name 0 FISH quot;zeroquot; !! < Numerical 1 FISH quot;onequot; !! < Keys < String Keys two FISH quot;twoquot; !! BUCKET <- Prints “two” VISIBLE &ARRAY#two&
  10. Multidemensional Arrays CODE SNIPPET !BEWARE! ARRAY IZ BUCKET < Create Bucket ^Variable Name 0 FISH quot;zeroquot; !! three FISH IZ BAG <- Use bag or buckets !! FISH quot;threequot; !! !! FISH quot;twoquot; !! ^New Dimension BAG BUCKET <- Prints “two” VISIBLE &ARRAY#two,1&
  11. BAG Arrays CODE SNIPPET !BEWARE! ARRAY IZ BUCKET < Create Bucket ^Variable Name 0 FISH quot;zeroquot; !! three FISH IZ BAG <Create BAG !! FISH quot;threequot; !! !! FISH quot;twoquot; !! BAG ^BAG uses auto incremented keys. BUCKET <- Prints “two” VISIBLE &ARRAY#two,1&
  12. Looping CODE SNIPPET ARRAY IZ BUCKET !BEWARE! < Create Bucket 0 FISH quot;zeroquot; !! 1 FISH quot;1quot; !! 2 FISH quot;2quot; !! BUCKET <- Foreach IM IN UR ARRAY ITZA NUMBA VISIBLE quot;&NUMBA&!quot; ^Prints “zero!1!2!” KTHX
  13. Functions CODE SNIPPET !BEWARE! SO IM LIKE UPPING WITH VAR VAR2=0 ^Var Name ^Arguments ^Default Value VAR UPUP! <- Increment VAR I FOUND MAH VAR<- Return VAR KTHX <End Function VISIBLE quot;FOUR UP? ITZA quot;.UPPING(4) ^Prints “5”
  14. Advanced Features CODE SNIPPET !BEWARE! THEVAR IZ GOLD VARNAME IZ THEVAR VISIBLE &&VARNAME&& <-Prints “GOLD” ^- Variable Variable ALWAYZ SKY IZ BLUE <- Set Constant VISIBLE __SKY__ <- Print Constant
  15. Embed in HTML CODE SNIPPET <html> !BEWARE! <head> <title>LOL Power</title> <- HTML </head> <body> Subset of XML HAI MUST HAS STDIO VISIBLE quot;<!-- Copyright 2007 Jeff Jones, -->nquot; VISIBLE quot;HAI WORLD!quot; KTHXBYE ^ Code in tags is parsed. </body> </html>
  16. SQLite Databases CODE SNIPPET !BEWARE! CAN HAS SQL? <- Include SQL Lib DBASE IZ GETDB('lolz')<-Select DB File FUNNAHS IZ DBUCKET( ^Get Array from DB &DBASE&, quot;CAN I PLZ GET joke ALL UP IN funnahsquot; ) ^LOL-SQL. “Select joke from funnahs”
  17. SQLite Databases, Part Deux CODE SNIPPET !BEWARE! CAN HAS SQL? <- Get Array from DB DBASE IZ GETDB('lolz') FUNNAHS IZ DBUCKET(&DBASE&,quot;CAN I PLZ GET joke ALL UP IN funnahsquot;) < Loop It IM IN UR FUNNAHS ITZA JOKE VISIBLE quot;<P>quot;.&JOKE#joke&.quot;</P>quot; ^Print each joke KTHX (dbucket returns assoc array)
  18. Tetra LOLCode Parser How to make a new lang work? With little to no work? Convert it to PHP! How? preg_replace! function lol_core_parse($code) Takes incoming code and runs through 36 regular expressions /e is your new best friend.
  19. Tetra LOLCode Works with apache! Easiest way to run .lol on apache? Set .lol to parse as PHP Use PHP's prepend/append Output Buffering to catch LOL Parse src Write source to temporary file Include temporary file
  20. More info? Official Website My LOLCode website, powred by LOLCODE! #lolcode Community IRC Channel. (I Hope noone still goes there..) MailChimp LOL Parser Based on my lolcode parser, download their improved version.