• 1 Post
  • 60 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle
  • Why would you think only valid military targets were next to these?

    That’s… not a war crime is. I don’t want to be the guy who justifies the death of civilians, because each one is a tragedy, but unfortunately in war there is such a thing as greater evils.

    Why are you still believing the IDFs first reports when the vast majority of the time they’re lying?

    Now that’s fair. And of course we can as well point out that their whole war is self-inflicted to start with so there’s not much legitimacy to any of their acts of war, even the less illegal ones.


  • I’m as critical of Israel as any reasonable person but that’s like the one thing they did recently that was actually a (at least somewhat) targeted attack against their enemies.

    Calling that a war crime unnecessarily and dangerously dilutes the term. Leveling cities and starving the fleeing population is a war crime and a crime against humanity. Intentionally shooting civilians, children, aid workers, and journalists is a war crime. How about we focus on those, it’s not like there’s a shortage of israeli war crimes to report on.

    EDIT: Apparently Lebanon reports 2800 injured and 12 dead from these attacks… How many fucking explosive pagers were involved? I doubt a significant percentage of those were Hezbollah, which would make that a war crime. The callous inefficiency of IDF operations will never cease to amaze me.


  • France’s historic language policy is certainly highly problematic yes. Although the point is not genocide but class warfare and/or colonialism, not that it’s much of an improvement.

    And now do Belgium. French is the language of the elites (the monarchy and, historically, the aristocracy and bourgeoisie) but also a minority regional language. Is Flanders banning French on public signage a form of oppression? I personally think it’s stupid Flemish nationalism but I wouldn’t call it oppression.

    So how about we stop making blanket statements. Moscow’s erasure of Belarusian identity is at least oppressive and imperialistic and follows a long history of oppression. IDK if that qualifies as genocide (IMHO that undermines the gravity of something like the Holodomor), but something not strictly being genocide doesn’t make it unimportant.



  • Socialists have been the go-to vote of the proletariat in Europe since the early 1900s, and most of these parties were in power at some point or another since 2000.

    However these parties have fallen off a cliff in popularity, and the reason why will depend heavily on who you ask but it boils down to “workers don’t feel represented by socialists”.

    • The socio-economic landscape moved on since 1917, but the left-end of socialists did not. Orthodox Marxism says tertiary sector workers are basically part of the bourgeoisie (I’ve had Extremely Online Marxists explain that one to me with a straight face, so as an IT worker I’m afraid to say I am not allowed to partake in any True Socialism because I do not sell my Labor).
    • Conversely the “center-left” socialists are hardcore neoliberals (who just happen to think that some social programs serve the neoliberal agenda) and their policies have therefore failed to meaningfully curb the degradation of public services and standards of living.
    • The Left™ got stuck in the trap of being pigeonholed as “pro-immigration” during what most people felt like was immigration crisis. Doesn’t matter how you feel about it, this culture war bullshit has profoundly hurt their polling scores and benefited bigots.
    • Parties with an internally democratic governance have been dreadfully slow to react to changes in the political landscape in the past 25 years. Retirees are voting in the primaries whereas extremist parties are led by autocrats who fully understand how to capitalize on online media attention (hence the better polling numbers of the far-right with thr youth).

    Fighting fascists with “but socialists good for proletariat” is worse-than-useless. Voters know what socialists stand for, and that’s kind of the problem because they feel it hasn’t helped. People don’t have hope in traditional European socialist policies, and only vote red out of tradition or as a barrage vote against the far-right.



  • You’re describing proper incident response but I fail to see what that has to do with the status page. They have core metrics that they could display on that status page without a human being involved.

    IMO a customer-friendly status page would automatically display elevated error rates as “suspected outage” or whatever. Then management can add more detail and/or say “confirmed outage”. In fact that’s how the reddit status page works (or at least used to work), it even shows little graphs with error rates and processing backlogs.

    There are reasons why these automated systems don’t exist, but none of these reasons align with user interests.



  • I looked into it after this year’s massive price hike… There’s no meaningful alternative. We’re on the FOSS version of GitLab now (GitLab-CE), but the lack of code ownership / multiple reviewers / etc. is a real pain and poses problems with accountability.

    Honestly there are not that many features in Gitlab EE that are truly necessary for a corporate environment, so a GitLab-CE fork may be able to set itself apart by providing those. To me there are two hurdles:

    • Legal uncertainties (do we need a clean room implementation to make sure Gitlab Inc doesn’t sue for re-implementing the EE-only features into a Gitlab fork?)
    • The enormous complexity of the GitLab codebase will make any fork, to put it mildly, a major PITA to maintain. 2,264 people work for GitLab FFS (with hundreds in dev/ops), it’s indecent.

    Honestly I think I’d be happy if forgejo supported gitlab-runner, that seems like a much more reasonable ask given the clean interface between runner and server. Maybe I should experiment with that…


  • All of this has already been implemented for over a hundred years for other trades. Us software people have generally escaped this conversation, but I think we’ll have to have it at some point. It doesn’t have to be heavy-handed government regulation; a self-governed trades association may well aim to set the bar for licensing requirements and industry standards. This doesn’t make it illegal to write code however you want, but it does set higher quality expectations and slightly lowers the bar for proving negligence on a company’s part.

    There should be a ISO-whateverthefuck or DIN-thisorother that every developer would know to point to when the software deployment process looks as bad as CrowdStrike’s. Instead we’re happy to shrug and move on when management doesn’t even understand what a CI is or why it should get prioritized. In other trades the follow-up for management would be a CYA email that clearly outlines the risk and standards noncompliance and sets a line in the sand liability-wise. That doesn’t sound particularly outlandish to me.


  • But a company that hires carpenters to build a roof will be held liable if that roof collapses on the first snow storm. Plumbers and electricians must be accredited AFAIK, have the final word on what is good enough by their standards, and signing off on shoddy work exposes them to criminal negligence lawsuits.

    Some software truly has no stakes (e.g. a free mp3 converter), but even boring office productivity tools can be more critical than my colleagues sometimes seem to think. Sure, we work on boring office productivity tools, but hospitals buy those tools and unreliable software means measurably worse health outcomes for the patients.

    Engineers signing off on all software is an extreme end of the spectrum, but there are a whole lot of options between that and the current free-for-all where customers have no way to know if the product they’re buying is following industry standard practices, or if the deployment process is “Dave receives a USB from Paula and connects to the FTP using a 15 year-old version of FileZilla and a post-it note with the credentials”.


  • Oh I was talking in the context of my specialty, software engineering. The main difference between an engineer and an operator is that one designs processes while the other executes on those processes. Negligence/malice aside the operator is never to blame.

    If the dev is “the guy who presses the ‘go live’ button” then he’s an operator. But what is generally being discussed is all the engineering (or lack thereof) around that “go live” button.

    As a software engineer I get queasy when it is conceivable that a noncritical component reaches production without the build artifact being thoroughly tested (with CI tests AND real usage in lower environments).
    The fact that CrowdWorks even had a button that could push a DOA update on such a highly critical component points to their processes being so out of the industry standards that no software engineer would have signed off on anything… If software engineers actually had the same accountability as Civil Engineers. If a bridge gets built outside the specifications of the Civil Engineer who signed off on the plans, and that bridge crumbles, someone is getting their tits sued off. Yet there is no equivalent accountability in Software Engineering (except perhaps in super safety-critical stuff like automotive/medical/aerospace/defense applications, and even there I think we’d be surprised).


  • I strongly believe in no-blame mindsets, but “blame” is not the same as “consequences” and lack of consequences is definitely the biggest driver of corporate apathy. Every incident should trigger a review of systemic and process failures, but in my experience corporate leadership either sucks at this, does not care, or will bury suggestions that involve spending man-hours on a complex solution if the problem lies in that “low likelihood, big impact” corner.
    Because likely when the problem happens (again) they’ll be able to sweep it under the rug (again) or will have moved on to greener pastures.

    What the author of the article suggests is actually a potential fix; if developers (in a broad sense of the word and including POs and such) were accountable (both responsible and empowered) then they would have the power to say No to shortsighted management decisions (and/or deflect the blame in a way that would actually stick to whoever went against an engineer’s recommendation).



  • azertyfun@sh.itjust.workstoProgrammer Humor@programming.dev<br>
    link
    fedilink
    arrow-up
    19
    arrow-down
    1
    ·
    2 months ago

    > Clicks on <br>
    > Example is <br />


    The actual thing that matters is that the / is ignored so (unlike with XML I believe) you can’t self-close a non-void element by adding a trailing /. But “void elements should not have trailing slashes” is extrapolation on your part; the trailing slash improves readability and is kosher since it doesn’t act as a self-close.


  • The kind of farming that makes any money isn’t slow work.

    It is, however, tangible work with tangible results. Unlike spending months changing the polarity of nanoscopic silicon structure for the non-appreciation of an utterly clueless salesperson whose braindead ideas will have left the world in a worse state than you found it despite anyone’s best efforts.

    I should seriously get into woodworking. Kidding. Sorta.




  • Hahaha that’s what frontend devs think, but the backend requirements are just as vague: “Just make this button work”. In my example all the requirements would actually be figured out bit by bit over months, nevermind the prescience required to foresee future architecture-breaking features or scaling requirements. At least you can make a mockup and get instant feedback, flawed as it is.

    On either side it takes experienced engineers to suss out actual requirements from customers/PMs. The main difference is that the backend (especially on the infra/devops side) is only accountable to itself if everything goes well, but ironically that means no-one knows or cares about the amount of engineering that goes into keeping PMs blissfully ignorant of the risks and complexity.


  • I love shitting on Fullstack devs as much as the next guy. However, sometimes it really just does make sense for an (often internal) product maintained by a one-person team, and it doesn’t have to mean that the organization doesn’t value them. I’ve seen it happen.

    However I would not recommend it as a career path because it’s essentially impossible to tell what you’re getting into when you get hired. Could be what I just described, could be that you inherit the full responsibility for a 20 year-old perl+php5+xhtml+angularJS mess.
    I think it can only truly make sense if you work independently and get to build projects to your own quality standards, assuming you manage to find a “scope is small enough that specialization doesn’t make sense” niche. This is very hard which is why in practice “full stack” tends to mean “master of none but good enough to get a product out the door cheaply”.