Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Turing Tumble lets you and your kids build real mechanical computers (techcrunch.com)
226 points by davidst on May 31, 2017 | hide | past | favorite | 54 comments


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.


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.


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.


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

Would you please expand on this thought?


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...)


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...


> However I don't see this game to be very successful in making someone curious about programming.

I kind of agree with you... but on the other hand, I distinctly remember asking as a child: "But why?" in an almost endless chain. Apply that question to most ideas about programming, and you'll eventually end up at ideas that are reified by this board.

So what I'm saying is that -- assuming my son or daughter take up programming as an interest -- this will be one of the legs of tuition. You're right that the initial excitement will probably come from doing some cool graphics or audio stuff, but this will make all the "magic" vanish. In that sense, as a dad, this is definitely interesting!


I agree. My concern is that the order of things might be problematic - i.e., at the time they're playing with the mechanism, it might not be clear why the fact that the mechanism can arrange marbles in particular orders is so important. i could imagine, if one started (somehow) with some actual application (maybe a grid that could arrange the marbles as "pixels" of an image) and from there worked back to the core, it might be easier.


I think it can be more than a mechanical calculator. The creator says it is "Turing complete" (i.e., a Turing machine) which means you could use it to perform other operations

One of the examples given in the Kickstarter page is pattern forming: a group of 2 blue balls, then a group of 4 blue balls, and then a group of 8 blue balls, with each group separated by a single red ball

It would be fun to try to form your own patterns or do other operations. If you get the CAD files, you could add your own parts, make a bigger board, and do other computations.


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.


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.


I m always looking out for games that teach something for my daughter. I m a huge fan of 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?


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


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). I would imagine you have some great stories!


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.


You're probably right.

It looks like this project might raise well above the $48k, though. (It's at $108k as of now.)

I recognize that this can be both a blessing and a curse when it comes to Kickstarters. With regards to NRE, though - hopefully it's straightforwardly a good thing.


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


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.


Yeah that bit actually gives me pause. Injection molds cost thousands each. If there's a design flaw and some of the molds have to be redone, is there still money to do that?

The project is nearly double its Kickstarter goal as I write this so maybe that is accounted for now, but I would have guessed the goal should have been 2 to 4 times higher.


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.


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.


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


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.]


I asked the question in the Kickstarter -- hopefully they'll answer back!


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.


PSA

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

Direct video link: 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.


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


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) posted was likely inspired by this - which is interesting!


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


It looks like it could even demonstrate race conditions.


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.


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


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?


I'm not sure whether you are serious or not. Mechanical computers have (had?) a niche in the form of analog computers that can do specialized computations very quickly and very robustly, for example for artillery computations. General purpose computers are completely out of reach for mechanical computers. You can't have moving parts that are very small and reliable. The parts would break before any nontrivial computation would be finished. Just look at how reliable early vacuum tube computers were and think about how many moving parts you'd need to replace a tube.


https://www.youtube.com/watch?v=s1i-dnAH9Y4

This is an old military instructional video about fire (artillery) control computers, explaining the mechanical aspects of how they work. It's beautiful in its elegance! I have watched it on multiple occasions just for the sheer beauty of the mechanisms involved. And, yes, of course I'm a nerd!


We used to build and use mechanical computers. They are massively inferior to transistors, but surprisingly capable relative to no computer. Remember, your cellphone is now faster and more accurate at basic arithmetic calculation than every single human on the planet put together. But, when that was not an option even being faster and more accurate than 1 person was a significant step up.


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

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

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


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)

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

https://www.fourmilab.ch/babbage/


Mechanical computers are the future at the molecular scale: http://www.nanoindustries.com/nanojbl/NanoConProc/nanocon2.h... [Eric Drexler: Rod Logic for Molecular Computing]


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).


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/


Me too. I noted as such here: https://news.ycombinator.com/item?id=14452439


why not just get a reproduction of the DIGICOMP I?

http://mindsontoys.com/kits.htm

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


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)


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


Agree. During my Undergrad EE course on computer architecture, it made a big impression on me that it's basically all switches in there. A computer has no idea what multiplication, addition, comparison, branching, etc. are: it just follows a set of instructions laid out in electrical switches to perform those operations.

I am intrigued by the included gears shown in the Kickstarter video that make the system "Turing complete". The fact that the creator is willing to give away the CAD files as one of the reward levels means in that you could design you own really huge set: perhaps big enough to emulate a really slow (one bit?) CPU! ;-)


Yeah, it's a beautiful little machine-- a neat on-ramp for future FPGA programmers.

Here's the text that showed me "how computers work". Page after page of Verilog, VHDL and gate-design, all equivalent! ...

https://www.amazon.com/Hdl-Chip-Design-Synthesizing-Simulati...


> 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.


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.


The cardboard 4-bit calculator [0] might make for interesting reading along these lines.

[0] https://lapinozz.github.io/learning/2016/11/19/calculator-wi...


The fact that so many people confuse 'computing' with 'von Neumann architecture' shows how few know the underlying logic.


See Kickstarter page [1] for a lot of "In Action" videos.

[1]: https://www.kickstarter.com/projects/871405126/turing-tumble...


I'd see this more as trying to teach the computational thinking mindset. The idea of trying to create complex behaviours from simple rulesets (and trying to work out why it doesn't work when things go wrong!). The rules themselves don't matter too much. Turing completeness means you can happy they'll be a vast range of complex behaviours to explore.


> Because the number of ball drops needed to do anything sophisticated is probably overbearing.

That's one of the nice things about these abstract computers. Doing something sophisticated would be difficult, but doing something simple (yet non-trivial) requires thought and planning. Check out the KS page for demonstrations of Red-Red-Blue-Blue, binary counting, and powers of 2.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: