I had 2 hours to kill so I thought I’d write a LOLCode interpreter.
I know there’s already a few LOLCode interpreters around, but I couldn’t help myself. Plus I’ve always been interested in interpreter design.
It’s still a work in progress at this stage, so a lot of the language hasn’t been fully implemented.
Here are two working programs…
Hello World
BTW the classic hello world program
HAI
VISIBLE "Hello world!"
KTHXBAI
Output:

Accepting User Input
HAI
VISIBLE "Hello there, what is your name?!"
I HAS A NAME ""
BTW ask for the users name
GIMMEH NAME
BTW welcome the user
VISIBLE "Welcome to LOLCode " N NAME N "!"
KTHXBAI
Output:

If you’re addicted to reddit.com like me, you’ll understand my frustration with all those Ron Paul links. Especially if you don’t live in the US, and don’t really know who the guy is.
If anyone is interested, I’ve written a small Greasemonkey script which hides all reddit links that include the text “Ron Paul”.
To install, download the Greasemonkey file and drag it onto your firefox window.
ronpaul.user.js
Here’s a quick tip for working with the command line in PHP.
If you’ve ever run a PHP script via the command line, you would have noticed that output from the script is not printed until the script has finished.
If you need your output displayed in real time, you can open a stream to the command line…
$stdout = fopen('php://stdout', 'w');
Simply write any output to the stream and it will be printed on the command line in real time…
fwrite($stdout, "Hello CLIn");
One thing I keep noticing is the use of background noise or clutter in CAPTCHAS. It’s now well known in the OCR (Optical Character recognition) field that background noise can be easily removed by computers. It’s basically useless at hindering spam bots.
It’s so easy that I was able to clean the following CAPTCHA up in only 20 lines of PHP code.
Here’s how…
At a glance, you can see the CAPTCHA’s background noise has a blue tint.
Looking at the RGB value of the image in Photoshop, I can see that all parts of the background have a blue value higher than 180.
That’s the only piece of information needed to remove the background.
The code simply loops through every pixel of the image and checks the RGB value of it. If the blue (B) value is higher than 180, color it white.
Here’s the final image. The characters can now be easily separated and identified using OCR software.
So you can see why most background noise is basically useless in CAPTCHAS.