
The Turing Tumble lets you and your kids build real mechanical computers - davidst
https://techcrunch.com/2017/05/30/the-turing-tumble-lets-you-and-your-kids-build-real-mechanical-computers/
======
panglott
Can't understand all the negative comments here (I'm definitely in shut-up-
and-take-my-money mode): this looks like an amazing toy. It is only a puzzle
toy, but I know that as a kid I would have had a blast with this thing.
Physical objects like rolling marbles are fun, memorable, and accessible in a
way that typing text into a screen simply is not. The mechanical switches are
incredibly easy to understand, and it is very obvious why a gate does what it
does. The point here isn't to make someone curious about programming per se:
it is to build a contextual foundation so that, much later, when they are
learning these things more formally, they have a direct, useful metaphor. So
they can make a cognitive hop instead of a cognitive leap.

------
xg15
Viewing it as a game, I'm absolutely amazed (I'm a sucker for kinetic game
ideas and this got me in instant Shut Up And Take My Money! mood - yes, I'm an
adult, don't judge me :P)

However I don't see this game to be very successful in making someone curious
about programming. It's based on the concept of using a computer as a
mechanical calculator and, while this is the formal underpinning of all
programming, it's not avery spectacular application.

I think the thing that is most mind-blowing from a user perspective is how to
get a computer to perform all kinds of tasks that don't seem to have to do
anything to do with computations: Creating images and animations, driving
complex machinery, communicating, etc. The gap from theory to application
isn't that interesting from a theoretical CS point of view but I think it's
more important for teaching programming.

~~~
saulrh
On the contrary, I think that this would be incredibly valuable even if the
_only thing it did_ was teach that numbers could be encoded using a series of
left or right flips on bits of plastic. I've done little "computers 101"
tutorials for a few of my friends and coworkers that have "never been good at
math", and every single time the star of the show was that epiphany about
binary and what it meant about the nature of numbers and how we represent
them. It may not be spectacular to us, but to someone that's never been able
to handle math before, it's a whole new way of looking at the universe. Giving
people that little tiny rock to stand on before throwing them into school
would be a _huge_ deal.

~~~
24gttghh
>...epiphany about binary and what it meant about the nature of numbers and
how we represent them.

Would you please expand on this thought?

~~~
saulrh
Ceci n'est pas une pipe. I've found that a lot of people that "aren't good at
math" don't have a good grasp on what a number _is_ , beyond a couple letters
on a sheet of paper. They're stuck manipulating numbers by rote, with no
understanding of what they're doing past the shapes on the paper changing into
different shapes. Showing them how binary works, pulling back the curtain and
revealing the difference between the platonic ideal of an integer and our
_representation_ of it, is pretty mind-blowing.

Then you move from that to instantiating binary representations in the real
world, with light switches or checkboxes, and you start getting the "this is
how it works _in real life_ " light bulbs that embed the new knowledge in
their existing web of knowledge where it'll become permanent.

(edit: let me plug my favorite how-to-program book here, while I'm thinking
about it. It and GEB were the kernel of understanding around which I built the
rest of my knowledge of math and CS.
[https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_C...](https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_Computer_Hardware_and_Software))

~~~
xg15
I absolutely agree with this. my issue was more that I was missing exactly
that kind of connection to existing knowledge in the game - it's not aimed at
teaching math but teaching the basic concepts of programming after all and for
such an audience, I wonder if the goal "bring a sequence of colored marbles in
a particular order" has any significance or connection to things they already
know.

Once that conncetion is there, you absolutely want to teach more abstract
concepts.

As an alternative example, I remember a nold intro to programming that
involved a "turtle" \- a virtual robot that you could direct on screen and
that would draw a line. You could give it basic commands to move around and
see it react. then, you could introduce more complex concepts (loops etc) that
would enable you to draw more complex pictures - and so on...

------
MrQuincle
Quote Kickstarter: "I played with the shape, size, weight, balance, and
surface friction, and eventually arrived at a working design (g). However,
when I altered the design to make it injection-mold-friendly and CNC milled it
(h), it became too light and bouncy. A ball would flip it one way, and it
would bounce right back the other way again. I made a few more adjustments and
finally arrived at (i)."

I think there will be still some iteration when going for injection molds.

I was also thinking that Kickstart project makers should ask more from their
community. I would love to translate to a Dutch version for example.

However, we've run a Kickstarter project ourselves. The involvement is not
like that in practice. :-) It would be nice though to have a more
collaborative creation process.

~~~
nerdponx
What if you "open source" the game development? That kind of thing happens in
the mechanical keyboard community, and it seems to work out well for them.

