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?

8 comments

  1. zoroa
    Link
    Operation "Prolong the Lifespan of My PC By Keeping It Cool" Concludes (for now...) Undervolting This ended up being way easier that I thought it would be. For my CPU, it just took me specifying a...

    Operation "Prolong the Lifespan of My PC By Keeping It Cool" Concludes (for now...)

    Undervolting

    This ended up being way easier that I thought it would be.

    For my CPU, it just took me specifying a negative voltage offset in "Curve Optimizer" to shift the CPU's Frequency/Voltage curve. An initial boot failure and sudden restart at idle was all it took to dial in on an offset that's been rock solid. For reasons that I learned and have since forgetten, you need 3rd party software to apply an undervolt to your GPU. I used MSI Afterburner and was thoroughly confused with the UI until a nice italian guy on YouTube talked me through the process.

    Results

    In the stress test I've been running, I saw a temperature difference of -2C for my GPU and -11C (!!) for my CPU since my last run.

    Which means in total, I've seen a 34C decrease in CPU temps and a 10C decrease in GPU temps. Granted, most of the CPU improvements were from correcting an installation mistake. But my push for cooler temps also had a bunch of nice second order effects:

    • Noise quality is much better. I no longer have to deal with shrill GPU fans.
    • PC runs a bit faster.
    • Case fans provide some ventilation for non-GPU/CPU components (VRMs, SSDs, etc..)

    I think this process has been pretty successful. And I ended up learning that there are a bunch of simple mods that result in decent temperature improvements, that I'll be doing on future PCs.

    6 votes
  2. kari
    Link
    As far as personal stuff goes, I've mostly just been maintaining my window manager, beansprout. There are a handful of users using it who seem quite good at finding bugs :P especially with...

    As far as personal stuff goes, I've mostly just been maintaining my window manager, beansprout. There are a handful of users using it who seem quite good at finding bugs :P especially with multi-output support which I don't really test (since I only have one).

    For work, I started a new job in April and I'm finally getting up to speed with my first task. We make cloud controllers and gateways to do some cybersecurity stuff, but right now we don't have a great way for customers (or even us) to see if a gateway is healthy besides "is it working?". I'm working on adding a health check API for the controller to gather and collect health on each gateway connected to it and its individual services. It's been a bit of a struggle but I think that's just part of joining a new company? Idk, this is the first time I've changed jobs since graduating when I could be expected to be a dumbass. I've enjoyed learning Go so far, though! It still kind of feels like weird Zig but I really don't mind it at all.

    3 votes
  3. [3]
    text_garden
    Link
    I wrote a Mandelbrot renderer in Zig. In fact, I wrote two, in order to benchmark the difference between a single-threaded solution and a solution using as many threads as I have logical CPUs....

    I wrote a Mandelbrot renderer in Zig. In fact, I wrote two, in order to benchmark the difference between a single-threaded solution and a solution using as many threads as I have logical CPUs. Visualizing the Mandelbrot set was just an arbitrary choice of an embarrassingly parallel problem, but it's fun to pan around the generated image file.

    2 votes
    1. [2]
      kari
      Link Parent
      Your link 404s for me. Is the repo private?

      Your link 404s for me. Is the repo private?

      2 votes
      1. text_garden
        Link Parent
        Oops, it was. Should be fixed now!

        Oops, it was. Should be fixed now!

        1 vote
  4. bitshift
    Link
    I've been working on a project called Heavy, which is my take on protecting web servers from abusive scrapers. If you've heard of Anubis, Heavy is kind of similar, though in general my approach is...

    I've been working on a project called Heavy, which is my take on protecting web servers from abusive scrapers. If you've heard of Anubis, Heavy is kind of similar, though in general my approach is more permissive towards "good bots".

    I just finished adding a README to the project. For some reason I find READMEs really difficult to write—too often my tone ends up sounding weird and clunky, and I just get frustrated with the process. (If any of you have tips, I'm all ears.) But this time, I'm pretty proud with how it came out!

    1 vote
  5. Prentice
    Link
    Personal - I've been building an open source parallel agent orchestrator. Or maybe its a terminal window manager that integrates with agent harnesses. I don't really know how I'd like to describe...

    Personal - I've been building an open source parallel agent orchestrator. Or maybe its a terminal window manager that integrates with agent harnesses. I don't really know how I'd like to describe it but the goals are to provide as pleasant and intuitive of a UI as possible for a bunch of agents running in a bunch of terminals.

    What's interesting about it is that each terminal has a cli injected into its session that allows agents to manage tasks and terminals themselves, so you can DIY your own gas town while having agents work transparently in the same kanban board and terminals as you. Tasks are isolated by Git worktrees without you having to manage them, and agents can be isolated in a lima VM.

    Biggest problem I have right now is figuring out the best UX for having powerful sandboxes that aren't constrained purely to dev while having full support for computer use include GUI. Its hard to hide sandbox complexity from users when you want to 'collaborate' between the host and guest (and harder when you want to continue supporting both mac and linux users equally).

  6. json
    Link
    Last week I mentioned that I forked a c++ firmware project for the tdeck. I reached out to the person who started the project and have started submitting PRs....

    Last week I mentioned that I forked a c++ firmware project for the tdeck.

    I reached out to the person who started the project and have started submitting PRs.

    https://github.com/laserir/MCLite/pulls?q=is%3Apr