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

16 comments

  1. [4]
    Requirement
    Link
    Feels like small potatoes compared to many of the others here, but I've just started learning SQL. Not the most impressive thing but one that will hopefully be practical to my career prospects.

    Feels like small potatoes compared to many of the others here, but I've just started learning SQL. Not the most impressive thing but one that will hopefully be practical to my career prospects.

    12 votes
    1. pete_the_paper_boat
      Link Parent
      Usable just about everywhere, so I'd say so!

      hopefully be practical to my career prospects.

      Usable just about everywhere, so I'd say so!

      4 votes
    2. [2]
      mordae
      Link Parent
      Career prospects? Not necessarily. But God, would I love it if my coworkers learned SQL? Definitely!

      Career prospects? Not necessarily. But God, would I love it if my coworkers learned SQL? Definitely!

      2 votes
      1. tarehart
        Link Parent
        Agreed, and I'd put regex in that same category.

        Agreed, and I'd put regex in that same category.

        3 votes
  2. [5]
    UntouchedWagons
    Link
    Last night I migrated the various *arr programs I use (sonarr, radarr, etc) from using sqlite to postgresql as their database and it improved performance noticeably, they're all at least an order...

    Last night I migrated the various *arr programs I use (sonarr, radarr, etc) from using sqlite to postgresql as their database and it improved performance noticeably, they're all at least an order of magnitude faster now.

    8 votes
    1. [4]
      const_void
      Link Parent
      Interesting. Can you elaborate on this?

      Interesting. Can you elaborate on this?

      1 vote
      1. [3]
        UntouchedWagons
        Link Parent
        So by default sonarr, radarr, etc use sqlite for database stuff like storing TV show info, episode info and the like, sqlite is easy to set up and use because it runs within the program. This is...

        So by default sonarr, radarr, etc use sqlite for database stuff like storing TV show info, episode info and the like, sqlite is easy to set up and use because it runs within the program. This is fine but I had a lot of performance issues and radarr's sqlite database corrupted on me meaning it broke. The developers of these projects semi-recently added support for PostgreSQL which runs independently and is much faster and reliable.

        1 vote
        1. [2]
          danke
          Link Parent
          SQLite corruption being a not-uncommon issue in *arrs just seems strange since it's usually very difficult to corrupt without setting synchronous to off. Performance should also not be an order of...

          SQLite corruption being a not-uncommon issue in *arrs just seems strange since it's usually very difficult to corrupt without setting synchronous to off. Performance should also not be an order of magnitude below Postgres even over a local socket. Are your *arrs all dockerized?

          3 votes
          1. UntouchedWagons
            Link Parent
            I'm running the *arrs in Kubernetes using iSCSI for config storage.

            I'm running the *arrs in Kubernetes using iSCSI for config storage.

  3. text_garden
    Link
    I am at a stage in the development of my game where I have a bunch of minor things I want to implement that don't pose very interesting problem. It's just a matter of doing them, which of course...

    I am at a stage in the development of my game where I have a bunch of minor things I want to implement that don't pose very interesting problem. It's just a matter of doing them, which of course hinges on having the motivation to get started.

    The last such feature I added today: my mouse cursor is normally hidden and stuck to the window. Until now, that's always been the case, whether the player's paused, in the main menu or playing the game. This is inconvenient. I changed it now so that the mouse cursor is only locked while playing the game (i.e. not in the pause or main menu) and so that it's then only hidden after a period of inactivity. Again, not a very interesting problem, but quite satisfying to check stuff like it off my list.

    My velocity has been at its highest when I've interleaved tasks like this with bigger, more interesting tasks, so that I get a period of smooth, low engagement work between the harder problems...and so that I can procrastrinate one type of task with the other :)

    7 votes
  4. LGUG2Z
    Link
    This week I open sourced Satounki, a temporary elevated access management (or "just-in-time" access management) self-hosted service. It's a structured way to approach the problem of people needing...

    This week I open sourced Satounki, a temporary elevated access management (or "just-in-time" access management) self-hosted service. It's a structured way to approach the problem of people needing more permissions that they usually do in order to analyze, debug or fix issues in restricted production environments.

    I have built a lot of internal systems like this at the various places I've worked over the years, and I've always been surprised that there aren't many good open source solutions for this available. After I was laid off last month I started collecting the lessons learned from various iterations of this over the years and developing a truly modular and extensible temporary elevated access management platform that isn't forever stuck behind the walls of some crappy company.

    I'm developing this live on YouTube if you're interested in Rust, code generation, the automatic generation of clients in multiple languages whenever new API routes are added or API routes change, the automatic generation of Terraform providers, etc.

    6 votes
  5. brogeroni
    Link
    À basic Link shortener with accounts using rails. Is rails the best architecture for it? Probably not, this is where server less would shine. But it's also probably good enough for small business...

    À basic Link shortener with accounts using rails.

    Is rails the best architecture for it? Probably not, this is where server less would shine. But it's also probably good enough for small business use which is all I need.

    4 votes
  6. const_void
    Link
    Testing my QT app on Plasma 6 beta 1.

    Testing my QT app on Plasma 6 beta 1.

    3 votes
  7. tarehart
    Link
    I was searching for a npm library to help me poll AWS AppConfig and I didn't see what I wanted to see, so I made https://www.npmjs.com/package/aws-appconfig-poller over the weekend! It's my first...

    I was searching for a npm library to help me poll AWS AppConfig and I didn't see what I wanted to see, so I made https://www.npmjs.com/package/aws-appconfig-poller over the weekend!

    It's my first time publishing on npm so I'm a little worried that the package config is goofy, but overall it went smoother than I thought.

    3 votes
  8. [2]
    hxii
    Link
    Honestly nothing that impressive, but I decided to challenge myself a little and work on a task runner based on Python (a language I learned at my current workplace). The idea is to be able to...

    Honestly nothing that impressive, but I decided to challenge myself a little and work on a task runner based on Python (a language I learned at my current workplace).

    The idea is to be able to automate annoying tasks without touching code, and instead write things like:

    tasks:
        intro:
            description: A dummy task
        pyenv:
            prerequisites: helpers.command_exists(pyenv) helpers.command_exists(docker)
            description: Your current python versions
            run: pyenv versions --bare --skip-aliases --skip-envs
            show_output: True
            check: 3\.9\.\d{1,2}
    

    The result then would be something like

    3.11 ❯ taskrunner random.yml
    [TaskRunner 0.0.1]
    Task File: /Users/hxii/dev/TaskRunner2/random.yml
    YAML Valid: True
    Helpers: 1
    Tasks: 2
    Dry Run: False
    ---
    Started: 2023-12-12 17:39:59.536778
    [1/2] TSK intro()
    A dummy task
     HLP command_exists(['pyenv'])
     HLP command_exists(['docker'])
    [2/2] TSK pyenv()
    Your current python versions
    3.8.16
    3.9.16
    3.10.13
    3.11.1
    3.12.0
    Ended: 2023-12-12 17:39:59.751947
    
    3 votes
    1. arqalite
      Link Parent
      I love that you basically reinvented GitHub Actions, but running locally instead of in the cloud. I would kill for a way to run them locally using a simple CLI tool (for those going to mention...

      I love that you basically reinvented GitHub Actions, but running locally instead of in the cloud.

      I would kill for a way to run them locally using a simple CLI tool (for those going to mention act, I don't wanna install Docker).

      1 vote