he/him You probably heard about me because I am the founder of the Twisted python networking engine open source project. But I’m also the author and maintainer of several other smaller projects, a writer and public speaker about software and the things software affects (i.e.: everything), and a productivity nerd due to my ADHD. I also post a lot about politics; I’d personally prefer to be apolitical but unfortunately the global rising tide of revanchist fascism is kind of dangerous to ignore.
Public Key
npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4
Profile Code
nprofile1qqst6wz65z6hjajudzputv8tzl52udgvnzxxt9gshc0gg5640m3c0pqpz4mhxue69uhhyetvv9ujumt0wd68ytnsw43q6963z5
Author Public Key
npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Show more details
Published at
2023-03-27T22:06:27+02:00 Event JSON
{
"id": "61f1e68d14d96cd86301e45795b94fcd171759999df0b074bc33cb2371674876" ,
"pubkey": "bd385aa0b579765c6883c5b0eb17e8ae350c988c659510be1e8453557ee38784" ,
"created_at": 1679947587 ,
"kind": 0 ,
"tags": [
[
"mostr",
"https://mastodon.social/users/glyph"
]
],
"content": "{\"name\":\"Glyph\",\"about\":\"he/him\\n\\nYou probably heard about me because I am the founder of the Twisted python networking engine open source project. But I’m also the author and maintainer of several other smaller projects, a writer and public speaker about software and the things software affects (i.e.: everything), and a productivity nerd due to my ADHD. I also post a lot about politics; I’d personally prefer to be apolitical but unfortunately the global rising tide of revanchist fascism is kind of dangerous to ignore.\",\"picture\":\"https://files.mastodon.social/accounts/avatars/000/023/457/original/ad501ceca43dd473.png\",\"nip05\":\"[email protected] \"}" ,
"sig": "5341e684b77439f289d9b67f4384b3e4fa14da2b9735cb90fa48a03a4578347281de58950ed166476bc844a221300162af2877d3ebcf37ee932f9b5f974c4cb7"
}
Last Notes npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph I feel like nothing has made me feel more like “literally no-one buys desktop PCs any more except for streamers” than the product selection in this particular promotional bundle https://mastodon.social/@verge/113136854686165127 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph b.__globals__ obviously doesn't work, 'x' isn't in there. There's no b.__locals__. 'x' isn't closed over so there's no hint in b.__closure__. for similar reasons. inspect.get_annotations(b, eval_str=True) raises a NameError. is the 'x' alias just … gone? npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Is there *no* way to get {"return": int} out of this? https://gist.github.com/glyph/b212555d69db26b39e12a9f990ae86b1 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1ltm…8k2w He literally did not cross my mind, and now I'm worried that LLVM falls into one of these categories and I am uncomfortable thinking about which one it is npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1gjs…cagn they are removing by-creation and first-of-month billing for *everyone*, not just new app store subscriptions. https://news.patreon.com/articles/understanding-apple-requirements-for-patreon npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Right now, the main way that people get into the "career" of open source maintenance, to the extent that that's even a thing, is to accidentally create a couple of useful tools in undergrad and have the bear-trap of sudden unexpected popularity spring shut on them. If you're lucky, you've been working in the industry for a couple of years first and your hobby project or infrastructure spin-out from a work project is what garners the popularity instead. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph The *other* part of what I want to be doing, hopefully, is explicitly *not* just "security updates for some existing libraries that I lucked into getting popular with". While for me, personally, the balance probably nets out to something like 40/40/10 maintenance/R&D/writing, the "R&D" part is *extremely* under-resourced in the open source world, even compared to our often-lamented problems with "maintenance". It's not even lamented! npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph 4. Tidelift, Liberapay, Github Sponsors (and possibly others) are *extremely* skewed towards a "maintenance" view of independent maintainership. And, yeah, that's part of what I am doing (and I do use those platforms and hopefully will use more of them!) but Patreon is geared toward *creative work*, and structurally implies less of a strict orientation towards fixing bugs and responding to security reports or whatever. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph 3. If we were to use a different label for Github Sponsors, do we really all feel like Microsoft Open Source Maintenance Payments for Workgroups is the winning payment-processing savior that we are all waiting for? They might not have today's immediate problem but let's not kid ourselves. I appreciate what they do for the ecosystem but I'm not about to consider them the avatar of justice in independent OSS maintainer payments. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Patreon is the villain of the day (and for good reason) but you may have noticed that I haven't said "and I'm moving to XYZ!" even though it might be natural to say that for, say, Github Sponsors or something. I have a few reasons for this: 1. I'm already on Github Sponsors and Tidelift and Ko-Fi; please feel free to use those if you want. 2. These are all payment processors and therefore somewhat inherently compromised. No ethical consumption under Robotnik, etc. 🧵 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph ZOMGGGGG AND YOU CAN ENABLE CONFIGURATION PROTECTION. I NEVER NEED TO RUN THIS HORRIBLE SCRIPT AGAIN https://files.mastodon.social/media_attachments/files/112/936/702/280/678/526/original/2da45e03089892f5.png npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph ( Context: https://blog.glyph.im/2023/01/a-very-silly-program.html ) npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph OMG BETTERDISPLAY JUST RELEASED 3.x AND IT SUPPORTS EXPLICIT COLOR MODE CHROMA SAMPLING CONFIGURATION AT LONG LAST OUR NIGHTMARE IS OVER https://github.com/waydabber/BetterDisplay#readme https://files.mastodon.social/media_attachments/files/112/936/677/941/822/590/original/ac6a40a4652e1b7e.png npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1ua7…rrg3 and thanks again, it just saved me a bunch of time as Github support replied requiring me to give a specific reason npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1ua7…rrg3 I am still *intensely* curious about what the *point* of doing something like this might be, it's freaking me out a little npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1ua7…rrg3 thanks, I just reported for "inauthentic activity" but it's good to have the chapter and verse on this npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1nlp…pzpa CVSS: High is Jeb Bush standing on stage pathetically begging "please panic" npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1nlp…pzpa please yes. just reported another two "high" CVSS scores on projects I maintain that are incredibly misleading in terms of impact npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1nlp…pzpa if the plates are still spinning, then technically you're winning npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph It’s nice, I guess, to know that good news can be as exhausting as bad news, but I would still like to not be exhausted for a minute npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph In general, you should consider endpoint management to be an additional risk you are adding to your system, *not* a general risk mitigation. That risk needs to be offset by specific features that you *absolutely need* in order to address other known risks. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph This article https://www.theverge.com/2024/7/17/24200354/sam-altman-san-francisco-mansion-lawsuit-lemon-openai reminds me of this song https://youtu.be/Sfw9n2ktX9k?si=u1QKejTjVErrXMrz in multiple ways npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Drafting an article about how Python's complexity still scales down really far and we can and should make it simple. Meanwhile, in a window behind that one: def data_transition(self, input_method: Callable[Concatenate[InputProtocol, OtherFactoryParams], R], new_state: TypifiedDataState[InputProtocol, Core, OtherData, OtherFactoryParams]) -> Callable[[Callable[Concatenate[InputProtocol, Core, Data, OtherFactoryParams], R]], Callable[Concatenate[InputProtocol, Core, Data, OtherFactoryParams], R]]: npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Trying to work on intricate technical problems and communicate a sense of joy in doing so while I have 24/7 instant access to real-time high-fidelity information about the violent downfall of my civilization and the increasing corruption of all its systems — much of which is facilitated by the kinds of technology I have expertise in — is an interesting motivational challenge. I want to face that challenge, but I don't need therapy, I need people to stop being so evil and/or stupid all the time. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph note that in the post the script is 39 lines long and the version in this gist is 105 lines long and I expect that the trajectory here will continue to be consistent and monotonic npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph you can read about the genesis of this script, which I hated writing and I hate having to keep updating and I hate that it needs to exist at all, here https://blog.glyph.im/2023/01/a-very-silly-program.html npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph sometimes when i'm stressed out by current events that I cannot usefully comment on, I will fix esoteric edge-case bugs in personal automations. anyway, apropos of nothing, here's an updated version of my chroma-subsampling workaround applescript which addresses the addition of additional displays, such as a virtual 16:9 display for streaming https://gist.github.com/glyph/7fa60c1e01fea1ea88717a5c18ab78d8 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub125l…xkqy if you don’t know what I am talking about maybe just turn off your phone and head back out to the campground for a few more weeks npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub125l…xkqy glad you got some downtime because you picked a heck of a time to come back npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1aqf…mux4 “HOA posts” seems to be the emerging jargon npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1qu5…qel2 et tu, Numbers npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Good morning. This error message makes no sense, right? Are these types not identical? Incompatible types in assignment (expression has type "Callable[[SelfA, **ThisInputArgs], R]", variable has type "Callable[[SelfA, **ThisInputArgs], R]") [assignment] npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1eu3…d529 what do you say to somebody when “remember to like and subscribe” is inappropriate because they already have? “And also with you”? npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Starting to think the stress of ambient news is getting to me. About 4 hour ago I said to myself, out loud, “sbubby. eef freef.” and I have been intermittently giggling ever since. I wasn’t next to a Subway or anything, just a spontaneous unprompted sbubby. Anyway hi everyone how’s your Friday going npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1xkg…gph9 like is there any way to interfere with or block this spending? it seems like a fait accompli at this point ☹️ npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1xkg…gph9 this looks like fantastic work but I confess I am not sure what to do with this but feel vaguely nauseated npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph I am consciously trying to keep perks to a minimum because I don't want to be running a merch shop, I want to give people a chance to support Python ecosystem software development, but one thing I've been trying to do is a rotating set of acknowledgements in commit messages, implemented here: <https://github.com/glyph/SponCom>. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph If you want to help me out by boosting something, the linked thread is a good one, where I have collected a lot of my ongoing projects to give people a more concrete idea of what supporting my work actually… supports. If you think your followers would be interested in one project in particular, you can just boost that. https://mastodon.social/@glyph/112498550495367755 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph If you have been enjoying my posts, streaming, or open source contributions this week, you can sponsor those things over here <https://www.patreon.com/creatorglyph> (or over on Github Sponsors, if you prefer; all my repos should have the badge at this point.) npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph It's Friday, and that means if you're a patron on my Patreon, then you can read an update about how my week of coding and writing went (spoiler: pretty well?) https://www.patreon.com/posts/patreon-update-108016911 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph I'm not going to try to convince you that Joe Biden should drop out of the race, I honestly don't know if he should, but I'm seeing SO MANY people I respect dismissing this as an FSB psyop. Please take a deep breath and look at this list of *elected Democrats* who have called upon him to step down <https://www.bbc.com/news/articles/c4ngd0dve6lo>. It is quite possible they are all *wrong* but if they are *all* useful idiots, FSB assets, or fascist sympathizers, we are beyond fucked regardless of what Biden does. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub13rc…sz95 damn I very nearly just wrote up a "get rid of greenlet" ticket for sqlalchemy before I came to my senses and realized I don't need that stress in my life npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub13rc…sz95 I have bad news for you about sqlalchemy[asyncio] npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1txc…ajj9 😮 wow it had not even occurred to me to check, I assumed that had happened first npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1txc…ajj9 what's going on with the type keyword? it seems to work fine on 3.12 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph legit cannot wait to use this in 3.13 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph nice https://peps.python.org/pep-0696/ npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub178r…qekt okay if it's even confusing to _you_ I am going to stop feeling bad that I haven't figured it out yet :) npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub178r…qekt there's also this "virtual roll call" thing that I still don't *quite* understand how it fits into the whole process npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub15xv…mg00 it is intensely difficult to set up a system where a programmer getting stuck will be quickly identified but *also* not feel constantly surveilled. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1src…fms4 at this volume of caffeine I'm not sure if I should be congratulating you on a singularly purposeful day or calling someone to perform a wellness check npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1vrf…n672 You could also have some expectations around that element of the process, like, you have to do some pre-work to arrange whatever it is you are going to be working on. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub13gs…v528 you know I'm starting to suspect that the social construct of "scientific journal" might have some serious problems npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1q7h…79d4 I think this is the beta version of the post, but perhaps not the alpha. I do really like your addition and I will try to incorporate it … somehow npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1q7h…79d4 OK time to start fussing over wording forever! ;-) npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Whew. Okay. That was a lot of feelings about Agile which I hope were useful to somebody. That probably should have been a blog post, and maybe I'll wrap it up as one, but I guess doing it live meant that it didn't die in the drafts as I fussed over wording and finding citations forever. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph 3. Close the loop. If you're doing a ton of ceremony to improve estimates and maintain consistent progress and feature delivery in sprint-sized increments, then *measure that shit, and tell your people about it*. Allow them to engage in deliberate practice. Reward accuracy in estimations. If you're paying for the costs, pay enough to actually get the benefits. And if you're not, then *stop*. Recognize the cost, and drop the useless meetings. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph 1. Be honest with yourself. Why are you doing this process? Do you value absolute speed, or do you want accurate estimates? Does delivering functionality in "sprints" even make sense for your target market? Are you soothing your own feelings of uncertainty and risk or are you providing solid plans for the business? npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph If you are a manager and you want to lead an organization that uses something like Scrum effectively, here are the steps to take: npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph This erodes engineering's trust in management. Clearly all the estimates are pointless busy-work, they don't listen to feedback in the retros when engineers say there are too many meetings. So engineers produce garbage estimates to tick the busy-work box as quickly as they can, and everyone is miserable. To say nothing of the impacts that the inevitable layoffs have. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph But at a higher level, sometimes even the idea of "risk reduction" starts to fall apart as even a *logical* construct, before you get to questions of priority and rewards. Consider a green field project, whose ultimate goal is to achieve goal "G", which needs A B C D E and F prerequisites. It has a budget of $M money. The goal of estimating this project accurately is to avoid running out of money. You don't have revenue, you don't have an existing product. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph So this is asking engineers to do a LOT of work to improve a skill which will only help management, without management building the trust that gives engineers confidence that it will be worth their while. This begins with explicit reward structures. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Very briefly, the concept of "deliberate practice" is the idea that in order to be useful, time spent doing an activity must involve active feedback and the intention to incorporate it into your practice. If you spend 100 hours taking guitar lessons where a teacher is giving you instruction and carefully giving feedback on performance, you will probably improve a lot. If you aimlessly pluck the strings for the same amount of time, you will probably not. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Third, while the things that scrum injects into the development process necessarily have costs: 1. the meetings take time 2. they are interruptions 3. they create stress in the form of constant meta-cognition and work-about-the-work They do not *necessarily* have any benefits *at all*. To understand why it is important to understand the concept of "deliberate practice" https://www.apa.org/education-career/k12/practice-acquisition npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph So the dynamic set up by Agile is to divide the business into two classes of person, each with a discrete responsibility. Management (a class of person who definitionally does not want to hear estimates) asking for estimates from engineering (a class of person who definitionally does not want to give estimates). You can see how this might be a challenging environment in which to build mutual trust. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph In this model of the world, the business knows resourcing and the engineers know engineering, and everyone has enough information to stay in their lane and make good decisions. Why do planning poker? Why compute "velocity"? It's not to have a metric for _this_ sprint, the only use for such a metric is, in the _next_ sprint, for engineering to be able to say "no" in a structured, useful way. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Imagine, if you will, a frictionless spherical development team in simple harmonic motion: they receive requirements from the business, they implement the requirements, they have the standups, they plan the poker, they complete the sprint, they do the retro, they improve the process for the next one. One can *imagine* how this works very nicely. Business gets regular results, developers get to communicate realistic estimates, nobody gets overworked, everybody's happy. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph I don't know why I've been thinking so much about "Agile". Maybe looking at LinkedIn too much (for unrelated reasons) has broken some demon seal within me, but despite the fact that I'm not interacting with it now, I find myself annoyed about it more than I have been in a while. Today I guess I've got a milquetoast defense of Agile & Scrum: a lot of what they get blamed for is just management trying to go too fast, without explaining. (ICYMI, see previous for context <https://mastodon.social/@glyph/112735695495968878>) npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub13gs…v528 godspeed, this is an industry “best practice” where everyone does exactly the worst thing here (every metric changes every quarter to constantly course-correct, it’s very annoying) npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1z5a…y6df I am a little irrationally proud I never even turned on God Mode. Honestly I probably should have npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph feeling pretty late to the party here, but: finally https://steamcommunity.com/id/glyf/stats/1145360/achievements/#:~:text=Is%20There%20No%20Escape? npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph let it never be said that I do not have a Brand Identity it might not be a well-designed Brand but it absolutely *is* a Brand https://files.mastodon.social/media_attachments/files/112/766/392/051/891/703/original/be4d344c8ce8b653.png npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph This took… way too long, especially since I thought I was "already done" setting it up last time. it is probably too late to responsibly go live tonight, but… soon (A not-inconsiderable chunk of the work here is not visible, since it was setting up a noise filter so that you can't hear the HVAC in here, without causing goofy drop-outs on my voice. if you were on the last stream I am truly sorry for the audio quality.) https://files.mastodon.social/media_attachments/files/112/766/359/576/514/990/original/7523c382ab26e045.png npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub17as…cxxe thank you! to be clear though, are you referring to the add.org article or my thread or both 😅 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1c2v…hta9 man you are *really* going to hate this piece of shit app that’s just called “X” npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1f6a…pnql still powerfully unethical but probably just shy of the line legally. Although only because the precedents on training data aren’t really firm yet… npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Hi @npub1svs…p66u is there any chance you will be adding real threading in the near future? Every time I bemoan the lack of good native Mac mastodon clients, everyone keeps recommending yours, so I'm assuming it must be pretty good, but the "automatic thread conversion" thing is a deal-breaker, as it mangles post boundaries. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1f6a…pnql this is just straightforwardly illegal, right? don’t these writers have likeness rights? npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1pe4…l44s from what I can see on https://openjdk.org/jeps/0 it has not even been proposed. I am also surprised, but honestly a little impressed with their commitment to a principle of uniformity here! npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1pe4…l44s I believe the answer is “no” and I am getting that answer from https://docs.oracle.com/en/java/javase/21/language/java-language-changes.html#GUID-6459681C-6881-45D8-B0DB-395D1BD6DB9B npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph related: hopepunk is not a separate genre or art movement of authors, it is a lens for readers to read grimdark npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph gritty cyberpunk reboot of Zork where the Great Underground Empire is underground due to climate change, and extremely depopulated also due to climate change npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub12fn…v63r reading this toot in the middle of my daily 90 minute outdoor walk, which I resent *so* much, but is absolutely critical to my quality of life npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph The strategy is this: move my pinky finger. That's literally it. I know lots of more advanced strategies around "getting started is harder than getting going" but they often require multiple steps and a bunch of thinking, which just feels overwhelming and impossible. So I pretend that "twitch my pinky finger" is step 1 on that list, and I just do it, with no particular thought to step two. It obviously doesn't *always* work, but the hit rate is shockingly high. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph I have a weird #ADHD lifehack that has been so effective that it's a little embarrassing, so I feel like I need to share it. I suffer from ADHD paralysis <https://add.org/adhd-paralysis/>, which is sometimes so severe that I sit doing nothing, nearly catatonically, with spiraling thoughts, for minutes or even hours. After I learned that this is probably the result of under-stimulation of task-initiation neural pathways, the "start doing literally anything" part of the brain, I devised a strategy. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph some days you scream into the void and there's just nothing, some days you scream into the void and the void is like, you call that a scream, hold my beer npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph even if you think that Biden is absolutely the best shot to defeat Trump, surely it would be nice if he could stop giving off so much "Bilbo muttering 'after all, why not? why shouldn't I keep it?' to the One Ring" energy all the time npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1tkg…2eul these people are living breathing Onion articles, I marvel at how can they get through a day and feed themselves without drinking industrial solvents npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Issues like this which reach across the python ecosystem and affect like — 3? 5? — levels of the stack simultaneously have me starting the day like “Let me update this library I maintain that implements a data structure, by adding fancy new type features to it!” and ending the day like “what is… a path name? Can anyone *truly* know what a path name is?” https://github.com/python/mypy/issues/13392 npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph ran into this today https://stackoverflow.com/questions/15843937/git-push-hangs-after-total-line Which cites documentation claiming that you only need `http.postBuffer` if your HTTP peer is "noncompliant with the HTTP standard" but it fixed the issue with Github and HTTP/2.0. does anyone happen to know what is _actually_ wrong with Git that would cause it to choke on pushing a ~1MB commit but only, like, *sometimes*? a 5MB commit in the same repo does not cause a problem. HTTP/2 doesn't even *have* "chunked encoding", so what is going on here? npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph we need a special kind of curse that you can put on someone who uses an email validation filter that is too strict and filters out valid domains because they have "weird" gTLD extensions npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph My father told me a story about APL being one of the first widely-available REPLs to exist. Since it was contemporary with teletypes, something like ">>>" would literally waste ink, so apparently the convention for the interactive prompt was six spaces, and "space over six" was slang for "interactively prompt the user for code to execute", which is a great bit of slang to have, and much better than "triple greater than" or whatever. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1km9…rh4n the longer I look at this the less I can even guess what it is. I think if I look at it too much longer I might forget how to read and write. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1rv4…ft5j TIL there’s a Riven remake, going to need to get a copy of that npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1wyn…ekvf you are now a guy who *sells* dice npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1qdf…wn0r https://files.mastodon.social/media_attachments/files/112/662/285/718/888/734/original/a7cefa7d7a22c66e.png npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph Looking at the gently-declining MAU count on https://fedidb.org and it occurs to me that folks like me who have moved to promoting our stuff on the Fediverse need to figure out how to promote the Fediverse itself elsewhere. Sea-lioning "Have you heard of Mastodon?" on other platforms doesn't seem like a particularly useful strategy; does anyone find ways to do this that don't feel annoying? npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1uqj…jnvy thanks! that does help. npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1gcl…cs78 if you make a diorama that is bad but if you *discover* a diorama of which you were heretofore unaware I do think that is way worse than npub1h5u94g9409m9c6yrckcwk9lg4c6sexyvvk23p0s7s3f42lhrs7zq75y2g4 Glyph @npub1gcl…cs78 the diorama count *is* still 0, right