------
DomreiRoam
I m always looking out for games that teach something for my daughter. I m a
huge fan of [https://wewanttoknow.com/](https://wewanttoknow.com/) that
produce very nice math games. But I like this concept because it is not on a
tablet but you can touch the piece and see the ball falling and all the moves
of the physical object.

By the way, any suggestion for more fun and smart game?

------
klik99
AFAIK the digi-comp ii and dr. nim toys, both invented by my grandpa, were the
first to use the physical toggles/marble architecture. They were very
influential in inspiring a generation of computer scientists, and since these
days there's so little focus on fundamentals of computing it's great to see a
modern twist on it! Good timing since my kids are almost old enough to be
exposed to this

~~~
smoyer
Don't leave us hanging like that ... do you have anything interesting to add
to the very minimal wikipedia page ([https://en.wikipedia.org/wiki/Digi-
Comp_I](https://en.wikipedia.org/wiki/Digi-Comp_I)). I would imagine you have
some great stories!

------
phasetransition
I would be remiss to not point out the obvious mechanical design challenges
here. There are over a dozen injection molded parts that need tooling and
shots set up. The NRE for this project could end up extremely substantial.

~~~
mhb
Yes. How is $48K even in the right ballpark?

~~~
phasetransition
You could do a dozen small parts at Protolabs for $50k, and that would get you
through a small run of finished parts. But Protomold's tooling is proprietary
and non-transferable. You don't own it, or get to see it. You would have to
start fresh (with different design rules) to do a large scale production run.
Which means a project like this could end up a victim of its own success.

------
Aardwolf
Looks pretty cool to me, it shows complex behavior from simple rules which
should add an extra layer of understanding to real programming. The video did
make me wonder something: have there been done scientific studies that show
that adding acoustic guitar music to the background of a crowdfunding video
increase donations? Since such music is so commonly added to those.

------
ChicagoBoy11
I work at an elementary school and I absolutely love this concept.

My only concern is that the speed of execution is rather quick (and rather
difficult to control since... you know... gravity). Besides very trivial
examples, I think younger children will likely have a difficult time
"debugging" and reasoning their way to a solution. The "stopper" piece can
certainly be helpful for students to use as they slowly build out their
solution, though, and so that may be sufficient.

I've always had success with toys or other instructional materials that have
tried to make computational logic a physical, tangible thing for students.
There are plenty of toys in this category that have a physical element to it
yet it is simply a by-product of the computation that is still "hidden" in
software. There's a reason why Papert was so fascinated by gears. I'm
incredibly excited about this and can't wait to try it out.

~~~
MattRix
I wonder if you can tilt the angle of the board to control for gravity and at
least slow it down a tiny bit.

~~~
jloughry
Galileo used that method (balls rolling on an inclined plane) to slow down
gravitational acceleration enough to study it by eye.

[Edited to clarify Galileo's use of a slightly tilted ramp.]

------
yakult
Needs a way to get the ball back up again, at a different point depending on
where it came out. That way you can do recursion.

------
i336_
PSA

This webpage from 2007 is the first place I saw the same fundamental board
design: [http://woodgears.ca/marbleadd/](http://woodgears.ca/marbleadd/)

Direct video link:
[https://www.youtube.com/watch?v=GcDshWmhF4A](https://www.youtube.com/watch?v=GcDshWmhF4A)

The design in the two links above is fairly simple (I'd hate to see the patent
office decide it was unique[ly patentable], for example), and so I doubt that
this person from 2007 was the first to build it.

But I wouldn't be surprised if this particular design and video served as some
serious inspiration for the linked product.

To clarify, I recognize that this system far surpasses the basic wooden adder
I've linked. But the similarities are there.

~~~
MattRix
On the Kickstarter page he specifically mentions that the Digi-Comp 2 (from
the 1960s!) was an influence
[http://www.oldcomputermuseum.com/digicomp_2.html](http://www.oldcomputermuseum.com/digicomp_2.html)

~~~
i336_
_Woooops_ , that one totally flew over my head. Perhaps I shouldn't post when
slightly tired :)

Thanks very much for this. I expect that the simple design that I (and others
-
[https://news.ycombinator.com/item?id=14452315](https://news.ycombinator.com/item?id=14452315))
posted was likely inspired by this - which is interesting!

------
jot
Here's a similar take on the same idea made in the UK and available to buy
now: [http://everyonecanprogram.com](http://everyonecanprogram.com)

------
jasonkostempski
It looks like it could even demonstrate race conditions.

------
jfk13
This reminds me strongly of something I saw in or around the late 70s, I think
linked with an Open University course my mother was taking at the time. I
found it a fascinating insight into how logic and arithmetic operations were
built up. Can't seem to find anything about it online just now, sadly. For the
right kind of kid (or adult!) it could be fantastic (and educational) fun.

~~~
mcphage
Perhaps you're thinking of the Digi-Comp II?
[https://museum.syssrc.com/media/artifact/img/DSC_0358.JPG](https://museum.syssrc.com/media/artifact/img/DSC_0358.JPG)

------
grondilu
Can mechanical computers be a serious alternative to electronic ones? I mean,
how efficient can a mechanical computer be if we were to miniaturize them as
much as we can?

I suppose the essence of a mechanical computer is that it transmits and
process signals as mechanical stress, thus sound and ultimately phonons
instead of electrons. How hard are big IT companies looking into it?

~~~
nerdponx
You might be interested in Babbage's "Analytical Machine" [0]. Or, like,
steampunk [1].

[0]:
[https://en.m.wikipedia.org/wiki/Analytical_Engine](https://en.m.wikipedia.org/wiki/Analytical_Engine)

[1]:
[https://en.m.wikipedia.org/wiki/Steampunk](https://en.m.wikipedia.org/wiki/Steampunk)

~~~
cr0sh
In a similar vein, Konrad Zuse's first machine, the Z1, was mechanical (and in
a very unique way, I might add):

[https://en.wikipedia.org/wiki/Z1_(computer)](https://en.wikipedia.org/wiki/Z1_\(computer\))

BTW - if you're going to link about the Analytical Engine, you have to link to
this site:

[https://www.fourmilab.ch/babbage/](https://www.fourmilab.ch/babbage/)

------
mysterydip
I feel like a less abstract way would be to use an old style pinball game with
some transparency added. Yes, there's some electronics, but simplified some
more that could probably be overcome (as the goal would be getting kids to
understand the relationship to things and how they work, rather than pumping
quarters).

------
jaredandrews
This reminds me a lot of Matthias Wandel's "binary marble adding machine"[0]
which you could, theoretically, build yourself if you think this is cool.

[0] [http://woodgears.ca/marbleadd/](http://woodgears.ca/marbleadd/)

~~~
i336_
Me too. I noted as such here:
[https://news.ycombinator.com/item?id=14452439](https://news.ycombinator.com/item?id=14452439)

------
imode
why not just get a reproduction of the DIGICOMP I?

[http://mindsontoys.com/kits.htm](http://mindsontoys.com/kits.htm)

it's not turing complete, but it goes a long way and is fun to build!

------
goldenkey
Flip-flip gates seem like a confusing way to first learn about ram/variables.

Plus we barely see any demos of an actual puzzle solution in the video.
Because the number of ball drops needed to do anything sophisticated is
probably overbearing. The cringe factor is very high. I don't trust this dude,
the "Im making educational lollypops for kids" pitch is oversold for what is
an underwhelming product.

[https://en.m.wikipedia.org/wiki/Flip-
flop_(electronics)](https://en.m.wikipedia.org/wiki/Flip-flop_\(electronics\))

~~~
jhbadger
This isn't about high level concepts like RAM or variables but actually
understanding how a computer _works_ \-- a fair number of actual programmers
have no idea of how a computer actually multiplies a number -- it might as
well be magic as far as they know.

As for number of ball drops for anything "sophisticated", it all depends on
the meaning of "sophisticated" \-- basically what the guy proposes is a
modern, more flexible version of 1960s marble teaching computers like the
DigiComp II. You couldn't use them to compute anything practical, yes, but
that wasn't the point. Here's a link to the DigiComp II manual to see what you
could do with them: [http://cdn2.evilmadscience.com/KitInstrux/DCII-
manual.pdf](http://cdn2.evilmadscience.com/KitInstrux/DCII-manual.pdf)

~~~
intoverflow2
> actually understanding how a computer works

Question for me is does it actually matter? Do they care? And will
understanding this actually make them want to engage with the topic further?

Even me growing up back in the Amiga 500 days I couldn't really care less how
the machine actually worked, the impetus to learn how to control it came from
the want to make my own games not to understand how it did something as boring
as add two numbers together.

~~~
indigochill
Do they care? Depends, I guess.

But more importantly, does it matter? At a collective level, absolutely. When
there's a layer of a system you don't understand, you introduce a couple of
potential problems.

1\. The system has a flaw at that level and you don't know what to do about
it. A real world example of this is hardware manufactured by the lowest bidder
not matching the specifications, potentially introducing bugs that are
impossible to debug without an understanding of what's happening at the
hardware level.

2\. The system has a potential exploit at a level you don't understand, and
someone uses it to take advantage of you. This is basically all home owners
getting their computers infected with malware. Sure, they can run their
antivirus in 99.9% of cases, but if they ever get a virus that isn't in their
antivirus' list, then they're effectively out a computer.

So yes, people should know how a computer works (at least in principle) at
every level. This is essentially the same as knowing how your car works so
when it breaks you can fix it instead of sending it to a mechanic for
overpriced repairs.

