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