19 votes

What programming/technical projects have you been working on?

This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

32 comments

  1. [2]
    em-dash
    (edited )
    Link
    This past weekend I was joking with some friends about onemillioncheckboxes.com and I realized onecheckbox.com wasn't registered. I couldn't get this dumb idea out of my head, so that's a thing...

    This past weekend I was joking with some friends about onemillioncheckboxes.com and I realized onecheckbox.com wasn't registered. I couldn't get this dumb idea out of my head, so that's a thing now.

    I also redid the toolhead wiring in one of my 3D printers again, after deciding that cable chains are bad actually.

    edit: some of y'all are really into checkboxes

    12 votes
    1. guissmo
      Link Parent
      Ok this onecheckbox thing is hilarious and I think this is much better than the one million version. It’s only a matter of time until we get a wabbit season / duck season version.

      Ok this onecheckbox thing is hilarious and I think this is much better than the one million version.

      It’s only a matter of time until we get a wabbit season / duck season version.

      8 votes
  2. [7]
    hydravion
    Link
    Hey everyone, I'm getting close to releasing my Chrome browser extension for tabs and bookmarks management and I would like to share things about it on Tildes. Do you guys think that I should...

    Hey everyone, I'm getting close to releasing my Chrome browser extension for tabs and bookmarks management and I would like to share things about it on Tildes. Do you guys think that I should hijack one of these recurring threads or create a dedicated thread? Should I talk about my project in generic terms or can I get specific? Can I name it? Can I link to it? Can I ask for your feedback?

    I'm asking because even though it started as a personal project, it has since turned into a commercial "venture" where the goal would be to make a living off of it, so I'm not sure what the proper etiquette would be in that case. How would y'all prefer me to handle this? I think it'd be more fun to share the details, but I figured I should ask.

    Thanks!

    9 votes
    1. [2]
      gpl
      Link Parent
      Can't speak for everyone obviously but I at least wouldn't mind if you shared in a dedicated thread here! I don't really view it as "spam" if a community member shares their project, unless they...

      Can't speak for everyone obviously but I at least wouldn't mind if you shared in a dedicated thread here! I don't really view it as "spam" if a community member shares their project, unless they only drop in to promote that in a spammy way and then dip. Just my two cents.

      10 votes
      1. hydravion
        Link Parent
        Thanks for sharing your view! The general vibe seems to be that it would be fine to create a thread and link to the extension. I think I'll do that soon :) Thanks again everybody!

        Thanks for sharing your view! The general vibe seems to be that it would be fine to create a thread and link to the extension. I think I'll do that soon :)

        Thanks again everybody!

        2 votes
    2. [4]
      skybrian
      Link Parent
      I’m guessing you will need a few trusted testers to start? I don’t see any reason you can’t ask for that in a separate topic; it will be easier to find, bookmark, or ignore. If your extension gets...

      I’m guessing you will need a few trusted testers to start? I don’t see any reason you can’t ask for that in a separate topic; it will be easier to find, bookmark, or ignore.

      If your extension gets real users, I think Github issues and discussions are more appropriate. (Or maybe a competitor like GitLab.) It’s easy to set up and it’s what many people will look for and expect. It’s convenient to have the most detailed discussions about your extension in a dedicated forum, rather than scattered topics in a general-purpose forum.

      5 votes
      1. [3]
        hydravion
        Link Parent
        Hey skybrian! Thanks for offering to help with the testing, much appreciated :) I would love to have you on board, I should be ready soon. That's actually a really good point, I'm sold....

        Hey skybrian! Thanks for offering to help with the testing, much appreciated :) I would love to have you on board, I should be ready soon.

        it will be easier to find, bookmark, or ignore.

        That's actually a really good point, I'm sold.

        I think Github issues and discussions are more appropriate

        Absolutely, I was thinking of using Featurebase for collecting feedback etc. Do you think that I should have a Github page as well?

        1. [2]
          skybrian
          Link Parent
          I didn’t mean to volunteer, actually, but okay, I can give some feedback. I’ve never used FeatureBase, but if it works for you then maybe you don’t need two systems?

          I didn’t mean to volunteer, actually, but okay, I can give some feedback.

          I’ve never used FeatureBase, but if it works for you then maybe you don’t need two systems?

          2 votes
          1. hydravion
            Link Parent
            Oh okay 😂 Sorry for the misunderstanding! Otherwise I think Featurebase should do fine.

            Oh okay 😂 Sorry for the misunderstanding!

            Otherwise I think Featurebase should do fine.

            1 vote
  3. [7]
    guissmo
    Link
    There’s this theorem called the elliptic curve primality proving algorithm where you can prove that a ridiculously huge number (think 100+ digits) is prime. Because of this, showing someone a...

    There’s this theorem called the elliptic curve primality proving algorithm where you can prove that a ridiculously huge number (think 100+ digits) is prime. Because of this, showing someone a specific set of data (which includes an elliptic curve, hence the name) is enough to prove a number is prime. Such data is called a primality certificate.

    I am making one a database where you can “name a prime”… which is sorta a light jab on those “own a star” or “own a planet” websites. It will give you a certificate.

    I have a working page already but this is going to be revamped. For now this is just a glorified PDF generator: https://primecert.guissmo.com

    The database isn’t there yet which I think would make it more fun and social.

    9 votes
    1. [4]
      jmpavlec
      (edited )
      Link Parent
      Just gave it a go. That's some fancy font in the PDF :). I named the PI PRIME: 3141592653589793238462643383279502884197169399375105821357 Trying to submit the same one again gives me an error Your...

      Just gave it a go. That's some fancy font in the PDF :). I named the PI PRIME: 3141592653589793238462643383279502884197169399375105821357

      Trying to submit the same one again gives me an error

      Your input is invalid.
      
      Please check that the integer you entered only consists of numbers, and the name you entered only consists of letters, numbers and spaces.
      

      I'd probably expect it to tell me it is taken and named "XYZ" or whatever. Would be nice to browse other primes people have already named.

      3 votes
      1. [2]
        guissmo
        Link Parent
        Nice concept for a name of a prime! Maybe some random (possibly invisible) characters just happened to make their way into the input box? I haven't really had bug testers for this! You're in luck!...

        Nice concept for a name of a prime!

        Please check that the integer you entered only consists of numbers, and the name you entered only consists of letters, numbers and spaces.

        Maybe some random (possibly invisible) characters just happened to make their way into the input box? I haven't really had bug testers for this!

        Would be nice to browse other primes people have already named.

        You're in luck! The version I'm working on (which isn't online yet) should make that possible...

        Thanks for trying it out. That gives some positive reinforcement to get on with finishing the new version! :)

        3 votes
        1. jmpavlec
          Link Parent
          Just tried it again from mobile and it let me submit it again... Must have had some extra white space at the front or back earlier. Would be good to trim those if possible for the number input in...

          Just tried it again from mobile and it let me submit it again... Must have had some extra white space at the front or back earlier. Would be good to trim those if possible for the number input in case there is a copy paste error.

          Looking forward to the next version!

          2 votes
      2. Berdes
        Link Parent
        I managed to create the e-prime in the same spirit using 2718281828459045235360287471352662497757247093699959574966967627724076630353547594571 I need to dust off some of my old prime testing...

        I managed to create the e-prime in the same spirit using 2718281828459045235360287471352662497757247093699959574966967627724076630353547594571

        I need to dust off some of my old prime testing functions to try to generate some other cool primes.

        3 votes
    2. skybrian
      Link Parent
      Wikipedia has a list of famous prime numbers, some of which look large enough to be in the range you're using. Maybe add some "famous" primes to your list?...

      Wikipedia has a list of famous prime numbers, some of which look large enough to be in the range you're using. Maybe add some "famous" primes to your list?

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

      3 votes
    3. em-dash
      Link Parent
      This is weirdly amusing. I love it. I tried to name a prime Jeff but got a certificate about "The Jeff Prime".

      This is weirdly amusing. I love it.

      I tried to name a prime Jeff but got a certificate about "The Jeff Prime".

      2 votes
  4. [3]
    Stroh
    Link
    I made a C roulette game to emulate some latest ideas my father had to beat the system from YouTube. The ideas failed but then I got some new ideas from him and those failed. Finally he tried...

    I made a C roulette game to emulate some latest ideas my father had to beat the system from YouTube. The ideas failed but then I got some new ideas from him and those failed. Finally he tried testing the theory in practice which also failed. Now he stopped talking about it. Worth it.

    5 votes
    1. [2]
      ogre
      Link Parent
      What were his ideas?

      What were his ideas?

      1 vote
      1. Stroh
        Link Parent
        Wait x rolls before doing some set of 6 column bets with a 1/500ish chance of it not happening on roll x+1. Do red black if this or that while waiting to bet if they want to kick you off the...

        Wait x rolls before doing some set of 6 column bets with a 1/500ish chance of it not happening on roll x+1.
        Do red black if this or that while waiting to bet if they want to kick you off the table. Bad math.

        My randomness wasn’t great but decent for 10k rolls. I didn’t figure out the best way to implement true enough randomness with a cryptographically secure pseudorandom number generator but it was interesting to try.

        2 votes
  5. skybrian
    Link
    I’m still working on my “repeatTest” property-testing package for JavaScript. I got bogged down in refactoring, but did manage to implement a new feature: if an Arbitrary is known to only contain...

    I’m still working on my “repeatTest” property-testing package for JavaScript. I got bogged down in refactoring, but did manage to implement a new feature: if an Arbitrary is known to only contain a small number of examples, repeatTest will iterate over them instead of choosing randomly. (This can be done with a depth-first search, like what Prolog does by default.)

    This is more efficient in some situations: If you only have a hundred examples, it makes little sense to run it a thousand times randomly. It removes non-determinism when you don’t need it. For simple cases, repeatTest scales down to being a glorified for loop.

    The next step is to finally get to shrinking the test data from failed tests. I’m tempted to implement an iterative deepening search, though, to explore the search tree a little and detect more small Arbitraries.

    4 votes
  6. thanhnguyen2187
    Link
    I've been working on an offline-first note-taking application named Cryptaa. Latest development version: https://cryptaa.pages.dev GitHub repository: https://github.com/thanhnguyen2187/cryptaa Its...

    I've been working on an offline-first note-taking application named Cryptaa.

    Its features:

    • Offline-first with optional synchronization server (powered by Triplit)
    • In-application encryption/decryption
    • Simple tagging and filtering and sorting

    I dogfood it daily and think that it's good for:

    • Random notes that you sort of want to throw away
    • Secretive stuff (login credentials and token-filled shell commands)

    The technical stack is:

    • Svelte/SvelteKit
    • XState
    • Triplit

    I created the application as I was not satisfy with Notion/Evernote/other note-taking applications on their speed and security and not having a web version. Originally, I planned on making it more fully-fledged, but then seriously trying Obsidian changed my mind: it's nearly impossible to make my application as feature-ful. It's the best if I let it be good at its niches: encrypted notes.

    4 votes
  7. [4]
    hamstergeddon
    Link
    We've been transitioning from AngularJS (as in the really old version) to Typescript and React at work for the past year or so and I'm slowly finding myself writing more TS/React than JS/Angular....

    We've been transitioning from AngularJS (as in the really old version) to Typescript and React at work for the past year or so and I'm slowly finding myself writing more TS/React than JS/Angular.

    I'm embarrassed to say it's a little overwhelming at time. I've been doing web development for 15 years now (albeit largely backend work) and while I'm no stranger to the constantly changing landscape, this is just...something else. Typescript is its own learning curve and then React is another....and it's just really bumpy.

    I certainly see the value in Typescript and it's already saved my bacon a few times, but my god are its errors cryptic and largely unhelpful. Maybe it's a VSCode thing, but the red squiggly lines for errors seem to surface in the least helpful place, rather than right where the issue is. And I really shouldn't need an extension just to break up the default errors into manageable chunks. React, at least, is a joy to work with compared to AngularJS. But the learning curve there... I mean I can do most things in React, but I dread putting in PRs because I know I probably did it wrong or not quite as efficiently. And prop drilling avoidance is going to be the death of me!

    Anyway, I just need to whine a bit. I know that if I keep at it, things will start becoming easier and easier for me. And I'm trying to remind myself that while I've been doing web development for 15 years, I've only been using TS/React for about a year on-and-off. So I need to be patient and forgiving with myself.

    I think what I struggle with the most is that we've got Juniors that got their start in web development with React running circles around me and I, the aging veteran, am struggling a bit to catch up. I'm only 36...I wasn't planning to have to deal with that until my late 40s....

    4 votes
    1. [3]
      skybrian
      Link Parent
      My main use for ChatGPT is to ask questions about TypeScript, like how to define a type, what a type does, or what a type error means. (It does make things up, so you have to try it out too.) It's...

      My main use for ChatGPT is to ask questions about TypeScript, like how to define a type, what a type does, or what a type error means. (It does make things up, so you have to try it out too.)

      It's pretty neat once you get into it, but the type system goes pretty deep, and the standard documentation is more of a user guide than a complete reference.

      2 votes
      1. [2]
        hamstergeddon
        Link Parent
        I've been using CoPilot heavily while learning. It's very nice being able to give it an object and have it spit out a type. Unfortunately it's a little stupid at times and makes really bad...

        I've been using CoPilot heavily while learning. It's very nice being able to give it an object and have it spit out a type. Unfortunately it's a little stupid at times and makes really bad suggestions. I'm going to give ChatGPT a try though and see if that yields better results.

        1 vote
        1. skybrian
          Link Parent
          Yeah, autocomplete has to be fast so it's not all that smart. I've been using GPT-4o for asking TypeScript questions and I've been happy with it, for beginner questions anyway. But it requires a...

          Yeah, autocomplete has to be fast so it's not all that smart.

          I've been using GPT-4o for asking TypeScript questions and I've been happy with it, for beginner questions anyway. But it requires a paid subscription. For more obscure questions, it will make up answers.

          More recently, I switched to a paid subscription for Cody instead of GitHub CoPilot, to give the underdogs a chance. Autocomplete seems roughly similar, and you can also use the chat interface to ask questions. With a subscription, the chat interface gives you a choice of LLM's, including GPT-4o and Claude 3.5 Sonnet. They seem roughly similar; haven't decided which I like better yet.

          So, possibly a subscription to Cody is all you need, if you just work in VS Code? I'm still using the ChatGPT UI in a browser out of habit, though.

          1 vote
  8. [2]
    jmpavlec
    Link
    I have been continuing to work on my "Jackbox games-esque" game platform (https://gametje.com/). Here's a link to my original "Show Tildes" post: https://tildes.net/~comp/1dss/show_tildes_gametje...

    I have been continuing to work on my "Jackbox games-esque" game platform (https://gametje.com/). Here's a link to my original "Show Tildes" post: https://tildes.net/~comp/1dss/show_tildes_gametje

    I recently got the first draft of my 4th game playable but it is only available for alpha testers. Should be available for everyone soon. I migrated from create-react-app (CRA) to vite recently and have been very happy with the speed. CRA hasn't been updated in multiple years and the vulnerabilities and overrides were starting to stack up. Ejecting a CRA is a bit of a mess and having a more modern replacement has been good. The speed is also noticeably better with vite. I also added some e2e tests for all 4 games to test out the frontend/backend together to make sure I don't introduce bugs.

    Been diving into the Amazon Fire stick docs for packaging the website as an app to make it more accessible for users on that platform. Currently you can play via the Silk browser and login with QR code from your phone but it would be nice to have a more native experience there. The docs about creating/publishing a webapp in Amazon's store are pretty poor. I think I have a few leads, but there are surprisingly few examples and people talking about developing Amazon Fire TV apps. Perhaps I should just bite the bullet and create a wrapper in Android studio. Then I can publish to both Google Play and the Amazon store. I wish the Amazon sticks had something like casting to the TV (like a chromecast) as that was quite easy to implement.

    Overall satisfied with my progress and hope to share the site more publicly soon. If anyone is interested in giving me some feedback, I would really appreciate it!

    3 votes
    1. JesusShuttlesworth
      Link Parent
      This is a really cool project! The games look very nice but I think your website could use a little bit of design to make it look less businessy and more fun.

      This is a really cool project! The games look very nice but I think your website could use a little bit of design to make it look less businessy and more fun.

  9. dsh
    Link
    I've just started noodling around with Hono using the JSX Middleware for HTML templating and I am super impressed. I started a little blog application with it and I think I am going to move one of...

    I've just started noodling around with Hono using the JSX Middleware for HTML templating and I am super impressed. I started a little blog application with it and I think I am going to move one of my SlimPHP projects over to it soon. I've been using Bun to run Hono as well and I am super happy with it. I still feel like because of the venture backing there will be a rug pull on Bun.

    3 votes
  10. owyongsk
    Link
    I've been using the free tiers at Fly.io, Oracle ARM based VPS and Google's free VPS to host my own nitter and redlib. They're alternative front ends for Twitter and Reddit respectively. I've also...

    I've been using the free tiers at Fly.io, Oracle ARM based VPS and Google's free VPS to host my own nitter and redlib. They're alternative front ends for Twitter and Reddit respectively. I've also set it up so that my phone will automatically redirect to those front ends using my own root certificate without using an extension to redirect say x.com to my-own-private-nitter.com.

    3 votes
  11. ogre
    Link
    I’m still working on trying to make a linux desktop client for Apple Music in Rust using Apple’s MusicKit.js library. A couple tildes commenters suggested using Tauri and Dioxus for the UI & JS...

    I’m still working on trying to make a linux desktop client for Apple Music in Rust using Apple’s MusicKit.js library. A couple tildes commenters suggested using Tauri and Dioxus for the UI & JS compatibility, but I want to see how far I can go with as little js as possible.

    Since then I came across a blog post from Deno about making a custom javascript runtime in Rust using deno_core. It’s pretty barebones and outdated so I had to do some tinkering to get it working but that just makes it more enjoyable. The real blocker I’m having now is that MusicKit.js uses browser APIs unavailable in the deno runtime, like document and window objects. I’m trying to include a virtual dom library like jsdom, linkedom, or deno-dom but they’re returning a new class of reference errors I don’t understand yet. I think I can hack something together if I keep chipping at it but it’s going to take some time. I don’t know what I’m doing and it feels great to try and figure it out.

    3 votes
  12. devslashnull
    Link
    A web app to track the movies and TV shows you watch so over time you can see trends about what you watched and more.

    A web app to track the movies and TV shows you watch so over time you can see trends about what you watched and more.

    2 votes
  13. JesusShuttlesworth
    Link
    I recently added some vfx to my mon tamer game. https://www.youtube.com/watch?v=uQ5PXiWV6Xk I've also been doing a lot of work on the UI and refactoring the code for the turn based combat. My code...

    I recently added some vfx to my mon tamer game.

    https://www.youtube.com/watch?v=uQ5PXiWV6Xk

    I've also been doing a lot of work on the UI and refactoring the code for the turn based combat. My code is looking much cleaner now. Next steps are to continue improving the combat. I plan to add logic for different move types (buffs, debuffs, heals, multi hits, etc) and then actually start designing the combat. This is an intimidating part of the project because combat design is hard, but it should be fun! Using godot is always such a joy.