Making Embedded GUI’s Without Code

When the 4D Systems display first arrived in the mail, I assumed it would be like any other touch display – get the library and start coding/debugging and maybe get stuff painted on the screen before dinner. So I installed the IDE and driver, got everything talking and then…it happened. There, on my computer screen, were the words that simply could not exist –  “doesn’t require any coding at all”.

I took a step back, blinked and adjusted my glasses. The words were still there. I tapped the side of the monitor to make sure the words hadn’t somehow jumbled themselves together into such an impossible statement. But the words remained…   doesn’t.require.any.coding.at.all.

Continue reading “Making Embedded GUI’s Without Code”

Ask Hackaday: What is The Future of Virtual Reality?

Most of us have heard of Second Life – that antiquated online virtual reality platform of yesteryear where users could explore, create, and even sell content.  You might be surprised to learn that not only are they still around, but they’re also employing the Oculus Rift and completely redesigning their virtual world. With support of the DK2 Rift, the possibilities for a Second Life platform where users can share and explore each other’s creations opens up some interesting doors.

Envision a world where you could log on to a “virtual net”, put on your favorite VR headset and let your imagination run wild. You and some friends could make a city, a planet…and entire universe that you and thousands of others could explore. With a little bit of dreaming and an arduino, VR can bring dreams to life.

Continue reading “Ask Hackaday: What is The Future of Virtual Reality?”

Ask Hackaday: Not Your Mother’s Feedback

Imagine you were walking down a beach, and you came across some driftwood resting against a pile of stones. You see it in the distance, and your brain has no trouble figuring out what you’re looking at. You see driftwood and rocks – you can clearly distinguish between the two objects without a second thought.

Think about the raw data entering the brain. The textures of the rocks and the driftwood are similar. The colors are similar. The irregular shapes are similar. Thus the raw data entering the brain’s V1 area for both objects must be similar as well. Now think about the borders that separate the pieces of driftwood from the edges of the rocks. From a raw data perspective, there is no border, and likewise no separation because the two objects are so similar.  But yet your brain can clearly see a rock and a piece of driftwood – two distinctly different objects. So how does the brain do this? How does it so easily differentiate between the two? If the raw data on either side of the border separating the wood and the rocks is the same, then there must be an outside influence determining where that border is. Jeff Hawkins believes this outside influence is a very special and most interesting type of feedback. Read on as we explain and attempt to implement this form of feedback in our hierarchical structure of invariant representations.

Continue reading “Ask Hackaday: Not Your Mother’s Feedback”

Ask Hackaday: Sequences of Sequences

ask-hackaday-invariant-representations-featured-image

 

In a previous article, we talked about the idea of the invariant representation and theorized different ways of implementing such an idea in silicon. The hypothetical example of identifying a song without knowledge of pitch or form was used to help create a foundation to support the end goal – to identify real world objects and events without the need of predefined templates. Such a task is possible if one can separate the parts of real world data that changes from that which does not. By only looking at the parts of the data that doesn’t change, or are invariant, one can identify real world events with superior accuracy compared to a template based system.

Consider a friend’s face. Imagine they were sitting in front of you, and their face took up most of your visual space. Your brain identifies the face as your friend without trouble. Now imagine you were in a crowded nightclub, and you were looking for the same friend. You catch a glimpse of her from several yards away, and your brain ID’s the face without trouble. Almost as easily as it did when she was sitting in front of you.

I want you to think about the raw data coming off the eye and going into the brain during both scenarios. The two sets of data would be completely different. Yet your brain is able to find a commonality between the two events. How? It can do this because the data that makes up the memory of your friend’s face is stored in an invariant form. There is no template of your friend’s face in your brain. It only stores the parts that do not change – such as the distance between the eyes, the distance between the eye and the nose, or the ear and the mouth. The shape her hairline makes on her forehead. These types of data points do not change with distance, lighting conditions or other ‘noise’.

One can argue over the specifics of how the brain does this. True or not true, the idea of the invariant representation is a powerful one, and implementing such an idea in silicon is a worthy goal. Read on as we continue to explore this idea in ever deeper detail.

Continue reading “Ask Hackaday: Sequences of Sequences”

Ask Hackaday: What Are Invariant Representations?

Your job is to make a circuit that will illuminate a light bulb when it hears the song “Mary Had a Little Lamb”. So you breadboard a mic, op amp, your favorite microcontroller (and an ADC if needed) and get to work. You will sample the incoming data and compare it to a known template. When you get a match, you light the light. The first step is to make the template. But what to make the template of?

