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

help-circle
rss

  • 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.” :)



  • Theistic Satanists

    These would be the (mostly imaginary) ones that conservative Christians are fearmongering about. They’d believe the actual devil exists and that by serving him, they could gain something.

    Atheistic Satanists

    The kind that is pulling this stunt to fight for religious freedom. Specifically, The Satanic Temple. Their “commandments” are secular compassion, empathy and justice.

    Amusingly, the biblical Satan seemed to value many of those things. Freedom (“non serviam” / “I will not serve”), Reason (apple from tree of knowledge in paradise), and perhaps Self Reliance and Equality (in some variants of the creation myth, Adam has a divorced first wive named Lilith who gave him the middle finger when he pulled that alpha male malarkey)


  • Do you know what we get to see of this “actual left” around here?

    Not organizers trying to set up a demonstration in Washington. Not people linking to websites explaining how to mail your governor or the white house with suggested text passages. Not activists recruiting stunt performers to make some artistic display that will get reported in the press. Not people trying to aid the resistance within Israel itself.

    All we see is people trying to dissuade the non-fascists from voting.

    Fascist Russia’s genocidal war on Ukraine is completely masked out. In online spaces held by Marxist-Leninists, aka tankies, fascist Russia is even elevated to be the good guy, with mods deleting dissent. During China’s genocide of the Uyghurs, tankies posted Chinese propaganda memes trying to keep their communities supportive of China.

    German anti-fascists had a name for such people. Collaborators.

    These “don’t vote” posts always do the same shtick, too, attacking and blaming liberals (hint: Marx actually admired liberalism), while claiming some true, real, actual left is much better (how? are they all John Rambo? Do we have to wait until the shooting starts?). It just doesn’t look very organic, it looks like talking points constantly injected into tankie spaces by Russian propagandists.


  • 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.”




  • For a moment I thought a Trump supporter had grown balls. Indoctrinated nutjob balls, but balls.

    But after reading that Manifesto, it looks more like it’s a classical conspiracy nutter who must, at any cost, trace all world events and pop culture back to a secret group that is orchestrating everything:

    • Secret group controls both major US political parties
    • Cryptocurrency intentionally built/pushed by this group to crash the global finance system
    • Secret group is mocking everyone by broadcasting their plans through i.e. old Simpsons episodes
    • 1970s dystopian movie classics were actually setting us up to accept these dystopias
    • Secret group knows about coming resource depletion and climate collapse, will destroy society, then rule the survivors.

    TLDR; a wild mix of real issues, attributed to America-centric conspiracy puzzle pieces, many taken from Russian propaganda, combined with far-fetched associations that would make any numerologist proud.




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




  • Anyone remember the Foxconn building deal during the Trump presidency? It was supposed to prop Republicans up in the mid-terms of 2018.

    The GOP offered a $2.85 billion subsidy so Foxconn would build an LCD panel manufacturing plant in Wisconsin. Apparently the subsidy was in the form of tax credits. Trump calls Foxconn “8th wonder of the world” despite its cost.

    According to The Verge:

    The renovations never arrived. Neither did the factory, the tech campus, nor the thousands of jobs. Interviews with 19 employees and dozens of others involved with the project, as well as thousands of pages of public documents, reveal a project that has defaulted on almost every promise. The building Foxconn calls an LCD factory — about 1/20th the size of the original plan — is little more than an empty shell. In September, Foxconn received a permit to change its intended use from manufacturing to storage.

    As far as I can tell (from skimming over a few recent news articles), they ultimately employed about 1000 people (7%-10% of what was promised). When negative reporting on the project ramped up, Republicans claimed that incoming Democratic governor Tony Evers tried to renegotiate the deal and blamed him. When that turned out to be a lie, Republicans pivoted to the more nebulous claim that Foxconn bailed because Wisconsin was unfriendly to business under its fresh Democratic governor.

    This could be a great side-by-side comparison on how Dems vs. Reps handle such a project, but I doubt the average person caught in the news cycle still remembers Foxconn after nearly 6 years). 😅



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


  • 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).