<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-649161533954319967</id><updated>2012-02-16T00:09:31.475-08:00</updated><category term='esoteric programming languages'/><category term='advice'/><category term='lost'/><category term='computer architecture'/><category term='mechatronics'/><category term='coding'/><category term='time travel'/><category term='missing'/><category term='robot'/><category term='geek'/><category term='programming languages'/><category term='freescale'/><category term='IDE'/><category term='artificial intelligence'/><category term='brainfuck'/><title type='text'>Beer, Circuits and k9s</title><subtitle type='html'>a blog about beer, circuits, dogs and ultraviolence</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-649161533954319967.post-276404120630334867</id><published>2011-12-17T16:05:00.000-08:00</published><updated>2011-12-17T17:52:00.416-08:00</updated><title type='text'>I NEED to know!</title><content type='html'>&lt;span style="font-size: large;"&gt;Why does Forrest Gump sit next to the TV instead of facing it while "watching TV"?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Does anyone know?&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/O6jazQ1ZXY0/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/O6jazQ1ZXY0&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/O6jazQ1ZXY0&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;Someone asked the same in the &lt;a href="http://www.youtube.com/watch?v=O6jazQ1ZXY0"&gt;comments for this video&lt;/a&gt;. &lt;/div&gt;&lt;br /&gt;Anyone?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/649161533954319967-276404120630334867?l=kuashio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/276404120630334867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kuashio.blogspot.com/2011/12/i-need-to-know.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/276404120630334867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/276404120630334867'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/2011/12/i-need-to-know.html' title='I NEED to know!'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-649161533954319967.post-8680873638135063846</id><published>2011-11-13T06:23:00.001-08:00</published><updated>2011-11-14T16:06:37.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='missing'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='lost'/><title type='text'>Losing it (How to find stuff you've lost)</title><content type='html'>I recently lost my passport with my US visa in it. I made a thorough search everywhere. Everywhere it could possibly be, according to me. I finally found it, and remembered how happiness feels.&lt;br /&gt;&lt;br /&gt;While doing this search I even googled how to find stuff you lost, and it turned out that I had already tried most of the suggestions I found in places such a &lt;a href="http://www.wikihow.com/Find-Lost-Objects"&gt;this one&lt;/a&gt; and &lt;a href="http://www.professorsolomon.com/12principles.html"&gt;this one&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since this problem of mine is chronic, I decided to share my experience losing stuff, hoping it might help you find something you've lost. Here's what has been useful to me:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Occam%27s_razor"&gt;&lt;b&gt;Occam's Razor&lt;/b&gt;&lt;/a&gt;. Don't insist on far-fetched possibilities like "Someone's trying to destroy you, broke into your house to get your wallet and is going to do illegal stuff using your identity and get away with it leaving you to pay for the mess". Although that's possible, a more &lt;i&gt;likely &lt;/i&gt;possibility is "You left your wallet at the bank", so relax. Things might even turn out where they're supposed to be.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Stalk Yourself&lt;/b&gt;. Make a detailed reconstruction of all the things you've done and places you've visited since you last saw the missing item until you first noticed it's missing. Social networks have become extremely handy for me: Check your Tweets and Facebook messages. Things like "At the movies, then to the bar" or "I hate bringing my backpack to the mall" may contain very helpful clues. Even pictures of you with and without the item might help.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Don't stick to one conclusion&lt;/b&gt;. Even if you've made a list of places you visited, people you talked to and things you did on one particular day, there's a big chance you didn't lose the item that day.&lt;/li&gt;&lt;li&gt;&lt;b&gt;With all this info, ask everywhere&lt;/b&gt;. You have to be pushy. You have to insist and describe the object at least twice. Last time I had to ask the guy "Are you really really sure?, because it looks just like that envelope over there", which was not my envelope, but the guy remembered my envelope after looking at the one I pointed to. So if I hadn't insisted, I would've ended up writing something very different here. Remember: You're interested, no one else is.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Give up looking in places you've already looked thoroughly&lt;/b&gt;. Don't search your office 14 times (Like I did last time). If your cellphone wasn't inside your desk drawer yesterday, it won't be there today. But make sure you've searched thoroughly! It might be under a sheet of paper you overlooked twice.&lt;/li&gt;&lt;li&gt;&lt;b&gt;If you need it soon, start getting a replacement&lt;/b&gt;. There is a chance that you won't find what you've lost. In that case, searching won't ultimately get your item and the sooner you start getting a replacement, the better. Worst case: You'll manage with your replacement. Best case: You'll have two of those.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Here's some advice&lt;/b&gt;&lt;/span&gt; &lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If you have trouble losing stuff often, consider the following preventive heuristics:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Accept the fact that you have a problem and try to focus&lt;/b&gt;. People lose their stuff because they're absent minded. Try to make it a routine to always ALWAYS look at the table before you leave the restaurant, check your wallet after paying for something, etc. Just like an alcoholic should always watch out, you must remember that you have a tendency to leave your stuff behind.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Have a special place for important things&lt;/b&gt;. You might want to consider getting a safe. Always put your important stuff there.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Put a tag on your important stuff with your contact info.&lt;/b&gt; If you don't want to use your phone number, you can use an email address you seldom use.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Pay a visit to your lawyer &lt;/b&gt;and &lt;b&gt;get a certified copy&lt;/b&gt; of all your important/irreplaceable documents. You'll thank yourself&amp;nbsp; later (very much).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Always have a copy of your car keys in a separate key chain&lt;/b&gt;. I use my spare keys like twice a year.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Some examples&lt;/b&gt;&lt;/span&gt; &lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I've lost several things on several occasions, which have worried me very much. Here's a little summary of the latest with the places they were found:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;2007&lt;/b&gt;: I lost a briefcase containing my passport and my BSEE diploma. It was at a house I used to live in.&lt;/li&gt;&lt;li&gt;&lt;b&gt;2010&lt;/b&gt;: I lost my passport (again) at the JW Marriot in Orlando at FTF (Freescale's technology event). It was inside the safe of the room I had already checked out from. &lt;/li&gt;&lt;li&gt;&lt;b&gt;2010&lt;/b&gt;: I lost my Guatemalan ID (which took about 8 years to get since I'm originally from Honduras). I dropped it on the street in front of a place I visited. A kid found it and gave it to the salesperson. &lt;/li&gt;&lt;li&gt;&lt;b&gt;2011&lt;/b&gt;: I lost my backpack with my ASUS laptop at San Antonio, TX airport. The police took it as part of their policy of unattended luggage. They called me :S&lt;/li&gt;&lt;li&gt;&lt;b&gt;2011&lt;/b&gt;: I lost a bag of Sparkfun gooddies I was going to give away at a technology event that was coming up (I'm not the only one to blame for this one... this isn't the toughest on the list either). It was in a storage room I searched at least twice. &lt;/li&gt;&lt;li&gt;&lt;b&gt;2011&lt;/b&gt;: I (not my wife) lost an invitation to a wedding we had no clue when or where was going to be. It was in my wife's nightstand, where we both had looked at least twice.&lt;/li&gt;&lt;li&gt;&lt;b&gt;2011&lt;/b&gt;: I lost an envelope containing my LIFE: My Guatemalan ID and my passport with my US visa. It was at the supermarket. Not the supermarket I suspected, but the other one.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Always&lt;/b&gt;: I leave my car keys inside. Once I had to Clothes-Hanger it, but only once. Then I got a copy of my car keys and carry it with me in a separate keychain always.&lt;/li&gt;&lt;li&gt;&lt;b&gt;2011&lt;/b&gt;: I forgot to handbrake my car. I found it in front of my house with a dent on the front bumper :(&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;________________________________________________________________________________&lt;br /&gt;I want to thank my wife for being so supportive. I haven't forgiven myself for this last one. She has :) &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/649161533954319967-8680873638135063846?l=kuashio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/8680873638135063846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kuashio.blogspot.com/2011/11/losing-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/8680873638135063846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/8680873638135063846'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/2011/11/losing-it.html' title='Losing it (How to find stuff you&apos;ve lost)'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><thr:total>0</thr:total><georss:featurename>Pan American Hwy, Guatemala City, Guatemala</georss:featurename><georss:point>14.518575247404726 -90.48065185546875</georss:point><georss:box>14.514732247404726 -90.48558735546875 14.522418247404726 -90.47571635546875</georss:box></entry><entry><id>tag:blogger.com,1999:blog-649161533954319967.post-2378474060272477173</id><published>2011-10-21T18:03:00.000-07:00</published><updated>2011-10-22T17:49:52.802-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><category scheme='http://www.blogger.com/atom/ns#' term='artificial intelligence'/><category scheme='http://www.blogger.com/atom/ns#' term='geek'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>A 7-Segment Display Recognizing Neural Network</title><content type='html'>&lt;div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.blogger.com/blogger.g?blogID=649161533954319967" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="" border="0" height="210" src="data:image/png;base64,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" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Among other things, I teach Robotics to ECE students at Galileo University, Guatemala. I got to teach this class after 3 years of learning so much as a teaching assistant since 2005. Back then, in order to learn about artificial neural networks, I made a project that was assigned to our students, because I wanted to be able to answer their questions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;OK, so I made this application in Borland C++ Builder 6 back in 2005. The specific type of neural networks implemented in this project are Feed Forward Neural Networks using the Back Propagation Method, the ones described in &lt;a href="http://www.generation5.org/articles.asp?Action=List&amp;amp;Topic=Neural+Networks"&gt;generation5.org&lt;/a&gt;. By the way, if you want to learn about ANNs, I highly recommend the tutorials by James Matthews and Samuel Hsiung, which can be found at &lt;a href="http://www.generation5.org/articles.asp?Action=List&amp;amp;Topic=Neural+Networks"&gt;generation5.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="" height="217" src="data:image/png;base64,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" width="320" /&gt; &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;This is the topology for the Neural Networks implemented. The perceptrons use the sigmoid activation function.&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;So this application is a Neural Network trained to recognize all 10 digits in a 7 segment display. The user enters the pattern using 7 buttons. It's supposed to guess the meaning of a received pattern, as would be required by an intelligent system (say, a robot) observing a 7 segment display, which is a very cool computer vision application.&lt;br /&gt;&lt;br /&gt;You may argue that hard-coding the 10 digits would do the trick. True, but the real value in a neural network is that by means of &lt;b&gt;&lt;i&gt;teaching&lt;/i&gt;&lt;/b&gt; the system how the numbers look, you are giving it the chance to make guesses for incomplete or weird patterns, which would be the case if the observed display has one or more damaged segments. This is a very reduced application of the same principle used in &lt;a href="http://en.wikipedia.org/wiki/Optical_character_recognition"&gt;OCR&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I made 2 implementations to solve this problem:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Single-Output ANN&lt;/b&gt;: Outputs an integer (0-9) corresponding to the digit concluded by the ANN given the input.&lt;/li&gt;&lt;li&gt;&lt;b&gt;7-Output ANN&lt;/b&gt;: Outputs an array of 7 boolean variables that represent each segment. This also works as an "Auto Complete" feature. This implementation has the disadvantage of being able to come up with non-numeric patterns (A, -1, L, E and so on).&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="" height="320" src="data:image/png;base64,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" width="315" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp;The single output version of the application&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;In both applications, the user sets the following parameters (please go to &lt;a href="http://www.generation5.org/articles.asp?Action=List&amp;amp;Topic=Neural+Networks"&gt;generation5.org&lt;/a&gt; if you're not familiar with the terms):&lt;br /&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;3 or 4 layered Neural Network (1 or 2 hidden layers).&lt;/li&gt;&lt;li&gt;How many neurons to use per layer (first MUST be 7 and last MUST be 7 or 1).&lt;/li&gt;&lt;li&gt;Training Goal: Train until a specific error % is reached or Train a specific number of iterations.&lt;/li&gt;&lt;li&gt;Eta, the learning rate.&lt;/li&gt;&lt;li&gt;The Bias.&lt;/li&gt;&lt;li&gt;The Goal (Error or Iterations).&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;a href="http://dl.dropbox.com/u/21042754/ANN/ANN.zip"&gt;Go ahead and try it&lt;/a&gt;. Sorry, they're Windows apps. I HAVE to start writing online code :(&lt;br /&gt;The source code of the library I made is included in case you want to fiddle with it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Artificial Intelligence&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;I like Artificial Intelligence very much. I teach some of it at my Robotics class, but I never received formal education on it.&lt;br /&gt;&lt;br /&gt;I recently enrolled in &lt;a href="http://www.ai-class.com/"&gt;the online version of Standford's CS221 AI class&lt;/a&gt; to learn more. So far, it's been OK: relatively easy to understand, not &lt;i&gt;prohibitively &lt;/i&gt;time consuming, sometimes it's been challenging, but most importantly: it's been fun. &lt;br /&gt;&lt;br /&gt;Again, for practical stuff and to learn lots about AI, go to &lt;a href="http://www.generation5.org/articles.asp?Action=List&amp;amp;Topic=Neural+Networks"&gt;generation5.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/649161533954319967-2378474060272477173?l=kuashio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/2378474060272477173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kuashio.blogspot.com/2011/10/7-segment-display-recognizing-neural.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/2378474060272477173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/2378474060272477173'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/2011/10/7-segment-display-recognizing-neural.html' title='A 7-Segment Display Recognizing Neural Network'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><thr:total>0</thr:total><georss:featurename>7A Avenida, Guatemala City, Guatemala</georss:featurename><georss:point>14.609207620784646 -90.50573587417603</georss:point><georss:box>14.608247120784647 -90.50696987417602 14.610168120784646 -90.50450187417603</georss:box></entry><entry><id>tag:blogger.com,1999:blog-649161533954319967.post-3411161493184390400</id><published>2011-08-17T07:49:00.000-07:00</published><updated>2011-10-21T18:53:59.931-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='esoteric programming languages'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><category scheme='http://www.blogger.com/atom/ns#' term='brainfuck'/><title type='text'>Visual brainfuck</title><content type='html'>&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&lt;i&gt;"Rule #1 about Visual brainfuck is you do NOT talk about Visual brainfuck"&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Visual  brainfuck is an Integrated Development Environment for brainfuck and  Ook! applications. It has a GUI with the following key components:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Three text editors: Input, Output and Program.&lt;/li&gt;&lt;li&gt;A Debugger with:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;An animation with Memory Tape and a Program Tape watches.&lt;/li&gt;&lt;li&gt;Currently executed instruction indicators embedded in the Program Editor.&lt;/li&gt;&lt;li&gt;Breakpoint support.&lt;/li&gt;&lt;li&gt;Continuous and step execution.&lt;/li&gt;&lt;li&gt;Peek &amp;amp; Poke Controls.&lt;/li&gt;&lt;li&gt;The ability to display memory values in decimal, hex or ASCII.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;A &lt;a href="http://edn.embarcadero.com/article/27317"&gt;Component Palette&lt;/a&gt; that looks just like Delphi's or C++ Builder's.&lt;/li&gt;&lt;li&gt;A Text Encoder application that generates a brainfuck program that prints the desired text.&lt;/li&gt;&lt;li&gt;An Ook! Translator application that translates from brainfuck to Ook! and the other way around.&lt;/li&gt;&lt;li&gt;A brainfuck compiler for generating executables. This is  particularly useful when the code is too dense for the debugger to run  quickly.&lt;/li&gt;&lt;li&gt;A thoroughly detailed help file.&lt;/li&gt;&lt;/ul&gt;Here's a screenshot of the well-known Sierpinski triangle brainfuck program running in Visual brainfuck.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NxOcbf2IhoQ/TkvPbalZ3sI/AAAAAAAAAFE/B1QgJc6ytwQ/s1600/visualbf.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="448" src="http://1.bp.blogspot.com/-NxOcbf2IhoQ/TkvPbalZ3sI/AAAAAAAAAFE/B1QgJc6ytwQ/s640/visualbf.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;This is how Visual brainfuck looks.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;There's a particular program I like in brainfuck: &lt;a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life"&gt;Conway's Game of Life&lt;/a&gt;, implemented by Linus Akesson. Here's the &lt;a href="http://www.linusakesson.net/programming/brainfuck/index.php"&gt;brainfuck program&lt;/a&gt;. Go ahead and try it in Visual brainfuck!&lt;br /&gt;&lt;br /&gt;Feel free to &lt;a href="http://dl.dropbox.com/u/21042754/Visual%20brainfuck%20Setup.exe"&gt;download Visual brainfuck&lt;/a&gt; and join the few fine esoteric developers around the world. Hopefully we'll make it to... 27?&lt;br /&gt;&lt;br /&gt;_______________________________________________________________________________&lt;br /&gt;&lt;span style="font-size: large;"&gt;So what's the story behind Visual brainfuck?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Like I said earlier, I'm a big fan of &lt;a href="http://kuashio.blogspot.com/2011/07/esoteric-programming-languages.html"&gt;esoteric programming languages&lt;/a&gt;. Some for amusement, some for the real challenge they become. The esoteric programming language that I particularly haven't been able to get over is brainfuck. brainfuck brainfuck brainfuck.&lt;br /&gt;&lt;br /&gt;Back in 2003 I started to work as a hardware coder, and I asked my boss to give me 2 weeks to get familiar with &lt;i&gt;Borland C++ Builder&lt;/i&gt;. In these 2 weeks, I was supposed to make a project of my own. And I made Visual brainfuck.&lt;br /&gt;&lt;br /&gt;Visual brainfuck started as a joke (just like brainfuck), but after lots of coding, I started to actually achieve my goal and got acquainted with Borland's IDE, which by the way, I consider one of the best IDEs ever made. I learned so much about events, buttons, windows, threads, the Windows API, splash screens, etc.&lt;br /&gt;Bottom line: If you ask my then-boss if he had the chance to hire me again, would he let me waste 2 weeks again, he'd probably say yes.&lt;br /&gt;&lt;br /&gt;I was ready to release Visual brainfuck. I composed an email I was ready to send to my beta testers, people I'd met while learning how to put the project together. I started to learn how to make a help file and an installer for my application.&lt;br /&gt;&lt;br /&gt;But something terrible happened: &lt;a href="http://youarenotsosmart.com/2010/10/27/procrastination/"&gt;Procrastination&lt;/a&gt;. My 2 weeks were up, and I said to myself: "I'll finish it at home on my free time".&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;I still have the call for beta testers draft in my email.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Procrastination is a BIG cancer in our lives. Have you remembered about something you must do and said "I'll do it later"? Have you found yourself saying "Oh poor me, I never have time". Have you seen tihs popular and proud Tshirt?&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="" src="data:image/png;base64,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xje/+c0/+MEPJpPJxz/+8SiKFhcXFxYWNE378Ic//NBDD00mk29/+9uXXXZZt9tdWlr627/929tuu60sy7m5OcMwrr766vvvv//48eO6rs/MzLzuda87derUZDJ58MEHX//61x8+fDgMw9nZ2S9+8Ys33HDD5Zdf/qMf/Wgymdx8881CiFarBUaJfBAcNILXF73oRS996Usnk8n3vve95zznOS984QtXV1f379+/trb27W9/+/Tp06dOnbr99tsXFxcNw+j1ekVR3H777R/5yEeuuOKK++67bzKZ3HXXXXmeHzp0aGZm5oYbbjhz5swDDzzwzW9+8/LLL2+1Wo7jaJq2tLR04sSJu+666/HHH59MJl/60pee/vSndzqd3bt3f+Yzn3niwsWr3/6OB358/+SJyU1fu1FGYmFu3rUddrKppCAg+F8+8P4H7r9vMrl45pHTr/ud1xw6uH9xYc41jbu/9913vOU//c6rf+vB++6dPHHxc9d/enl+7vDsoV/+pWc9fPonb/oPfzA/d7jTbjq2+X/fefv/9ZUv9brtz37m04+eefjihfOPnz/3kwfvv//H9179jrft2tnY0Wj86Ienzj76yB+/8x0wh3/7+Rs67ebiwpzvOQgKkWiD2Tb0HtLnJBbj0WB7pMz/8V+vxfhemECQoY7n4onre6ZtiVgalmna1sc/+Ynvfe97k8nkwoULV1xxBQKpoloa2Ov3izSNsyyRMjJNHXz6ZDI5ffr0ZDL5x3/8xzvuuGMymbztbW+bnZ3du3fvZz/72clk8p3vfOerX/3qo48++vDDDxdFsXfv3s9//vMXL1688sor9+zZc+DAAezB87yZmZkXv/jFk8nkn//5nz/1qU8Buy9+8YsXFxd3795966234hedO3futttuO3369HXXXbdnzx6WcFjXkVJ2u93LL798MpkAFo8++uhkMrl48eIb3vCG2dnZ4XB48803f+tb33r88ccff/xxKSUMtq7rp0+fPnfu3IULF+69917ExDfccEOj0Wi1Wtdee+13vvOd06dPnz9//pWvfOXS0tLy8nKz2dR1/aGHHrpw4cJnP/vZb37zm4888sgXvvCFmZmZXbt2feYzn8G1ueuuu2677bbz589/8IMf3L9/v6ZpCD29eoEq9JbDh/z4xz9+9NFHP/jBDz744IOTyeRnf/Zn9+7dOz93ePLE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LButVBLSVSqVas45e+/VzTnXmqvdzemqUgkgSBMcgMLnRRHIxQsDRD+RzpuBKDq+q+gdH4Kowx8qXFQCpCotCEHzQSAhCWlBpQkBQ8BoCkKlb6vd98ez5rPfPfc5ValvjzXO2N1Ze++1nvU2z/u87zz9LW95y6FDh6655pojR458+9vfPvXUU88+++yXv/zl+/fv/9rXvrZ79+6LLrrojW9848/93M+9+tWvVkpt3LjxkksuGY/Hb3rTm7Zs2YIsuCxLrs6F7ApJCSCIud7wZf/+7/++detWEDGgzbds2bJhwwZ8eVhBuNFvfvObhw8fXl1dPemkk3bs2PHMM888/fTTmzdvnpuby7LstNNO+/jHPw6zvWXLlu3bt2utO50OjNxLX/rSW2+9dTwe33jjjZs3bz755JNvvvnmgwcPvuhFLzrllFM2bNhw9OjRxx9/fOvWrShLDlwvIuOHTZs27dmz5+jRo6985StxzRw4cODaa6/duHHjc049+a7vfGs8PrJt65azN50Z9Drjo4fv/cG/n7Rhw+mnnbrxpA1XXnHZeHxk/09/8uQTj20995yzzjw9DLqnnHzScy/YPR4f+cI1n9t89lmnPeeUU07ZePrpz9mwYcMPfvDvR44cQjS1ffvW8fjIj374g996+39HsaQsbNDroCiCvJiqsOGgOTFS5h8//zmOWIVGASssomUOK65DrQFnvXnz5s985jMHDx581atetX379sYtc4p1z7D0GUc2bdy4AZfsaaedBggePnz4lltu2bBhwzvf+c6nnnrqz/7sz84+++wNGzacdNJJJ5988tzcXBAE5557brfbHbtc4UMf+tDGjRt37NiRZdl4PL777rs3bNiwcePGDRs2bNq06ZRTTjnllFPOPvvsj370o+Px+K1vfSs4vLIsoaIYDocrKyulmJ+J/uJut9vtds8777xDhw4htkPU1el0UM7ZuHHjvn37Dhw4ABB0u91NmzZ961vfeuyxx5qmAcIOHjz4yCOPnH766eD8zj333L/6q7/68Y9//N73vpeszerq6kc+8hF85+c85zn79+8fj8ebNm3asGHDDTfcACu+sLBw5plnPvTQQw899NCWLVvm5uZY9cH1A9rrOc95zrXXXvvMM88URXHSSSe95jWvOXr06BVXXHHGGWectGHD9+6+6/ChA9u2bonCnlbxo488BAhu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" /&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Procrastination's a way of life&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Now, about three weeks ago (august, 2011), I couldn't stand it anymore and decided to deal with this unfinished business once and for all. First, I had to dust my source code and figure out what I was thinking while coding. It was fairly commented, but a little more would've been nice. Moral: There's no such thing as enough comments in your code.&lt;br /&gt;&lt;br /&gt;Oh, but I used special fancy controls for my project. For example, Visual brainfuck has a debugger with a cursor that indicates the currently executed instruction, plus a gutter where a green arrow points to the executed instruction and where line breakpoints are set. These controls needed to be installed, which meant lots of work. I even asked a friend who worked with me on that project back in 2003 and he said "that's old school. It's been almost 10 years, get over it!" Anyway, I finally got the development up and running.&lt;br /&gt;&lt;br /&gt;I had horrible synchronization issues in two of my threads, but I fixed them by re-learning about threads and semaphores.&lt;br /&gt;&lt;br /&gt;I always intended to include a brainfuck-native microprocessor called &lt;b&gt;&lt;i&gt;brainfuck uP &lt;/i&gt;&lt;/b&gt;along with Visual brainfuck, but decided to release it separately. I'll make a dedicated post about it here.&lt;br /&gt;&lt;br /&gt;I upgraded the version of Visual brainfuck by two tenths because of two major improvements made now (2011). The first being the conditioning of the whole GUI for Windows 7 compliance (x86 and x64), and the second took some time:&lt;br /&gt;&lt;br /&gt;I was telling two of my friends about Visual brainfuck, but when they asked what exactly it was, I couldn't say it's an IDE because it didn't have a compiler. So I decided to add a compiler to it. I didn't &lt;i&gt;make&lt;/i&gt; the compiler, but I went out there and googled for compilers. The first I used and integrated to Visual brainfuck was the &lt;a href="http://home.arcor.de/partusch/html_en/bfd.html"&gt;brainfucked &lt;/a&gt;compiler, a great, great optimizing compiler, but it makes &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;.com&lt;/span&gt; executables which aren't compatible with Windows 7 x64. The search was very exhausting, and then I found the &lt;a href="http://www.typesandotherdistractions.com/2011/02/brainf-net-compiler.html"&gt;Brainf***.NET&lt;/a&gt; compiler, a very promising one, but I couldn't build it properly, and when I finally got to build it, I got some nasty runtime errors. Finally, I found and decided to use the &lt;a href="http://www.jabb-sch.narod.ru/bf/"&gt;Brainfuck.NET&lt;/a&gt;&lt;span id="goog_595633767"&gt;&lt;/span&gt;&lt;span id="goog_595633768"&gt;&lt;/span&gt; compiler, by Syschikov Andey.&lt;br /&gt;&lt;br /&gt;During all this work I made a help file and an installer, which wasn't as easy as it sounds. I used &lt;a href="http://www.helpndoc.com/"&gt;HelpNDoc&lt;/a&gt; and &lt;a href="http://www.jrsoftware.org/isinfo.php"&gt;Inno Setup&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After a three-week ordeal, I've finally released &lt;a href="http://dl.dropbox.com/u/21042754/Visual%20brainfuck%20Setup.exe"&gt;Visual brainfuck version 1.2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm  very proud of all I've achieved with this project. And I'm even more  proud of having actually finished it! My best advise for anyone is  Finish what you started. You'll feel great!&lt;br /&gt;&lt;br /&gt;________________________________________________________________________________&lt;br /&gt;I want to publicly thank my wife for her patience while I was sunken in this project :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/649161533954319967-3411161493184390400?l=kuashio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/3411161493184390400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kuashio.blogspot.com/2011/08/visual-brainfuck.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/3411161493184390400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/3411161493184390400'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/2011/08/visual-brainfuck.html' title='Visual brainfuck'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-NxOcbf2IhoQ/TkvPbalZ3sI/AAAAAAAAAFE/B1QgJc6ytwQ/s72-c/visualbf.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-649161533954319967.post-4103596067961745585</id><published>2011-07-31T07:13:00.000-07:00</published><updated>2011-08-16T18:42:52.032-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='esoteric programming languages'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><category scheme='http://www.blogger.com/atom/ns#' term='brainfuck'/><title type='text'>Esoteric Programming Languages</title><content type='html'>OK, so I learned to code in a Tandy TRS-80's BASIC around 1986  (my father's a natural born geek), then QBASIC, then Pascal, then PBASIC for Parallax's BASIC Stamp II, then Java, and then I met a &lt;b&gt;&lt;span style="color: #444444;"&gt;real &lt;/span&gt;&lt;/b&gt;programming language: C, then C++, MIPS, s08, and so on. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-irfCOd3MP3c/Tini49YkYvI/AAAAAAAAAEw/0lM1flIPPP4/s1600/tandy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="287" src="http://3.bp.blogspot.com/-irfCOd3MP3c/Tini49YkYvI/AAAAAAAAAEw/0lM1flIPPP4/s400/tandy.png" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;The Tandy TRS-80, the first computer I remember coding for. &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Esoteri&lt;/span&gt;c Programming Languages are PLs made for the amusement of programmers, often intentionally difficult/fun/creepy to read.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Brainfuck&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;I was completely ignorant of esoteric programming languages until 2002, when I ran into a piece of code that looked something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New,Courier,Monospace;"&gt;&lt;b&gt;[-]&amp;gt;[-]++++++++[&amp;lt;++++++++&amp;gt;-]&amp;lt;+++++&amp;gt;[-]&amp;gt;[-]+++++++[&amp;lt;+++++++&amp;gt;-]&amp;lt;---&amp;lt;.&amp;gt;.&amp;lt;--.&amp;gt;.&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;I decided to read more about it and learned it was &lt;i&gt;brainfuck&lt;/i&gt; code. Brainfuck is a programming language designed by Urban Müller with the objective of making the smallest compiler ever. It looks unintelligible and I guess that's part of the joke. But it's not useless: it's actually Turing Complete.&lt;br /&gt;&lt;br /&gt;So how do I code in brainfuck?&lt;br /&gt;The programmer's model is a huge byte memory and a pointer. You may modify the pointer but you can never be sure what address it's pointing to because you don't have access to it. This is just what a Turing Machine looks like. That's why it's Turing complete: because it's a Turing Tarpit.&lt;br /&gt;There are only 8 instructions in brainfuck, each represented by a character.&lt;br /&gt;Here they are:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Cmd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Meaning&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C equivalent&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Increment pointer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; p++;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Decrement pointer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;p--;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;+&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Increment pointed data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;*p++;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Decrement pointed data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;*p--;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;[&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; Jump after&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; matching ']' if pointed data is 0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;while(*p){&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;]&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; Go&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; to matching '['&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; Get pointed byte from &lt;i&gt;The&lt;/i&gt; input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;*p=getchar();&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; Send pointed byte to &lt;i&gt;The&lt;/i&gt; output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;putchar(*p)&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Any other character is ignored and considered a comment (so comments must avoid the valid characters).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Ook!&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;But it didn't stop there. I then learned there were tons of esoteric programming languages, such as Ook!, which is a parody of brainfuck (If that's possible). Ook! is actually the same as brainfuck, because it's isomorphic to it.&lt;br /&gt;Ook! is supposed to be easily understood by orangutans :) Oh, and there's no need for comments because it's supposed to be clear enough for orangutans. Any character outside the proper Ook! language is a syntax error!&lt;br /&gt;Ook! syntax consists of combinations of the symbols &lt;span style="font-size: small;"&gt;&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ook. Ook! &lt;/b&gt;&lt;/span&gt;and &lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ook? &lt;/span&gt;&lt;/b&gt;in pairs, separated by single spaces, which match brainfuck characters. For example, "&lt;span style="font-size: small;"&gt;&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ook. Ook?&lt;/b&gt;&lt;/span&gt;" means '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;&lt;b&gt;&amp;gt;'&lt;/b&gt;&lt;/span&gt; and "&lt;span style="font-size: small;"&gt;&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ook! Ook?&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;code&gt;&lt;/code&gt;&lt;/b&gt;&lt;/span&gt;" means&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;'['&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Quoting Wikipedia:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; "According to its designer, &lt;a href="http://en.wikipedia.org/wiki/David_Morgan-Mar" title="David Morgan-Mar"&gt;David Morgan-Mar&lt;/a&gt;, Ook! was meant to be easy for&lt;a href="http://www.blogger.com/goog_2016722710"&gt; &lt;/a&gt;orangutans&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to read, and to prevent any mention of the word "monkey"".&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quoting Dave Morgan's &lt;a href="http://www.dangermouse.net/esoteric/ook.html"&gt;Ook! description&lt;/a&gt;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Um, that's it. That's the whole language. What do you expect for something usable by&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; orang-utans?" &lt;br /&gt;&lt;br /&gt;Ok, so this is how you say "hi" in Ook!:&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook! Ook.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Get it? Of course not, you're not an orang-utan.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Visual Brainfuck&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;So I decided to start working with Borland C++ Builder in 2003 and I decided to make a brainfuck interpreter. I made Visual BF. Here's a screenshot of Visual Brainfuck running the Sierpinski triangle classic BF program.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-lXKTfLHMghw/TkscjEADsTI/AAAAAAAAAFA/s1FT2CbZuCo/s1600/visualbf.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="448" src="http://2.bp.blogspot.com/-lXKTfLHMghw/TkscjEADsTI/AAAAAAAAAFA/s1FT2CbZuCo/s640/visualbf.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zNwlHU5Rxx0/TksY5uK1gvI/AAAAAAAAAE8/7uVUwkm7Ixg/s1600/visualbf.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Visual Brainfuck. &lt;a href="http://kuashio.blogspot.com/"&gt;Here&lt;/a&gt;'s a dedicated post on it.&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;The "About" dialog had special thanks to my then boss for allowing me to be unproductive while learning.&lt;br /&gt;&lt;br /&gt;Visual brainfuck had 2 extra tools:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A brainfuck text encoder, which generates a brainfuck program that prints the entered text.&lt;/li&gt;&lt;li&gt; An Ook! &amp;lt;-&amp;gt; brainfuck translator.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Whitespace&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;One esoteric PL that caught my attention is Whitespace. It uses only whitespace characters: tab, new line and space.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Befunge&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Befunge is a programming language that modifies the direction of code execution, by means of four arrow symbols (&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;^&lt;/span&gt;&lt;/b&gt;,&lt;b&gt;v&lt;/b&gt;,&amp;lt;, &amp;gt;). All instructions are stack operations with access to the source code for variables, constants and self-modification.&lt;br /&gt;&lt;br /&gt;Here's a "Hello Wolrd" in Befunge:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;    &amp;gt;25*"!dlrow ,olleH":v&lt;br /&gt;                     v:,_@&lt;br /&gt;                     &amp;gt;  ^&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;span class="editsection"&gt;&lt;/span&gt; &lt;span class="mw-headline" id="Befunge-93_instruction_list"&gt;&lt;/span&gt;&lt;br /&gt;Here's the &lt;a href="http://en.wikipedia.org/wiki/Befunge"&gt;explanation of this code&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;LOLCODE&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;And guess what! &lt;a href="http://en.wikipedia.org/wiki/Lolcat"&gt;Lolcat&lt;/a&gt; fans are encouraged to code in LOLCODE, a lolcat-syntax-based esoteric programming language. Its keywords are typical words found in lolcat pictures.&lt;br /&gt;&lt;br /&gt;Here's a "Hai World" in LOLCODE:&lt;br /&gt;&lt;pre class="code"&gt;&lt;b&gt;    HAI&lt;br /&gt;    CAN HAS STDIO?&lt;br /&gt;    VISIBLE "HAI WORLD!"&lt;br /&gt;    KTHXBYE&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;And here's a program that prints a count (called "COUNT!!1"):&lt;br /&gt;&lt;pre class="code"&gt;&lt;b&gt;    HAI&lt;br /&gt;    CAN HAS STDIO?&lt;br /&gt;    I HAS A VAR&lt;br /&gt;    IM IN YR LOOP&lt;br /&gt;        UP VAR!!1&lt;br /&gt;        VISIBLE VAR&lt;br /&gt;        IZ VAR BIGGER THAN 10? KTHXBYE&lt;br /&gt;    IM OUTTA YR LOOP&lt;br /&gt;    KTHXBYE&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;So here's a &lt;a href="http://www.youtube.com/watch?v=DzpSREpLJY8"&gt;LOLCODE compiler&lt;/a&gt; for Parrot.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;One-Instruction Set Computer&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;There's a lot of crazy stuff out there, and there's a computer architecture called a &lt;a href="http://en.wikipedia.org/wiki/One_instruction_set_computer"&gt;One Instruction Set Computer&lt;/a&gt;. Believe it or not, there are actual Turing complete OISCs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;R&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;This is a programming language intended for Pirates!!!&lt;br /&gt;Hello World in R:&lt;br /&gt;&lt;pre&gt;&lt;b&gt;    R!&lt;br /&gt;    Ahoy, mayteys!&lt;br /&gt;    Aye, polly is a parrot that tells the crew what the Captain is thinkin'. Gar.&lt;br /&gt;    Ahoy, polly says, "Hello World!"&lt;br /&gt;    Dead men tell no tales.&lt;/b&gt;&lt;/pre&gt;Here's &lt;a href="http://www.illogicopedia.org/wiki/R_%28programming_language%29"&gt;the explanation of this code&lt;/a&gt;. It's worth reading, trust me.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Chef&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Writing this post I learned about &lt;i&gt;Chef&lt;/i&gt;, another contribution of Dave Morgan. Chef is a programming language intented to make code look like an actual cooking recipe.&lt;br /&gt;&lt;br /&gt;Here's a Hello World in Chef:&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;     Hello World Souffle.&lt;br /&gt; &lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Ingredients.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 72 g haricot beans&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 101 eggs&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 108 g lard&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 111 cups oil&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 32 zucchinis&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 119 ml water&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 114 g red salmon&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 100 g dijon mustard&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; 33 potatoes&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; &lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Method.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put potatoes into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put dijon mustard into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put lard into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put red salmon into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put oil into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put water into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put zucchinis into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put oil into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put lard into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put lard into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put eggs into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Put haricot beans into the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Liquefy contents of the mixing bowl.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Pour contents of the mixing bowl into the baking dish.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; &lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt;    &lt;/b&gt;&lt;/b&gt;&lt;b&gt; Serves 1.&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;So the mixing bowl is the stack and the baking dish is the standard output. Oh, and variables are ingredients and the quantities indicated are their values. n this example, note that their initials suggest the character they contain (e.g.: oil='o', water='w').&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;I could go on and on, really...&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;There's a LOT of esoteric programming languages out there (more than 600). Here are some of their names:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; 1337,&lt;/li&gt;&lt;li&gt;Argh!, Aargh! (these are not pirate programming languages, they look a lot like Befunge),&amp;nbsp;&lt;/li&gt;&lt;li&gt;Zombie (by Dave Morgan, for necromancers),&amp;nbsp;&lt;/li&gt;&lt;li&gt;AAAAAAAAAAAAAA!!!! (I'm not getting into that),&amp;nbsp;&lt;/li&gt;&lt;li&gt;Brainfuck++ ("useful" brainfuck with file system and network support)&lt;/li&gt;&lt;li&gt;Brainfuck-- (downgrade of brainfuck, with only 5 instructions)&lt;/li&gt;&lt;li&gt;Whenever (the order of tasks is random).&lt;/li&gt;&lt;/ul&gt;Go to the &lt;a href="http://esolangs.org/wiki/Main_Page"&gt;Esoteric Programming Language Wiki&lt;/a&gt; for more fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/649161533954319967-4103596067961745585?l=kuashio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/4103596067961745585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kuashio.blogspot.com/2011/07/esoteric-programming-languages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/4103596067961745585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/4103596067961745585'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/2011/07/esoteric-programming-languages.html' title='Esoteric Programming Languages'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-irfCOd3MP3c/Tini49YkYvI/AAAAAAAAAEw/0lM1flIPPP4/s72-c/tandy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-649161533954319967.post-1808736687133290084</id><published>2011-07-13T08:10:00.000-07:00</published><updated>2011-10-21T18:55:38.809-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='computer architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='time travel'/><category scheme='http://www.blogger.com/atom/ns#' term='freescale'/><title type='text'>Flux Capacitors might help prevent pipeline hazards</title><content type='html'>First off, this is not serious at all. Okay, you've been warned.&lt;br /&gt;&lt;br /&gt;Ever wondered about alternative approaches to overcome Pipeline Hazards?&lt;br /&gt;&lt;br /&gt;Well, looking at &lt;a href="http://xkcd.com/730/"&gt;this xkcd schematic&lt;/a&gt; I started to wonder about the Flux Capacitor's potential in an actual circuit. I'll tell you what made sense in my head, but first, let me explain the basics. If you already know the basics, you may skip to "Flux Capacitors in Computers".&lt;br /&gt;&lt;br /&gt;&lt;b&gt;About Pipelining&lt;/b&gt;&lt;br /&gt;It's a way of speeding up code execution by dividing it into several stages that perform sub-tasks simultaneously by means of dedicated hardware for each stage. Four consecutive stages are typically used:&lt;i&gt; &lt;b&gt;Fetching &lt;/b&gt;&lt;/i&gt;the instruction from memory, &lt;b&gt;&lt;i&gt;Decoding &lt;/i&gt;&lt;/b&gt;it (identifying the operation), &lt;b&gt;&lt;i&gt;Executing&lt;/i&gt; &lt;/b&gt;the instruction, and &lt;b&gt;&lt;i&gt;Writing Back&lt;/i&gt; &lt;/b&gt;the result. This ultimately speeds execution up (ideally in a rate equal to the number of stages in the pipeline). &lt;a href="http://en.wikipedia.org/wiki/Instruction_pipeline"&gt;Read more&lt;/a&gt;. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HdXLNkdC2aw/Th2QcoJ_3WI/AAAAAAAAAEY/yg7Wn0O3sXE/s1600/pipeline.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://3.bp.blogspot.com/-HdXLNkdC2aw/Th2QcoJ_3WI/AAAAAAAAAEY/yg7Wn0O3sXE/s400/pipeline.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Pipelined execution. Numbers shown in the graph are the instructions at the left.&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;About The Hazards&lt;/b&gt;&lt;br /&gt;Hazards are problems related to the use of a pipeline in an instruction execution unit. Two Hazards are considered here:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;b&gt;Data Hazards&lt;/b&gt;: It happens when an instruction needs data that's produced by another instruction that previously entered the pipeline, but hasn't finished yet. For example let's say instruction &lt;i&gt;&lt;b&gt;i&lt;/b&gt;&lt;/i&gt; writes data into register A, and instruction &lt;i&gt;&lt;b&gt;i+1&lt;/b&gt;&lt;/i&gt; (the next one) uses register A as an operand to calculate something else. What happens when instruction &lt;i&gt;&lt;b&gt;i+1&lt;/b&gt;&lt;/i&gt; is in the &lt;i&gt;Execute &lt;/i&gt;stage and &lt;i&gt;&lt;b&gt;i &lt;/b&gt;&lt;/i&gt;is in the &lt;i&gt;Write Back &lt;/i&gt;stage? The value of register A used by &lt;i&gt;&lt;b&gt;i+1&lt;/b&gt;&lt;/i&gt; as an operand will be the original value prior to the execution of instruction &lt;i&gt;&lt;b&gt;i &lt;/b&gt;&lt;/i&gt;because it's not done yet. This is called a &lt;i&gt;Read After Write (RAW) or true data depencency&lt;/i&gt;. This is a problem because the data used by instruction &lt;b&gt;&lt;i&gt;i+1&lt;/i&gt;&lt;/b&gt; is outdated.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-qHlY35QKq-s/Thxjac5wwAI/AAAAAAAAADw/6MsAE_X4jX8/s1600/data+hazard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://4.bp.blogspot.com/-qHlY35QKq-s/Thxjac5wwAI/AAAAAAAAADw/6MsAE_X4jX8/s400/data+hazard.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Data Hazard between Execute and WriteBack (may happen between other stages)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Control Hazards&lt;/b&gt;: This concerns branches, calls, interrupts, exceptions, resets, etc. When sequential execution must change due to a branch or whenever the next instruction to fetch is not the next &lt;i&gt;stored&lt;/i&gt; instruction, the &lt;i&gt;Fetch&lt;/i&gt; stage must be aware of the address of the next instruction (branch target, interrupt vector, etc). Furthermore, most branches are conditional, and it's not until the &lt;i&gt;Execute&lt;/i&gt; stage that the processor knows whether or not the branch should be taken. This is a problem because when the processor becomes aware of a branch, all of the instructions previously loaded into the pipeline might have to be aborted (execution may have to jump elsewhere). This abort depends on the condition of the branch, which will be known after &lt;i&gt;Decode&lt;/i&gt;. If the branch must be taken, the pipeline must be flushed or bubbled (instructions previously entered replaced by NOPs [no operations]). If not, no problem. Flushing/bubbling the pipeline is a problem because it's a waste of time, and the pipeline is supposed to speed things up.&amp;nbsp; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-hEpjIZC3Niw/Th2Vt5TzCfI/AAAAAAAAAEc/Mt6EHyQwjRs/s1600/control+hazard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="282" src="http://4.bp.blogspot.com/-hEpjIZC3Niw/Th2Vt5TzCfI/AAAAAAAAAEc/Mt6EHyQwjRs/s400/control+hazard.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-oJUdFEvblac/Thy_M-hdKhI/AAAAAAAAAD0/PYZ6IxJPmho/s1600/control+hazard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Control Hazard with bubble&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;There are many approaches to overcome these hazards, mainly divided in two kinds of strategies: Static and Dynamic. Static approaches are performed by the compiler, conditioning the resulting code (rearranging instructions, loop unrolling, and so on). Dynamic approaches are performed by additional hardware (storing data in temporary registers or keeping a record of previous hazards for prediction).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Hazard_%28computer_architecture%29"&gt;Read more&lt;/a&gt; about pipeline hazards.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;About the Flux Capacitor&lt;/b&gt;&lt;br /&gt;"The flux capacitor is what makes time travel possible", Doc. Brown.&lt;br /&gt;&lt;br /&gt;The Flux capacitor is the Y-shaped device inside the DeLorean Time Machine in the &lt;i&gt;Back to the Future &lt;/i&gt;films. &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Flux_capacitor#Flux_capacitor"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/Or7P9jfhcZ0/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Or7P9jfhcZ0&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/Or7P9jfhcZ0&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Flux Capacitors in Computers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;So! Let's consider the unlikely event of an actual Flux Capacitor being invented, tested, manufactured, and even miniaturized to a &lt;a href="http://en.wikipedia.org/wiki/Very-large-scale_integration"&gt;VLSI&lt;/a&gt; level. Not happening, bear with me.&lt;br /&gt;&lt;br /&gt;My intention is to get useful data from the pipeline and send it back in time in order to correct the hazards.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://0.gvt0.com/vi/I5cYgRnfFDA/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/I5cYgRnfFDA&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/I5cYgRnfFDA&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;In the video above, Doc Brown said that the Flux Capacitor from the DeLorean requires 1.21GW to operate. It was capable of reaching ±30 years of time travel for anything inside the whole DeLorean. So, taken to a very small size, hopefully a &lt;a href="http://en.wikipedia.org/wiki/MEMS"&gt;MEMS&lt;/a&gt; Flux Capacitor requiring a couple of watts to achieve a time travel of no more than ±1 second for a cage of a cubic micron wouldn't be so much to ask (would it?).&lt;br /&gt;Even if the proof of concept for time travel at this level is only able to  achieve microseconds for cubic nanometers, this would be good enough because going some clock cycles  back in time is all that's needed.&lt;br /&gt;&lt;br /&gt;As described in the films, the time machine is only capable of taking objects back (or forth) in time, when they are somehow attached to the flux capacitor inside a stainless steel body. So our little (tiny) time machine would be a stainless steel cage  containing a miniaturized Flux Capacitor, a time-traveling register, some status and control registers and a charge pump to iniciate time travel by providing the required power for the Flux Capacitor to start "Fluxing" (lol).&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yLrelb-Gpa0/Thzdthn9WFI/AAAAAAAAAEU/cgNBw8AbsUA/s1600/TTRM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="522" src="http://3.bp.blogspot.com/-yLrelb-Gpa0/Thzdthn9WFI/AAAAAAAAAEU/cgNBw8AbsUA/s640/TTRM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Time Traveling Register Module (TTRM) Block Diagram&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;The amout of time to go back must be written to the TTRMSC register (SC=Status and Control). Some clock cycles must be allowed for the charge pump to operate. The amount of clock cycles required is irrelevant as the register will leave this timeline anyway. The future of this timeline is of no interest anymore.&lt;br /&gt;&lt;br /&gt;So, Data Hazards won't be a problem anymore with something like the following arrangement, which is some kind of &lt;i&gt;actual&lt;/i&gt; Register Forwarding:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-JwFWUXapAxs/ThzUKI0-53I/AAAAAAAAAEE/GNPiZ9kdL04/s1600/Register+Forwarding.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="278" src="http://4.bp.blogspot.com/-JwFWUXapAxs/ThzUKI0-53I/AAAAAAAAAEE/GNPiZ9kdL04/s640/Register+Forwarding.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-p08q6WXuOA8/ThzSYkO1FVI/AAAAAAAAAEA/evv4MWirjts/s1600/Register+Forwarding.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Register LookAhead (RLA) Block Diagram&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Thus, when a RAW data depedency is detected, the "GO!" signal stores the present WriteBack data into the Time Traveling Register, and activates the Charge Pump to start Time Travel a few (previously configured) clock cycles back in time. In the past, the "Incoming" signal replaces one operand of the ALU with the future data, eliminating the dependency setbacks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the other hand, Control Hazards could be taken care of nicely with a similar technique:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jnzKeHP0tAQ/Thzb99Zz5xI/AAAAAAAAAEM/8tfoTHXi_lI/s1600/Target+Address+Forwarding.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="278" src="http://4.bp.blogspot.com/-jnzKeHP0tAQ/Thzb99Zz5xI/AAAAAAAAAEM/8tfoTHXi_lI/s640/Target+Address+Forwarding.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Branch LookAhead (BLA) Block Diagram&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;If a branch should be taken, the "GO!" signal loads the target address into the TTRM. In the past, the "Incoming" signal sets the Program Counter to the Target Address so the correct instruction fetch is made.&lt;br /&gt;&lt;br /&gt;After the target address is sent back in time, actually loading the target to the program counter in this timeline wouldn't be completely necesary, as time travel would take care of that, correcting the events in the universe of interest (the one in the past). &lt;a href="http://science.howstuffworks.com/science-vs-myth/everyday-myths/quantum-suicide.htm"&gt;Watch a cool video about time travel here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This brings up some questions that must have lots of discussion already: What happens to all the split universes generated by each time travel? Is there such thing as Universe Leaking? Is a free(Universe) function reasonable?&lt;br /&gt;&lt;br /&gt;Considering all the split universes generated by this techique, it's important to point out that it will only be always useful for one and only one universe. All other universes will experience the hazards. (?) Oh well.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's all. I hope I'm not losing my mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/649161533954319967-1808736687133290084?l=kuashio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/1808736687133290084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kuashio.blogspot.com/2011/07/flux-capacitors-might-help-prevent.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/1808736687133290084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/1808736687133290084'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/2011/07/flux-capacitors-might-help-prevent.html' title='Flux Capacitors might help prevent pipeline hazards'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-HdXLNkdC2aw/Th2QcoJ_3WI/AAAAAAAAAEY/yg7Wn0O3sXE/s72-c/pipeline.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-649161533954319967.post-5287633245767041100</id><published>2011-07-07T21:21:00.000-07:00</published><updated>2011-07-13T14:58:26.553-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><category scheme='http://www.blogger.com/atom/ns#' term='mechatronics'/><category scheme='http://www.blogger.com/atom/ns#' term='geek'/><category scheme='http://www.blogger.com/atom/ns#' term='freescale'/><title type='text'>Make It Challenge at FTF 2011</title><content type='html'>I got an invitation to attend the &lt;a href="http://www.freescale.com/webapp/sps/site/overview.jsp?code=FTF_2011_AMERICA_HOME_CAT"&gt;Freescale Technology Forum 2011&lt;/a&gt; at San Antonio, as an educator from Galileo University in Guatemala.&lt;br /&gt;Freescale has lots of cool stuff at FTF every year, such as technical sessions, workshops and very nice receptions with demos at their technology lab.&lt;br /&gt;&lt;br /&gt;One of the activities I never miss at FTF is their on-site Design Challenge. I got the first place on the "Can Your Badge Do This?" Design Challenge at FTF2008, and later the third place on a second online version of the same challenge.&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;The Challenge&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;So FTF2011's design challenge was called the "&lt;a href="http://www.freescale.com/webapp/sps/site/overview.jsp?code=FTF_2011_AMERICA_MAKEIT_CAT#nogo"&gt;Make It&lt;/a&gt;" Challenge, and it had two tracks: The Tower System Track and the Robot Track. I decided to go for the Robot approach.&lt;br /&gt;&lt;br /&gt;We got this very cool &lt;a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FSLBOT&amp;amp;tid=vanMechBot"&gt;FSLBOT&lt;/a&gt; kit, which is a biped robot with gooddies such as 12 touch sensor contacts (placed in the shape of a cartoon head), a freaky face made of LEDs on the touch-sensing head, 8 servo-ready connectors, an Xtrinsic sensor port, etc. Plus, Freescale provided lots of stuff to help us get our designs up and running: A dedicated lab with soldering irons and tools, geek snacks, a HUGE box full of batteries, and two very important elements: A large supply of &lt;a href="http://www.vexrobotics.com/"&gt;VEX&lt;/a&gt; parts, and an Xtrinsic sensor kit with an accelerometer and a magnetometer.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-EL-wah0BeWk/ThY_YudRz5I/AAAAAAAAACU/B1VIbKX1Ias/s1600/FSLBOT.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;b&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-EL-wah0BeWk/ThY_YudRz5I/AAAAAAAAACU/B1VIbKX1Ias/s400/FSLBOT.jpg" width="352" /&gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;FSLBOT&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;The challenge was simple: Make a cool robot to impress the judges with the provided tools and any extra hardware you have in &lt;span style="color: red;"&gt;Two Days&lt;/span&gt;. The only requirement was to use the FSLBOT's controller, the &lt;a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-MECH"&gt;Tower System Mechatronics Board&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;The judges were: &amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Joe Grand (host), president of Grand Idea Studio, Inc. He was one of the inventors on Discovery Channel's "Prototype This" show. He's a Hacker-RockStar: he's &lt;a href="http://dsc.discovery.com/videos/prototype-this-joe-grand-hacker-legend.html"&gt;Kingpin from the l0pht&lt;/a&gt;!!!!!!!!! :OOOOOO w00t!!!!&lt;/li&gt;&lt;li&gt;Heather Knight, Social Robotocist and founder of Marilyn Monrobot Labs. She was one of the kenote speakers at FTF2011, a true geek (meant as a compliment). She was part of the team of engineers behind the "&lt;a href="http://www.youtube.com/watch?v=qybUFnY7Y8w"&gt;This too shall pass&lt;/a&gt;" video, by OK Go.&lt;/li&gt;&lt;li&gt;Anton Olsen, Master Geek at Innovation First, Inc. ( VEX Robotics ), Contributor at GeekDad.com, and Blogger at &lt;a href="http://antonolsen.com/"&gt;AntonOlsen.com&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;We had two programming language choices: C and &lt;a href="http://www.robotsee.com/"&gt;RobotSee&lt;/a&gt;. Working in C ultimately meant an autonomous, powerful, but time-consuming robot for me (given the short deadline), while RobotSee meant a PC-dependent, basic, but fast-development robot. That's why I chose RobotSee (My heart still belongs to C).&lt;br /&gt;&lt;br /&gt;The RobotSee IDE was made by Eric Gregori for the FSLBOT's controller, the &lt;a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-MECH"&gt;Tower System Mechatronics Board&lt;/a&gt;. RobotSee looks a lot like a mix of BASIC and C. I found it very easy to learn and definitely suitable for my situation.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;My Entry&lt;/b&gt;&lt;br /&gt;I didn't want to make a biped as the suggested FSLBOT, because I couldn't come up with something unique for such robot (I imagined lots of dancing robots at the judging). I wanted to make a wheeled rover so much, but when I got to grab VEX parts from the stack, all the DC motors were gone! Then I started to panic, but considering alternatives for DC motor locomotion, I decided to think outside the box and use something I once told my students to do, with no clue on the implementation.&lt;br /&gt;&lt;br /&gt;My general idea was to make a Servo-Only rover. So I came up with this robot that paddles his way fordward using four non-driven wheels, a rubber paddle and two servos: one for paddling and one for lifting the paddle so it can move back.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;a href="http://2.bp.blogspot.com/-4t62r_6K2BM/ThXI0skGWfI/AAAAAAAAACE/18nxGKVMj_w/s1600/robot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="452" src="http://2.bp.blogspot.com/-4t62r_6K2BM/ThXI0skGWfI/AAAAAAAAACE/18nxGKVMj_w/s640/robot.jpg" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;My &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;paddling &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;robot&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;So how does it turn left or right? I came up with a cool suspension system that most likely already has a name and evolution. Anyway, my robot has two servos acting together to achieve two states:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The servos lift most of the structure at one end, causing the four non-driven wheels to make contact with the floor, supporting the robot. By the way, did I mention this is a carpet robot? It had to be, since I didn't get rubber wheels at the giveaway either, so I used actual shameless gears as wheels.&lt;/li&gt;&lt;li&gt;The servos lift the wheels at their other end. This causes a horizontal stand&amp;nbsp; (made from a large gear) to make contact with the floor (carpet). This gear is very special because it's driven by a fifth servo. This allows the robot to turn exactly the angle it's supposed to (provided you have a rubber band around it for friction). &lt;/li&gt;&lt;/ol&gt;Take a look at this suspension system:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;a href="http://3.bp.blogspot.com/-3YjywJOjBJo/ThXfy39AdyI/AAAAAAAAACM/UtpIAY9drbo/s1600/suspension.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="276" src="http://3.bp.blogspot.com/-3YjywJOjBJo/ThXfy39AdyI/AAAAAAAAACM/UtpIAY9drbo/s640/suspension.JPG" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;The ServoBot's Suspension System&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;br /&gt;At the last minute I decided to make the demo using the touch-sensing face. So I made the robot take a step forward when you touch his eyes (yes, his eyes), turn left when you touch his left ear, and turn right when you touch his right ear. I did this in order to use as much hardware as possible. Judges like that.&lt;br /&gt;&lt;br /&gt;Since I expected the robot to look like a paddling boatman, I intended to name it &lt;a href="http://en.wikipedia.org/wiki/Charon_%28mythology%29"&gt;Charon&lt;/a&gt;. &lt;br /&gt;The robot's movement ended up looking quite funny. After lots of coffee, it looked to me like the robot was proud to manage without DC motors. That's why I called it &lt;b&gt;DC-Motor-Less, Yet Proud ServoBot&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;So here's a video of my experience at the Make It Challenge:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://0.gvt0.com/vi/xqTOprst1ww/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xqTOprst1ww&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/xqTOprst1ww&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;I had a lot of fun participating in this challenge and I encourage everyone to put yourselves to the test on similar events. Chances are, you'll have fun too.&lt;br /&gt;&lt;br /&gt;Although I didn't expect to win anything, I finally got the second prize. I know the judges liked my project despite being useless, because it was geeky and for most of it's features I had to wing it. Here's my robot with my prizes back home :)&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YouGvW9fcL8/ThZMlKOZGCI/AAAAAAAAACg/ugVu8b9rTvM/s1600/prizes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-YouGvW9fcL8/ThZMlKOZGCI/AAAAAAAAACg/ugVu8b9rTvM/s640/prizes.jpg" width="640" /&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt; My Robot and Prizes (Note the juicy debit card with the name "Especially for you")&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Difficulties&lt;/b&gt;&lt;br /&gt;I did have a lot of setbacks while making this robot such as availability of the right parts, time, etc (I had to attend several sessions and workshops during the conference, plus I had to eat and sleep!). My wife was very supportive, though :)&lt;br /&gt;&lt;br /&gt;I also received tough news about 2 hours before judging: RobotSee wasn't yet ready to drive more than 4 servos, although the board has 8 servo connectors. I asked Eric Gregori if there was an easy way of driving more servos through RobotSee, but the answer was no. I intended to quit using one of the servos, the one that lifts the paddle, and came up with a mechanical one-way rubber wheel at the end of the paddle.&lt;br /&gt;Once the panic was gone, a much simpler solution came to me: The two servos that lift the robot can be driven by the same signal, seen as one big logical servo in my code. So I got to use both servos. The attempt for a one-way wheel mechanism is still visible in the paddle. I left this rubber wheel static in the end.&lt;br /&gt;&lt;br /&gt;The slippery gears I misused to support the robot were also a lot of trouble. That's why I limited my robot to the realm of carpets. I used a rubber band that came with a Freescale T-Shirt to wrap around the turning gear for friction. Take a look:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nNsELur2sAg/ThZLO5Bf2dI/AAAAAAAAACc/rhjor89G__A/s1600/DSC09820.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-nNsELur2sAg/ThZLO5Bf2dI/AAAAAAAAACc/rhjor89G__A/s640/DSC09820.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Rubber band and one-way wheel&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;I must admit that during the thinking part of the challenge, I was facing the biggest obstacle of all: Myself. Since I don't have as much experience in mechanics as I do in electronics, I felt very challenged and didn't believe in myself, but then I said "Shame on you, Robotics Teacher!", and then I got to work.&lt;br /&gt;&lt;br /&gt;If you're interested in the code, you can download it from &lt;a href="http://dl.dropbox.com/u/21042754/CharonTouch.see"&gt;here&lt;/a&gt;. The mechanics might get tricky :/ Contact me if you're interested.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/649161533954319967-5287633245767041100?l=kuashio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kuashio.blogspot.com/feeds/5287633245767041100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kuashio.blogspot.com/2011/07/make-it-challenge-at-ftf-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/5287633245767041100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/649161533954319967/posts/default/5287633245767041100'/><link rel='alternate' type='text/html' href='http://kuashio.blogspot.com/2011/07/make-it-challenge-at-ftf-2011.html' title='Make It Challenge at FTF 2011'/><author><name>Eduardo Corpeño</name><uri>http://www.blogger.com/profile/13450309034759709995</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-vMdH39IRTww/Tgtv19z3pXI/AAAAAAAAABQ/4FDElad-2oM/s220/chibanio.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-EL-wah0BeWk/ThY_YudRz5I/AAAAAAAAACU/B1VIbKX1Ias/s72-c/FSLBOT.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Judson, Live Oak, TX, USA</georss:featurename><georss:point>29.665345629556526 -98.40024985620119</georss:point><georss:box>29.545738129556526 -98.48332735620119 29.784953129556527 -98.31717235620118</georss:box></entry></feed>
