Show HN: What would mechanical programming look like?
mockmechanics.com
mockmechanics.com
[1] MockMechanics Introduction Video - https://www.youtube.com/watch?v=HrwxbQj5mj0&t=193s
[2] Tetris Machine Video - https://www.youtube.com/watch?v=cSPm1xxQ-qY
I look forward to playing with this, and extending it!
All jokes aside, this sandbox looks awesome and I want to play with it more. :)
In the blink of an eye, you'll have old lawnmower blades (for when I start forging), a full shelf of two stroke engines (shame to throw them away, when they almost run), at least 3 power tools that have been used a total of once (but they were on sale), a "random fasteners" drawer, and an entire woodworking area. *
* Woodworking area may only exist in your mind if you're younger than 50.
Why is that?
That sounds interesting; do you have a download link?
It's refreshing to see this kind of exploratory project. Every now and then, I need to be reminded there's room for play and exploring in life, not just productivity and producing. Thank you for reminding me!
The CEO went on to found Roblox, which is much more successful.
Again, AMAZINGLY COOL project, not wanting to take anything away from that. Just want everybody to be able to learn about it, even if they are not mouse users, not sighted, etc.
Sometimes it's worth it if what you are doing with JS is highly interactive & there's a payoff. But in this case, each thing of content could be its own page, and that plus a little more semantic HTML would do wonders.
Do I need any background in mechanics to build something like this?
https://git.sr.ht/~evan-hoose/SSSSS
Feed it a directory structure with a couple of template files/markdown and it will spit out a website. It should be pretty simple to hack on. I've got a demo site [0], the source code for which is [1].
Feel free to shoot me an email if you've got questions, or if you want to tell me this is stupid, or if this looks like spam, or for whatever.
[0] a-shared-404.com
I just watched the Tetris video and it reminded me of this mechanical pong game: https://www.youtube.com/watch?v=iBoe3yM9IKs
What inspired you to create this?
One of the topics I occasionally like to think about is how to formally describe manufacturing steps in some structured/programming language. Maybe your program could be it. Would love to hear other folks’ thoughts on this too!
Also, no one in this thread mentioned Opus Magnum from Zachtronics which has some quite neat mechanical movement in it.
It made me remember yesterday's post about SparkFun's new Al La Carte thing ( https://news.ycombinator.com/item?id=24920043 ) - and now I want a service that lets me design a machine in this using it's "standard parts", and then order a physical version of it :-)
I wonder if some combination of lego/mechano style components, 3D printing, and magnetic electrical connections for batteries/switches/leds/motors could work? (Somewhat like this: https://www.pinterest.com.au/pin/178314466469771331/ which I had as a kid way back...)
https://www.youtube.com/watch?v=CNbScb8v-MI
(someone posted this here on HN a few weeks ago)
Whatever you do, please never ruin the simplicity. Every object's state is defined by a single number. The logic of numbers is connected like plumbing. Never change this recipe.
edit: (sorry I keep having ideas and editing the post) At some point the game itself might be open kinda like the internet, the reality of the game what things exist where, who has what can be agreed upon with some sort of blockchain system, then several "browsers" can be written to "plugin to the matrix" if you know what I mean.
Very impressive!
[0] https://en.m.wikipedia.org/wiki/The_Incredible_Machine_(seri...
Have you thought about making the gallery from videos or even gifs? The movement is sort of the best part, and a bunch of people (like me) might skip the long video on the homepage.
You can choose a codec and container format to export your video to with the help of https://developer.mozilla.org/en-US/docs/Web/Media/Formats/V.... All of those formats make for much smaller files than GIF-format video files.
https://youtu.be/gwf5mAlI7Ug?t=521
Mechanical algebraic computers for aiming systems
I try to run the app on macOS but it crashes immediately. Do you know why? Log: https://pastebin.com/amQgGz43
Someone else mentioned that it crashes on mac but didn't provide the output yet so thanks for that. I don't have a mac but I'll have a look to see if I can fix it.
Oh, whoops, I see that the Download page says JRE 11 or newer must be installed. My JRE version was 8 (Java 1.8).
After switching to OpenJDK 14, I get the same errors as trungdq88.
Music player - https://youtu.be/Kz9GDBJuVwk
Love your work from the little I have tested now.
Anyway I can contribute for translating into other languages?
Thanks for the offer, I'm dealing with so many moving parts here (pun intended) I hadn't even considered it. I think the most helpful would be translating the documentation, if you'd like to do that. Or posting a video explaining how to build something in the other language you speak would be great too.
I like the mockup aspect of this: trying to capture functionality and abstracting away detailed looks or positions. I'm thinking of a system where mechanical ideas can be tried quickly to get a functional idea of whether they work, using a maximally abstract functionally-equivalent basis of elements.
I feel like common mechanical subsystems like cams (which, for example, allow a rod to follow an arbitrary velocity curve when you move a knob), gears, and other devices may be abstracted away by a simple primitive (plus something like a descriptive curve or function). Your system of 'wagons' and 'tracks' seems to achieve this, at least partially. It's like when, in programming, we use a high level, abstract description of behavior. Perhaps it would be possible to analogously "compile" wagons, tracks and probes into actual mechanical elements like gears, cams, rods and shafts.
Abstraction is a powerful tool! (for creativity, productivity, expressiveness, and fun)
This is exactly how I was thinking before I pivoted the project to a more practical version, spot on. I feel like this project has moved on from that, but someone should really investigate this. Just off the top of my head imagine how easy it would be to run a genetic algorithm to find machines if we had an abstract description for them, or maybe there could be a whole branch of mathematics to prove that a certain machine does what we think it does (a lock is secure, this sort of thing).
Should support the developer on Patreon (see he mention it, but can't find a link). I think this a great work that deserve to be supported!
I'm super thankful already for all the support I received with all the comments from you guys. But if you want to support me a little more, now you can.
Honestly, I think Charles Babbage may have made the most progress in this area with his mechanical notation[0]. It is crazy that Babbage was able to design a the difference engine without any CAD software!
[0]http://blog.plan28.org/2014/11/babbages-language-of-thought....
Kosmos might provide some inspiration or insight given that it's a open source visual editor for clojure.
I watched a great video on Adam Savage's YouTube channel [1] about his lathe and setting up the levers to make nuts and bolts on it. Thus mechanically programming.
This looks very interesting to me, and I'm sure my fellow colleagues would love playing around with this.
Just curious, is it a personal hobby project? How do you plan to sustain it?
This is definitely one of the most interesting project I have seen. Thanks for building it :)
What I like especially is the idea of teaching the keyboard shortcuts while using the software. In addition, the avatar mode sounds like it could be really fun.
Any chance of increasing the size of the world and making it like a first person gaming experience?
> Any chance of increasing the size of the world and making it like a first person gaming experience?
That's the plan, except it will be the most open ended game ever, what you do inside is up to you... want a epic battle game? Build medieval siege engines yourself and fight other people. Want a city simulation? build the transportation system yourself, charge people to use it...
You can support this awesome work on the Patreon site: https://www.patreon.com/mockmechanics
Surely at least worth a few of your dollars.
Mechanical analog computing FTW!
As a developer, I want to ask which programming languages did you used to build this & why. I think you didn't open sourced the tool or am I wrong?
I definitely think that there is a possibility to turn this project to a business. I would find it ideal if you can do both, turn it into a business and at the same time open source the code. Maybe you ll find a way. Good luck ;)
Unless you are talking about the machines themselves? The copier machine for instance can be set to copy in place or not, it has a toggle button for it. So, yeah, people can build library machines with all sorts of toggles, sliders etc to tweak their behaviour, and then you can use those to build even higher machine abstractions.
Also, army videos of 40s mechanical computers hint that way I think. (in a way the meaning of programming is quite blurry)
"'Topographic map non-linear confidentiality algorithm' is a geodetic datum formulated by the Chinese State Bureau of Surveying and Mapping, and based on WGS-84. It uses an obfuscation algorithm which adds apparently random offsets to both the latitude and longitude, with the alleged goal of improving national security. There is a license fee associated with using this mandatory algorithm in China."