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

      17 votes
    2. Networking: DHCP+VPN, LAN communication query

      Preface: I know not what I talk about. INSTANCE: A Unifi network with multiple VLANs, each with their own subnet. A Linux client that is assigned to a single VLAN, connected to the network via...

      Preface: I know not what I talk about.

      INSTANCE: A Unifi network with multiple VLANs, each with their own subnet. A Linux client that is assigned to a single VLAN, connected to the network via Wi-Fi, and running a full-tunnel Wireguard config which tunnels data to the provider's endpoints.

      QUESTION: While running full-tunnel VPN configurations supplied by a commercial VPN provider, how might the client device talk with other devices on the same (local!) LAN as it is, including devices that are on a different (local!) VLAN, and thus a different subnet?

      Let's say, for instance, that I have the following network architecture:

      Name        Subnet          Gateway     Mask
      Internal    10.0.0.0/24     10.0.0.1    255.255.255.0
      Hosted      10.5.0.0/24     10.5.0.1    255.255.255.0
      Private     10.5.1.0/24     10.5.1.1    255.255.255.0
      Guests      10.5.2.0/24     10.5.2.1    255.255.255.0
      

      I have a device that is connected to the network via Wi-Fi, and is contained within the "Private" VLAN. It can also talk to devices that are in the "Internal" VLAN (by necessity), and devices in the "Hosted" VLAN.

      Once I spin the VPN up, using a configuration gained from OVPN / PIA / NordVPN / whatever, the client can still communicate with devices on the same VLAN as it- for example, if the client is 10.5.1.132, it can still communicate with 10.5.1.42, but it cannot communicate with, say, 10.5.0.11. One would assume that is because the DHCP server has told it that it can access devices within a specific range through the correct gateway- and in-fact, this shows in the IP routing table:

      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      default         unifi.localdoma 0.0.0.0         UG    1024   0        0 eth0
      10.5.1.0        0.0.0.0         255.255.255.0   U     1024   0        0 eth0
      unifi.localdoma 0.0.0.0         255.255.255.255 UH    1024   0        0 eth0
      

      There are, as far as I can tell, a number of solutions for this problem. The first is to not use a full-tunnel VPN, and instead build a set of AllowedIPs which carve out the LAN ranges which you do not want tunneled. This, I think, is known as a split-tunnel VPN. If one wants to carve out all of the possible LAN IP ranges, as specified in RFC1918, it starts to become somewhat cumbersome:

      AllowedIPs = 0.0.0.0/5, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/5, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 224.0.0.0/3
      

      This might be the only solution that currently works on an Android device running the basic Wireguard APK, as found on Github.

      An alternative solution is to carve out the LAN ranges you want to avoid routing through the tunnel using the PostUp/PostDown entries. For example:

      PostUp = ip route add 10.5.0.0/16 via 10.5.1.1 [dev IFNAME?] [metric INT?]
      PostDown = ip route del 10.5.0.0/16 via 10.5.1.1
      

      This would work, on your local LAN, as long as you stay on the same VLAN and can connect to the correct gateway. Unfortunately, Android Wireguard cannot handle PostUp/PostDown entries, AFAICT. Small bother.

      One final solution that I have heard mutterings about is known as "Classless Static Routes", or DHCP Option 121/249. This uses "CIDR" notation, and I'll be honest- here I am a little bit lost. I like the sound of this solution, as it means that I can configure the networking infrastructure itself to provide the required information for valid routing, and not have to faff about with the many, many Wireguard configurations on my devices.

      Does anybody have any experience with this problem? Am I approaching this problem in an entirely stupid way? Is there a better way (insert infomercial here)?

      8 votes
    3. Requesting resources for learning Ruby

      Does anyone here have experience with Ruby programming? More specifically mRuby or DragonRuby for game programming? I came across DragonRuby as free for its 7th anniversary and I’m considering...

      Does anyone here have experience with Ruby programming? More specifically mRuby or DragonRuby for game programming?

      I came across DragonRuby as free for its 7th anniversary and I’m considering checking it out, but I have no experience with the Ruby programming language itself.

      Most of my programming experience recently is in C# and Python, but I have some experience with JavaScript/TypeScript.

      Does anyone know of good resources for learning Ruby coming from that background, or thoughts on if it is worth it to try to pick up?

      I’m not really interested in LLM-based Ruby workflows, at least until I have a decent grasp of the language and syntax myself.

      16 votes
    4. FFmpeg - Merging multiple videos containing chapters into one with chapters from originals

      Hello, I have quite some technical question and my DuckDuckGo-fu seems very weak on this one. I hope it is ok to post questions on Tildes, as it is not really discussion material... but someone...

      Hello,

      I have quite some technical question and my DuckDuckGo-fu seems very weak on this one. I hope it is ok to post questions on Tildes, as it is not really discussion material... but someone can still learn and use whatever come from this.

      I have Live Aid concert that I ripped from my DVDs and I wanted to merge the individual video files (there are four) into one long video. I'm on Linux and I'm used to ffmpeg in command line, though I do not know it that much. Each of the input videos has its own chapters and I would like to transfer those chapters into the final video as well. Preferably adding a chapter in between every input video.

      I was unable to find if ffmpeg allows for something like that in a single inline command. I may have to export chapters from each input video and add them into one "chapter" file and redo times by hand on them and then use this file as "chapter" input when merging the videos, but all this is just a theory on my part.

      Is there some FFmpeg expert here who has done something like that?

      EDIT: I made my own solution, see it in a comment a bit lower.

      12 votes
    5. 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?

      12 votes
    6. What is your go-to project for learning a new language?

      Ive been playing around with learning a lisp language for a while, and I recently decided to go for it and learn fennel (as I already am comfortable with lua) just to see if I like lisps as a...

      Ive been playing around with learning a lisp language for a while, and I recently decided to go for it and learn fennel (as I already am comfortable with lua) just to see if I like lisps as a class. Normally, I try to do the first 5-10 days of a previous advent of code to pick up a lang.

      Setting up my advent of code environment got me wondering: what projects do other people use to learn new languages/tooling? Id love to hear how other people approach learning a new skill.

      33 votes
    7. Vibe coding is just the return of Excel/Access, with more danger

      I probably triggered some PTSD right there. Was just in a meeting at work, where we listed off everything that makes software development hard and slow. An excersize for the thread would be to...

      I probably triggered some PTSD right there.

      Was just in a meeting at work, where we listed off everything that makes software development hard and slow. An excersize for the thread would be to replicate that list. It turned out that Claude helps with like 1/5th or less of it....especially in a collaborative environment.

      So, the situation we're now encountering is that random business areas can vibe code out something, tell nobody, throw it in AWS, have it become a critical part of a business process that fails when they quit, and nobody even has access to look at what was made.

      It gives me comfort that in about 5 years there will be a new surge in demand for programmers to reign in all the rogue applications that need shutdown because of the immense risk to continual operation of a company, from data leaks to broken payroll.

      It'll be Y2K all over again.

      45 votes
    8. Medium term cold storage options?

      Increasingly I'm looking at my backup solution and I'm not totally happy. My "threat model" I guess is if the house burns down and we only make it out with the shirts on our backs. Alternatively...

      Increasingly I'm looking at my backup solution and I'm not totally happy. My "threat model" I guess is if the house burns down and we only make it out with the shirts on our backs. Alternatively if I get hit by a bus I'd like a backup of passwords and maybe some instructions for my wife.

      Mostly irrelevant discussion on my current backup or lack of situation

      Up until recently I had a VPS running syncthing as a central backup for all my devices but it kind of looks like that got randomly wiped or something... my plan up until that happened was that I have a computer in a locker at work that I occasionally fired up to sync my syncthing stuff. This has some issues, the big one being that it doesn't deal with bus factor.

      My next plan (and the point of this topic) is to have some data stored offline in a safe deposit box at the bank or some other secure location and swap the data out at some interval like 6 months or 1 year. The stuff I REALLY care about is easily under 1gb and stuff I kind of care about (photos and that kind of thing) is < 1tb.

      Also currently I'm paying for iCloud each month even though I've mostly left the mac-osphere. This is where my < 1tb of photos are. I intend to download all of that and stop paying for iCloud in the coming months.

      TL;DR What are decent medium term cold storage options for < 1gb that I can be really sure will be good for several years (maybe 10 or 20 years at the extreme end) and is fairly cheap. I was thinking optical media but I'm kind of lost as to what specifically to get and how to not get conned by buying fake media (m discs). I (somewhat randomly) have an m disc drive in my computer but I don't know if thats overkill or not? My important stuff may even fit on a CD actually...

      24 votes
    9. Static analysis, dynamic analysis, and stochastic analysis

      For a long time programmers have had two types of program verification tools, static analysis (like a compiler's checks) and dynamic analysis (running a test suite). I find myself using LLMs to...

      For a long time programmers have had two types of program verification tools, static analysis (like a compiler's checks) and dynamic analysis (running a test suite). I find myself using LLMs to analyze newly written code more and more. Even when they spit out a lot of false positives, I still find them to be a massive help. My workflow is something like this:

      1. Commit my changes
      2. Ask Claude Opus "Find problems with my latest commit"
      3. Look though its list and skip over false positives.
      4. Fix the true positives.
      5. git add -A && git commit --amend --no-edit
      6. Clear Claude's context
      7. Back to step 2.

      I repeat this loop until all of the issues Claude raises are dismissable. I know there are a lot of startups building a SaaS for things like this (CodeRabbit is one I've seen before, I didn't like it too much) but I feel just doing the above procedure is plenty good enough and catches a lot of issues that could take more time to uncover if raised by manual testing.

      It's also been productive to ask for any problems in an entire repo. It will of course never be able to perform a completely thorough review of even a modestly sized application, but highlighting any problem at all is still useful.

      Someone recently mentioned to me that they use vision-capable LLMs to perform "aesthetic tests" in their CI. The model takes screenshots of each page before and after a code change and throws an error if it thinks something is wrong.

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

      11 votes
    11. 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
    12. AI Coding agents are the opposite of what I want

      I've been thinking a lot about LLM assisted development, and in particular why I keep dropping the available tools after a few attempts at using them. I realized recently that it's taking away the...

      I've been thinking a lot about LLM assisted development, and in particular why I keep dropping the available tools after a few attempts at using them.

      I realized recently that it's taking away the part of software development I enjoy: the creative problem solving that comes with writing code. What's left is code review tasks, testing, security checks, etc. Important tasks, but they all primarily involve heavy concentration, and much less creativity.

      Why aren't agents focused on handling the mundane tasks instead? Tell me if I've just introduced a security vulnerability or a runtime bug. Generate realistic test data and give me info on what the likely output would be. Tell me that the algorithm I just wrote is O(n^2).

      Those tasks are so much more applicable to matching against existing data, something LLMs should be extremely good at, rather than trying to get them to write something novel, which so far they've been mostly bad at, at least in my experience.

      46 votes
    13. 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?

      12 votes
    14. What are people using instead of VS Code?

      I relatively recently reinstalled my OS (distro-hopping to Fedora KDE) and as I was installing my various everyday programs, I began to wonder whether there were any solid competitors to VSCode in...

      I relatively recently reinstalled my OS (distro-hopping to Fedora KDE) and as I was installing my various everyday programs, I began to wonder whether there were any solid competitors to VSCode in the space other than IntelliJ products (which I strongly dislike compared to VSCode already). I've used VSCode for a while, but I've definitely noticed my experience with the app getting a little bloated and overwhelmed. But I'm not keeping my finger on the pulse of new IDEs, so I don't know if there's anything new (or at least a solid alternative of some sort) out there that people are switching to.

      I'm on Linux, so nothing Mac-exclusive. I know VSCode's extension library is probably hard to match given its popularity, but I'd hope for an alternative that at least has potential to have extensions to cover lesser-known languages and file formats for me. I liked the look and feel of VS Code when I switched to it years ago, so I'm all for apps with similar vibes, but I'd like something that feels faster and more focused.

      Please don't recommend vim. I've already heard of vim, and if I wanted to switch to it I would have already.

      37 votes
    15. 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