• 1 Post
  • 33 Comments
Joined 9 months ago
cake
Cake day: January 19th, 2024

help-circle


  • I liked agile as it was practiced in the “Extreme Programming” days.

    • Rather than attempt to design the perfect system from the get-go, you accept that software architecture is a living, moving target that needs to evolve as your understanding of the problem evolves.

    • Rather than stare down a mountain of ill-defined work, you have neat little user stories that can be completed in a few days at most and you just move around some Kanban cards instead of feeding a soul-sucking bureaucratic ticketing, time tracking and monitoring system.

    • Rather than sweat and enter crunch mode for deadlines, the project owners see how many user stories (or story points or perfect hours) the team completes per week and can use a velocity graph / burndown chart to estimate when all work will be completed.

    .

    But it’s just a corporate buzzword now. “We’re agile” often enough means “we have no plan, take no responsibility and expect the team to wing it somehow” or “we cargo cult a few agile ideas that feel good to management, like endless meetings with infinite course changes where everyone gives feel-good responses to the managers.”

    Having a goal, a specification, a release plan, a vision and someone who is responsible and approachable (the “project owner”) are all part of the agile manifesto, not something it tries to do away with. I would be sad if agile faces the same fate as the waterfall model back in its time and even sadder if we return to the time-tracking-ticket-system-with-Gantt-chart hell as the default.

    Maybe we need a new term or an “agility index” to separate the cases of “incompetent manager uses buzzword to cover up messy planning” from the cases of “project owner with a clearly defined goal creates a low-bureaucracy work environment for his team.” :)



  • Not yet. It can lead to that point, but this is just the kernel handling an “out of memory” situation. The kernel in the screenshot is configured to run its OOM reaper / OOM killer.

    The OOM reaper checks all running processes and looks for the one that causes the least disruption when killed. It does that by calculating a score which is based on the amount of memory a process uses, how recently it was launched and so on. Ideally, a Linux desktop user would simply see their video game, browser or media player close.

    This smart TV is in real trouble, though, it probably already killed its OSD, still didn’t even have enough memory to spawn a login shell and is now making short work of strange VLC instances that probably got left behind by a poorly written app store app :)


  • What would be missing from VS Code or VS Codium that an IDE needs?

    I’m an ex Visual Studio user, now writing all my code in VS Codium. I organize my project tree in VS Codium, I build from it and, like a Visual Studio user, I press F5 to debug, set breakpoints and inspect variables.

    And that’s just the default install using the vanilla C/C++ extension it ships with, not some complicated setup that takes any time to get working.



  • That’s what I meant when I wrote “Git submodules can only point to a whole different repository” - they can’t point to a path inside a repository, only to another repository root. That unfortunately renders them useless for me (I’d have to set up in the order of hundreds of small repositories for the sets of shared data I have).


  • I’m already using Git for source code related versioning, but some use cases involving large binary files with partial updates aren’t well covered by Git (I’ve gone into some detail in my reply to @vvv@programming.dev).

    There’s also the lack of svn:externals in Git. Git submodules can only point to a whole different repository as far as I’m aware.


  • I’m already using Git, thus my experience with Gitea. I am well versed with svndumpfilter and git-svn to extract and migrate individual Subversion repositories to Git.

    I’m not only hosting code, but I have several projects involving large binary files with binary changes. Git’s delta compression algorithm for binary files is so-so. Git LFS is just outsourcing the problem. Even cloning with --depth 1 --single-branch gives me abysmal performance compared to Subversion.

    So I’m still looking for a nice WebUI to make my life with the Subversion repositories I have easier.




  • I am a Gentoo user and most of that is already a reality on Gentoo systems. Get the stage3 tarball set up, slap your /etc/portage/make.conf and /var/lib/portage/world files in there and build.

    Obviously, depending on whether it should be a blank system with the same apps installed or a clone of a previous system, configuration in /etc and one’s home directory may need to be copied, too.


  • Linux Unix since 1979: upon booting, the kernel shall run a single “init” process with unlimited permissions. Said process should be as small and simple as humanly possible and its only duty will be to spawn other, more restricted processes.

    Linux since 2010: let’s write an enormous, complex system(d) that does everything from launching processes to maintaining user login sessions to DNS caching to device mounting to running daemons and monitoring daemons. All we need to do is write flawless code with no security issues.

    Linux since 2015: We should patch unrelated packages so they send notifications to our humongous system manager whether they’re still running properly. It’s totally fine to make a bridge from a process that accepts data from outside before even logging in and our absolutely secure system manager.

    Excuse the cheap systemd trolling, yes, it is actually splitting into several, less-privileged processes, but I do consider the entire design unsound. Not least because it creates a single, large provider of connection points that becomes ever more difficult to replace or create alternatives to (similarly to web standard if only a single browser implementation existed).





  • I love the “Let’s finish setting up your device” popup that prevents me from using my VMs regularly.

    The "Let's finish settings up your device" popup of Windows 10, acting as if you forgot to let Microsoft scan your face, tell them about your phone, buy an office subscription, store your data on Microsoft servers and start using Microsoft's browser.

    Like some condescending peddler trying to slam-dunk your agreement as a foregone conclusion.

    Come on, buddy, let’s do those remaining tasks, let’s have Microsoft scan your face, tell Microsoft about your phone, let’s go and install those Microsoft apps missing from your phone, and your laptop, too, and then we go buy that Office subscription and have you store your important files on Microsoft’s servers and we really need to get around to switching to Microsoft’s web browser now.

    And the only option you get is “Yes” or “Remind me later.”

    If you turn it off (and it needs to be turned off in two places), it’ll be back on as soon as Microsoft publishes the tiniest update to any of its unwanted services. Harrghrrr! (artery popping noises)


  • I have a Windows VM that runs Visual Studio and a small number of developer tools so I can test my code on Windows. And another windows VM that runs Daz3D, Clip Studio Paint and the Epic Launcher (to download stuff from the Unreal Engine Marketplace).

    Sometimes I misuse either VM by creating a snapshot and installing Garmin Connect so I can update the music library on my watch :)


  • SuSE Linux (a German distribution), some niche, single CD distrubution, Debian for a while and, finally, since ~2006, Gentoo on my servers and since ~2015 Gentoo as my desktop.

    Debian and its derivatives never felt right for me. I find too many drawbacks with binary packages (non-configurable build options, therefore dependencies that can’t be disabled, relying on humans to keep ABI compatiblity, trouble integrating my own packages or unstable versions) and I just don’t like systemd.

    It’s weird, I’ve seen more than enough of those “Install Gentoo” memes, but I find it the most pleasant system to run in the long term.


  • I’m on OpenRC, so I can’t say anything about systemd, but I have several SSHFS mounts (non-auto) listed in my fstab:

    sshfs#root@192.168.0.123:/random-folder/ /mnt/random-folder fuse noauto,uid=1000,gid=100,allow_other 0 0

    Is that similar to what you’ve tried in your fstab? I’d assume replacing noauto with auto should just work, but then again, I haven’t tried it (and rebooting my system right now would be very inconvenient, sorry).

    It also might require you to either use password-based login and specify the password or store the SSH keys in the .ssh directory of the user doing the mount (should be root with auto set).