November 2006

Ever heard of 'Brainfuck' before ? Well, it's not actually what you think! It's a simple but _really_ hard to use esoteric programming language aimed at challenging and amusing programmers. It has meant to be an small compiler at the size of only 200kb.

It's syntax is neat and simple. It only has 8 generic builtin commands which is as follows:

>    Increment the pointer.

<    Decrement the pointer.

+    Increment the byte at the pointer.

-     Decrement the byte at the pointer.

.     Output the byte at the pointer.

,     Input a byte and store it in the byte at the pointer.

[     Jump forward past the matching ] if the byte at the pointer is zero.

]     Jump backward to the matching [ unless the byte at the pointer is zero.

As you can see, a simple hello-world with the above syntax can cost you too much!

Take a look :

++++++++++ [     The initial loop to set up useful values in the array >+++++++>++++++++++>+++>+<<<<- ] >++. print 'H'

>+. print 'e'

+++++++. 'l' .

'l' +++. 'o'

>++. space

<<+++++++++++++++. 'W'

>. 'o'

+++. 'r'

------. 'l'

--------. 'd'

>+. '!'

>. newline

I just wrote two simple codes with this "nerds-must-have" tool to challenge myself!

First Program

Second Program

 

Here is a link to it's portable(!) assembly-written compiler. Note that you must have nasm installed on your box:

Simple Brainfuck Compiler

 

And of course, wikipedia's link is always useful. What is Brainfuck?

Too much fun writing programs with brainfuck isn't it ?

30 November 06 | 1 comments

Well, as for now the famous ironic problem with commenting can be marked as solved. Special thanks to Amirmohammad who helped me with debugging part. Problem was beneath Jaws Address Protector, which I disabled the feature for the time being, so be warned; your email addresses are no longer protected within this area, comment out at your own risk!

Cheers

APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.

-- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5

29 November 06 | Comment on this

Once more, I'm posting this because many of the guys out there said your page was inactive for a while. Of course there are some others reasons as well. I was just trying to remind myself some things that I must have forgot. Actually one of my friends posted something in his blog some few days ago about his first gaming experience, how it started and so on. In fact, it meant a lot for me, not the game it self, but all those wonderful days we had during highschool. Many of those friends I don't see anymore, many of the things I no longer take care of. It's like a funny joke whilst it's more than that. It's like living in a sweet dream, and then ... someone suddenly interrupts you, disturbs you ... makes you leave that sweet dream and you don't even know where you are or what you do. Then you suddenly figure out that those days are almost gone. That's why I always say Pink Floyd rocks :

I turned to look but it was gone. I cannot put my finger on it now. The child is grown, the dream is gone. I have become comfortably numb. (Pink Floyd - Comfortably Numb)

Yeah, it really is ... I have been living in a dream world. And now, things are different. I have no time to dedicate to those things anymore, semi-pro gaming, hobbies, friends and stuffs like that. Even coding sounds like a useless day-to-day stuff, I mean it's not interesting at all when you write codes to do your University homeworks, believe me. I feel my self like an slave, an slave to this mechanical world. I'm just using some routines, trying to make my life possible ... people used to call it, acting by instinct. (quotes from Memento)

Hello. Is there anybody in there? Just nod if you can hear me. Is there anyone home? (Pink Floyd - Comfortably Numb)

Cheers

Q: How many Bell Labs Vice Presidents does it take to change a light bulb?

A: That's proprietary information. Answer available from AT&T on payment of license fee (binary only).

12 November 06 | 2 comments

« Back to my homepage

Categories

Blog Archives

Search

Friends

Abbas Esmaeeli
Milad Raastian
Omid Fathi
Sara Amirahmadi
Ali Sattari
Pedram Azimaie
Siavash Safi
Vahid Rafiei
Sasan Rose
Bahram Siyaadati
Nima Mohammadi
Behnam Behjatmarandi
Mola Pahnadayan
Navid Paya
Hossein Mortazavi
Saied Taghvi
Mohsen Pahlevanzadeh
Emil Sedgh
Ebrahim Mohammadi Panah
Kaveh Razavi
Hamidreza Davoodi
Armen Baghumian
Omid Mottaghi
Amir Mohammad Saeid
Alan Baghumian

Read List

UNIX Systems Programming: Communication, Concurrency and Threads (2nd Edition) Advanced Linux Programming (Landmark)

Professional Assembly Language (Programmer to Programmer) Operating Systems Design and Implementation (3rd Edition) (Prentice Hall Software Series)

    Feeds

    rss
    atom

    Last.fm