HNHacker News
TopNewBestAskShowJobs

felipereigosa

440 karma · joined October 19, 2020

submissionscomments
felipereigosa··on Show HN: What would mechanical programming look like?
It shoudn't be, I've include the lwjgl natives for macos, but I don't have a mac so I don't know. The jar works on ubuntu and windows, I did have an issue on windows initially due to the different path separators. If you run it from the command line, when it crashes does it say anything? Mail it to me if so and I'll have a look.
felipereigosa··on Show HN: What would mechanical programming look like?
Interesting, I think I'll do that, I even already have the gif for the tetris machine, but I ended up not using it.
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks, I'll try my best to get there, for now though I'm just the one guy doing it so it might take a while. If my plans work and I make the project opensource though, then we're talkin'.
felipereigosa··on Show HN: What would mechanical programming look like?
I mentioned somewhere else here the libraries I used, search for jbullet with your browser and you'll find it. The rest I built myself. Clojurescript is just for the website. I don't have a background in mechanics, so no, not really. If anything I was trying to avoid the complications that real mechanical engineers have to deal with.
felipereigosa··on Show HN: What would mechanical programming look like?
Great! Be sure to share pictures of anything cool you build. I should have mentioned this before, I'm on Twitter and Instagram as MockMechanics too if anybody wants to share anything with me. I haven't posted anything there yet, but I'll start tomorrow since people seem to have liked the program.
felipereigosa··on Show HN: What would mechanical programming look like?
> 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

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

felipereigosa··on Show HN: What would mechanical programming look like?
In time, why not? One of the main aims of this program is to exploit people's natural physical intuition, making it VR is a step in the right direction.
felipereigosa··on Show HN: What would mechanical programming look like?
Well things are a little fuzzy right now. I was just telling someone who asked me this, the plan is to make it open source eventually (after I refactor the code so that people can actually understand it!), but I would like to make a little money from it too (stupid covid!). So if I can make some money through patreon, crowdsourcing, youtube ads or something like that, then that's what I'm going to do.
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks! If you already have experience building things with cad you probably can build super cool things using this, I can't wait to see it.
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks, it's a little hard to be sure, my first commit according to git is March 30th, 2018. On one hand, I did take months long breaks while I worked on other things since then, but I also have tried to build something like this once before, years and years ago, but it went nowhere back then.
felipereigosa··on Show HN: What would mechanical programming look like?
You're probably right, it's just that I'm more of a programmer than a web designer (this is my first site) so I just built everything with Clojure/Clojurescript. But I'll definitely do that once I have some time.
felipereigosa··on Show HN: What would mechanical programming look like?
That's a good idea. When I recorded the piano I hadn't built the tetris machine yet so I didn't have the proximity-test library part. Now it would be so easy to test if there is a hole or not (or a bump) in a block working as a sheet as it moves down. And now that scripts have editing powers, I can see how I could add a block to where the "cursor" is when I'm recording the song.
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks, we do :). From now on what the program can do depends on what people build, the library machines they create so that other people can use them as parts and so on.
felipereigosa··on Show HN: What would mechanical programming look like?
You know I had actually considered this exact thing you want a while back as a way to move forward once I had the program working. You could design all the graphs, logical connections on the computer then load them and just snap all the parts together. The main drawback I encountered then was how to implement the wagon since it can move in an arbitrary track path circuit. I'm not sure how that could be done. Another idea that's a little out there is that if someone could implement the basic building blocks using molecular parts, then maybe that's how we build molecular machines!
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks, if your son (or you!) builds anything with it I would love to see it and put it on the gallery on the website :)

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.

