15 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. [3]
    fxgn
    Link
    I'm really annoyed about https://knowyourmeme.com becoming completely unreadable and ad-riddled, so for the past few days I've been developing an alternative frontend for KYM called Know No Meme....

    I'm really annoyed about https://knowyourmeme.com becoming completely unreadable and ad-riddled, so for the past few days I've been developing an alternative frontend for KYM called Know No Meme. It's basically just a Go server that parses html from KYM and renders it in a more readable format, while also proxying all images through the server and all YouTube embeds through Invidious.

    The GitHub repo for the project is here and a test instance is here (if you just want to see what it looks like, here's an example)

    13 votes
    1. [3]
      Comment deleted by author
      Link Parent
      1. fxgn
        Link Parent
        Weird, it worked for me when I originally posted the link. I'll look into it - perhaps it is being rate-limited by KYM, the website currently just throws a 404 whenever any error occurs while...

        Weird, it worked for me when I originally posted the link. I'll look into it - perhaps it is being rate-limited by KYM, the website currently just throws a 404 whenever any error occurs while fetching the html

        3 votes
  2. [2]
    Comment deleted by author
    Link
    1. RheingoldRiver
      Link Parent
      This might be too much, and you should 100% feel free to skim it even if you take a look at it, but I found this explanation in Crafting Interpreters to be an amazing deep dive into what closures...

      This might be too much, and you should 100% feel free to skim it even if you take a look at it, but I found this explanation in Crafting Interpreters to be an amazing deep dive into what closures are and how they're implemented.

      Unless you're a language developer, you definitely do not need to understand in this much depth, but at least starting to read this might help you get a better sense of what they do.

      4 votes
  3. Pavouk106
    (edited )
    Link
    I've built 150Wh battery from ols batteries for some mobile device, probably GPS. I got the batteries for free, checked them, charged them, discharged them to mwsure capacity, paired together and...

    I've built 150Wh battery from ols batteries for some mobile device, probably GPS.

    I got the batteries for free, checked them, charged them, discharged them to mwsure capacity, paired together and soldered in 6S4P configuration. Resulting battery has at least 6Ah (I will measure the capacity once I got it all running) at maximum voltage of 25,2V. Each battery has its own BMS and the battery as a whole has its own BMS too.

    I'm gonna use it for solar charging my smart crap (tablets, phones, headphons etc.) as I have 20W solar panel doing nothing right now... I'm gonna add some fuses between charging circuitry and battery and also battery and DC/DC converters and also between converters and end-devices.

    Even though I believe everything is in place, I'm still scared of this thing :-) I will definitely observe it for a few days doing its job before I will say final verdict.

    EDIT: I've added a few images to the imgur album with comments under them. Right now it is charging from 20W solar panel under the full (yet low over the horizon winter) sun at around 8W.

    4 votes
  4. HelpfulOption
    Link
    I'm at the end of a game jam for synthesizers, and I finally hit a reasonable performance and feature set. It uses granular synthesis to control up to 1024 independent waves. Link to itch.io...

    I'm at the end of a game jam for synthesizers, and I finally hit a reasonable performance and feature set. It uses granular synthesis to control up to 1024 independent waves.

    Link to itch.io project page

    I'm working on two more big features, then spending any time I have to add more options and finishing touches. UI work and a month jam is exhausting, but it's really starting to come together.

    3 votes
  5. arqalite
    Link
    I'm reaching a month of daily driving Samsung DeX as my only (personal) computer (I'm stuck with a Windows machine for work, regardless of my constant whining about it), and honestly, I don't see...

    I'm reaching a month of daily driving Samsung DeX as my only (personal) computer (I'm stuck with a Windows machine for work, regardless of my constant whining about it), and honestly, I don't see myself going back.

    Yes, a lot of stuff is broken, or isn't as intuitive/polished as on an x86 computer, but so far I'm able to get everything I need to do, done.

    The only thing I haven't found a solution for, was League of Legends. It doesn't want to run through Winlator/Box64/Box86, and cloud streaming through GeForce NOW adds too much latency. ...oh wait, Riot is introducing their malware/spyware/security nightmare anticheat to it in March. Guess I'll just quit.

    Minecraft runs like a charm - I'm able to get 2 hours of gameplay on max settings before the phone starts thermal throttling. Lowering it down to reasonable values while still looking good fixes the problem and I could theoretically play forever, provided I have a charger with me.

    I also (mostly) finished my music production setup. I initially wanted to go full FOSS with it, but I decided to uninstall Ardour and use REAPER (proprietary license, $60) instead for two reasons: I don't like Ardour's workflow that much, and also I've had issues with importing audio from storage (although that might just be a bug in the aarch64 port or an incompatibility with proot - not bothering to debug it anyway). REAPER runs perfectly fine, and I can even lower the block size pretty low and get zero stuttering even though I'm using PulseAudio.

    All my synths and effects are FOSS though (shoutout to Odin2, probably the nicest FOSS synth out there, ignoring Vital/Vitalium).

    Now I'm just waiting on the Nexdock to arrive (it got stuck in Germany over the holidays) so I can use wired headphones instead of Bluetooth. I don't notice (nor care about) the latency, but I want to use my wired, on-ear headphones instead of my earbuds.

    Besides that - I'm pretty annoyed with Python. I developed two GUI apps with it, one for work, one for personal use, and I realized that distributing Python apps to end users is a nightmare. cx_Freeze does the job decently well, but the file sizes are killing me. The work app is 200MB, the personal one is 190MB. Compression helps bring them down to 20ish MB, but it triggers Windows' SmartScreen.

    I realized Python's mostly meant to build software for other programmers - to ship an app to end users you need to bundle the Python runtime with it (bad), or tell them to install Python (worse). Luckily the work network is quite fast, so nobody's complained about the file size yet.

    For the work app I should have chosen C# (deeply integrated with Windows, some of my workmates also know it), and for the personal app I should have went with Rust, but it's too late, I ain't rewriting either of them. :)

    3 votes
  6. Halfdan
    Link
    I finally released The Fire Toy. It's a simple toy created in Godot which let you use a pressure-sensitive tablet to show some fire effects. I've been working on it far too long, which honestly...

    I finally released The Fire Toy. It's a simple toy created in Godot which let you use a pressure-sensitive tablet to show some fire effects. I've been working on it far too long, which honestly doesn't show, so it's kind of a relief to finally declare it done.

    3 votes
  7. Dotz0cat
    Link
    I had been busy with classes/ general willingness to work on anything due to not building a ring buffer right. I finally started making something again. A complex plotter made in Fortran. It shows...

    I had been busy with classes/ general willingness to work on anything due to not building a ring buffer right. I finally started making something again. A complex plotter made in Fortran. It shows the complex parts through domain coloring. It took forever to get right because I didn’t want to write the conversion from hsl to rgb. So I decided to convert from CIELCHuv to linear srgb. It now works decentlyish, but I likely will change its output from 32bit portable float maps to something a little more compressed. A single run produces 46Mb of data.

    3 votes
  8. Raspcoffee
    Link
    Since I've been unemployed for quite a bit I decided to both brush up my C++ and learn some SQL by converting some .csv files of asteroids into SQL databases(partially? Have yet to decide how far...

    Since I've been unemployed for quite a bit I decided to both brush up my C++ and learn some SQL by converting some .csv files of asteroids into SQL databases(partially? Have yet to decide how far too go once I've got a working system. Going into gigabytes of data is tempting for the challenge but we'll see). The basics of SQL look simple enough but of course, the most difficult part is never what you expected and my Ubuntu system seems like it's decided to 'nope' out of a local host.

    Guess I'll look into a free Azure server or something similar tomorrow.

    3 votes
  9. Woeps
    Link
    It's very simple and not note worthy, but I'm realy enjoying getting AOC 2023 done in Lua! I'm having such a blast with a this relatively easy language.

    It's very simple and not note worthy, but I'm realy enjoying getting AOC 2023 done in Lua!

    I'm having such a blast with a this relatively easy language.

    2 votes