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

28 comments

  1. [3]
    escher
    Link
    I dug out an old coding project that fell over due to some serious (but non-obvious) design flaws and am making another go of it -- free-thinking NPCs for open-world adventure games. Everyone's...

    I dug out an old coding project that fell over due to some serious (but non-obvious) design flaws and am making another go of it -- free-thinking NPCs for open-world adventure games.

    Everyone's all "oooh! ahhh!" over today's large language models, but those are just statistical next-word finders, require a ton of GPU power, and are frozen in whatever structure their training resulted in. They don't think. They can't reason. And they're wholly unsuited for NPC behavior at scale (think 1000+ NPCs running in realtime).

    I'm salvaging what code actually worked and updating it with my current skillz, and planning out new routes of design for the areas that ultimately failed and collapsed. Currently have full-on fuzzy logic and bitwise clustering done, and am now updating the generic energy minimization system that will be used for NPC goal-reaching planning behavior.

    After that, I get to the actual wonky stuff, the part of the system that represents an NPCs understanding of world state and their beliefs about it. Made some serious mistakes in the design so now I have to figure out how to fix that.

    9 votes
    1. [2]
      thesuda
      Link Parent
      I have always wanted to do something similar. Where do you even start on this? I'm curious what's your high level architecture for this "brain" for NPCs?

      I have always wanted to do something similar. Where do you even start on this? I'm curious what's your high level architecture for this "brain" for NPCs?

      1. unkz
        Link Parent
        Not OP but I have done a lot of this sort of thing, and Prolog was my foundation. It’s great for representing these kinds of bits of local knowledge and reasoning.

        Not OP but I have done a lot of this sort of thing, and Prolog was my foundation. It’s great for representing these kinds of bits of local knowledge and reasoning.

        1 vote
  2. [5]
    dsh
    Link
    I have been off work for a 5-week dad-leave and I keep finding myself thinking about the priorities of things to work on when I go back to the office next week. We had our Devops practitioner...

    I have been off work for a 5-week dad-leave and I keep finding myself thinking about the priorities of things to work on when I go back to the office next week. We had our Devops practitioner (technologist? I don't know. Just can't call them an Engineer because they are not) leave the company so I'll need to step in an take that over. The big thing I want to do is severely reduce the Container Image size of our Magento instances to well below its current 4GB footprint. We're using ECS in Fargate on AWS and I want to reduce the amount of time it takes to scale these instances when we autoscale.

    Personally, I have been looking at building a very small, useful app, to allow Theatres and Music venues self-host ticket sales and verification. This is just in the planning phase right now.

    6 votes
    1. [2]
      adutchman
      Link Parent
      Shrinking Docker images is a fun puzzle. I tried doing it with an open source image. Here are some things I learnt: First look at what you actually need and what is excess. You might save a lot of...

      Shrinking Docker images is a fun puzzle. I tried doing it with an open source image. Here are some things I learnt:
      First look at what you actually need and what is excess. You might save a lot of bloat by switching to Alpine but maybe just switching to a lean debian image is enough. I made the mistake of thinking the problem was Debian when it was actually the way FFMPEG was installed (I only needed a small part of FFMPEG but was installing all of it). Reducing the amount of layers with && \ might also help.

      3 votes
      1. dsh
        Link Parent
        Thanks for the tips! I have had some success on my own with the slim Debian container base images so I'm eager to try those again. We're currently using Amazon Linux 2 and installing a lot of...

        Thanks for the tips! I have had some success on my own with the slim Debian container base images so I'm eager to try those again. We're currently using Amazon Linux 2 and installing a lot of things I don't think we need to run a Magento 2 installation (like SSHD for example).

        Hopefully I can get the container + code total size a lot smaller so we can scale out faster.

        Part of me is thinking because I need to run php-fpm + nginx on the single container (using supervisord) it may be worth re-visiting just using well tuned virtual machines.

        1 vote
    2. [2]
      hushbucket
      Link Parent
      Technician? Short form: Tech

      practitioner (technologist?...

      Technician? Short form: Tech

      1 vote
      1. dsh
        Link Parent
        Yeah I'll go with Tech. Thank you!

        Yeah I'll go with Tech. Thank you!

        2 votes
  3. CosmicDefect
    Link
    Been working on two papers which I hope to have posted in arXiv within the next few days: Magnetization in the early universe Neutrino CP violation Since they're scientific publications, I'm...

    Been working on two papers which I hope to have posted in arXiv within the next few days:

    1. Magnetization in the early universe

    2. Neutrino CP violation

    Since they're scientific publications, I'm "writing" in a mixture of LaTeX, Python and Mathematica and everything is versioned on git, so it feels like a software project haha. Normally I wouldn't be doing both at once, but I've been slowly finishing up the first for a while now while the second is something I had basically done last year and then dropped for one reason or another. We decided to pick it back up and push it out the door.

    5 votes
  4. [3]
    ras
    Link
    I've got several personal projects in the works. One is a personal bookmarking service, because next to writing your own CMS, this has to be one of the most common projects. The second is a...

    I've got several personal projects in the works. One is a personal bookmarking service, because next to writing your own CMS, this has to be one of the most common projects. The second is a service for my family where we can capture things we've heard about from family and friends that we might want to check out. The final one is an ecommerce site for my wife's business. All of them are written using NextJS 13. I don't think NextJS is particularly popular on here, but I've had the most fun ever building stuff with it.

    4 votes
    1. [2]
      thesuda
      Link Parent
      Your #2 is basically solved by using a shared note from Google keep or shared page/notebook from OneNote. 😜 E commerce store however can be a great project. Especially if you want to make it look...

      Your #2 is basically solved by using a shared note from Google keep or shared page/notebook from OneNote. 😜
      E commerce store however can be a great project. Especially if you want to make it look unique and not like every other site made with shopify.

      1. ras
        Link Parent
        We've tried OneNote, Apple Notes, etc. It may just be impossible for us, but I'm building it because I thought it would be fun.

        We've tried OneNote, Apple Notes, etc. It may just be impossible for us, but I'm building it because I thought it would be fun.

  5. [3]
    Turtle42
    Link
    I moved into my first home recently, so my first order of business was getting my proxmox server running on my new network. I switched ISPs so I have a totally new router and local IP addresses so...

    I moved into my first home recently, so my first order of business was getting my proxmox server running on my new network. I switched ISPs so I have a totally new router and local IP addresses so still a bit of a headache getting used to them. I had all the old ones memorized.

    What was the real pain was the host node being unable to talk to the internet. Culprit was DNS of course, so once I updated nameservers in some /etc/ files and created a DHCP reservation everything started working again. Home server stuff is all new to me so I think of it as one big learning experience.

    Next is debating whether or not to go full on home automation and get smart bulbs/outlets but I've always had reservations. Probably need to learn my new router a bit more first, it has way more functions than the Comcast router I had for five years.

    3 votes
    1. [2]
      jmpavlec
      Link Parent
      Home Automation can be a slippery slope. I personally love it but you'll start analyzing everything in your home for "hmm I could create an automation off this sensor data". 'Home Assistant' has...

      Home Automation can be a slippery slope. I personally love it but you'll start analyzing everything in your home for "hmm I could create an automation off this sensor data".

      'Home Assistant' has worked great for me. I try to keep a "dumb" route available whenever possible. Easier for visitors. Also favoring "local" integrations is a must.

      Good luck!

      1. Turtle42
        Link Parent
        Oh I bet. Learning Linux in general has been the slipperiest of slopes. I just don't want to have to spend money on smart bulbs and smart outlets at the moment. But I know eventually I'll want to...

        Oh I bet. Learning Linux in general has been the slipperiest of slopes. I just don't want to have to spend money on smart bulbs and smart outlets at the moment. But I know eventually I'll want to get my thermostat in on the mix, which I know will send me down the rabbit hole.

        1 vote
  6. talesofweirdfl
    Link
    I've been trying to learn Inform 7 to make a Zork-like adventure game. I loved all of those Infocomm games as a kid, so this is totally a dream come true. The challenge has been trying to follow...

    I've been trying to learn Inform 7 to make a Zork-like adventure game. I loved all of those Infocomm games as a kid, so this is totally a dream come true. The challenge has been trying to follow the structure. It's very much write-like-text-not-code and that makes it tough for a guy who does C/C++ all the time. Still, it's a fun challenge and something to do when I can't sleep.

    3 votes
  7. Pothos
    Link
    I am currently learning a bit of web development! I have a personal site I just spun up on a raspberry pi. It's fun but it has gone on the back burner. Most of my time has been spent remaking my...

    I am currently learning a bit of web development! I have a personal site I just spun up on a raspberry pi. It's fun but it has gone on the back burner. Most of my time has been spent remaking my Linux User Groups website. I've been taking a very web 1.0 approach to my personal site and have been trying my hand at bootstrap for the LUG site. It's cool using php to add on the header and footers on for me. I cant wait to roll it out. It's going to actually work on mobile and look better than the old site.

    3 votes
  8. pezhore
    Link
    I just got signed up for my first infosec conference (and my first overall conference since the pandemic started). I'm getting my old Pixel 6 Pro setup with GrapheneOS and a 10 year old Lenovo...

    I just got signed up for my first infosec conference (and my first overall conference since the pandemic started).

    I'm getting my old Pixel 6 Pro setup with GrapheneOS and a 10 year old Lenovo Ultrabook going with Arch as my YOLO devices.

    The technical part? Whole disk encryption with 2FA/yubikey decrypt. It's a bit annoying so far, but luckily I have until mid-October to figure it out.

    2 votes
  9. wnzm
    Link
    I have been working on creating my first browser extension. It's essentially an open source and free alternative to text expanders like Text Blaze. Or it will be in the future at least. I had the...

    I have been working on creating my first browser extension. It's essentially an open source and free alternative to text expanders like Text Blaze. Or it will be in the future at least. I had the idea quite a while ago but did not understand how I could implement it. Suddenly, two days ago, it clicked that it's all just JavaScript and I have been working on it though the evenings. A MVP is already working in Firefox and I will make it work with Chrome tonight.

    I keep thinking of ways to improve, so I'm still in the honeymoon phase.

    2 votes
  10. [4]
    tech10
    Link
    Running Linux (postmarketOS) on an old Huawei phone, it's not perfect, in certain situations the screen doesn't initialize, and the interface sometimes crashes, but i got wifi working!

    Running Linux (postmarketOS) on an old Huawei phone, it's not perfect, in certain situations the screen doesn't initialize, and the interface sometimes crashes, but i got wifi working!

    1 vote
    1. [4]
      Comment deleted by author
      Link Parent
      1. tech10
        Link Parent
        sorry for the late reply, but for your specific model i couldn't find anything, this is the closest thing i got, but it's for the P10 Lite:...

        sorry for the late reply, but for your specific model i couldn't find anything, this is the closest thing i got, but it's for the P10 Lite: https://forum.xda-developers.com/t/rom-10-lineageos-17-1-for-huawei-p10-lite.4064115/ . But if you want to unlock it you can try the PotatoNV method: https://github.com/mashed-potatoes/PotatoNV , i used it on my Huawei P9 Lite (VNS-L31) (the one running pmOS) and it worked. It involves opening up the phone (could be a bit of a pain) and shorting out a pin to ground while connecting it to usb (i reccomend having a friend help plugging in the usb while shorting the pins)

        1 vote
      2. [2]
        admicos
        Link Parent
        Huawei no longer gives out bootloader unlocking codes so unless you're fine with bruteforcing or paying a shady service and giving them god knows what I don't think it's exactly possible. Though...

        Huawei no longer gives out bootloader unlocking codes so unless you're fine with bruteforcing or paying a shady service and giving them god knows what I don't think it's exactly possible. Though the best place to check for yourself would be XDA-developers. Someone might've found an exploit for it.

  11. Woeps
    Link
    I have spend the last few weeks setting up three HA K8s clusters on bare metal. Slowly getting the hang of it's inner workings and having fun working on it.

    I have spend the last few weeks setting up three HA K8s clusters on bare metal.
    Slowly getting the hang of it's inner workings and having fun working on it.

  12. FeminalPanda
    Link
    Vm to OpenShift, dockerizing apps, tarraform with taragrunt. So much dev work with not being a dev lol

    Vm to OpenShift, dockerizing apps, tarraform with taragrunt. So much dev work with not being a dev lol

  13. unkz
    Link
    Messing around with Llama2 to become the high performance unfiltered assistant I have always dreamed of.

    Messing around with Llama2 to become the high performance unfiltered assistant I have always dreamed of.

  14. equidamoid
    Link
    Trying to finally set up my gentoo development environment to fix packages for the library (cadquery) I want to use to write a script that will generate a model for a 3d-printable mount for a door...

    Trying to finally set up my gentoo development environment to fix packages for the library (cadquery) I want to use to write a script that will generate a model for a 3d-printable mount for a door that will prevent my cats from hiding under the bed.

    (edit: I can't proofread before posting...)

  15. Nixgates
    Link
    I'm still working on my memory parsing bot for a game. Its fully functional but I'm just working on some extra features. Not much headway was made recently (I have a 1 year old who's the...

    I'm still working on my memory parsing bot for a game. Its fully functional but I'm just working on some extra features. Not much headway was made recently (I have a 1 year old who's the priority).

    Funnily enough, at work we have a client who wants to handle some automation when a specific application they use is in a particular state. This application has no API or method of getting this state information out so the personal project is likely going to be adapted for work. It will likely be a service running on one of their servers that reads this state and reports it back to our services.

    I love when things line up like this.

    As a sneaky plug, if anyone knows of any good writes up on identifying structures or their signatures in raw memory I would be very keen to read them! I would like to try speed up and automate some of the pointer path finding so when the game updates I don't need to manually rebuild all the pointer paths as there is a lot of them.