[HN Gopher] Building Bauble
       ___________________________________________________________________
        
       Building Bauble
        
       Author : ianthehenry
       Score  : 177 points
       Date   : 2025-01-10 22:22 UTC (1 days ago)
        
 (HTM) web link (ianthehenry.com)
 (TXT) w3m dump (ianthehenry.com)
        
       | FragenAntworten wrote:
       | This is both a great demo of what Bauble can do and an engaging
       | description of its development. I'm impressed by both!
        
       | mrayycombi wrote:
       | 3d latex
        
       | troad wrote:
       | This is so cool. I love this so much. I read the article on my
       | RSS, and then immediately hopped over to HN just so I could
       | upvote.
       | 
       | > Fortunately though, over the course of Bauble's development, I
       | had produced a comprehensive suite of test scripts with reference
       | images that demonstrated all of the edge cases and problems that
       | I had faced and already fixed and... No, of course not. I can't
       | even type that with straight fingers. There were no tests.
       | 
       | Intensely relatable.
        
         | xrd wrote:
         | What RSS reader do you use, may I ask? Mine (readrops for
         | Android) doesn't render the images. It is probably quicker to
         | just review the XML but I'm committed to this comment now.
        
           | troad wrote:
           | Nor did mine, interestingly. I'm not entirely sure why, the
           | HTML for the first image seems to render fine on its own.
           | It's a very long <picture> tag, seemingly optimised to return
           | different sizes at different resolutions. It looks like
           | something generated by a web framework. I still hand-write my
           | <img> tags like it's 1999, so I'll leave it to the frontend
           | wizards to explain what the problem here is.
           | 
           | Re my choice of reader, I host FreshRSS[0] on a home server,
           | using the official Docker image.[1] It comes with pretty good
           | in-built webpage change tracking too, for websites that
           | refuse to offer RSS. I don't feel confident enough to expose
           | it to the Internet, though I imagine you could use something
           | like Tailscale to tunnel home securely for it.
           | 
           | [0] https://freshrss.org/;
           | https://github.com/FreshRSS/FreshRSS/
           | 
           | [1] https://hub.docker.com/r/freshrss/freshrss/
        
             | xrd wrote:
             | Funny, I'm using FreshRSS as my feed aggregator as well,
             | but then reading it using the android app. One of us should
             | file a bug.
        
               | troad wrote:
               | That is amusing! I'd think that your Android app would be
               | using a different rendering engine to my desktop browser
               | though? There must be something non-standard about those
               | images.
        
       | dinkumthinkum wrote:
       | This is very nice. I remember first watching Inigo Quilez videos
       | and they are extremely impressive but this, obviously, gives a
       | little more insight into making something work. Well done.
        
       | xnx wrote:
       | Wow. Very impressive work and a very readable and interesting
       | summary. You should be immensely proud.
       | 
       | Personally, it is reassuring to know there are still people out
       | there capable of doing such complicated and quality work. After
       | seeing my 1000th $19/month thin wrapper over uncredited AI, I had
       | doubts.
        
       | keeptrying wrote:
       | Beautiful
        
       | peterkos wrote:
       | After reading this, I am now of the belief that software is,
       | actually, a good thing. And that programming can be enjoyable.
       | 
       | Seriously, this does such a good job of capturing the feeling of
       | MAGIC that code is capable of -- both in its process and in its
       | output. Textbook "craft". It's hard to experience that sometimes
       | when surrounded by dependency hell, environments, build systems,
       | certain dynamic programming languages, and the modern web
       | ecosystem.
        
       | agentkilo wrote:
       | This article is really inspiring! I have a few dozen half-baked
       | projects, that's meant for no one else but me, to play with, or
       | to "learn new things" from, but none of them ever became so
       | complete and polished as author's Bauble. I can feel the pure
       | enjoyment of crafting from the article. I hope more people can
       | find out about it, and share OP's joy.
       | 
       | I should really finish what I started. It may take, say, eighteen
       | years, but I should finish them XD
        
       | medhir wrote:
       | Absolutely incredible, the power of persistence can yield such
       | cool results.
       | 
       | I bookmarked to play around with the editor sometime, I've always
       | wanted to learn GLSL and this feels like a more gentle intro into
       | the world of shaders.
        
       | atombender wrote:
       | The die cast bronze sculptures are very cool. Where does one go
       | to get them cast from 3D models? Sounds very expensive to do as a
       | one-off (the author is a developer at Jane Street, which probably
       | explains why they could afford it).
        
         | ianthehenry wrote:
         | I ordered them from sculpteo -- the only service I could find
         | that would do it. Very happy with everything I've gotten from
         | them. It is very very expensive if you want to make anything
         | large, but for small jewelry-scale stuff it's not too crazy.
         | The balloon is seven custom parts so that was pricey ($250
         | total?), but the other two models were around $50 each.
        
           | atombender wrote:
           | That's surprisingly cheap for a one-off. Thanks, I will have
           | to check them out.
        
       | uxcolumbo wrote:
       | This is awesome and inspiring. Thanks for the write up.
       | 
       | I like the look and style of the game art and making it
       | interactive, somewhat makes me think of the game 'The last night'
       | (still in development).
       | 
       | Your post made me curious about Janet. Will explore it more and
       | how it can be used for graphics and art.
        
       | flir wrote:
       | That was fantastic on, like, eight different levels.
        
       | Multiplayer wrote:
       | Been here for 15 years. This is the most interesting project and
       | writeup I have ever seen here.
        
       | tempodox wrote:
       | Fuck Apple, I'm only getting "TypeError: undefined is not an
       | object (evaluating 'renderer.recompileShader')" in Safari. It
       | works in Firefox.
        
         | spiralganglion wrote:
         | Worked on my iPhone.
        
           | tempodox wrote:
           | What iOS version? I'm on macOS 13 (Ventura).
        
         | ianthehenry wrote:
         | huh, that's no good. it works fine for me on safari 18.1. would
         | you share the line that it's raising on? no other errors before
         | that one?
        
           | tempodox wrote:
           | No usable line, only a URL:
           | https://ianthehenry.com/posts/bauble/building-
           | bauble/bauble....
           | 
           | After that, is shows line number 1 and a column number in the
           | millions, so seems to be megabytes of code in that JS file.
           | 
           | For each code box, I get two errors with the same URL, just
           | different column numbers:
           | 
           | - TypeError: undefined is not an object (evaluating
           | 'renderer.draw')
           | 
           | - Unhandled Promise Rejection: Error: failed to create webgl2
           | context
           | 
           | This is Safari 18.2 on Ventura (Intel), which seems to be a
           | buggy release all around. Even the scroll bars are broken.
        
             | ianthehenry wrote:
             | okay, that's helpful. the "undefined is not an object" bit
             | is definitely a function of the "failed to create webgl2
             | context" error -- it tries to reference it unconditionally.
             | no idea why it can't create the graphics context in the
             | first place, though (and not much to do without one)
        
       | skalarproduktr wrote:
       | Congrats, Ian, on the amazing side project and the thorough and
       | thoroughly enjoyable writeup.
       | 
       | You really got me with the tests for the original Bauble, I had a
       | good laugh after that paragraph!
       | 
       | I'm now also somewhat inclined to have a deeper look into Janet,
       | it looks both useful and interesting.
        
       ___________________________________________________________________
       (page generated 2025-01-11 23:01 UTC)