Skip Navigation

User banner
Posts
10
Comments
767
Joined
2 yr. ago

  • The other Matrix clients were worse.

    The entire ecosystem is shit. Fix it if you want people who aren't dedicated fanbois to use it.

  • I don't give a shit about the "protocol". I give a shit about the end experience: the system, not a single component of it. (The fact that you're so narrowly defining the range of critique is very telling and noted, incidentally.)

    I've given Matrix three tries now. Three times Element has shit its pants, lost all my keys, refused to recognize the backups I made using its own tools, and made me start over from scratch. It's a fucking shit system, no matter how good or bad its "protocol" is.

    Come back when you've got a product that doesn't suck so hard it can suck bowling balls through garden hoses. (Well, no, don't come back. Matrix is on the permanent shitpile for me along with Emacs, Haskell, Internet Explorer and other such software fiascos of epic proportions.) But start pitching the product when you've got a product that isn't a festering pustule that periodically pops and spreads its grotesque fluids all over the place, not now when it's like a rusty chainsaw made without a kickback guard.

    One of the first things that you'd need to do to make the system not suck matter out of galactic core black holes is to look over the "Fallacies of Distributed Computing" and make sure that you didn't interpret it as an instruction manual instead of a warning against them.

  • A noted cryptobro ran off to join the other cryptobros on Cryptobro Central.

    What. A. Surprise.

  • Matrix is literally the best decentralized real time chat we have.

    What an utterly depressing statement. Because Matrix is utter shit.

  • As for Threads, any threads sites or account gets instablocked on identification for me. I will not peacefully submit to Zuck the Fuck's embrace/extend/extinguish strategy. I basically want all corporate surveillance antisocial media to die. Ruthlessly murdered, ideally, in a gruesome living vivisection.

  • News Flash!

    Twitter will never stop being a thing. Myspace is still a thing, after all. Twitter will just stop being a relevant thing. Like Myspace.

  • When I saw the kinds of people who were getting invites to Bluesky I knew I wanted nothing to do with Dorsey's Twitter 2.0. As you said, it's just going to be clout-chasing assholes all over again. I guess I prefer small town life to life in the big city, digitally speaking. (Physically I prefer the precise opposite.)

  • The author, w/o explicitly mentioning it anywhere, is explicitly talking about distributed systems where you’ve got plenty of resources, stable network connectivity and a log/trace ingestion solution (like Sumo or Datadog) alongside your setup.

    That is the very core of my objection. He hasn't identified the warrants for his argument, meaning his argument is literally gibberish to people working from a different set of warrants. Dudebro here could learn a thing or two from Toulmin.

    This is a problem endemic to techbros writing about tech. They assume, quite incorrectly, that the entire world is just clones of themselves perhaps a little bit behind on the learning curve. (It never occurs, naturally, that others might be ahead of them on the learning curve or gasp! that there may be more than one curve! That would be silly!)

    So they write without establishing their warrants. (Hell, they often write without bothering to define their terms, because "trace" means the same thing in all forms of computer technology, amirite?!) They write as if they have The Answer instead of merely a possible answer in a limited set of circumstance (which they fail to identify). And they write as if they're on the top of the learning heap instead of, as is statistically far more likely, somewhere in the middle.

    Which makes it funny when he sings the praises of a tracing library that, when I investigated it briefly, made me choke with laughter at just how painfully ineffective it is compared to tools I've used in the past; specifically Erlang's tracing tools. The library he's text-wanking to is pitifully weak compared to what comes out of the box in an Erlang environment. You have to manually insert tracing calls (error-prone, tedious, obfuscatory) for example. Whatever you don't decide to trace in advance can't be traced. Whereas Erlang's tracing system (and, presumably Ruby-on-BEAM's, a.k.a. Elixir) lets you make ad hoc tracing calls on live systems as they're executing. This means you can trace a live system as it's fucking up without having to be a precognitive psychic when coding, leaving the costs of tracing at 0 until such a time as you genuinely need them.

    So he doesn't identify his warrants, he writes as if he has the One True Answer, he assumes all programming forms use the same jargon in the same way, and he acts as if he's the guru sharing his wisdom when he's actually way behind the curve on the very tech he's pitching.

    He is a, in a word, programmer.

  • Cancel all visa services for any Indian citizen. See who needs whose visa the most.

  • See, that's exactly why I like Mastodon and want nothing to do with Bluesky. Sounds like we're both happy this way.

  • Oh, wait. It just dawned on me. You're a cryptobro. Of course you don't think things through!

  • Free speech as in no one can prevent you from saying it and you can literally say anything you want.

    Apparently "charging a price that some people may not be able to afford" is not preventing them from saying things on a platform.

    Do you think things through before you speak?

  • That makes even less sense, then. He says "counts the same as". Six beers is not the same as one shot by any metric: volume, mass, alcohol content, nothing.

  • My own thoughts.

    1. Instead of defining the difference between logging and tracing, the author spams the screen with pages' worth of examples of why logging is bad, then jumps into tracing by immediately referencing code that uses a specific tracing library (OpenTelemetry Tracer) without at any point explaining what that code is actually doing to someone who is not familiar with it already. To me this smacks of preaching to the choir since if you're already familiar with this tool, you're likely already a) familiar with what "tracing" is compared to "logging", and b) probably a tracing advocate to begin with. If you want to persuade an undecided or unfamiliar audience, confusing them and/or making assumptions about what they know or don't know is ... suboptimal.
    2. If you're going to screen dump your code in your rant, FUCKING COMMENT IT YOU GIT! I don't want to have to read through 100 lines of code in an unfamiliar language written to an unfamiliar architecture to find the three (!) lines that are actually on the fucking topic!
    3. If you're going to show changes in your code, put before/after snapshots side by side so I don't have to go scrolling back to the uncommented hundred-line blob to see what changed. It's not that hard. Using his own damned example from "Step 1":
     javascript
        
    // BEFORE
    func PrepareContainer(ctx context.Context, container ContainerContext, locales []string, dryRun bool, allLocalesRequired bool) (*StatusResult, error) {
        logger.Info(`Filling home page template`)
    
      
     javascript
        
    // AFTER
    var tr = otel.Tracer("container_api")
    
    func PrepareContainer(ctx context.Context, container ContainerContext, locales []string, dryRun bool, allLocalesRequired bool) (*StatusResult, error) {
        ctx, span := tr.Start(ctx, "prepare_container")
        defer span.End()
    
      

    (And while you're at it, how 'bout explaining the fucking code you wrote? How hard is it to add a line explaining what that defer span.End() nonsense is? Remember, you're trying to sell people on the need for tracing. If they already know what you're talking about you're preaching to the choir, son.)

    Of course in "The Result" he talks about the diff between the two functions ... but doesn't actually provide that diff. Instead he provides another hundred-line blob kept far away from the original so you have to bounce back and forth between them to spot the differences. Side-by-side diffs are a thing and there's plenty of tools that make supplying them trivial. Maybe the author should think about using them.

    1. The technique this guy is espousing, if I'm reading it right, sounds fine but only in limited realms. This would kill development in my realm (small embedded systems), for example. If you have (effectively, from my domain's perspective) infinite RAM, CPU, persistent storage, and bandwidth, then yes, this is likely a very good technique. (I can't be certain, of course, because he hasn't actually explained anything, just blasted uncommented code while referencing a library he assumes we know about. The only reason I followed any of it is because I'm familiar with Erlang's tooling for this kind of stuff which puts what he's showing off to shame.) But if your RAM is limited (hint: measured in 2-digit KB and shared by your stack(s), heap, and static memory), if your CPU is a blazing-fast 80MHz, and if you think 1MB of persistent storage (which your program binary has to share) is a true bucket of gold in wealth, and, yes, if you're transmitting over a communications link that would have '80s-era modem jockies looking on you with pity, then maybe, just maybe, tracing isn't so great an idea after all.
  • If you move to a price per tweet, you’re getting close to just doing it on something like Ethereum with rollups.

    That would be truly free speech and uncensorable if that’s truly what he wanted (it isnt)

    So ... "truly free speech" is "speech you have to pay for".

    I'm spotting a slight flaw in this logic.

    That's not free speech by any definition of "free".

  • One shot of tequila and one bottle of beer have roughly the same alcohol content (give or take) ... so the one who's consuming six times as much is the same? That's ... weird logic.

  • Do you lack the self-discipline to not post in a community whose existence you don't like? Looking at the home page (bog-standard Web UI) I see 20 posts (Subscribed/New). I'd guess slightly over half of it is shit I don't care about and a couple feature names I really could do without seeing again. Yet somehow I manage to not go into those postings and order people not to post on things I don't want to read about.

    HOW IS THIS POSSIBLE!?

    I must be a fucking WIZARD!!!111oneoneoneeleventy!

    Block the community that's made SPECIFICALLY to talk about the thing you don't want to talk about an MOVE THE FUCK ON.

    Kind of like how I'll be moving the fuck on with any of the idiocy you choose to churn out now.

  • For months at one place I worked senior developers and even junior managers had been haranguing the higher-ups with an alarm bell on how important the Internet was going to be and how we needed to start pivoting toward outfitting our product with the ability to interact properly on the Internet. We were steadfastly ignored and our concerns were quietly scoffed at because our product was a "best of breed" product in our space.

    Then we got hit by a huge wave of lost sales because we had no viable scheme in place to proper interact with Internet-based applications.

    The then-CEO called a "developers all-hands" meeting in which he pranced around on the stage at the front of the auditorium to complain to us that nobody had been telling him how important this Internet thing was going to be and that we were supposed to be keeping an eye on the leading edge of technology so he can make plans for these things.

    This sparked a VERY LOUD outcry as about 150 software developers who'd been ignored and scoffed at for months just flipped a switch into revolution mode. Lots of people started talking loudly (then shouting). One guy with a laptop connected it to the big projector display and started scrolling through an email folder where he'd collected the notices warning about the importance of the Internet and management's (including the CEO's) condescending replies. By the end of that little skirmish the CEO was making a lame excuse that he was "joking" and was "taking our feedback very seriously" after 20 people (half of them very senior) just flatly quit in front of him and walked out of the auditorium.

    That's probably the worst "read the fucking room, dude!" moment I ever saw.

  • For someone who doesn't want to see this stuff you sure as fuck spend a lot of time in a community specifically made to share and comment on this stuff.