HNHacker News
TopNewBestAskShowJobs

Show HN: A working 3D model of an Enigma machine

enigma.design

94 points·primitivesuave··37 comments
I watched the excellent Veritasium video [1] on the Enigma machine, and watched the full animation by Jared Owen [2], but was still a bit confused on how the inner mechanics of an Enigma machine work. I used Astra to build out the inner components through a combination of reference images, writing out hundreds of extremely detailed prompts, and building my own inspection tools to ensure that every part is sized and positioned in a historically accurate way.

It's still a work in progress, but would love any feedback on the experience so far!

1. https://www.youtube.com/watch?v=JsBZOcqZerk

2. https://www.youtube.com/watch?v=ybkkiGtJmkM

Open articleView on HN
Good job, I like the many cutaways to show exactly what's going on inside.

You may be interested in my simulation of Enigma (https://enigma.virtualcolossus.co.uk) which I wrote back in 2021 (pre-AI!). One of several I've done.

Try it on an Android phone to look around it in VR or on PC/Mac for easier use. You can even send messages to other users over the internet using the radio & Morse key.

Cool work. There are some of this educational gems here. Is there a site which combines these treasures (like in a virtual museum?)
Really cool project! The only thing I noticed is that the performance feels a bit slow at times, and it could use a little more fluidity, especially when interacting with the model.

Other than that, everything feels really well done. Building something like this in JavaScript/HTML, especially with a 3D model this detailed, must be quite challenging from an optimization standpoint.

Great work!

I love the presentation! Would you mind sharing the source code?
+1. source code will be useful for educational purposes.
typical freeloading entitlement. It's his project, and he can share whatever he likes.
The purpose of Show HN is to share and discuss code, not to advertise products. That isn't freeloading entitlement, it's the point of being here.
That's a misleading narrowing of the topic. It's a show and tell. Code, hobby, product, whatever the person wants.
The guidelines demonstrate that it isn't merely show and tell: https://news.ycombinator.com/showhn.html

    On topic: things people can run on their computers or hold in their hands. For hardware, you can post a video or detailed article. For books, a sample chapter is ok.
    Off topic: blog posts, sign-up pages, newsletters, lists, and other reading material. Those can't be tried out, so can't be Show HNs. Make a regular submission instead.
    The project should be non-trivial. Don't post quickly-generated one-offs; anybody can do that now. Share something that is deeply personal and interesting to you.
    Explain how and why. 
Also see dang's comments on the validity of various submissions:

https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

And in particular this comment that touches on AI submissions in particular (https://news.ycombinator.com/item?id=48118727) from which I provide an excerpt:

    In software it's fascinating how configuration management (that boringest of all phrases) is becoming the hard part. How do you share and version the source? 
    What even is the source? Is it the prompts? That's where the OP heads at the end: "share it somewhere — or, better yet, just a screenshot and the prompts you 
    used to make it." But when I floated a couple trial balloons about whether we might use this for Show HN—i.e., don't just share the code you generated, 
    because that's not the source anymore; instead share the prompts—we got a lot of pushback from knowledgeable people 
    (summarized here: https://news.ycombinator.com/item?id=47213630).
The topic is supposed to be narrow. It's supposed to be more than just show and tell, and definitely not "whatever the person wants."
you're making my case, not yours.
No, I'm not.
the app meets the bar, thanks for sharing.
It meets your personal bar, which matters to no one but you. Thanks for sharing.
I don't follow. How is a polite question if the code can be shared (not even a request to share the code), freeloading entitlement?
it's impolite.
I will open-source it very soon! I was a bit nervous about putting it out there before I'm sure that the machines are absolutely accurate, especially the more niche ones where I had to make some inferences about the wiring. Will add the GitHub link to the site when I've had a chance to review everything for accuracy, and will probably end up moving some of my "educated guesses" off the main branch.
> bit nervous about putting it out there before I'm sure that ...

At the risk of being presumptuous I believe that's the wrong way of looking at it. The point isn't to show the entire World that everything you did is perfect (because it's not, for anyone) but rather to grow from potential collaborations, even if only just discussions in issues. It is a humbling process to show how something was built but with a positive crowd it is definitely leading to growth!

Thank you for the kind words! As mentioned in the other comment below, I'll open-source it very soon and update the site with a GitHub link.
Neat, would be great to have it in WebXR with hand tracking, imagining 2 modes :

- AR where the machine can be put on your desk, next to documents

- VR where the machine is in context, e.g. a 3D model of German Naval Signals HQ in Guernsey, eventually stepping back to a broader context.

Inspection tools ensure historical accuracy; great effort!
It would be nice to be able to back up in the sequence. There were a few times where I realized I had not fully understood a previous step and would have like to be able to review some previous steps.

Otherwise this is completely excellent!

Thank you for the suggestion and the kind words! Completely agree that the navigation is a bit unintuitive, will work on fixing that tonight :)
This is really cool. The attention to detail on the internal mechanics is impressive, especially the inspection tools you built. Looking forward to seeing where you take it!
Thank you! My dream is to have a working Bombe [1] which can decrypt the Enigma traffic in your browser.

https://en.wikipedia.org/wiki/Bombe

Seems pretty cool but unfortunately the poor performance on mobile (Chrome 154 and Android 17) makes it unusable for me. I'll have to check it out on desktop.
Thank you for the tip about mobile performance, my apologies for neglecting it and I'm working on fixing it right now!
No need to apologize. Hit me up when you work out the kinks and I'll give it a go again.
I revamped the mobile experience last night, let me know what you think!
Hmm. It may be slightly better but I'm still getting a very stuttery framerate and slow response time. Could just be me. I'm on a Pixel 11 Pro though so it's not like I'm on an ancient device or anything.
Tested and fine on 6th gen iPad Mini, if anyone is interested.
The coolest and pre-slop simulator is here:

https://www.ciphermachinesandcryptology.com/en/enigmasim.htm

A pity that our governments allow such cool tech to be stolen.

good jobs!

Reply on news.ycombinator.com