• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. 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...

      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?

      9 votes
    2. 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...

      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?

      20 votes
    3. Cosmos Cloud Writeup

      I'm just copy pasting my reddit writeup since that's where the creator is active. For those curious the basic idea of cosmos (https://cosmos-cloud.io/) is home server with a push towards default...

      I'm just copy pasting my reddit writeup since that's where the creator is active. For those curious the basic idea of cosmos (https://cosmos-cloud.io/) is home server with a push towards default safety stuff. Reverse proxy over your docker containers configured to not see beyond their world sort of thing so you can safely control access. I believe it's a one person project and still very much in development, but given that so many people just drop "roll your own, you just need to learn...." as the solution I find this to be vastly preferable, and maybe better than things like CasaOS

      Post:
      I've had less time than I hoped to really poke at this, so it's a bit rambly/stream of consciousness. Figured I'd put this up as a data point for anyone either considering cosmos, or maybe as some feedback. If anyone wants more detail on a specific part I'll gladly dive in, but for now if I don't put this up I never will. A very large thanks to the various people who guided me on the discord.

      Techstack/layout/hardware:

      1. Cloudflare domain with proxy active
      2. Ubiquiti UDM Pro router
      3. MS01 on Unbuntu, in default DMZ vlan
      4. Client devices on other vlans(a secure VLAN, technically not the default but similar) or external to network

      Personal skill level: I code for a living, but that's probably overstating my skill. Mostly light CRUD apps. Network is a MASSIVE blindspot that I know very little about. This project was in part to help fix that by getting me some practical experience. It's also GROSSLY overspecc'd for my skill level with some hope I can eventually do some more ambitious stuff.

      Setup: I had installed Cosmos before and run it locally unsecured/self signed (as provided by just clicking on the button in cosmos), just to make sure I understood "intended" behavior.

      My initial hiccups mostly revolved around me setting up port forwarding incorrectly in the router, so i'll skip most of that. Short version is misread something, went down the out of date documentation rabbit hole and then doubled down with some AI hallucinations. In the end it's MUCH easier than I was making it.

      All i needed to do was setup a 443 port forward to the static IP of my Cosmos box. It's even limited to cloudflare IPs only, which was just taking the list provided by cloud flare and copy pasting it in. There's a section in ubiquitis network interface for this and it's very straight forward.

      From there it was configuring the right tokens so I could do the cloudflare DNS Challenge, which is well documented (went the double token route rather than full key.) Once I found the right pages for that it was simple.

      Made my tokens, but was confused as hell because in Comsos it says "you don't need to fill everything out" for cloudflare, and there's CLEARLY duplicate entries, so I wasn't sure if I needed to fill out both.

      From what I can tell, you need to fill out the duplicates (so you will double enter your email and your key/tokens). You can leave blank things like timeouts or whatever you're not using (key if using tokens, token if using key). Some clarity on the dupe thing might help.

      I do think a small guide on bare minimum DNS config would also help. I was using a root A record and a CNAME wildcard record, and I never got it to working with cosmos. Unsure if that's my fault or not, but when I changed the wildcard to another A record (so A record for root and A record for *), it started working. For someone like me who knows fuck all about any of this, there was a lot of stumbling around with DNS.

      Of note I did select allow wildcard domains and .local domains on all attempts. No insecure http local access.

      From there it, mostly, started working. Https enabled and everyone can connect....exceeeept .local domains.

      This is the part i'm still struggling with. There's not a lot of documentation on .local, just "it will work if you check the box". I'm not sure if it clashes with https, or if i need to self sign, or if it really should be that easy.

      My understanding is I just make new url for an app, call it whatever.local, and boom I should be able to connect so long as i'm one the same network.

      In practice, I see no traffic hitting the server when I try this(unless on the server itself), and get timeouts from local clients (server does work). I got it to work once from a client on another vlan after trying to curl the https://whatever.local, but the next morning with nothing changed (went to bed right after and just left the machines running), it no longer worked.

      I did 100% confirm this worked because I used filebrowser to transfer some large data at speeds that NEVER would have been possible if it wasn't over my local network(everything is wired, no wifi, hence the desire for .local access). Also worth noting that I CAN ping the server locally and ssh to it from my other network, so i'm confident the firewall/vlans are configured correctly for that.

      Even for that brief moment when it was working, I STILL couldn't hit domain.local. It clearly exists, but if I can hit it (again from the server box or for that one moment from my other machine) I get the "you should use your domain address" text and cannot continue.

      I suspect router shenanigans (i do have mdns enabled on all VLANS), but I'm having a hard time finding logs and what not for this. I'm also unsure if I don't know enough and am doing some config that obviously shouldn't work. I have toggled the "allow insecure local access" option in testing once or twice, but it doesn't seem to change anything. Not sure how long the delay should be.

      Small things I noticed that might need fixing/expanding: 1. The initial admin account creation "your passwords do not match" help text is not in English. 2. Small thing but while browsing the market it seems there's a few configs that no longer work or aren't supported. EmulatorJS was the main one that seemed clearly done. 3. Hitting the domain, after logging in but not having touched it since forever, just gives you a "user unauthorized" warning but still lets you putter around the setup. 4. Related to that, it does sorta suck that right now even normal users see so much. I would like to hide a LOT of the interface for some of my users(just show them installed visible apps?), and while I can hide something like a new URL, I can't hide the URL screen, or the market, or whatever. It's "fine" but several test members had to be told "yes i know you can see that, no its fine, no you can't delete or edit, yes i know it looks like you can, yes i've tested, etc, etc" 5. In my testing, I did manage to get my domain IP banned by smart shield due to all the logging in and out. Was easy enough to bounce the box and get back in, but maybe a "heavy testing" mode an admin can enable that has smart shield chill for 30 minutes? Dunno how sane that is given the security first focus and I'm sure I could've whitelisted the IP briefly/neutered smart shield somewhere. 6. When entering your license key, you instantly see a "manage your license" button pop up. I emailed about it because I was confused and thought my license was busted, but just needed to scroll to the bottom and hit save. Just a flow thing that might wan to change. 7. Maybe an early "what is your goal" question? Local only vs using a domain vs using a domain and local access with adjusted config process to skip/auto handle things that could go wrong?
      8. The "make admin only" checkbox on every app i've installed, that has it, doesn't appear to work. I have to go into the URL config and manually make it admin only from there. Maybe i'm misunderstanding where/how it's doing this, but some light testing seems to confirm that non admin accounts can access until I do that.

      Side issues:

      At some point in all this my Ubuntu took a spirited attempt at destroying itself and would let me login and then just show me a cursor and nothing else. Couldn't get to the terminal through the recommended ways, but after sshing to the box locally and changing uhh...the display driver I think?, it's mostly been working, but I cannot restart the machine without issues until I hard shutdown (hold the power button). I doubt this is related to cosmos (either caused by, or affecting behavior), but figure I should mention it just in case. Planning a full reinstall later.

      Overall:

      I do love it. Cosmos is trying to be something that I think should exist and yet for some reason does not. There's so many ways to screw something like this up and the "well just roll your own" approach is hellishly easy to screw up with extreme consequences. I have a few more upgrades/tweaks to do (get .local working, maybe reinstall the OS and the thus resetup from scratch, NAS for storage of some family videos/photos we want backed up in more than one spot), and I have mostly enjoyed how clear Cosmos has been.

      7 votes
    4. Timeout when connecting to a local webserver through the internet, but only on WiFi

      I've recently moved, so I have a new ISP and I've also switched to new network hardware. I've been pulling my hair out trying to understand why I keep getting 100% timeouts when connecting to a...

      I've recently moved, so I have a new ISP and I've also switched to new network hardware. I've been pulling my hair out trying to understand why I keep getting 100% timeouts when connecting to a locally hosted website. To make it more complicated, it only happens when I’m on WiFi.

      Hardware setup is:

      ISP router/modem -> Ubiquity Cloud Gateway -> U7 Pro AP -> Laptop
                                                 -> Webserver
      

      The issue is opening https://foo.bar.baz:58443 when on WiFi. This domain points to my home (not really bar.baz, but you get the idea). There's is port forwarding rule to get to the local server. With tcpdump, I see the request coming in on that webserver, a SSL handshake is completed and then a bunch of TCP retransmissions.

      Some observations:

      • If the machine with the browser is connected to a cable and not WiFi, everything is fine, no timeouts.
      • Opening https://192.168.1.123:58443 (webserver address) is fine (WiFi or wired).
      • Opening https://10.0.1.123:58443 (gateway address) is fine (WiFi or wired).

      I thought it would be MTU related, but haven’t had any luck with changing it to a lower size. I’m not positive I’ve done this correctly, though, so it may still be MTU related.

      I know there are people here that know way more than I do about networking, so I hope somebody can point me in the right direction.

      17 votes
    5. Open-source robotics simulations on Godot and Unreal Engine, and ROS2

      I'm info dumping some links about open-source robotics. The rabbit hole runs deep and this barely scratches the surface. Disclaimer: I haven't tried any of these yet. Based on a cursory search and...

      I'm info dumping some links about open-source robotics. The rabbit hole runs deep and this barely scratches the surface.

      Disclaimer: I haven't tried any of these yet. Based on a cursory search and following links from the great Open-source robotics Wikipedia page.

      Robotics simulation on Godot

      Robotic car simulation on Unreal Engine and Unity

      • https://github.com/carla-simulator/carla - "CARLA is an open-source simulator for autonomous driving research." They mostly target Unreal Engine. Regularly updated and popular with 13k stars on GitHub.

      • https://github.com/microsoft/AirSim - Microsoft and IAMAI collaborated (plus DARPA funding?) to create an open source simulation platform for both flying drones and autonomous cars. Targets Unreal Engine and experimentally Unity also. Soon being sunset and replaced with a new project confusingly named "Project AirSim."

      • https://github.com/iamaisim/ProjectAirSim - The successor to AirSim. The GitHub shows it's only at version 0.1.1 though.

      Robot Operating System (ROS2)

      How to get started?

      That's a lot of links. I'd first figure out what I want to do. Humanoid robots seem popular lately—like the Berkeley 3d printed robot—so it'd be interesting to start there, although it doesn't map cleanly onto the projects I linked. So maybe if I imagined a robot with a human torso and arms, but with wheels and car-like locomotion. Then I could use a combination of the car simulators and probably ROS2 to deal with the upper body components? Or maybe there is another solution for the torso and arms that is a more direct fit than ROS2? Maybe iRobot/Roomba has a better solution for the car-like locomotion at this small scale?

      Anyone used these before and have a story to share? Anyone curious to try one out and report back? I plan to, but no idea on my schedule.

      11 votes
    6. 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...

      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?

      13 votes
    7. UPS recommendations for home use?

      I have traditionally used APC's UPS products for my NAS, router, media centre and desktop computer. Nothing fancy, just something to survive short power outages and to allow graceful shutdowns if...

      I have traditionally used APC's UPS products for my NAS, router, media centre and desktop computer. Nothing fancy, just something to survive short power outages and to allow graceful shutdowns if such an outage lasts longer than a few minutes.

      Unfortunately, I have had three of APC's devices malfunction in the past decade and while their customer support has always been excellent, I would prefer products that just work and don't cause me additional headaches. Do you know of any UPSs that you would recommend for home use and are reasonably priced? I'm located in the EU, if that makes a difference.

      31 votes
    8. Looking forward to Apple Container/Containerization tool in macOS 26, an alternative to Docker

      Haven't been following the macOS updates closely but a big feature I'm looking forward to in macOS 26 is Apple's container solution as an alternative to Docker. The "container" command line tool:...

      Haven't been following the macOS updates closely but a big feature I'm looking forward to in macOS 26 is Apple's container solution as an alternative to Docker.

      The "container" command line tool: https://github.com/apple/container

      The underlying Containerization package: https://github.com/apple/containerization

      The main improvement over Docker on Mac is that it uses separate lightweight VMs per container, instead of one shared Linux VM hosting all containers. This means the RAM allocation can be dynamic instead of the user having to decide how many total GB to allocate for the Docker VM. So if I'm running a lot of containers I expect it to work without manually changing settings, and if I'm running only a single container then I expect it won't waste resources with allocated-but-unused RAM.

      Currently these repos are on version 0.4.1 and 0.8.1 respectively, which tells me they're not ready yet. Hoping they're ready around the time macOS 26 releases to GA.

      29 votes
    9. 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...

      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?

      14 votes
    10. In Neovim, C-a and C-x will increment/decrement a number under the cursor in Normal mode

      Also works in Vim. Thought this was neat. Wanted to share. Thanks @spicyq. It turns out Emacs does have this feature built-in (via Org-mode) with the commands org-increase-number-at-point and...

      Also works in Vim.

      Thought this was neat. Wanted to share.


      Thanks @spicyq. It turns out Emacs does have this feature built-in (via Org-mode) with the commands org-increase-number-at-point and org-decrease-number-at-point.

      The commands:

      • Work in any mode, not just org-mode
      • Support prefix arguments with C-u
      • Do not have a default keybind

      I bound the commands to C-z <up> and C-z <down>, since I had previously unbound suspend-frame from C-z:

      (keymap-global-unset "C-z" 'remove) ; suspend-frame
      

      Keep in mind you can repeat your last executed command with C-x z (and then just keep pressing z to repeat the command however many times you want).

      Of course, now that I've got this far, I'm realizing that typing out either C-u 10 C-z <up> or C-z <up> C-x z + z * 9 is probably a lot more keystrokes than just changing the number myself. (At least for a single number at a single point in the buffer.)

      I don't think there is a built-in Emacs feature that does the same thing. You can find several custom Emacs Lisp solutions by searching online though.

      21 votes
    11. Is OpenWRT worthwhile at home?

      I'm buying a WiFi router for a new house. What would we get from using a router that works with OpenWRT, versus just going with Wirecutter's top pick? Since we upgraded to fiber, I'm pretty happy...

      I'm buying a WiFi router for a new house. What would we get from using a router that works with OpenWRT, versus just going with Wirecutter's top pick?

      Since we upgraded to fiber, I'm pretty happy with the network speeds at our current house. We don't have WiFi 6. I'm fairly unlikely to mess with advanced networking features as long as the networking just works.

      The new house will also have fiber. The previous owners left us some kind of mesh networking devices, which I need to go look at tomorrow.

      If we did go with OpenWRT, is there any particular recommended hardware?

      26 votes
    12. It’s the little things that make me not fully jump to linux

      This isn’t really meant to be a hate post or “linux sucks” kind of thing, in fact I like Linux (EndeavourOS being my distro of choice). This post is more about the little things that nobody really...

      This isn’t really meant to be a hate post or “linux sucks” kind of thing, in fact I like Linux (EndeavourOS being my distro of choice). This post is more about the little things that nobody really talks about when comparing OS’s, but then you face them and they can be a dealbreaker or a pain in the neck.

      This weekend I decided to try running CachyOS in my gaming desktop. For quick context, my desktop is dedicated to gaming, everything else I do on my laptop. The desktop is plugged to a 1080p 60hz monitor and a 4k 120hz TV (hz relevant for later), uses sunshine for streaming, and also Virtual Desktop for my meta quest.

      So, I grab the USB and plug it into the PC. Turn it on and here comes the first issue: the background image appears and nothing else.

      Well, my first suspicion due to a similar issue I had with ubuntu a decade ago, must be the Nvidia GPU causing issues. Without investigating further, I restarted the PC and used the legacy mode. The resolution was extremely low in my monitor, but it was manageable. Installed the thing and restarted.

      Once the PC is back on, the login screen appears. I input the pass, enter and…. Exact same issue. Background image, no UI whatsoever.

      I spent an embarrassing amount of time here, investigating the error. Checking the drivers, etc.

      But long story short: the actual problem was that my monitor was the second screen, the TV was the primary. The desktop was outputting to both screens. The UI was on the TV.

      I curse myself for not remembering that this may have been it, but in my defense:
      1- the terminal commands that appear when turning on the OS appeared in my monitor
      2- the legacy mode worked on my monitor
      3- on windows, the OS is smart enough to figure out which screen is turned on, so I was used to it automatically outputting to the correct screen

      Well, once I fixed that, here came the second (small) issue:
      Scaling is broken.

      Windows used to have this problem but nowadays, when you change screen Windows does a good job scaling things, despite some issues with some apps. At the very least, you won’t get blurry windows.

      On KDE… Yeah. Blurry all around. I don’t have a habit of swapping screens mid session, so I could live with it.

      Then came the third issue:
      KDE is limited by the lower highest possible framerate in both screens. Meaning, on my TV, I was stuck with the 60hz because of my monitor

      From what I found out, this is not exclusive to KDE and seems to be a problem with Nvidia. Regardless, for me it was a dealbreaker. In my case, Windows can use the respective framerate of each screen, while Linux can’t.

      As I said, this is where I threw the towel and went back to windows. Which is really a pity because I really don’t like where Windows 11 is going, but it’s something I can live with as long it doesn’t get in the way between me and gaming.

      Meanwhile Linux, because of these little things, introduced more issues than rewards for my use case, thus why I can’t jump to it on my desktop.

      27 votes
    13. Request: resources for learning digital electronics

      This college term I was signed up to a class on Digital Electronics, and it kicked my butt on the very first week because the learning materials were extremely obtuse; I actually dropped the...

      This college term I was signed up to a class on Digital Electronics, and it kicked my butt on the very first week because the learning materials were extremely obtuse; I actually dropped the course because I could not see myself being able to keep up no matter what I did, especially because my university does not allow late work. I'm going to have to go back to it next term in order to get my degree, so I'm looking for any learning resources anyone can recommend me to give me a head start.

      Just to be clear, I'm primarily looking for good resources that covers basics like boolean algebra (which I already understand but am terrible at) and logic gates. I know we'll be using VHDL later, so those will also be appreciated.

      16 votes
    14. 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...

      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?

      14 votes
    15. Musings on "Developer Mode"

      Peruse this relevant meme. It depicts the magical transformation that occurs at the moment one taps the Android build number for the seventh and final time, as the arcane ritual transforms one...

      Peruse this relevant meme. It depicts the magical transformation that occurs at the moment one taps the Android build number for the seventh and final time, as the arcane ritual transforms one from a chill dude in a business suit into that powerful, shadowy figure known only as "a developer".

      It's a joke, obviously, but only half a joke. The "You are now a developer!" message that the developers at Google programmed your phone to display, when it grants you this set of powers that Google permitted them to program it to grant you, is doing something in the model of the world that its authors live in.

      "Developer mode" isn't just for Android. The browser you are reading this in has a little panel you can open to inspect or adjust the content of the page. It's useful for things like composing humorous screenshots, deleting annoying ads, and downloading images and videos, but it's called the "Developer Tools", a set of tools defined not by what they do but by who they are intended or imagined to be doing it for. Discord has not only a "developer mode" that lets you get the permanent identifiers for messages, but also additional developer-exclusive functions that are activated by enabling the Electron developer tools and injecting code to set the isDeveloper flag. Windows has a Developer Mode. ChatGPT ~got one for some reason~ has a popular jailbreak based around convincing it that it has one. This notion that a special class of people called "developers" exist, and that they must or should be afforded extra power in our society's digital spaces, is woven into the structure of the digital environment.

      Why is it like this? Big Tech doesn't give any power for free. Is it something their labor force of developers demands to be able to grant to their counterparts outside the company? Is it a Ballmer-Doctorow gambit of courting programmers as potential business customers by temporarily empowering them, before they start putting up the prices on the code signing certificates? Is it to distract and mollify hackers, to keep them from seizing similar powers in a more destabilizing way?

      Is there any truth to the notion that "developers", independent of whether or not they are currently testing or programming something, are a class with different needs and rights from normal humans?

      17 votes
    16. New linux user: dual boot Mint install fatal error

      Following this guide (linuxtechi) and got Mint Cinnamon 22.2 (Zara) - yes the iso is verified, created bootable USB with Etcher, and after the screen where I input user details and password, well...

      Following this guide (linuxtechi) and got Mint Cinnamon 22.2 (Zara) - yes the iso is verified, created bootable USB with Etcher, and after the screen where I input user details and password, well along the install process, got a fatal error (screenshot) :
      Unable to install GRUB in /dev/sda
      Executing 'grub-install/dev/sda' failed
      This is a fatal error
      Here is a screenshot of the GParted, fdisk, df, lsblk and what re-running the install now looks like.

      Restarting (after pulling out USB) , instead of going to Windows 10, goes to a black screen that says

      This is not a bootable disk. Please insert a bootable floppy and press any key to try again ...
      Turn it off, back on with USB, at least I can still boot from there into USB-space mint for now.

      I'm guessing this has something to do with some peculiar hardware/BIOS settings than the fault of Mint. Worth mentioning that this is a refurbished 2013 HP box (order excerpt) , with a windows 10 digital key license, and that upon every fresh boot up (first time ever to now) it shows a black-background screen that says

      The preboot authentication application cannot be found.
      Press any key to attempt boot without authenticating.
      so it's very possible something is bork'd from the get go or else it has some very unorthodox settings to begin with.

      Can confirm running Mint off the USB is fine. The screencaps are sent from Firefox within, and I'm super happy with how clean everything is. Just not sure what to do now. If it's complicated, I can try sending the box back for refund and try again with another brand new box. But now I'm shy about trying dual boot on my regular desktop.

      Questions after looking around for help:

      1. am I booting from UEFI or Legacy? I don't know -- how do I check ?
      2. Fatal error installation hard stop: is there a way to access a log of what happened ?
      3. How do I boot back into Windows 10 for now ? use GParted to delete all the "new" partitions and try booting again?

      Edit: gave up . It's now a Mint box. Goodbye Windows you can kiss my dust

      18 votes
    17. Linux noob question regarding full / partition

      Background: I started daily driving Linux (specifically Mint) several months ago and for the most part it's been great. Some weird hiccups occasionally but nothing I can't handle/deal with. When...

      Background: I started daily driving Linux (specifically Mint) several months ago and for the most part it's been great. Some weird hiccups occasionally but nothing I can't handle/deal with. When doing my research to set the system up for the first time, I decided to go with 30GB for the / partition and ~220GB for the /home partition (the other half of the drive is for Windows 11 and the various essential tiny partitions). For a while this seemed to be fine, but lately I've been starting to get warnings when performing software updates via the Update Manager that the / partition is running out of space. I think it peaked at maybe 90-95% full a few weeks ago, at which point I started doing some research and cleaning up a bit (apt autoremove, deleting old logs and kernels, etc). I was able to claw back ~4GB and kick the can down the road, but now the warnings have returned and I'd like to handle this properly. I'm working from the assumption that I simply made the / partition too small and intend to double it by giving it some of the Windows space.

      My question: How do I know if this is expected or if I've been doing something wrong? Is 30GB indeed too small on modern Mint, or should that have been enough? I know it partially depends on what all I actually do with the computer, but I really don't have very many applications installed (aside from defaults of course) and only four of them are Flatpaks, which I read tend to be larger. If it helps, the Disk Usage Analyzer reports that within /, /usr is taking up 13.2GB (55%), /var accounts for 9.1GB (38%), /opt is 1GB (4%), and everything else is <1% each.

      Thanks in advance!

      23 votes
    18. Anyone have advice (or horror stories) on setting up a 100GbE NAS with RDMA / SMB Direct?

      Pretty much what the title says - I'm building out a smallish compute cluster and hoping to set up some centralised storage that won't be a bottleneck, but I'm very much not a networking...

      Pretty much what the title says - I'm building out a smallish compute cluster and hoping to set up some centralised storage that won't be a bottleneck, but I'm very much not a networking specialist. Most of the load will be random reads from compute nodes pulling in the bits of various datasets they need to work on.

      Is it plausible to throw a 100GbE ConnectX-5 card and 256GB RAM into a consumer AM5 machine, format everything in ZFS, and set up a network share with KSMBD? My understanding is that I want to ensure everything's using mirroring rather than worrying about RAIDZ parity if I'm optimising for speed, which is fine, and I know that I'll only get full throughput as far as things can be cached in RAM - but is it reasonable to expect ZFS ARC to do that caching for me? Dare I hope that the SMB driver will just work if I drop it in there between the filesystem and the NIC? Or have I crossed the line into enterprisey-enough requirements that it's going to be an uphill battle to get this working anywhere near line speed?

      15 votes
    19. How is Linux these days?

      How is Linux these days for everyday desktop use? I'm looking to reformat soon and I'm kind of sick of all the junk the comes alone with Windows. I've used Linux briefly, back in the early 2000's...

      How is Linux these days for everyday desktop use? I'm looking to reformat soon and I'm kind of sick of all the junk the comes alone with Windows.

      I've used Linux briefly, back in the early 2000's but..not at all since really. I'm also learning web dev so I thought it could be fun to use to get used to it.

      Do you use it for everyday use?

      If your unfamiliar with Linux, how difficult is it to get things "done" on it?

      Do most modern apps work these days?

      As someone that's been using Windows for most of their life, do you think it's difficult to pick up and get running?

      Do games work?

      Edit I'm going to test out mint tonight on a thumb drive, thanks everyone!

      52 votes
    20. 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...

      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 votes
    21. 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...

      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 votes
    22. Home network help part 2, SSH and Server

      Edit: I've made some progress if you want to read the edits at the end. Last year I started slowly planning out a home server setup with help from Tildes. I've gotten a few things up and running,...

      Edit: I've made some progress if you want to read the edits at the end.

      Last year I started slowly planning out a home server setup with help from Tildes. I've gotten a few things up and running, but have been bouncing off a variety of walls trying to get to the next step.

      The first goal was-
      "Ok i've got Cosmos up and running for local access using self signed certs. I'd like to get it up and running using lets encrypt and a domain so I can eventually start giving a few family and friends proper logins and external access". Of note, ideally,

      This led to a second goal of-
      "Gosh it sure would be nice if I didn't have to be sitting at the physical server to do testing and could instead be at another computer in my house. I should probably configure ssh locally (working) and get it to forward windows so I can work in other rooms (not working...)"

      "The stack":

      Server - MS01 running LTS Ubuntu with Cosmos Cloud installed (well it was, but is currently not)

      Router - Ubiquiti Dream Machine Pro (of note i've done some minimal guided config of this to try and harden it at a basic level so my cameras and IoT devices are better isolated. Not fully default, but the server is, for now, in the same network/vlan as the rest of my main computers so don't think this should matter.)

      Clients - All local windows 10/11 machines for now, although in the off off chance it matters, i'm running nushell in the terminal

      Domain Provider - Cloudflare

      The SSH Problems:

      I have a friend who's set SSH up for themselves with their home server, however they haven't had time to come over and troubleshoot. My rough understanding is "setup VcXsrv, change some configs, then it just works.". Windows these days has ssh built in, and I can SSH to the machine just fine with my key.

      ssh -X...less so. I've read some docs, followed some guides, tried copilot, and it all leads to "yeah should work" and it just doesn't. I have configured a ssh config on both machines to allow X11 forwarding, i've started the XLaunch making sure I disable access control, made sure my unbuntu login isn't on wayland and so on. So far, no dice.

      If someone has an end to end guide they trust to link, i'll gladly read and start from scratch. I've been cobbling together so many sources at this point i'm very lost. Lots of things jump quickly to "well just use WSL", which yeah ok i probably should test that next, but I was hoping I wouldn't need to (and am unclear if that'll even help).

      The HTTPS/Domain Problems:

      So..cosmos cloud.

      I like the theory behind this software in that it helps enforce best practices so you don't blow your own head off when you screw something up. Maybe it's not the absolute best starting place, but getting it running without a domain was trivial, and more importantly, shockingly well documented. Not perfect, but for what I understand is mostly a one man show it's better than a lot of professional grade stuff i've dealt with.

      And so I figured it'd be easy to just do the setup from scratch but choose https and point to my domain. There's been two attempts here, no DNS challenge and DNS challenge

      No DNS Challenge Method

      Per their docs it seemed easy enough. I'd never touched a DNS screen before but I configured an A record pointing at my WAN IP (eventually...) and disabled the cloudflare proxy.

      Well going to that domain took me to my router login. Hmm. After screwing around with port forwarding and router DNS records I never got it to work and felt like I was playing with fire, so undid everything I'd done and decided I'd try the DNS challenge. Of note I could still access the cosmos cloud page from http directly to the IP, where it confirmed it failed to get the TLS cert, but https to the domain wasn't having it.

      DNS Challenge Method

      This seemed like I was close, and then nothing. I have no idea if i need to do internal routing on the router for this, it just sorta says "Do the DNS challenge, here's a form, you don't need to fill out all of it" which uh...ok.

      I filled out what I think I needed to after setting up a token(not an API key) in cloudflare. I'm pretty certain I got that correct as I saw text files with keys created on cloudflare's DNS page and had I screwed that I'm guessing it couldn't have.

      However from what I can tell, that's as far as it got. The files nuked themselves 2 minutes later when the TTL expired, and going to the domain locally gave me the cloudflare "our shit's fine, the server is timing out" page. From what I could tell diving into logs, cosmos had the same error, and I couldn't hit cosmos at all, even using the IP and http.

      I do however wonder if maybe it did work BUT since I undid the router DNS record before trying this maybe that killed it? dunno.

      Any ideas?

      That's basically my situation. Figured i'd throw it here and see if anyone has some guidance or troubleshooting they'd recommend. Aforementioned friend who's done some of this before should be free one of these weekends and can probably help, and I haven't tried again since the second attempt. I've thrown some of the questions i've had on the discord and gotten minimal response(although I'm kinda using the thread as a rubber ducking spot as well). Next attempt is probably just DNS challenge again after more research on it and seeing if that works if I put back on the router DNS record, but i feel like logically that shouldn't work.

      Oh also if anyone has some general recommended reading so that I can really understand what the hell it is I'm doing I'd love that. There's a ton of networking books/articles/etc, and in general I'd like to learn more about the subject, but I'm curious if there's a go to for people who are techy and trying to dip their toe in all of it the same way I am and setting up a proper home network and server.

      Edit:
      So after lots of testing, doc reading, and help from the cosmos discord I:

      1. Got the DNS challenge to work according to the cosmos logs.
      2. narrowed down that the main issue was my UDM pro router policies. Needed a firewall rule and a port forward, and had only done one of those at a time in my various attempts and not realized they were really different.

      Now once that was all working and I could hit the site i was getting "likely a false cert" errors, but since i've got all the pieces I'm probably going to try another clean install later and see what we get. Hurrah for troubleshooting, good docs, rubber ducking, and helpful humans.

      Edit 2:

      Eventually required:

      1. Port forward rule in UDM pro
      2. Firewall rule in UDM pro
      3. Static IP and DNS entry in UDM pro.

      One I’d done those things started working. Killed it after that as now I need to think about architecture

      14 votes
    23. Should C be mandatory learning for career developers?

      The year is 2025. The C programming language is something like 50 years old now - a dinosaur within the fast-moving environment of software development. Dozens of new languages have cropped up...

      The year is 2025. The C programming language is something like 50 years old now - a dinosaur within the fast-moving environment of software development. Dozens of new languages have cropped up through the years, with languages like Rust and Go as prime contenders for systems-level programming. Bootstrapping a project in C these days will often raise eyebrows or encourage people to dismiss you out of hand. Personally, I've barely touched the language since I graduated.

      Now, with all that said: I still consider learning and understanding C to be key for having an integrated, in-depth understanding of how computers and programming really works. When I am getting a project up and running, I frequently end up running commands like "sudo apt install libopenssl-dev" without really giving it much thought about what's going on there. I know that it pulls some libraries onto my computer so that another program can use them, but without the requisite experience of building and compiliing a library then it's kind of difficult to understand what it's all about. I know that other languages will introduce this concept, but realistically everything is built to bind to C libraries.

      System libraries are only one instance of my argument though. To take a more general view, I would say that learning C helps you better understand computers and programming. It might be a pain to consider stuff like memory allocation and pointers on a regular basis, but I also think that not understanding these subjects can open up avenues for a poorly formed understanding about how computers work. Adding new layers of abstraction does not make the foundation less relevant, and I think that learning C is the best avenue toward an in-depth understanding of how computers actually work. This sort of baseline understanding, even if the language isn't used on a regular basis, goes a long way to improving one's skills as a developer. It also gives people the skills to apply their skills in a wide variety of contexts.

      I'm no expert, though: most of the programming I do is very high-level and abstracted from the machine (Python, Haskell, BASH). I'm sure there are plenty of folks here who are better qualified to chime in, so what do you think?

      39 votes
    24. Looking for advice on setting up computer case fans

      I've never actually put in more fans than what a case comes with, but I have an unraid server that is running hot so I got a pack of 5 fans to put in it. From what I understand, you want them set...

      I've never actually put in more fans than what a case comes with, but I have an unraid server that is running hot so I got a pack of 5 fans to put in it.

      From what I understand, you want them set up so that there is a solid airflow throughout the case; ie I'm planning to set it up so that the front and bottom fans are intake and the top and back fans are exhaust, so that cool air enters from the front/bottom and exits out the back/top.

      However, one of the fans will be going on the side door. I'm assuming this wants to be intake as well (so that the airflow goes through the entire case, as I assume it would disrupt the airflow as exhaust). Or would it be better to not have one on the side and just have an extra fan laying about?

      This is how I plan to set it up (shout out to MS Paint): https://ibb.co/KcXx5cgW

      Note: The X's are because the installed chassis block being able to put fans there; the bottom one is especially disappointing as it's the HDDs that are mostly getting hot

      Just wanted to confirm that that set up looks good and that intake for the side one (where the ? is) is the proper choice

      10 votes
    25. 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...

      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?

      20 votes