“Hey boss, what style of the song do you want to trigger the light? Is it children singing, piano, what?”

Your boss responds:

“I want the light to shine whenever any version of the song occurs. It could be singing, keyboard, guitar, any musical instrument or voice in any key. And I want it to work even if there’s a lot of ambient noise in the background.”

Uh oh. Your job just got a lot harder. Is it even possible? How do you make templates of every possible version of the song? Stumped, you talk to your friend about your dilemma over lunch, who just so happens to be [Jeff Hawkins] – a guy whose already put a great deal of thought into this very problem.

“Well, the brain solves your puzzle easily.” [Hawkins] says coolly. “Your brain can recall the memory of that song no matter if it’s vocal, instrumental in any key or pitch. And it can pick it out from a lot of noise.”

“Yea, but how does it do that though!” you ask. “The pattern’s of electrical signals entering the brain have to be completely different for different versions of the song, just like the patterns from my ADC. How does the brain store the countless number of templates required to ID the song?”

“Well…” [Hawkins] chuckles. “The brain does not store templates like that”. The brain only remembers the parts of the song that doesn’t change, or are invariant. The brain forms what we call invariant representations of real world data.”

Eureka! Your riddle has been solved. You need to construct an algorithm that stores only the parts of the song that doesn’t change. These parts will be the same in all versions – vocal or instrumental in any key. It will be these invariant, unchanging parts of the song that you will look for to trigger the light. But how do you implement this in silicon?

Continue reading “Ask Hackaday: What Are Invariant Representations?”

Ask Hackaday: Help NASA With Their High Altitude Problem

image of hackaday logo on box at high altitude

Unless you’ve been living under a high voltage transformer, you’ve probably heard that NASA has grounded the Space Shuttle fleet. This makes getting stuff to and from the International Space Station slightly more difficult. With the growing need to get small experiments back to the surface quickly and safely, NASA is researching an idea they call Small Payload Quick Return, or SPQR (pdf warning). Basically, they toss the experiment out of the window, use drag to slow it down, and then use a High Altitude High Opening (HAHO) self guiding parafoil to steer the thing down to a predefined location on the surface.

Now, what we’re interested in is the self guided parafoil part, as it takes place in known hacker territory – around 100,000 feet. This is the altitude where most high altitude balloon experiments take place. NASA is throwing a bunch of money and brainpower to research this part of the system, but they’re having problems. Lots of problems.

Stick around after the break and see if you can help, and maybe pick up some ideas on how to steer your next High Altitude Balloon project back to the launch pad.

Continue reading “Ask Hackaday: Help NASA With Their High Altitude Problem”

The Spooky Nature of Electromagnetic Radiation

Our story begins a little over one hundred years ago in Bern, Switzerland, where a young man employed as a patent clerk went off to work. He took the electric trolley in each day, and each day he would pass an unassuming clock tower. But today was different, it was special. For today he would pose to himself a question – a question whose answer would set forth a fascinating dilemma.

The hands of the clock appeared to move the same no matter if his trolley was stopped or was speeding away from the clock tower. He knew that the electromagnetic radiation which enabled him to see the clock traveled at a finite speed. He also knew that the speed of the light was incredibly great compared to the speed of his trolley. So great that there would not be any noticeable difference in how he saw the hands of the clock move, despite him being at rest or in motion. But what if his trolley was moving at the speed of the reflected light coming from the clock? How would the hands of the clock appear to move? Indeed, they could not. Or if they did, it would not appear so to him. It would appear as if all movement of the clock’s hands had stopped – frozen in an instant of time.  But yet if he looked at the hands of the watch in his pocket, they would appear to move normally. How does one explain the difference between the time of the clock tower versus the time of his watch? And which one was correct?

There was no way for him to know that it would take three years to answer this question. No way for him to know that the answer would eventually lead to the discovery of matter and energy being one and the same. No way to know that he, this underemployed patent clerk making a simple observation, would soon unearth the answer to one of the greatest mysteries that had stumped every mind that came before his – the very nature of time itself.

Now it might have taken Einstein a few years to develop the answer we now know as the Special Theory of Relativity, but it most certainly took him no longer than a few days to realize that Isaac Newton…

must be wrong.

Continue reading “The Spooky Nature of Electromagnetic Radiation”