Ask HN: What are you working on (August 2024)?

2024-08-2422:006341424

What are you working on? Any new ideas that you're thinking about?

What are you working on? Any new ideas that you're thinking about?

Comments

  • By ianthehenry 2024-08-250:537 reply

    https://bauble.studio/ is a lisp-based procedural 3D art playground that I hacked together a while ago. It's fun to play with, but it's a very limiting tool: you can do a lot to compose signed distance functions, but there's no way to control the rendering or do anything "custom" that the tool doesn't explicitly allow.

    So lately I've been working on a "v2" that exposes a full superset of GLSL, so you can write arbitrary shaders -- even foregoing SDFs altogether -- in a high-level lisp language. The core "default" raymarcher is still there, but you can choose to ignore it and implement, say, volumetric rendering, while still using the provided SDF combinators if you want.

    The new implementation is much more general and flexible, and it now supports things like 2D extrusions, mesh export for 3D printing, user-defined procedural noise functions... anything you can do in Shadertoy, you can now do in Bauble. One upcoming feature that I'm very excited about is custom uniforms and embedding in other webpages -- so you can write a blog post with interactive 3D visualizations, for example.

    (Also as a fun coincidence: my first cast bronze Bauble arrived today! https://x.com/ianthehenry/status/1827461714524434883)

    • By turtledragonfly 2024-08-255:432 reply

      Am I right that the output of the lisp code is ultimately a plain GLSL shader (like one might find on shadertoy.com)?

      I built a SDF-based rendering system (2D) for my game, and one of the big hurdles was how to have them be data-driven, rather than needing a new shader for each scene or object.

      Would be curious if/how you tackled that problem (:

      • By ianthehenry 2024-08-255:54

        Yep! It just outputs GLSL. It doesn't do anything smart -- it's a single giant shader that gets recompiled whenever you change anything, so it wouldn't really work for something like a game. I mean, it could handle like basic instancing of the form "union these N models, where N<256" but there's no way to change the scene graph dynamically.

      • By jkcxn 2024-08-2516:511 reply

        I've done this for a project where the SDF functions are basically instructions, and you can build up instrictions on the CPU to send to the shader. and then the fragment shader runs them like a mini bytecode interpreter. You can tile up the screen to avoid having too many instructions per fragment. Kinda wild idea and performance may vary depend on what you're doing

        • By turtledragonfly 2024-08-2521:241 reply

          That's pretty similar to what I'm doing!

          The CPU builds an RPN expression (like "circle, square, union, triangle, subtract"), and the shader evaluates that in a loop.

          I wasn't able to find examples of other people doing similar, but it seemed too useful to not be invented yet (:

          Do you have any links to your work?

          I'm writing some blog posts for my approach, but haven't finished them yet.

          > You can tile up the screen to avoid having too many instructions per fragment.

          I don't quite understand this part... If a given SDF needs N instructions to be evaluated, then how does tiling reduce N?

          > performance may vary depend on what you're doing

          Yeah, fill rate was not good enough with a straightforward approach, so I had to cache the evaluated distance values to a (float) texture atlas, then use those to render to screen. Luckily, standard bilinear filtering on distance values produces pretty decent results.

          • By jkcxn 2024-08-2618:26

            Yes sounds like the same thing! I also couldn't find anyone else doing it. Sounds super interesting what you're doing so I'd love to read your blog post when it's done if you want to drop me a message/email.

            My project was using 2D SDFs for UI which meant you could use a bunch of primitive shapes and union/difference between them, and also add outlines, shadows, glows etc. This means that if you tile up the screen and use a union between two rectangles, only the tile with the overlap needs to calculate the union. It's a little more complicated in 3D with frustum culling.

            I was doing it in webgl which doesn't have storage buffers and so I had to use uniforms to pass the data which is a huge limitation. Apparently webgpu could be better so I will try to figure that out one day. But it is early prototype so no links or anything yet.

    • By fuzzythinker 2024-08-310:13

      He made quite a few useful videos demoing it.

      @ian Adding this to your help page would be helpful.

      https://www.youtube.com/@ianthehenry/search?query=livecoding

    • By kinow 2024-08-2718:191 reply

      Looks amazing, I was having fun with cssdoodle, and now I have two cool sites to do some programming+arts.

    • By techno_tsar 2024-08-252:48

      This is completely nuts. Well done.

    • By holden_nelson 2024-08-255:15

      This is phenomenal. Thanks for sharing.

    • By juhanakristian 2024-08-255:43

      This is amazing! Thanks for sharing

    • By samstave 2024-08-253:57

      Stunning.

      That site needs to be seen. Thats great.

  • By nlh 2024-08-2423:1611 reply

    I’m a tech nerd rare coin & currency dealer! I took my two hobbies and combined them into a real business and I’m having the time of my life. Just launched a proper retail site here:

    https://www.rarity7.com/

    About 50% of my days are spend doing the coin dealer stuff - hunting for inventory, buying collections/doing appraisals, going to coin shows and buying and selling in person, etc.

    The other 50% I’m writing code and building out the tech stack for this business. I’ve written the whole backend for the retail site myself, which includes my own inventory management system, sync with eBay and other marketplaces, etc.

    I’ve also built out a research tool which includes an ML price prediction engine engine (which sounds fancy but is really just a tabular regression model).

    Backend is written in Crystal because I love the language and there’s nobody stopping me from using it :) Frontend is all Svelte and they’re glued together using a mini framework I wrote:

    https://github.com/noahlh/celestite

    I probably have 5 years worth of ideas I still want to build and I wish I could spend even more time building it all, but it’s super fun actually using it in the real live marketplace so I’d never give that up.

    Happy to chat about this stuff with anyone who’s interested or vaguely interested in numismatics.

    • By reassess_blind 2024-08-251:525 reply

      I have a question - I've seen TikToks of people who buy rolls of coins from the bank and sort through them for rare imperfections then sell them on eBay. I've always wondered whether it would be possible to develop an automated system where a camera takes high res photos of the coins on a conveyor belt, compares to a DB of known imperfections and sets them aside?

      Is anyone doing this? It's an interesting business model as the product is money so you'd only stand to make a profit never a loss.

      • By nlh 2024-08-254:121 reply

        Nobody that I know of is doing this, and see no reason why it wouldn't be possible from a technical standpoint. I think the only reason I can imagine NOT to do is that the ROI probably isn't that high in reality. Now, granted, I don't watch the coin TikToks because 95% of it is clickbait, exaggerate, etc. But my actual impression is that there simply isn't that much actually-valuable material out there hiding in bank rolls (despite what TikTok says).

        Most of the people I know who do bank roll hunting and doing it because it's just kinda fun and there's a thrill when you find a silver quarter from 1964 (worth about $5) hiding in a roll of otherwise-normal quarters. But so much of the good stuff has already been plucked from circulation.

        Having said that, nothing should stop a good hacker from doing something just for the hell of it :)

        • By bluGill 2024-08-2513:111 reply

          If there was a good ROI the banks would do it. It might be enough ROI living but it will be a lot of labor for a small income.

          • By lamroger 2024-08-2523:56

            Tellers get first dibs

      • By fsckboy 2024-08-254:37

        do you know why vendors take credit cards, square and applepay, even though those services charge several percent fees? part of it is for convenience for the customer, but another part is that shuttling cash around to the bank and back is time consuming, risky, and takes you away from running your business (let's say you are a breakfast place, you don't make your own cups and napkins or farm your own eggs and coffee either)

        >product is money so you'd only stand to make a profit never a loss

        you're grabbing the expense part of the business that everybody else is trying to shed. Let's talk also about time value of money. All the money that you've invested in cash is not making money passively as other investments do. Compared to putting the money in the stock market, you're losing 7% a year on this scheme, plus the expenses of running your business, and opportunity cost of not doing something else that generates income.

      • By s0rce 2024-08-2517:51

        I did this for personal collections a while back and went through a lot of Canadian quarters to get one from each year and never even found the 1991 I was looking for which is somewhat rare. I guess if you do it full time or automate a bunch maybe you could make money, seems hard though.

    • By samstave 2024-08-253:521 reply

      That is beautiful!.

      One of my favorite design elements is the Guilloche patterning on currency, along with the history behind the use of Guilloche as a form of anti-counterfeiting.

      Your site is very simply visually appealing.

      Also - I like to order $2 bills from the bank. You can order then, mine delivers them on tuesdays - and they give you a stack of brand new $2 sequentially serialized bills. They are great for tips and gifts.

      • By nlh 2024-08-255:46

        100% agree! I often get folks asking if their $2 are valuable, and tell them exactly what you do -- no, alas, they're not worth more than $2, but they are super fun to leave as tips because people still get a kick out of 'em.

    • By efishnc 2024-08-251:091 reply

      Very cool and super clean website! Talk about your infra please!

      • By nlh 2024-08-255:51

        Thanks!!

        Infra: I was hosted on Google Cloud for a while -- literally a single VM running Docker Compose, but I decided I wanted something a bit more flexible and interesting, so last month I switched everything over to Fly.io and I am incredibly happy with them. It's just so easy and fun to manage.

        The retail site (rarity7.com) is just a small VM running a Crystal server process to handle web requests. Image hosting is all done on Cloudinary. My backend / inventory management / trading + research engine is a separate Crystal process in a separate VM. Both connect to a Fly Postgres DB. There's one other service which is a small python process on another VM which is doing inference on my regression model. That's super lightweight and I don't need any GPUs to do the inference (tabular data is nice like that).

        Overall it's really nothing fancy and it works quite well. A few web-serving VMs and an inference service for my pricing model. I train/retrain the model a few times a year on a local box (my repurposed gaming rig running a 2080Ti).

    • By theogravity 2024-08-250:401 reply

      That's neat and congrats! How long does it take to be part of the authorized dealers listed on the site?

      • By nlh 2024-08-255:37

        I did it all in about 2-3 years. I was a big collector as a kid but didn't get back into it in a serious way until 2021. Becoming an authorized dealer is basically, fundamentally about building trust. The whole coin industry operates in a very old-school relationship-based trusted way. To become a member of most professional orgs or become an authorized dealer, you need to have 5-10 VERY solid references from other members or authorized dealers, and the only way to get those references is to be a part of the community, build trust, and build relationships by doing business with others (which means honoring your commitments and your word and writing good checks, etc.). In the end, you need to ask 5-10 people to personally vouch for you, so they'd better know you and actually trust you.

    • By peterldowns 2024-08-2423:351 reply

      This is great, my brother is a history buff and a few years ago I bought him a Hadrian coin for his birthday. I'll look through this and see if I can find something else he'd be interested in, holidays are coming up and I'm always looking for nice gifts.

      EDIT: is there any way I could set up an alert for when you add some non-US currency into stock?

      • By nlh 2024-08-255:39

        That's awesome and a very thoughtful gift for him! Yes I'm planning on building alerting - BUT - I'm probably not going to expand beyond US-based stuff for the foreseeable future. It's just the niche I know and even though there's a big wide world out there, I haven't spun up my brain to learn about it all yet.

        If there's any country in particular you're looking for, shoot me an email. I know a ton of other dealers in the business and I'd be happy to point you to someone who might have something he'd enjoy.

    • By wyclif 2024-08-253:451 reply

      Cool project! I showed this to my 13 year old son who is a coin and bill collector; he loves it.

      • By nlh 2024-08-254:14

        Awesome -- thanks! Tell your son to join the Instagram coin community if he hasn't done it already - there are tons of kids & adults on there and it's a real community that meets up regularly at coin shows, etc. Send me an email and I can give you a heads-up on some starter accounts to follow and get involved.

    • By Loughla 2024-08-251:001 reply

      So let's say I have a few hundred silver dollars. Is this a tool to help me sort them, or does such a tool exist? Like take a picture and it identifies it, looks for common errors, and provides a base price estimate?

      • By nlh 2024-08-255:431 reply

        There really should be, but the fact is there isn't a tool that does this yet. It would not be deeply hard to build, but it would mean training a model which means getting good enough training data which means taking the time to actually do it. It hasn't been done because it requires someone who is deeply knowledgable about coins AND someone who knows how to train a model and build an app, and the fact is that intersection is pretty small (it's me and probably 20 other people? Give or take). This is very much on my long-term roadmap.

        In the short term, the easiest way is to find someone who does this (eg me) and just email me some pictures. I'd be happy to tell you if you've got anything good. The old school neural net between my ears can assist.

        (See profile for email).

        • By Loughla 2024-08-2513:56

          That's fair. I have to imagine that there's a market for a product like that. My mind goes to auctioneers and estate sales. I know the local auctioneer would kill for a tool like that.

          Something to keep in mind if you do build that: have a one time purchase or month long purchase option. When my wife's grandma died, we had to go through her coins looking for good ones. I would've killed for something like this but for a month.

    • By profsummergig 2024-08-2510:581 reply

      Am curious how you handle trust.

      E.g. someone says the delivery didn't come through. Or that the coin is not authentic.

      Those are some expensive coins! So was curious.

      • By nlh 2024-08-2514:181 reply

        Great question. Authenticity is easy - I mostly deal with certified coins, which means they’ve all been authenticated and guaranteed by a 3rd party service which stands behind their mark (they will pay you for the coin if they make a mistake, which does happen).

        For shipping, that’s just pretty standard across most industries - I have shipping insurance and if USPS fails, they’ll pay for it. But losses happen and it’s just a matter of business (thankfully they’re rare).

        • By profsummergig 2024-08-315:15

          The 3rd party service, do they require you to mail the actual coins to them before they authenticate?

    • By gaws 2024-08-2623:34

      Besides your love for the language and nobody telling you otherwise, why Crystal?

    • By spirobelv2 2024-08-250:521 reply

      wow this is super cool stuff. I see the similarities between currencies and trading cards.

      seems like you guys also have grading services

      • By nlh 2024-08-255:45

        Yes! Very much so. And in fact, the grading services are owned by the same parent companies. NGC and PCGS are the big coin graders and I think their card graders are CGC and PSA respectively?

    • By pajeets 2024-08-255:36

      Are 1987 loonies rare?

  • By mattkevan 2024-08-250:177 reply

    I’m working on a collaborative ebook reading app. The idea is that you can create a reading group, invite people and then share comments and highlights and see each other’s reading progress.

    It’s something I’ve been wanting for a while, for example to read a book with a group of friends or with a work team, but there’s lots of other possibilities including author reading parties, proofing and education. Got the basics of it working now, need to polish the UI and add the commenting and highlighting features.

    I’m using Next.js and Supabase, neither of which I’ve used before so it’s been a fun but often frustrating process. Claude has been an amazing assistance, fixing my mistakes and countless type errors.

    • By digdugdirk 2024-08-251:063 reply

      Ooooo.... Idea! One thing I've always wanted is an "asynchronous" book group. Basically, some way to tie the questions and conversation to a page or chapter, and then you can follow along at your own speed. Just passing the idea along since I'll never do anything with it.

      • By NullParameter 2024-08-2518:40

        Storygraph[1] does this with their Buddy Read feature. My wife and I use it to read books together and leave messages about different happenings, which only get unlocked when you mark that you've read up to that page in the book. It's a great feature, and we really enjoy it.

        [1] https://www.thestorygraph.com/

      • By whycome 2024-08-253:172 reply

        I wish there were discussion websites for media like this. If I've finally watched a tv show, everyone is already talking about another season. I want some sort of "season one insulated forum" or something. For all those that are in the same "temporal" spot.

        • By FrequentLurker 2024-08-253:39

          Not the same thing but if your show has a subreddit, they will probably also have discussion threads for each episode.

        • By sundarurfriend 2024-08-255:53

          Somewhat similar to r/patientgamers - so r/patientreaders, r/patientwatchers, etc.?

      • By mattkevan 2024-08-254:10

        That’s a cool idea, thank you for sharing. Yes, I want to tie conversations to specific locations in the text, but I love the idea of being able to set discussion questions as well. Will look into that.

    • By antony_pond 2024-08-250:441 reply

      Hey man, it is an amazing idea. I have been thinking to build something similar.

      I am building reading clubs for my custom library - on top of crypto tech, and in the process, I have experimented with several book reader tech. pdf.js, muPDF and some other tools, which one did you settle on?

      My lib: https://datapond.earth

      • By mattkevan 2024-08-258:54

        That’s a fascinating project, thanks for sharing. I’m using epub.js as it already has things like annotations and highlighting and it’s fairly easy to override the book styles.

        From the research I’ve done, it seems that most ebook reader libraries are old and not very well supported. Haven’t considered PDF readers yet.

    • By paulizee 2024-08-279:14

      Is it going to be P2P? It would be much more easier to handle book versions and other such technocalities if it is, allowing people to share the EPUB via the platform and stay in sync

    • By mbmjertan 2024-08-2515:16

      This reminds me heavily of Perusall, which we used for a course in university. Take a look at it for “inspiration” - it might be interesting :)

    • By pmarreck 2024-08-2513:03

      good idea!

      feature idea- you can see the reading progress of everyone in the group to sort of apply some passive social pressure to catch up if you're behind

      then again, not everyone might be willing to do this since the book club might not all be about actually reading the book for them

    • By meonkeys 2024-08-250:34

      Cool! Lemme know if you want help with testing.

    • By user070223 2024-08-2519:15

      same for research papers ( I think there is/are some prototypes but no big communities perhaps)

HackerNews