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

33 comments

  1. [6]
    IsildursBane
    Link
    Been working on three projects this past week. Been cleaning up my file storage. I used to run a NAS with 250GB capacity in RAID1, plus a 2 TB /sdb drive. I upgraded my NAS to 4TB capacity in...

    Been working on three projects this past week.

    1. Been cleaning up my file storage. I used to run a NAS with 250GB capacity in RAID1, plus a 2 TB /sdb drive. I upgraded my NAS to 4TB capacity in RAID1, so reorganizing my files on /sdb since they became a mess, and then will store them on my NAS.

    2. Been experimenting with Jellyfin on my homelab server. Been pretty stable with a single user, so will probably continue running it. Especially since I have no plans to have it run with more users at the moment. I may try and get my hands on a low power GPU that runs off of only PCIE power, but unsure if my plan for that will end up panning out. Another area to improve is it seems like CPU load on my proxmox server is pretty low, but RAM usage is pretty high. I considered upgrading the RAM, but felt that the DDR3 prices I was seeing was too high, so will pass on that. If I end up getting that GPU, then I reduce CPU demand, and RAM will really start to become the bottleneck on my server so might reconsider then.

    3. Been starting work again on my recipe website I was working on to learn React/improve my portfolio. I read a comment on here a while back about how someone found having good test coverage useful for personal projects, especially when having large breaks between working on it. So I have started working on getting test coverage on the API to begin with. I was using Bruno to do manual verification of my API, and yesterday I saw that there is some testing functionality within Bruno. I figured out the basics of doing Bruno tests, but am not the biggest fan of it so I need to research better tools for testing an API

    8 votes
    1. [5]
      kari
      Link Parent
      I’ve heard (at least like two years ago which is forever in computing, I guess) that the lowest tier Intel GPUs are really good if you just need a low TDP GPU for transcoding video

      I’ve heard (at least like two years ago which is forever in computing, I guess) that the lowest tier Intel GPUs are really good if you just need a low TDP GPU for transcoding video

      6 votes
      1. [4]
        IsildursBane
        Link Parent
        The issue with that approach is that my PSU is proprietary and does not have a 6/8pin connector. So I need to go with an older low power card that gets the power from the PCIE slot itself. I know...

        The issue with that approach is that my PSU is proprietary and does not have a 6/8pin connector. So I need to go with an older low power card that gets the power from the PCIE slot itself. I know of somewhere that I might be able to pick up one of those cards for free, otherwise it is not worth it. Honestly, it is a low end machine, and the best approach would be a complete rebuild, but I am not in the financial space to do that at the moment. If I can get my hands on one of those GPUs, I can probably extend it out to a few more users. If I can get my hands on a GPU and a few more GB of DDR3 RAM, I would be in a position where I do not have to power off my Jellyfin VM to use others

        1 vote
        1. [3]
          kari
          Link Parent
          Well, I specifically mean something like the Intel A380 or A310. Both have a 75W TDP and run off PCIe slot power without a connector from the GPU, but yeah, that'd still be spending money on a...

          Well, I specifically mean something like the Intel A380 or A310. Both have a 75W TDP and run off PCIe slot power without a connector from the GPU, but yeah, that'd still be spending money on a fairly low power GPU ¯\_(ツ)_/¯

          6 votes
          1. [2]
            IsildursBane
            Link Parent
            I did not not see either the A380 or A310 when I was searching up Intel GPUs. Those have the potential to be solid options, and I might keep them in mind if I do end up doing a full rebuild down...

            I did not not see either the A380 or A310 when I was searching up Intel GPUs. Those have the potential to be solid options, and I might keep them in mind if I do end up doing a full rebuild down the line

            2 votes
            1. atchemey
              Link Parent
              I can endorse the a310 for exactly that purpose. It's exceptional. I have it transcoding and running video for my server. Intel QuickSync does an excellent job of transcoding to the maximum...

              I can endorse the a310 for exactly that purpose. It's exceptional. I have it transcoding and running video for my server. Intel QuickSync does an excellent job of transcoding to the maximum quality my Roku can handle over wifi. I ran for a couple months without using it to transcode, and it was super blotchy for dark frames (like the intro of The Crown - smoky over black with gold) ... QuickSync made everything MUCH better. I found that in ordinary use, my A310 eco draws less than 20 Watts more than the same system without any graphics. Considering I am running 6 HDD, 3 sdd, the host bus adapter for the drives, an E5 v4 Xeon, and all the fans to cool the system off a 500 W PSU, the efficiency of the GPU was very important. Hell, my GPU was as much as all the other electronic components put together, and I still think it was a deal.

              2 votes
  2. thenetnetofthenet
    Link
    I'm continuing my homelab work and I just recently sorted out how to use services and timers on two of my servers for periodic update + upgrade, and a reboot. I have a headless Pi 4 and Orin AGX,...

    I'm continuing my homelab work and I just recently sorted out how to use services and timers on two of my servers for periodic update + upgrade, and a reboot.

    I have a headless Pi 4 and Orin AGX, and occasionally they'll just seemingly freeze up and need a power cycle to reboot, since SSHing in doesn't work.

    The Pi hasn't been rebooted in months I think, so maybe that's understandable, but the AGX needs a reboot every couple of weeks I think.

    Now I have the Pi, AGX, and also an old Synology NAS on a reboot cycle every few days until I have more time and knowledge to troubleshoot the issues.

    5 votes
  3. Eji1700
    Link
    NAS. The 8 drives I got from seagate all have problems so returning those. Also familiarizing myself with how to really point things at it and back it up. Looking into paperless-ngx as well for...
    1. NAS. The 8 drives I got from seagate all have problems so returning those. Also familiarizing myself with how to really point things at it and back it up. Looking into paperless-ngx as well for better file storage/sorting.

    2. Home Assistant. Was looking into getting into some light smart home stuff (literally just getting the lights on it). Dear god I hate it. This feels way more complex than it should be and often very poorly explained.

    3. More AI testing. I've been poking at it on and off. Again looking for areas in which it might improve things that I haven't already identified. Mostly unimpressed still.

    5 votes
  4. ToteRose
    Link
    I've been working on a pretty big internal project at work. We're a web development/marketing company and for years we've been building sites on the same legacy base, mostly basic PHP and Smarty...

    I've been working on a pretty big internal project at work. We're a web development/marketing company and for years we've been building sites on the same legacy base, mostly basic PHP and Smarty templates, so now I'm moving that into a more OOP-based structure and set up a unit testing foundation for future projects.

    The long-term idea is even bigger than just cleaning up old code. We want to build our own kind of WordPress-style internal system where we can create websites using reusable blocks we've developed over the years, but also use it to handle other internal processes around site setup and management. So a lot of what I'm doing now is basically laying the groundwork for that.

    At the moment I've already migrated one full legacy PHP file and also built a system that lets us edit templates using DOMDocument, which has been pretty interesting. Right now I'm especially focused on unit testing, because that's new territory for me in a real work environment.

    The hardest part has honestly been a mix of things: understanding all the little details in the legacy code, keeping backward compatibility, and kind of relearning OOP properly after being stuck in older code patterns for so long. It's a bit overwhelming sometimes, but in a good way. I usually clear my head by switching to smaller tasks for a bit and then coming back to the bigger architecture stuff.

    It's not a personal project, so I have to stay a little vague, but I'm excited about it because it's useful for us and also pushing me to learn a lot of things I hadn't really used in practice before.

    5 votes
  5. bellewinn
    Link
    my friend bought a supermicro CSE-847 for his NAS so the past three weeks have been a lot of doing stuff with that. god it weighed a ton with 24 drives in… he’s got proxmox with jellyfin and...

    my friend bought a supermicro CSE-847 for his NAS so the past three weeks have been a lot of doing stuff with that. god it weighed a ton with 24 drives in…

    he’s got proxmox with jellyfin and nextcloud on it and to be honest, it’s a beast of a machine. i love it

    4 votes
  6. TypicalObserver
    Link
    I very recently got the Flint 2 router by GL.iNet, and set up AdGuard Home and ProtonVPN at the network level so all traffic passed through has ads blocked/disabled and encrypted to some degree....

    I very recently got the Flint 2 router by GL.iNet, and set up AdGuard Home and ProtonVPN at the network level so all traffic passed through has ads blocked/disabled and encrypted to some degree.

    Unfortunately, some websites seem to have problems loading - such as Ikea on my spouses laptop in particular (and the IKEA app on my phone), and occasionally YouTube depending on how it is embedded, and I'm not really sure if there is a fix for that.

    I am also very stupid and apparently I did not use the password I saved into Bitwarden to access the admin panel, so I will never be able to change any settings again unless I reset my router again, lol.

    4 votes
  7. [5]
    Gourd
    Link
    My main project for the past couple of months has been a map editor software for TTRPGs. There are a few out there that each excel at different things like hex kit, inkarnate, worldographer, etc....

    My main project for the past couple of months has been a map editor software for TTRPGs. There are a few out there that each excel at different things like hex kit, inkarnate, worldographer, etc. I've used a few and like them all for different reasons, but I wanted something with a very quick workflow and intuitive UX while still retaining some of the more complex features like procedural map generation, heavily customizable tile and layer compositing, and more. It supports linking and nesting maps and has a 3D navigator (inspired by the obsidian.md visualizer), so you could theoretically create a whole campaign world within one project and easily move around it, or print the whole thing to use at the table--which is what I've been doing.

    If this sounds interesting to anyone, it'll likely be alpha-ready sometime within the next month or so, and I'd love some feedback!

    4 votes
    1. [4]
      Gazook89
      Link Parent
      What platform is it for? Windows/Mac/web? Have you decided on closed or open source or if you plan to make some money it?

      What platform is it for? Windows/Mac/web?

      Have you decided on closed or open source or if you plan to make some money it?

      1 vote
      1. [3]
        Gourd
        Link Parent
        It's cross-platform, built with Tauri. And I'm undecided. I've been developing software for over a decade now, but I've never really built anything with the intention of selling it. Never even...

        It's cross-platform, built with Tauri. And I'm undecided. I've been developing software for over a decade now, but I've never really built anything with the intention of selling it. Never even really considered it, honestly.
        But I am really happy with how this is coming along and I think it has some real value. I might consider releasing a free version, and then a paid version (~$10) with more of the advanced features? And as a lover of FOSS, it's a bit of a moral dilemma that I'll have to figure out eventually, haha.

        1. Gazook89
          Link Parent
          You might consider a free version with all of the features, and then premium content packs. I was just looking at the Cthulhu Architect "Handouts" generator last week and it's very cool, and they...

          You might consider a free version with all of the features, and then premium content packs. I was just looking at the Cthulhu Architect "Handouts" generator last week and it's very cool, and they sell a premium subscription to get more options. I also know of openfront which is all free, but they sell skins as one-time purchases. It seems very "corporate" but maybe both options, where you have discrete content packs to sell, or the option to pay a monthly subscription for the "season pass" or whatever, but the base product is all free and even open source. I dunno. As I type that sounds like a lot of "business work".

          Or, if it's really good, sell it for $100 as a one-time purchase.

          EDIT: Oh and also, i'm interested in helping with an alpha. I'm a contributing dev to Homebrewery and this is right up my alley.

          1 vote
        2. DistractionRectangle
          Link Parent
          I never got into tabletop (lack of time), but I've always loved procgen and have debugged a few tauri apps in my free time, so put me down for the alpha! As for monetization, that's ultimately a...

          I never got into tabletop (lack of time), but I've always loved procgen and have debugged a few tauri apps in my free time, so put me down for the alpha!

          As for monetization, that's ultimately a personal choice, but I think Aesprite has threaded the needle quite well. They're source available and don't put a limit on how use you personal builds, they just limit forking/redistributing the software. So in effect, they sell the convenience of compiled binaries.

          1 vote
  8. [2]
    archevel
    Link
    I ran into this paper on Recursive Language Models and I liked the concept. It essentially puts the LLM in a REPL. I spent some time setting up my own version of it with a local ollama setup. The...

    I ran into this paper on Recursive Language Models and I liked the concept. It essentially puts the LLM in a REPL.

    I spent some time setting up my own version of it with a local ollama setup. The models I am able to run are fairly weak, so it wasn't very good. Lots of issues with it answering from its training data rather than actually interacting with the corpus. The most success I got was putting the entire paper into the context and then asking it what the paper was about. I'll do some more tests by pointing it to eg gpt4.1 or something. I'll probably need to use a bigger corpus for it to be sensible. Neat approach though!

    3 votes
    1. archevel
      (edited )
      Link Parent
      Minor update. I hooked it up to gpt-4.1 and it was really good. I had a corpus of about 20M characters so significantly larger than the context window. Asked it to answer a few questions about the...

      Minor update. I hooked it up to gpt-4.1 and it was really good. I had a corpus of about 20M characters so significantly larger than the context window. Asked it to answer a few questions about the text and it generating code to see which snippets were relevant, asked "sub LLMs" to analyze parts of the text and finally spit out part of what it needed. Then I could ask it to point me to it's sources and since those are basically the variables it used it was able to check for those and see what it referenced.

      For the curious: https://github.com/archevel/repllm

      2 votes
  9. text_garden
    Link
    I solved the first severe bug in my music tool that was giving exactly one user gray hairs. Here's the change:...

    I solved the first severe bug in my music tool that was giving exactly one user gray hairs. Here's the change: https://github.com/boomlinde/pocketacid/commit/5bac2c98c03ed1ba89ef954d20d49c8b997e12a5

    For some context, in my tool, references to musical patterns are arranged in rows that users edit control the overall arrangement. At some point, I added the ability to additionally save snapshots to any row of patterns. Snapshots contain mixer settings, synth settings and so on, which will be recalled when the row is played back. So far so good. The feature is rock solid.

    At some later point, I decided to add more editing commands. Two of these were the ability to insert and delete arrangement rows. For the pattern references this is straight forward insert/delete in an array which is cheap because the columns are 256 pattern references each and each pattern reference is just a byte. But the snapshots are significantly larger and can't be moved around atomically. I solved this problem by adding a hidden indirection table: the snapshots column nor also just represents an array of references to snapshots, but you don't edit these directly. Instead, when you start the program, references to the patterns are laid out in the indirection table going from 0, 1, 2, 3...255, and only the references are rearranged when you delete/insert rows. Then when the pattern is saved the patterns are stored in the order of the indirection table. Again, this works perfectly. Absolutely rock solid, never had an issue.

    Finally, around new year, I added support for multiple project workspaces. Previously, the users could only work with one arrangement view and one set of patterns and snapshots. With this change, they could instead switch between different projects each representing an arrangement and sets of snapshots and patterns. I did this by wrapping what was then my main function in another function which would essentially run the old function with a given project file. When switching projects, I just change the file path, exit the "old main" and let the new main rerun it with the new path.

    The problem was that I don't reset the mapping table. I know that I looked at it and considered it at the time, but my conclusion was that I didn't need to, because the patterns would be loaded into the correct slots via the indirection table was regardless of how jumbled it was. This was the wrong assumption: the patterns were loaded linearly into the slots irrespective of the reference table, which was fine when the table was in its initial state, but not when it had been jumbled. Hence working on one project, inserting and deleting rows and then switching to another project would cause the snapshots to shift around as though the changes you made in the other project had been made to the current one.

    This last feature is not something I've used myself a lot, but was requested a user running out of space in the arrangement view. With his and my usage patterns, the issue never manifested. I simply didn't really use projects myself, and the user would fill one project and then switch only when he was running out, which hasn't happened a lot. But then a second power user started using projects in a way that made this bug a major pain in the ass for him.

    Meanwhile the user that reported the bug started debugging his own setup. Using different controllers (he'd had problems with one), switching computer (one was giving him bluescreens for other reasons)... It made it sound like the issue was maybe on his end and I let my guard down a little. But then it just struck me while I was on the bus that I should either reinitialize this table when switching between projects, or also load patterns via the indirection table.

    3 votes
  10. [2]
    btpound
    Link
    Just got a Meshtastic device (Wio Tracker L1 Pro) an am honestly very impressed with the ease of use of the device and applications! Adoption is of course limited, but as a HAM I am very familiar...

    Just got a Meshtastic device (Wio Tracker L1 Pro) an am honestly very impressed with the ease of use of the device and applications! Adoption is of course limited, but as a HAM I am very familiar haha. It's pretty cool that my mesh after 1 day extends 65 miles (over 3 hops) as the crow flies.
    A phone with this technology would be cool one day...

    Additionally playing with adding more services to my home server, an IRC server would be cool albeit underutilized. Matrix and XMPP would also be cool, but in my limited testing with public instances I just don't know if it's worth it. I wish the new Freenet project had a docker node option.

    2 votes
    1. lynxy
      Link Parent
      The Tracker L1 is a fun little device, though when we were playing with them as we traveled they weren't quite as.. reliable as one would hope. I do wonder if MeshCore would have worked better...

      The Tracker L1 is a fun little device, though when we were playing with them as we traveled they weren't quite as.. reliable as one would hope. I do wonder if MeshCore would have worked better than Meshtastic? The other issue is that when the device doesn't have a GPS fix it eats the battery at speed, haha.

      As for IRC- I briefly ran an Ergo server, and it is light-weight and very clean! I recommend it, if you want to try it out.

      2 votes
  11. 0x29A
    (edited )
    Link
    Switched my home unraid server from a tiny PC to a full-size one with much more memory. Upgraded to latest. Using a tiny PC in my living room now and just upgraded its memory. My powerful previous...

    Switched my home unraid server from a tiny PC to a full-size one with much more memory. Upgraded to latest. Using a tiny PC in my living room now and just upgraded its memory. My powerful previous living room PC is now my music production system, on Win10 for compatibility and annoyance reasons (screw updates and Win11). My prior music system (M4 mac mini) is gone. No more macOS or mac hardware for me. I am out and glad to be. All Linux now except the one Win10 box. Lots of MX Linux around now because I have come to love that OS. Testing Cachy out on a spare box.

    Updated my DIY OPNsense router to latest.

    I have a spare tiny PC with no use case yet but going to 3D print some VESA mounts to mount it behind a spare monitor of mine. Might use it for cameras or sensors or other project purposes.

    Going to potentially 3D print a more airflow-friendly chassis for the living room tiny PC mostly for fun.

    Also word of warning- if you install a Unifi controller app on Unraid, by default it will save configs to a temp folder for some reason because it's using some temp locations for speed. However if certain other things are not configured before this so that it backs up or saves somewhere- you can lose your Unifi config on reboot. Ask me how I know :)

    I didn't back it up yet and had JUST reset my APs and adopted them to the new controller only to lose it all so now if I ever want to make changes or updates I have to go through all of that again :/

    In the process of setting them up though I was able to find I had suboptimal configuration so I changed the width of the frequency bands and my wifi is now twice as fast as before. Getting like 500mbps down on a gigabit connection.

    2 votes
  12. [8]
    zoroa
    Link
    My last phone died suddenly and I had no backups (💀). In the spirit of learning from mistakes, one of my goals with my new phone is to treat it as a thin client as much as possible Contact Sync...

    My last phone died suddenly and I had no backups (💀).

    In the spirit of learning from mistakes, one of my goals with my new phone is to treat it as a thin client as much as possible


    Contact Sync

    Saw a link for DAVx5, which taught me that Android has pretty robust support for syncing your contacts (and calendars) to non-Google accounts. You can use the first party apps (Calendar, Contact, etc...) as frontends to whatever service actually stores your address book and calendar, and use DAVx5 to handle the synchronization.

    Radicale was the first self hosted option I found, took 20 minutes to get set up, and has done everything I needed so far. I've never regularly used a calendar before (partially because I didn't want to bother with Google), so Radicale's calendar and task support has been a nice plus.

    I feel like I'm now just stepping into the 21st century, since the part that's been bringing me the most joy is that I have my contacts and calendar syncing between my phone and computer :D


    Making my NAS available in Android's native file picker (DocumentProvider)

    I've wanted a more convenient way to have apps on my phone use files from my NAS directly, instead of having to manually synchronize a copy of that file on my phone.

    I was messing around my with my file manager of choice (MiXplorer), and ended up accidentally figuring out how to do this. Unintuitively, you need to select the folder and add it to the app's homepage. For whatever reason, this also adds the folder to the system file picker that opens up whenever an app requests to open a file.

    Which is huge, since it opens up apps to be able to load and write to files from whatever storage backends MiXplorer supports (i.e. a lot). It also has the added benefit that any "important files" aren't stored on device in the event I lose it.

    2 votes
    1. [2]
      lynxy
      Link Parent
      I've not looked into contact syncing before- my current solution is to keep contacts in a vcf file which is synced between all of my devices by Syncthing, as most of my daily data is. But I've now...

      I've not looked into contact syncing before- my current solution is to keep contacts in a vcf file which is synced between all of my devices by Syncthing, as most of my daily data is.

      But I've now looked into DAVx^5 & Radicale, and I'm very temped to set this up for myself! Thanks for bringing my attention to the tool! It's especially neat that they handle the more modern v3+v4 features which even Google with the stock contacts app seem to struggle with.

      2 votes
      1. zoroa
        Link Parent
        I'm not actually sure that Radicale supports vCard 4.0 yet. Radicale depends on vobject for their vCard implementation. vobject only supports vCard 3.0. The radicale dev made a PR with a vCard 4.0...

        It's especially neat that they handle the more modern v3+v4 features which even Google with the stock contacts app seem to struggle with.

        I'm not actually sure that Radicale supports vCard 4.0 yet.

        Radicale depends on vobject for their vCard implementation. vobject only supports vCard 3.0. The radicale dev made a PR with a vCard 4.0 implementation, but the maintainer hasn't followed up in a couple months.

        1 vote
    2. [3]
      Liru
      Link Parent
      What are your thoughts on DAVx5 and Radicale, from a usage/instance admin perspective? I've been planning on eventually setting up my own instance for webdav/carddav stuff for years now, but I've...

      What are your thoughts on DAVx5 and Radicale, from a usage/instance admin perspective? I've been planning on eventually setting up my own instance for webdav/carddav stuff for years now, but I've been really cagey about actually doing it for some reason. I keep wanting to invent my own solution from the ground up in another programming language, which is an iffy proposition for obvious reasons.

      1 vote
      1. [2]
        zoroa
        Link Parent
        I don't know that I really have any complaints, granted I also haven't used it for particularly long. My use case is as basic as it can be: Only need to support one user Don't need any...

        I don't know that I really have any complaints, granted I also haven't used it for particularly long. My use case is as basic as it can be:

        • Only need to support one user
        • Don't need any collaborative features
        • Don't have any fancy auth requirements (yet)

        Is there anything that DAVx5 + Radicale doesn't do that would warrant you rebuilding from the ground up?

        2 votes
        1. Liru
          Link Parent
          I have a similar use case to that, with maybe the eventual sharing of stuff like "public" events with others as a nice to have. From a quick overview, not to my knowledge (although I don't have a...

          I have a similar use case to that, with maybe the eventual sharing of stuff like "public" events with others as a nice to have.

          Is there anything that DAVx5 + Radicale doesn't do that would warrant you rebuilding from the ground up?

          From a quick overview, not to my knowledge (although I don't have a full view as to the capabilities yet). I've also been waffling between Radicale, Baikal, possibly the builtin Synology programs, and a little bit of Monica for the server-side stuff, always going in a bit and getting distracted by something else.

          The whole "rewrite it" feeling comes from wanting to parse the format myself, as well as getting a server implementation that's not in Python or PHP (either Elixir or Rust, most likely). Highly irrational, but that itch is real.

    3. [2]
      Nsutdwa
      Link Parent
      How do you access your calendars on your computer? Graphically, I mean, how do you view a calendar and add/delete an event? I have radicale running, and DAVx5 but I've just switched away to a Tuta...

      How do you access your calendars on your computer? Graphically, I mean, how do you view a calendar and add/delete an event? I have radicale running, and DAVx5 but I've just switched away to a Tuta mail+calendar combo, so now I have a desktop app, which I'd been missing with radicale.

  13. Carrow
    Link
    Now that I'm back home I can work on my Godot stuff. I posted my Cave Creeps game here on Tildes in the past week, seemed well received and I've got room for improvements I'd like to implement....

    Now that I'm back home I can work on my Godot stuff. I posted my Cave Creeps game here on Tildes in the past week, seemed well received and I've got room for improvements I'd like to implement.

    I've been working on a match 3 that was supposed to be my first mini project from scratch. The actual game logic took a couple hours no problem but the devil is in the implementation. I've rebuilt it like twice to get the nodes and functionality all working together neatly.

    Instead of using an array of arrays, I've been building my own Array2D class, it's been like a sub mini project, I'll be glad to have this later.
    It is iterable. It has a custom instructor that can fill the Array2D with a single element or multiple elements, repeating it until it is full (and truncating extra if it doesn't split evenly). This is nice to initialize it with a default value. In addition to row/columns, they can be used by index like one long array (because it is). Formatted print function. Nothing ground breaking, my brain prefers a notation like get_item(i,j) to [i[j]]. I think Godot also doesn't like you trying to do Array[Array[Node]] but this doesn't care.

    2 votes
  14. centurion
    Link
    I finally started using a mini PC that I bought over a year ago. Wiped Windows off it and installed Proxmox instead. It's been fun tinkering with it, putting a few small Linux containers on it...

    I finally started using a mini PC that I bought over a year ago. Wiped Windows off it and installed Proxmox instead. It's been fun tinkering with it, putting a few small Linux containers on it like WireGuard and AdGuard Home (had already NextDNS pointing on the router but wanted something more).

    Next step is to figure out Let's Encrypt with a domain so I can resolve the applications without needing to remember the IPs and ports.

    Also would like to get a NAS and start a Jellyfin server, but still toying with the idea. I see Synology are moving towards locking down their system more so need to do some research for alternatives.

    1 vote
  15. tomf
    Link
    I typically preface everything here with 'this is so stupid, but...' --- and this is no different. Have you ever wanted to say something to someone but you dont want to start a whole conversation?...

    I typically preface everything here with 'this is so stupid, but...' --- and this is no different.

    Have you ever wanted to say something to someone but you dont want to start a whole conversation? e.g. for a friend who I am trying to quit sugar with, 'I want sugar!' -- dumb shit like that.

    I first tried with a GeekMagic Pro by pulling text output from a form, converting that to an image, then cURL'ing that to the device, which then rotates with the slideshow part.

    Kind of annoying AND doesn't work well for non-technical people who don't have an always-on computer.

    Next I tried a pi zero 2W with an eink hat. Its fine, but the eink is not great, the refreshing/clearing is aggressive, and I hate microSD cards.

    Next up I am trying a 2.8inch ESP32 Module TFT LCD Display with Acrylic Case Dual-core ESP32-2432S028R WIFI+BT 240X320 ILI9341 Resistive Touchscreen. I think this will work out well because of the larger screen, color, and it can simply fetch text without having to make images or anything hacky.

    So far I have a php one-pager form that uses a very basic token (their name) that spits out their message to a text file. The version for that second ESP32 thing will have their messages on the right and the form on the left. Still very very passive messaging, but convenient and isolated to the device, for the most part.

    This is something I've wanted for ages. Its basically twitter but for two people.

    1 vote