• 0 Posts
  • 47 Comments
Joined 10 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.” :)


  • I don’t know why that comment is collecting downvotes. They are referencing George Orwell’s “Animal Farm.”

    Context: “Animal Farm” is a story about how communism can devolve into dictatorship. In the story, the animals on a farm drive out their tyrannical drunkard farmer. They write on the barn wall: “all animals are equal” and live in communist utopia. But some animals, too, hunger for power and status. Rather than overturn the system, they undermine it by adding “…but some animals are more equal than others” to the barn wall, legitimizing a ruling class (themselves) because they are “more equal.”


  • I think you’re mistaken there.

    Wine is a vanilla Linux executable that runs as the user who launched it. The Windows program it runs thus also runs under that user. That’s possible because Wine doesn’t do anything system-wide (like intercepting calls or anything), it already gave the process its own version of i.e. LoadLibrary() (the Windows API function to load a DLL) and can happily remap any loaded DLL to Wine’s reimplementation of said DLL as needed.

    Here are, for example, the processes created when I run Paint Shop Pro on my system (the leftmost column indicates the user each process is running as): Processes running after launching a Windows executable via Wine

    Also, some advice from WineHQ: WineHQ warning never to run Wine as root


  • After reading, the gist of it seems to be:

    • Vanilla far-right indoctrinated dumbo (his vision: “Reds” welcome, “Blues” not, “Anti-Blue Propaganda” on public view screens)
    • Wants exploitative capitalism on steroids with companies controlling everyone’s lives completely
    • Claims current capitalism is only bad because it’s “woke capitalism” which he claims the “ruling class” is pushing
    • Wants tech bros to butter up police and give security staff jobs to their children as a favor, i.e. intentional social classism

    .

    In short, just another out of touch entrepreneur who sells snake oil cures to people suffering in the current system, so that they may invite in the boot that stomps them down for good.




  • When you have a bunch of computers networked, each of them is assigned a unique number, so when other computers send data on the wire, they can say who it is meant for (imagine each blurb of data starting out like: “yo, I’m sending these next 500 bytes for computer 0A123FBC32, here they come”).

    Now the right computer will listen, but it doesn’t know what program the data is for - is it a chunk of a file your browser is downloading? Or the email your email app wants to display? Or perhaps a join request from your buddy’s computer for the Minecraft game you’re hosting?

    So in addition to the unique number of the target computer, the data also specifies a “port number”, which tells the computer which of its running programs the data is meant for (programs ask the computer’s operating system: “if any network data arrives on port XY, give it to me”). Some ports have become standards - for example, a program that serves web pages to other computers would typically ask the operating system that any data arriving on the computer that indicates port numbers 80 and 443 should be given to it, and when a web browser wants to fetch a web page, it will send a request to the computer serving the page, defaulting to port 80 o 443.

    If you dig deeper, you’ll find that there are even more unique numbers involved and routers/firewalls let data through not only by port number but also by distinguishing between data that is the initial request to another computer’s port number and data that is an answer to an earlier seen request – and more.


  • I love that example. Microsoft’s Copilot (based on GTP-4) immediately doesn’t disappoint:

    Microsoft Copilot: Two pounds of feathers and a pound of lead both weigh the same: two pounds. The difference lies in the material—feathers are much lighter and less dense than lead. However, when it comes to weight, they balance out equally.

    It’s annoying that for many things, like basic programming tasks, it manages to generate reasonable output that is good enough to goat people into trusting it, yet hallucinates very obviously wrong stuff or follows completely insane approaches on anything off the beaten path. Every other day, I have to spend an hour to justify to a coworker why I wrote code this way when the AI has given him another “great” suggestion, like opening a hidden window with an UI control to query a database instead of going through our ORM.


  • I assume that Twitter still has tons of managers and team leads that allowed this and have their own part of the responsibility. However, Musk is known to be a choleric with a mercurial temper, someone who makes grand public announcements and then pushes his companies to release stuff that isn’t nearly ready for production. Often it’s “do or get fired”.

    So… an unshackled AI generating official posts, no human hired to curate the front page, headlines controlled through up-voting by trolls and foreign influence campaigns, all running unchecked in the name of “free speech” – that’s very much on brand for a Musk-run business, I’d say.





  • 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 a little put off by the inconvenient command line and the mandatory bells and whistles (flathub is nice and all, but must it be baked into the main executable rather than having the package manager as an optional thing on top?).

    So far, AppImage just looks superior to me. Works without installing a runtime into my system, no need to become root and integrate an app into a system-wide managed package repository, I can just run it.