12 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?

11 comments

  1. dirthawker
    Link
    I recently finished a countdown timer that is voice activated and keeps count of your reps. (When the timer finishes, it increments, that's all.) It's my first Flutter app. It's definitely a lot...

    I recently finished a countdown timer that is voice activated and keeps count of your reps. (When the timer finishes, it increments, that's all.) It's my first Flutter app. It's definitely a lot less verbose than Java but setting up display layouts seems more complicated.

    I wrote it because I have back problems, and have to do certain yoga stretches and hold them for X seconds. The voice activation is needed because some of these poses take both hands. The rep counting is because after X seconds my mind wanders and I lose count of how many I've done.

    Technically it needs one more input check (you can start it if the number is blank) but as this app is just for my personal use I'm probably not going to bother fixing it/there's no rush to fix it.

    5 votes
  2. Handshape
    Link
    Working out a model for a very low cost LLM-based voice agent with medium and long term memory. I'm operating on a shoestring, and I have enough work that I could burn a million bucks on it. Of...

    Working out a model for a very low cost LLM-based voice agent with medium and long term memory. I'm operating on a shoestring, and I have enough work that I could burn a million bucks on it.

    Of all the nonsense, I think that the process whereby stuff moves from medium to long-term memory is going to approximate dreaming. Not sure how I feel about that.

    4 votes
  3. [2]
    MortimerHoughton
    Link
    I messed with nn (No News is good news newsreader) nntp.c file to force it to authenticate even when a server made it optional, since it lacked that option.

    I messed with nn (No News is good news newsreader) nntp.c file to force it to authenticate even when a server made it optional, since it lacked that option.

    4 votes
    1. VMX
      (edited )
      Link Parent
      Could you elaborate on what this is? I googled around but couldn't find anything! Edit: Nevermind, found it!

      nn (No News is good news newsreader)

      Could you elaborate on what this is? I googled around but couldn't find anything!

      Edit: Nevermind, found it!

      1 vote
  4. text_garden
    Link
    I added spider legs to the player character in my game. The body of the player is connected to eight legs. These each have a joint at the middle, so when the ends are close to the player, the...

    I added spider legs to the player character in my game.

    The body of the player is connected to eight legs. These each have a joint at the middle, so when the ends are close to the player, the joints will bend. Each leg has a desired position in relation to the body. These always have the same desired angle but randomized distance from the player. When a leg is too far from its desired position, it randomizes a new desired position and moves there. The effect is that as the player body moves, they stretch/bend in place for a while before they advance to their new position.

    After that I figured I wanted more spidery movement to the body as well. There is now a logical "center" of the legs around which the desired positions are calculated and which you directly control with the joystick or keyboard, but the player body is located at the average of this point and the average position of the legs, and the legs visibly connect to the body. The effect then is that the body kind of follows the movement of the legs in a more natural way, yet remains quite responsive to joystick input.

    I had intended to make the legs move smoothly towards their desired position, but decided just to instantly move them to their new places. At the speed the player moves, I think the difference would hardly be noticeable.

    The other day I added sounds to the legs. This is a bit challenging because they move so rapidly, and whatever sound you create easily just becomes annoying noise. My sound engine can add random pitch and volume to the sounds, so I let some of that in. Then I randomly don't trigger the sound 25% of the time.

    I loved the results when all this came together. I'd been using a simple smiley face as a placeholder for the player character before, and this finally makes it seem like you are something. Here's a video: https://www.youtube.com/watch?v=94XVrlpABZE

    4 votes
  5. UP8
    Link
    I haven’t done too much technically on my RSS reader, blog, or cards project but (1) I’m saying that in the interest of accountability and (2) I’ve been doing a lot of more artistic work connected...

    I haven’t done too much technically on my RSS reader, blog, or cards project but (1) I’m saying that in the interest of accountability and (2) I’ve been doing a lot of more artistic work connected w/ the cards lately in addition to self-care not to mention more video games than I probably should be playing, but you’ll see my thoughts about that in another thread.

    I went to a lot of sports games last week including Sprint Football (American football just you have to be <=187 lbs), Soccer and Sailing to get photographs because I decided to focus on sports photography last year near the end of the semester (my office overlooks the sports complex at my Uni) but nothing was happening over the summer. Wound up getting spare batteries for my Sony so I could keep my camera on for a whole game and not worry about running out.

    I declared failure at taking flower stereograms for reasons I think I understand, which got me thinking I had to try taking stereograms of something else, I have (1) a Nintendo 3DS, (2) a Qoocam Ego, and (3) a Lytro Illium. (2) is really my best stereo camera so I ordered more batteries for it because it goes through them even faster than my Sony. Deep inside I know the fast track to getting good stereograms with (2) is to take portraits but I have to get over my shyness to do that or at least recruit a friend of mine who is even shyer than me but always looks great in photographs. I have yet to take a stereogram I really like with (3) but I am using the software that came with it to export red-cyan stereograms and think I might get better results if I (a) get that software to export pairs and put it through my processing code (I can shift the L and R channels relative to each other to control what is at the surface of the screen/paper with my own code which helps in many ways) or (b) use the lenticular image export to control the stereo separation or (c) give up on their software entirely and use open source software to process the images. Open source software can make point clouds from the Illium. On the other hand I might come to agree w/ everybody else that the Illium cosplays as a mirrorless camera but wastes sensor elements on the light field stuff and isn’t useful at all.

    3 votes
  6. [3]
    jonah
    Link
    I’ve been interested in DNS lately, so I’m playing around with building a toy dynamic DNS service. I use dynamic DNS to always be able to reach my home network if I’m away. It also lets me share...

    I’ve been interested in DNS lately, so I’m playing around with building a toy dynamic DNS service. I use dynamic DNS to always be able to reach my home network if I’m away. It also lets me share my media server with my family. The basic idea is really simple and straightforward, but as a challenge I’ve set up my own nameservers and I’m going to try and implement some more nice-to-have features like automatic SSL generation, custom domain support, etc.

    As always, I never finish projects, so this will end up forgotten soon enough. But I still think it will be fun for when I do have time to work on it.

    3 votes
    1. [2]
      asymptotically
      Link Parent
      Sounds fun! I recently had the same urge and started writing toy stub resolvers in both C++ and Rust to compare them. Are you implementing the DNS level parts yourself, or using something tried...

      Sounds fun! I recently had the same urge and started writing toy stub resolvers in both C++ and Rust to compare them. Are you implementing the DNS level parts yourself, or using something tried and tested like PowerDNS/Knot/CoreDNS?

      2 votes
      1. jonah
        Link Parent
        I am not implementing the DNS level parts myself. That's a little out of scope for what I wanted to try and do. It does sound super interesting, so I might end up separately looking into playing...

        I am not implementing the DNS level parts myself. That's a little out of scope for what I wanted to try and do. It does sound super interesting, so I might end up separately looking into playing around with that!

        2 votes
  7. unkz
    Link
    I’ve been working on building my own LLM based intelligent agent to do augmented searches. Heavily inspired by waldo.fyi, it does two things: automated execution of related search queries,...

    I’ve been working on building my own LLM based intelligent agent to do augmented searches. Heavily inspired by waldo.fyi, it does two things:

    • automated execution of related search queries, fetching and data extraction from the search results, and aggregating the results into a single text report with linked citations with the ability to deep dive into subtopics
    • automatic notifications for topics of interest including passive monitoring of news (Ukraine war, ai/ml developments, major geopolitical events, and a few others) as well as active queries like new versions of Django, Debian, and other packages I care about, all available on the web as well as sent through slack notifications
    2 votes
  8. Hvv
    Link
    I've continued with my project to make a Phutball webpage It's "functional" though the UI is truly obnoxious (think ASCII display with no CSS and buttons to control everything) It was roughly at...

    I've continued with my project to make a Phutball webpage
    It's "functional" though the UI is truly obnoxious (think ASCII display with no CSS and buttons to control everything)
    It was roughly at this point that I realized nearly all the projects I really bothered to complete were CLI or back end stuff, and that it was more interesting to me to look at was server-side, so that's what I'm going to try until the UI bugs me enough to go rewrite it.

    I also spun up a Veilid node on a VPS, which has proven to be extremely simple (just follow 5 or 2 steps and get weird logs for free) which I wasn't expecting because I saw some people reporting issues in the associated chats. It's somewhat interesting to just play with the CLI interface but I don't understand most of it, so next thing is to think of a way to use it and try to understand what's going on by building something.

    1 vote