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?
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
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.
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!
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.
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!
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.
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.
Absolutely, I was thinking of using Featurebase for collecting feedback etc. Do you think that I should have a Github page as well?
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?
Oh okay 😂 Sorry for the misunderstanding!
Otherwise I think Featurebase should do fine.
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.
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
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.
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! 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! :)
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!
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.
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
This is weirdly amusing. I love it.
I tried to name a prime Jeff but got a certificate about "The Jeff Prime".
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.
What were his ideas?
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.
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.
I've been working on an offline-first note-taking application named Cryptaa.
Its features:
I dogfood it daily and think that it's good for:
The technical stack is:
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.
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....
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.