felipereigosa··on Show HN: What would mechanical programming look like?
Not at all, this is exactly what I want, some good feedback, I hadn't even considered those things you mentioned, I'll look into it thanks!
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks, if I manage inspire some kids into coding just like I was, my work here is done :)
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks, once you are familiar with it you can start extending it right away, a couple of motherboards running custom short scripts could implement all those things you mentioned and then you could make that machine (for example the motor/generator) available for others to use on their own machines!
felipereigosa··on Show HN: What would mechanical programming look like?
org.clojure/clojure obviously, org.clojars.nakkaya/vecmath, org.clojars.nakkaya/jbullet, batik and lwjgl. All the other stuff, the opengl shapes and whatnot I wrote myself over the years, mostly to learn how to do it. In fact I probably can speed up this program a lot by not using my own code for those parts where libraries are available.
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks, one of the great things about creating a program where other people can create things is seeing them inventing things you wouldn't even think of, it's so open ended. Alan Turing and those other guys had no clue what we would do with his idea. I'm looking forward to see what people will make with this. (Not that I'm comparing myself to Alan Turing!)
felipereigosa··on Show HN: What would mechanical programming look like?
Well, I was really into formalizing stuff when I was in college, you know proving that a cryptographic algorithm was correct by formalizing them as black boxes talking to each other, that sort of thing. Then I just started thinking about how to formalize mechanical things. One of the very things I remember is coming to the conclusion that all motions of a machine can be implemented as a combination of linear and rotational motions (and that's where the two things that move on mockmechanics, the track and the wagon, come from), but I don't know if that is true. But I don't really have any prior art, I had a 2d version that didn't work years ago but I think I lost it.
felipereigosa··on Show HN: What would mechanical programming look like?
Cool! If you guys build anything you can send me pics so I can put in the gallery of the website.
felipereigosa··on Show HN: What would mechanical programming look like?
Haha... I remember talking to a teacher in college that used punch cards when he was young and I thought it was awesome, people were closer to the hardware you know? Hopefully my version of mechanical programming is a little more convenient :)
felipereigosa··on Show HN: What would mechanical programming look like?
You're welcome :) I remember someone saying somewhere that most of the great computer programs probably haven't been written yet, if we remember that maybe we'll be the ones to write them!
felipereigosa··on Show HN: What would mechanical programming look like?
Thank you so much! I've been working hard for quite a while on this, you don't know how much it means to me that people liked it.
felipereigosa··on Show HN: What would mechanical programming look like?
Yeah, as an introduction to programming, it could even be used with very, very young kids, apparently people are born with an intuitive physics module (babies are surprised by things that don't make physical sense), so who knows? Maybe someone may claim one day that she has been programming since age 2!
felipereigosa··on Show HN: What would mechanical programming look like?
It's interesting you'd mention that, because most of the program is "mechanical", you manipulate things in 3d, but for some things you have to go into a window and connect a few 2d nodes like the gates in motherboard mode. I was thinking maybe I should use 3d manipulation for everything, maybe the video you posted could serve as inspiration for 3d gates.
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks!
felipereigosa··on Show HN: What would mechanical programming look like?
Thanks and that pong game is a great idea for my next machine, unless someone beats me to it! If I recall correctly the very first thought that led to this project was thinking about how to formalize mechanical devices, they have a language of sorts to describe chess games, same with choreographed dance I think. I was thinking how can I do that for machines without all the extra stuff like heat and friction, but I pivoted a lot since then and ended up with this.
felipereigosa··on Show HN: What would mechanical programming look like?
Hey guys, I've been working on this Clojure project for a while now, honestly I'm not even entirely sure what it is, a game? a game engine? a 3d editor? a visual programming language? Anyway, it's a system to create mechanical contraptions and interact with them. I built a few test machines and you can see them in the first video I posted on my channel [1]. For instance you can create a fully functional piano in 5 minutes and play it, the keys move, it plays the sounds as you would expect. And this system turned out surprisingly powerful, to build these machines it often does not require any coding which was kind of surprising. I created this tetris game in half an hour [2]. It's not perfect but it is functional and again it required only a tiny snippet of code to coordinate the different submachines and even that might be unnecessary. The "programs" i.e. the machines created also interact in a way that you usually only see with command line programs. You can create a machine then someone else can use that machine as a part for a more powerful machine, for instance that lever that turns the tetris game on and off doesn't "come standard" with the system, I build it separately then imported it. Using the program is a lot like programming, thinking logically, coming up with solutions to problems, fixing bugs, but it's entirely visual so you can use your physical intuition to figure things out, maybe that's why it's possible to do things so fast. Anyway I was hoping some of you would give it a try and give me some feedback. I need people to see what they can build with it, I don't even know what's possible at this point. And if you want to give it a go and get stuck, feel free to contact me with any questions.

[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

[3] https://mockmechanics.com/

← PreviousPage 2 of 2