Author Archive
Still feels like an adventure.
Friday, September 25th, 2009It has begun…
Saturday, June 27th, 2009MonoDevelop 2.0 released
Monday, March 30th, 2009Just a quick note to say that the MonoDevelop has released it’s second version. Go download it and check out what’s new.
Mac OS X users still have to wait for the native build to be online, which will be what my next post is based about
Wrong priorities
Tuesday, January 6th, 2009Star Wars a capella
Wednesday, November 12th, 2008Just found this video on Youtube. Apparently it’s been featured a few days ago, but in my opinion it should have stayed there for a few weeks, minimum
Lyrics here.
PS: John Williams is the man!
Warehouse installation tutorial
Friday, October 3rd, 2008Today I got to the office, and the first thing that popped into my eyes when I opened Twitterrific was this:
Rick Olson announcing that Warehouse is now open-source. Damn, it HAS to be Christmas! I have always loved the products that Active Reload builds, mostly because they follow the “do more with less” and “keep it simple stupid” principles, but also because their web-applications look awesome, thanks to Justin Palmer, the self-taught and self-proclaimed Design Ninja (I’ll have to agree with him on this one).
I have always wanted to give Warehouse a spin on my projects (professional and personal), but never got around to buy it because I was afraid it could be of no use for me (you guys have to find a way to distribute trials or something). Now that it’s open-source, I am going to try and provide a guide on how to install it.
You know it’s going to be a great day when…
Monday, September 29th, 2008… someone you admire starts following you on twitter.
Thanks for making my week start well, Pedro.
A note about Puzzle Quest’s randomness
Tuesday, August 5th, 2008The first thing you should know about this game is that this game hates you. I don’t mean that the game is designed to go against you. I mean the game hates you. The designers of this game created the first artificial intelligence system designed to mimic the actual emotion of hate. When you are sleeping, the game is plotting your downfall with all of your other electronics. In all seriousness, you will constantly find yourself getting frustrated with the random nature of the game. Many times, you will find yourself crying foul and cheating when the game drops a +5 Skull in perfect position for your opponent. Granted, the randomness will also help you every once in a while, but you will swear that the game cheats for your enemy more than it does for you. There really isn’t much you can do about this aspect of the game. After all, this is how randomness works.
Read it here. Emphasis is mine.
When screen shots go bad
Monday, July 14th, 2008Browsing the iTunes App Store today, I found a priceless application that turns your iPhone into a flash light. Needless to say, I went on and checked the screen shots. So, without further ado, here they are:
As Marcel Molina puts it, “I like that there are two screen shots for the Light app“. Nicely said.
Learning a new programming language
Friday, July 4th, 2008It’s common sense in the programming circle that programmers should make an effort to learn a new language every year. Some make it their New Year’s resolution, some just do it for the fun of it, others do it to enrich their experience and their CV. So, today, I decided to grab a new language and stick with it until I MASTER the damn thing. I only had a requirement before choosing it: it had to be fun!
So, what language did I choose? None other than LOLCode.
I know what’s going through your mind now. “Why the eff is this guy even thinking about learning a new language?”, “useless”, or even “OH HAY I CAN HAS CODEZ?”. There’s a reason for that.
I tend to browse lolcats whenever I need a bit of extra motivation, romance, feeding or even inspiration. So, whenever I look at bits of code that read:
-
HAI
-
CAN HAS STDIO?
-
VISIBLE "HAI WORLD!"
-
KTHXBYE
or even
-
ON CATURDAY
-
IM IN YR BED
-
I IZ SLEEPIN!!10
-
VISIBLE "Z!"
-
KTHX
-
KTHXBYE
I can’t stop thinking that it’s PURE GENIUS (right before bursting into tears of laughing so hard). So, for starters, I’m going to try to understand a Brainfuck compiler written in LOLCode. Want to tag along?
-
HAI
-
BTW This is a BrainFuck interpreter written in LOLCode
-
BTW It accepts as input a BF program, followed by a "!", followed by any input to the BF program.
-
BTW Since BrainFuck is turing-complete, this proves that LOLCode is too
-
-
I HAS A INSTRUCTIONS BTW Array for BF instructions
-
I HAS A IPTR BTW Pointer to first empty element in INSTRUCTIONS
-
IPTR R 0
-
I HAS A LOOPZ BTW Array of loop start/end addresses
-
I HAS A LOOPSTACKZ BTW Loop stack for building the above two
-
I HAS A LSPTR BTW Pointer to first empty element of LOOPSTACKZ
-
LSPTR R 0
-
-
BTW Read in BF instructions, terminated with "!"
-
IM IN YR CODE
-
GIMMEH IPTR IN MAH INSTRUCTIONS
-
-
BOTH SAEM IPTR IN MAH INSTRUCTIONS AN "[", O RLY?
-
YA RLY
-
LSPTR IN MAH LOOPSTACKZ R IPTR
-
LSPTR R SUM OF LSPTR AN 1
-
OIC
-
-
BOTH SAEM IPTR IN MAH INSTRUCTIONS AN "]", O RLY?
-
YA RLY
-
I HAS A STARTPTR
-
LSPTR R DIFF OF LSPTR AN 1
-
STARTPTR R LSPTR IN MAH LOOPSTACKZ
-
STARTPTR IN MAH LOOPZ R IPTR
-
IPTR IN MAH LOOPZ R STARTPTR
-
OIC
-
-
BOTH SAEM IPTR IN MAH INSTRUCTIONS AN "!", O RLY?
-
YA RLY
-
GTFO
-
NO WAI
-
IPTR R SUM OF IPTR AN 1
-
OIC
-
IM OUTTA YR CODE
-
-
BTW Variables for BF's tape
-
I HAS A LTAPE
-
I HAS A RTAPE
-
I HAS A LPTR
-
LPTR R 0
-
I HAS A RPTR
-
RPTR R 0
-
I HAS A CELL
-
CELL R 0
-
-
BTW Reset instruction pointer to start
-
IPTR R 0
-
-
BTW Start interpreting
-
IM IN YR LOOP
-
I HAS A THING
-
THING R IPTR IN MAH INSTRUCTIONS
-
-
BTW Move tape head right
-
BOTH SAEM THING AN ">", O RLY?
-
YA RLY
-
LPTR IN MAH LTAPE R CELL
-
LPTR R SUM OF LPTR AN 1
-
BOTH SAEM RPTR AN 0, O RLY?
-
YA RLY
-
CELL R 0
-
NO WAI
-
RPTR R DIFF OF RPTR AN 1
-
CELL R RPTR IN MAH RTAPE
-
OIC
-
OIC
-
-
BTW Move tape head left
-
BOTH SAEM THING AN "<", O RLY?
-
YA RLY
-
RPTR IN MAH RTAPE R CELL
-
RPTR R SUM OF RPTR AN 1
-
BOTH SAEM LPTR AN 0, O RLY?
-
YA RLY
-
CELL R 0
-
NO WAI
-
LPTR R DIFF OF LPTR AN 1
-
CELL R LPTR IN MAH LTAPE
-
OIC
-
OIC
-
-
BTW Increment
-
BOTH SAEM THING AN "+", O RLY?
-
YA RLY
-
CELL R SUM OF CELL AN 1
-
OIC
-
-
BTW Decrement
-
BOTH SAEM THING AN "-", O RLY?
-
YA RLY
-
CELL R DIFF OF CELL AN 1
-
OIC
-
-
BTW Output produces numbers instead of ASCII characters
-
BOTH SAEM THING AN ".", O RLY?
-
YA RLY
-
VISIBLE CELL!
-
VISIBLE " "!
-
OIC
-
-
BTW Input doesn't work because we can't convert characters to integers
-
BTW Oh well, it doesn't stop it being turing complete
-
-
BTW Start of loop
-
BOTH OF BOTH SAEM THING AN "[" AN BOTH SAEM CELL AN 0, O RLY?
-
YA RLY
-
IPTR R IPTR IN MAH LOOPZ
-
OIC
-
-
BTW End of loop
-
BOTH OF BOTH SAEM THING AN "]" AN DIFFRINT CELL AN 0, O RLY?
-
YA RLY
-
IPTR R IPTR IN MAH LOOPZ
-
OIC
-
-
BTW End of program!
-
BOTH SAEM THING AN "!", O RLY?
-
YA RLY
-
GTFO
-
OIC
-
-
IPTR R SUM OF IPTR AN 1
-
IM OUTTA YR LOOP
-
KTHXBYE
Fun times await.



