BrainFuck Question Of The Day: Full Upsteem Inside For The First 3 Answers!

in #steemit7 years ago

First of all, BrainFuck is not some random word I devised to make you click on this link. It's a real life programming language (which is also Turing complete, just like the Ethereum virtual machine, although a few orders of magnitude less performant than that). It was invented in 1993 by Urban Müller and it's famous (in a very small circle of programmers, though) for its extreme minimalism (and lack of applicability, for what matters).

I stumbled upon this gem while searching for ways to implement a virtual machine on top of an existing blockchain, without messing up with its current structure. I'm still searching for a suitable solution, but, as I was playing with BrainFuck, I had an idea.

But firs things first.

What Exactly Is BrainFuck?

Like I said, it's one of the smallest, if not the smallest, Turing complete virtual machine out there, with only 8 words. Here they are, taken from the Wikipedia page:

-Meaning
>increment the data pointer (to point to the next cell to the right).
<decrement the data pointer (to point to the next cell to the left).
+increment (increase by one) the byte at the data pointer.
-decrement (decrease by one) the byte at the data pointer.
.output the byte at the data pointer.
,accept one byte of input, storing its value in the byte at the data pointer.
[if the byte at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, jump it forward to the command after the matching ] command.
]if the byte at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, jump it back to the command after the matching [ command.

By using just these 8 words, one can create whatever program you may create by using a Turing complete machine (like a C compiler, or a PHP interpreter). So, just to make things clear, a BrainFuck program will contain only these 8 characters.

Ok, so? How does this helps us?

Well, I thought to spice up a bit our interactions here on Steemit and do my own BrainFuck contest.

The Rules Of The Contest

I will write a small BrainFuck program each day, for 10 days in a row, which will do nothing but output a question. Maybe as we advance, I will try to make things even more complex, like asking for input from you, but for now let's say the program will just output a question. Or something that will generate interaction from you.

Your role is to run the BrainFuck program (I will give you some pointers for some free online BrainFuck interpreters), decode the question and decide if you want to answer to it here, in the comments.

The first 3 answers get a full upsteem from me (in the $0.9 - $1.5 range, depending on my current voting power and the value of Steem).

Got it?

Like it?

Great, lets play.

Here's the first BrainFuck program of the day. In order to see its output, you should run it through a BrainFuck interpreter - at the end of the post you'll find a link for some resources, or you can write your own (if you're a really good programmer, cc @abit :) )

++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>-.+<<<<<<<<<<<>>>>>>>>>>>>>.<<<<<<<<<<<<<>>>>>>>>>>>>>>>+.-<<<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>>>>>>>>>>>++.--<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>>>+.-<<<<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>--.++<<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>+++.---<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>+.-<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>-.+<<<<<<<<.

BrainFuck interpreter written in JavaScript and executed in browser: http://www.bf.doleczek.pl

Let's see the first 3 answers :)


I'm a serial entrepreneur, blogger and ultrarunner. You can find me mainly on my blog at Dragos Roua where I write about productivity, business, relationships and running. Here on Steemit you may stay updated by following me @dragosroua.


Dragos Roua


You can also vote for me as witness here:
https://steemit.com/~witnesses


If you're new to Steemit, you may find these articles relevant (that's also part of my witness activity to support new members of the platform):

Sort:  

My reply to your question :
To meet interesting people with sometimes very strange ideas, out of the box !!!!

There you go, your full upsteem just landed! Thanks for playing :)

HAHA I AM ON STEEMIT BECAUSE I AM LEARNING SCRIPT...?? HA HA THIS IS FUN...LOL

Glad you liked it! You qualified for a full upsteem :)

++++++++[>++++>++++++>++++++++>++++++++++>++++++++++++<<<<<-]>

++++.<++++++++.-------.>------.---.<<<.>>>>-------.<++++.>----....<<<
<+.
[>]<[[-]<]

I find it a hugely interesting experiment and a good place to meet communities of people with similar interests (to answer your question!).

thank you for playing, you got your full upsteem :)

Thanks! I also learned stuff. Win win!

Well I'm on steemit because of @jerrybanfield
I was sceptical at first but when I got in and learned about the great community I was hooked.
I keep coming everyday now haha
I've met so many great people it is truly amazing
It manifests my whole life.
This seems like a fun daily thing @dragosroua

Thanks for playing. Your answer was the fourth, but I decided to give you a full upsteem anyway. Steem on!

I guess I need to be faster next time.
I was too busy checking what Jerry's @ was haha
Thank you very much @dragosroua

why are you on Steemit? To earn some money... very straight forward...

thanks for playing, a bit late, so no full upsteem, just a 10% one, but thank you nonetheless :)

i am on steemit because i love crypto world ;P

Thanks for playing, not qualifying for a full upsteem, but still got a 10% one.

no issues i love playing that hahah

[-][I AM TOO DONKEY FOR THIS]
++++++++[>++++>++++++>++++++++>++++++++++>++++++++++++<<<<<-]>

-------.<<<.>>+.>++++.<<<.>>>+++++++.-----..<<<.>>+++.>.-.---.<+.>>--
-----.<<<<.>>+.>++++.+++.<<<.>>>++.<++.+.>-.
[>]<[[-]<]

++++++++[>++++>++++++>++++++++>++++++++++>++++++++++++<<<<<-]>>>>++++.>+++++++++++++++.<<<<.>>>>-------.-------.+++++++++++++++++++++.<+++++++++++++++++.<<<.>>>+.>-.-------.<<<<.>>>-----.>.<+++.<<<.>>>>--.<+.----.>++++++.----.<<<<.>>>.<<<.>>>+++++.-.>+++++++++.<<<<.>>>++++.+++++.<<<.>>>>---.<------.---.<<<.>>>>----.++.---.<--.++.>++++..<<<<+.[>]<[[-]<]

Nice one :) I will translate it for the lazy people: [I'm on Steemit] to have fun and learn a few in the process.

my answer: I'm here because I'm open to new and I find new sources of money!

You didn't state how you are encoding your question.
Or do we have to guess?

and all the lengthy move left/move right strings are just there to annoy and get people to lose place. Like unnecessary parenthesis in Lisp.

BF is vintage, so let's assume ASCII for encoding. As for performance, it's obviously lousy :)

BF is just for fun it's an esoteric language ("esolang") to show what can be done with minimalistic command length (1 char each) and super RISC (only 8 instructions / commands). This and other languages like it are to show off software skills, used in obfuscated code contests, and show a certain level of artistic talent -code on ;)

Stigmatatata from Lake Titicaca!

I know what it is and how it works. But what is the use of >>>>>>><<<<<<?
It is only to make it harder for someone to read. To increase the chance of error.
Was that 7 right and 6 left?

There is no real use ...I listed the uses - fun, s/w art, and obfuscation itself. It is not a practical programming language - no one ever said it was - I think you took it too seriously The fact it is named BrainFuck is a major clue that no S/W corps are going to be using it as their language of choice... hah

Thanks for reminding me. @drogosroua
You do not want a RISC for block chain computing. Block-chains are slow, so you want as much computing power per tick as possible. Also storage is an issue, so you want as much instruction information density as possible.

So CISC all the way.

Depends on the compiled machine instruction set language vs the high level interpreted language. All blockchain code that I'm aware of is in high-level languages many branches off of c++. Over time I'm sure languages tailored to blockchain and h/w that's blockchain application-specific employing ASICs will be used for main blockchain nodes. Speed will improve e.g. LN of LTC

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.030
BTC 59111.01
ETH 2441.11
USDT 1.00
SBD 2.45