blarg?

November 29, 2019

Historical Reasons

Filed under: digital,documentation,interfaces,mozilla,work — mhoye @ 12:09 pm

Untitled

I’ve known for a while how to override bash builtins, but it was something I’d long filed under “ok but why” in my mental repository of software esoterica. Until I saw this comment I hadn’t considered how useful it could be.

I’ve long held the position that our tools are so often ahumanist junk because we’re so deeply beholden to a history we don’t understand, and in my limited experience with the various DevOps toolchains, they definitely feel like Stockholm Spectrum products of that particular zeitgeist.  It’s a longstanding gripe I’ve got with that entire class of tools, Docker, Vagrant and the like; how narrow their notions of a “working development environment” are. Source, dependencies, deploy scripts and some operational context, great, but… not much else?

And on one hand: that’s definitely not nothing. But on the other … that’s all, really? It works, for sure, but it still seems like a failure of imagination that solving the Works On My Machine problem involves turning it inside out so that “deploy from my machine” means “my machine is now thoroughly constrained”. Seems like a long road around to where we started out but it was a discipline then, not a toolchain. And while I fully support turning human processes into shell scripts wherever possible (and checklists whenever not), having no slot in the process for compartmentalized idiosyncracy seems like an empty-net miss on the social ergonomics front; improvements in tooling, practice or personal learning all stay personal, their costs and benefits locked on local machines, leaving the burden of sharing the most human-proximate part of the developer experience on the already-burdened human, a forest you can never see past the trees.

This gist is a baby step in a different direction, one of those little tweaks I wish I’d put together 20 years ago; per-project shell history for everything under ~/src/ as a posix-shell default. It’s still limited to personal utility, but at least it gives me a way to check back into projects I haven’t touched in a while and remind myself what I was doing. A way, he said cleverly, of not losing track of my history.

The next obvious step for an idea like this from a tool and ergonomics perspective is to make containerized shell history an (opt-in, obvs) part of a project’s telemetry; I am willing to bet that with a decent corpus, even basic tools like grep and sort -n could draw you a straight line from “what people are trying to do in my project” to “where is my documentation incorrect, inadequate or nonexistent”, not to mention “what are my blind spots” and “how do I decide what to built or automate next”.

But setting that aside, or at least kicking that can down the road to this mythical day where I have a lot of spare time to think about it, this is unreasonably useful for me as it is and maybe you’ll find it useful as well.

November 24, 2019

Verso Polity

Filed under: arcade,digital,documentation,doom,interfaces — mhoye @ 12:53 am

I had to go looking for it to re-watch, because I was briefly exposed to it and couldn’t coherently ingest what I thought I’d seen. I do not ask you to believe, but I won’t give you a link. I cannot inflict this on you in good faith. All I can do is document what I saw.

It begins like this: Our carefully engineered everyman enters an aggressively debranded chain computer store. He has a vaguely north-England accent, an generic outfit stripped of any brand iconography or notable individuality, shoulder-length hair and something a more charitable man than I might refer to as a beard. He is meticulously anodyne, a golem animated from the gaming industry’s most embarrassing default settings and left with the appearance of a man whose inner monologue is the sound of a pizza pocket rotating in a microwave.

And none of that matters because he has no agency over his fate from this moment forward. He won’t even get to finish a sentence. In that sense he is the perfect customer, a walking madlib for the machine to fill in.

“Hi, I’m looking for” he says. Reginald – presumptive avatar of the corporation that paid for this ad – interrupts him immediately with the name of the product, a move so pitch-perfect it hurts. Did he want a printer? A cable? A hamburger? An escape from this narrow semiotic hell? We will never know and it could not matter less. Our everyman’s desires are irrelevant; Reginald is now in charge and physical reality immediately begins to flex and degrade around them as he repeats the product’s name like an invocation.

We are eight seconds into a two minute video and there is already a lot to unpack here.

Screens flashing unfamiliar scenes – presumably games, though nobody is there to play them – start to rotate around our protagonists, and the ceiling bends and shatters as they ascend together through this increasingly distorted reality. They have risen above their debranded chain-store origins. Surrounded by a chaff of whirling screens, their interaction is taking place in the reddened corona of a dying star.

Our everyman does not speak, conveying an incredulous disbelief which in fairness seems reasonable under the circumstances. The product being marketed is described as “electric air” as Reginald flies past our everyman to alight before a large and thoroughly uninspired logo.

We cut directly to what appears to be a young couple’s house, minimally if tastefully ornamented; the couple is on a couch playing video games together. Reginald, who I feel obligated to remind you is the company’s avatar in this video, is now a glowing red giant gazing in the window at this unsuspecting couple. The window is some eight feet tall; Reginald’s face takes up all of it. After mentioning a single presumably positive fact about the product Reginald reaches in through the window and – to the shocked screams of the young couple – destroys their home entertainment system.

We cut to see Reginald now holding the home in his hands; he immediately flings it over his shoulder with a smile as he extols more of the product’s virtues. We can hear the screams of the young couple and the crunch as the house hits the ground.

Reginald mentioned that the web service we’re selling here is odourless before sending a dog to find the product, assuring our everyman that the dog will fail. The dog walks through a wall and vanishes.

We are now at the 36 second mark of this adventure and if you haven’t buckled your semiotic seatbelts yet now’s the time.

A white plastic controller emerges, blob-like, from a white plastic table next to a coffee cup, a generic TV remote control and a cactus. As it congeals into the shape of a recognizably typical console controller, a finger pushes a central button and the screen transforms into a neon sign saying “4K 60FPS”. We cut immediately to a repeating, kaleidoscopic display of Reginald’s face, and the small print at the bottom of that image informs you that you won’t get 4K or 60FPS if you do not spend a lot of money while living in the right city. The phrases “four kay” and “sixty eff pee ess” are repeated. 43 seconds have elapsed.

Another young man, approximately sixteen years old and draped in his father’s suit like a double-breasted poncho appears and yells a product endorsement at our everyman, who cannot hear him over the deafening sound of a backing track that’s almost certainly called “dance_club-synth_beat-#4-fr33s0undz-cr3wz-chek-id3tags-4-bitcoin-addres.Mp3” It’s implied I can’t hear it either, because for some reason there are subtitles for this interaction? Shortly the young man transforms into a kayak on the floor of another living room, into which Reginald and our everyman embark for the next part of their journey.

There’s a window in this room as well, and whatever is outside is glowing a violent red; our heroes ignore this and exit into a fantasy land through a screen.

Reginald is, I think we can agree, doling out the symbolism with a shovel at this point. Here we are at the 52 second mark and it’s hard to believe that he was allowed to make this ad at all, because this is already way, way more than “a bit much”. Regardless, let’s press on.

Our heroes riding their ill-fitting-dad-suited kayak-kid hover through some standard game tropes and across a few different screen shapes in some of the least persuasive video editing in recent memory. These screens, we discover, are being held up in yet another living room by a faceless Nashville backup musician, a refugee from an PM-Dawn-themed rave, a disenchanted cybergoth girl and an electric scooter enthusiast respectively.

We cut now to our heroes drifting briefly in free fall in a typical movie-set space station. Reginald is now somehow wearing a space suit but our everyman is still in his street clothes; he doesn’t get that sort of special treatment, here in the vacuum of space. Kayak kid is gone but that’s probably for the best.

We’re assured that this new product “bends time and space” in some way that’s convenient, and then our everyman is dragged into a kaleidoscopic wormhole to the sound of dismayed screams.

One minute and sixteen seconds in, this kaleidoscopic wormhole extrudes itself into a golf cart that Reginald is driving past racks of servers with a badged and lab-coated employee next to him and our everyman in the back seat, alone with his worried expression. The employee says a few technical terms, and is cut off as we brake suddenly to find the aforementioned dog appearing in the middle of this otherwise infinite hall of glowing server racks. It has succeeded, and for a fraction of a second is acknowledged as a good dog.

Dog and everyman look equally traumatized by whatever is going on here and I cannot say I disagree because damn.

As usual though that doesn’t matter and we leave the dog immediately to hurtle further down the infinite racks of servers hallway while Reginald sings the virtues of having infinite racks of servers. Like dadsuit-kayak-boy, the dog is left to an indeterminate fate.

After flashing past a few fractions of a second of gameplay from a handful of games somebody who played games might recognize, we are at the one minute and forty-one second mark, and I thought things were off the rails before.

Reginald has now ascended back into this purple cloud space thing that reality had collapsed into back in the beginning of this odyssey, accompanied by our everyman, the scientist and for some reason the golf cart, all of which vanish momentarily. More screens swirl around lightning cascades from his outstretched hands, as he yells what is apparently this product’s slogan: “unthink the things you think are things”.

I promise you I am not making that up. That’s the punchline to this exercise.

There’s some more horrific awkwardness after that, but it doesn’t matter. It’s been a while since I’ve seen a commercial that was so obviously a joke made at the expense of the people paying for it, and this one really hits it out of the park. Either this happened on purpose or it happened by accident, and I’m not sure which is worse. On the bright side, given the size of the company we can be confident that people are making fun if it in deadpan conversations around the company literally thousands of times a day.

“Have you tried unthinking some things?” “Things I thought were things, you mean?” “Those are some things I think you could unthink.” “I’ll think about it.”

Don’t bother watching it.

October 23, 2019

The State Of Mozilla, 2019

Filed under: awesome,documentation,future,interfaces,linux,mozilla,vendetta,work — mhoye @ 11:52 am

As I’ve done in previous years, here’s The State Of Mozilla, as observed by me and presented by me to our local Linux user group.

Presentation:[ https://www.youtube.com/embed/RkvDnIGbv4w ]

And Q&A: [ https://www.youtube.com/embed/jHeNnSX6GcQ ]

Nothing tectonic in there – I dodged a few questions, because I didn’t want to undercut the work that was leading up to the release of Firefox 70, but mostly harmless stuff.

Can’t be that I’m getting stockier, though. Must be the shirt that’s unflattering. That’s it.

80×25

Every now and then, my brain clamps on to obscure trivia like this. It takes so much time. “Because the paper beds of banknote presses in 1860 were 14.5 inches by 16.5 inches, a movie industry cartel set a standard for theater projectors based on silent film, and two kilobytes is two kilobytes” is as far back as I have been able to push this, but let’s get started.

In August of 1861, by order of the U.S. Congress and in order to fund the Union’s ongoing war efforts against the treasonous secessionists of the South, the American Banknote Company started printing what were then called “Demand Notes”, but soon widely known as “greenbacks”.

It’s difficult to research anything about the early days of American currency on Wikipedia these days; that space has been thoroughly colonized by the goldbug/sovcit cranks. You wouldn’t notice it from a casual examination, which is of course the plan; that festering rathole is tucked away down in the references, where articles will fold a seemingly innocuous line somewhere into the middle, tagged with an exceptionally dodgy reference. You’ll learn that “the shift from demand notes to treasury notes meant they could no longer be redeemed for gold coins[1]” – which is strictly true! – but if you chase down that footnote you wind up somewhere with a name like “Lincoln’s Treason – Fiat Currency, Maritime Law And The U.S. Treasury’s Conspiracy To Enslave America”, which I promise I am only barely exaggerating about.

It’s not entirely clear if this is a deliberate exercise in coordinated crank-wank or just years of accumulated flotsam from the usual debate-club dead-enders hanging off the starboard side of the Overton window. There’s plenty of idiots out there that aren’t quite useful enough to work the k-cups at the Heritage Institute, and I guess they’re doing something with their time, but the whole thing has a certain sinister elegance to it that the Randroid crowd can’t usually muster. I’ve got my doubts either way, and I honestly don’t care to dive deep enough into that sewer to settle them. Either way, it’s always good to be reminded that the goldbug/randroid/sovcit crank spectrum shares a common ideological klancestor.

Mercifully that is not what I’m here for. I am here because these first Demand Notes, and the Treasury Notes that came afterwards, were – on average, these were imprecise times – 7-3/8” wide by 3-1/4” tall.

I haven’t been able to precisely answer the “why” of that – I believe, but do not know, that that this is because of the size of the specific dimensions of the presses they were printed on. Despite my best efforts I haven’t been able to find the exact model and specifications of that device. I’ve asked the U.S. Congressional Research Service for some help with this, but between them and the Bureau of Engraving and Printing, we haven’t been able to pin it down. From my last correspondence with them:

Unfortunately, we don’t have any materials in the collection identifying the specific presses and their dimension for early currency production. The best we can say is that the presses used to print currency in the 1860s varied in size and model. These presses went by a number of names, including hand presses, flat-bed presses, and spider presses. They also were capable of printing sheets of paper in various sizes. However, the standard size for printing securities and banknotes appears to have been 14.5 inches by 16.5 inches. We hope this bit of information helps.

… which is unfortunate, but it does give us some clarity. A 16.5″ by 14.5″ printing sheet lets you print eight 7-3/8” by 3-1/4″ sheets to size, with a fraction of an inch on either side for trimming.

The answer to that question starts to matter about twenty years later on the heels of the 1880 American Census. Mandated to be performed once a decade, the United States population had grown some 30% since the previous census, and even with enormous effort the final tabulations weren’t finished until 1888, an unacceptable delay.

One of the 1880 Census’ early employees was a man named Herman Hollerith, a recent graduate of the Columbia School of Mines who’d been invited to join the Census efforts early on by one of his professors. The Census was one of the most important social and professional networking exercises of the day, and Hollerith correctly jumped at the opportunity:

The absence of a permanent institution meant the network of individuals with professional census expertise scattered widely after each census. The invitation offered a young graduate the possibility to get acquainted with various members of the network, which was soon to be dispersed across the country.

As an aside, that invitation letter is one of the most important early documents in the history of computing for lots of reasons, including this one:

The machine in that picture was the third generation of the “Hollerith Tabulator”, notable for the replaceable plugboard that made it reprogrammable. I need to find some time to dig further into this, but that might be the first multipurpose, if not “general purpose” as we’ve come to understand it, electronic computation device. This is another piece of formative tech that emerged from this era, one that led to directly to the removable panels (and ultimately the general componentization) of later computing hardware.

Well before the model 3, though, was the original 1890 Hollerith Census Tabulator that relied on punchcards much like this one.

Hollerith took the inspiration for those punchcards from the “punch photographs” used by some railways at the time to make sure that tickets belonged to the passengers holding them. You can see a description of one patent for them here dating to 1888, but Hollerith relates the story from a few years earlier:

One thing that helped me along in this matter was that some time before I was traveling in the west and I had a ticket with what I think was called a punch photograph. When the ticket was first presented to a conductor he punched out a description of the individual, as light hair, dark eyes, large nose etc. So you see I only made a punch photograph of each person.

Tangentially: this is the birth of computational biometrics. And as you can see from this extract from The Railway News (Vol. XLVIII, No. 1234 , published Aug. 27, 1887) people have been concerned about harassment because of unfair assessment by the authorities from day one:

punch-photograph

After experimenting with a variety of card sizes Hollerith decided that to save on production costs he’d use the same boxes the U.S. Treasury was using for the currency of the day: the Demand Note. Punch cards stayed about that shape, punched with devices that looked a lot like this for about 20 years until Thomas Watson Sr. (IBM’s first CEO, from whom the Watson computer gets its name) asked Clair D. Lake and J. Royden Peirce to develop a new, higher data-density card format.

Tragically, this is the part where I need to admit an unfounded assertion. I’ve got data, the pictures line up and numbers work, but I don’t have a citation. I wish I did.

Take a look at “Type Design For Typewriters: Olivetti, written by Maria Ramos Silvia. (You can see a historical talk from her on the history of typefaces here that’s also pretty great.)

Specifically, take a look on page 46 at Mikron Piccolo, Mikron Condensed. The fonts don’t precisely line up – see the different “4”, for example, when comparing it to the typesetting of IBM’s cards – but the size and spacing do. In short: a line of 80 characters, each separated by a space, is the largest round number of digits that the tightest typesetting of the day would allow to be fit on a single 7-3/8” wide card: a 20-point condensed font.

I can’t find a direct citation for this; that’s the only disconnect here. But the spacing all fits, the numbers all work, and I’d bet real money on this: that when Watson gave Lake the task of coming up with a higher information-density punch card, Lake looked around at what they already had on the shelf – a typewriter with the highest-available character density of the day, on cards they could manage with existing and widely-available tooling – and put it all together in 1928. The fact that a square hole – a radical departure from the standard circular punch – was a patentable innovation at the time was just icing on the cake.

The result of that work is something you’ll certainly recognize, the standard IBM punchcard, though of course there’s lot more to it than that. Witness the full glory of the Card Stock Acceptance Procedure, the protocol for measuring folding endurance, air resistance, smoothness and evaluating the ash content, moisture content and pH of the paper, among many other things.

At one point sales of punchcards and related tooling constituted a completely bonkers 30% of IBM’s annual profit margin, so you can understand that IBM had a lot invested in getting that consistently, precisely correct.

At around this time John Logie Baird invented the first “mechanical television”; like punchcards, the first television cameras were hand-cranked devices that relied on something called a Nipkow disk, a mechanical tool for separating images into sequential scan lines, a technique that survives in electronic form to this day. By linearizing the image signal Baird could transmit the image’s brightness levels via a simple radio signal and in 1926 he did just that, replaying that mechanically encoded signal through a CRT and becoming the inventor of broadcast television. He would go on to pioneer colour television – originally called Telechrome, a fantastic name I’m sad we didn’t keep – but that’s a different story.

Baird’s original “Televisor” showed its images on a 7:3 aspect ration vertically oriented cathode ray tube, intended to fit the head and shoulders of a standing person, but that wouldn’t last.

For years previously, silent films had been shot on standard 35MM stock, but the addition of a physical audio track to 35MM film stock didn’t leave enough space left over for the visual area. So – after years of every movie studio having its own preferred aspect ratio, which required its own cameras, projectors, film stock and tools (and and and) – in 1929 the movie industry agreed to settle on the Society of Motion Picture And Television Engineers’ proposed standard of 0.8 inches by 0.6 inches, what became known as the Academy Ratio, or as we better know it today, 4:3.

Between 1932 and 1952, when widescreen for cinemas came into vogue as a differentiator from standard television, just about all the movies made in the world were shot in that aspect ratio, and just about every cathode ray tube made came in that shape, or one that could display it reliably. In 1953 studios started switching to a wider “Cinemascope”, to aggressively differentiate themselves from television, but by then television already had a large, thoroughly entrenched install base, and 4:3 remained the standard for in-home displays – and CRT manufacturers – until widescreen digital television came to market in the 1990s.

As computers moved from teleprinters – like, physical, ink-on-paper line printers – to screens, one byproduct of that standardization was that if you wanted to build a terminal, you either used that aspect ratio or you started making your own custom CRTs, a huge barrier to market entry. You can do that if you’re IBM, and you’re deeply reluctant to if you’re anyone else. So when DEC introduced their VT52 terminal, a successor to the VT50 and earlier VT05 that’s what they shipped, and with only 1Kb of display ram (one kilobyte!) it displayed only twelve rows of widely-spaced text. Math is unforgiving, and 80×12=960; even one more row breaks the bank. The VT52 and its successor the VT100, though, doubled that capacity giving users the opulent luxury of two entire kilobytes of display memory, laid out with a font that fit nicely on that 4:3 screen. The VT100 hit the market in August of 1978, and DEC sold more than six million of them over the product’s lifespan.

You even got an extra whole line to spare! Thanks to the magic of basic arithmetic 80×25 just sneaks under that opulent 2k limit with 48 bytes to spare.

This is another point where direct connections get blurry, because 1976 to 1984 was an incredibly fertile time in the history of computing history. After a brief period where competing terminal standards effectively locked software to the hardware that it shipped on, the VT100 – being the first terminal to market fully supporting the recently codified ANSI standard control and escape sequences – quickly became the de-facto standard, and soon afterwards the de-jure, codified in ANSI-X3.64/ECMA-48. CP/M, soon to be replaced with PC-DOS and then MS-DOS came from this era, with ANSI.SYS being the way DOS programs talked to the display from DOS 2.0 through to beginning of Windows. Then in 1983 the Apple IIe was introduced, the first Apple computer to natively support an 80×24 text display, doubling the 40×24 default of their earlier hardware. The original XTerm, first released in 1984, was also created explicitly for VT100 compatibility.

Fascinatingly, the early versions of the ECMA-48 standard specify that this standard isn’t solely meant for displays, specifying that “examples of devices conforming to this concept are: an alpha-numeric display device, a printer or a microfilm output device.”

A microfilm output device! This exercise dates to a time when microfilm output was a design constraint! I did not anticipate that cold-war spy-novel flavor while I was dredging this out, but it’s there and it’s magnificent.

It also dates to a time that the market was shifting quickly from mainframes and minicomputers to microcomputers – or, as we call them today, “computers” – as reasonably affordable desktop machines that humans might possibly afford and that companies might own a large number of, meaning this is also where the spectre of backcompat starts haunting the industry – This moment in a talk from the Microsoft developers working on the Windows Subsystem for Linux gives you a sense of the scale of that burden even today. In fact, it wasn’t until the fifth edition of ECMA-48 was published in 1991, more than a decade after the VT100 hit the market, that the formal specification for terminal behavior even admitted the possibility (Appendix F) that a terminal could be resized at all, meaning that the existing defaults were effectively graven in stone during what was otherwise one of the most fertile and formative periods in the history of computing.

As a personal aside, my two great frustrations with doing any kind of historical CS research remain the incalculable damage that academic paywalls have done to the historical record, and the relentless insistence this industry has on justifying rather than interrogating the status quo. This is how you end up on Stack Overflow spouting unresearched nonsense about how “4 pixel wide fonts are untidy-looking”. I’ve said this before, and I’ll say it again: whatever we think about ourselves as programmers and these towering logic-engines we’ve erected, we’re a lot more superstitious than we realize, and by telling and retelling these unsourced, inaccurate just-so stories without ever doing the work of finding the real truth, we’re betraying ourselves, our history and our future. But it’s pretty goddamned difficult to convince people that they should actually look things up instead of making up nonsense when actually looking things up, even for a seemingly simple question like this one, can cost somebody on the outside edge of an academic paywall hundreds or thousands of dollars.

So, as is now the usual in these things:

  • There are technical reasons,
  • There are social reasons,
  • It’s complicated, and
  • Open access publication or GTFO.

But if you ever wondered why just about every terminal in the world is eighty characters wide and twenty-five characters tall, there you go.

October 19, 2019

Apparel

Filed under: awesome,business,toys,weird — mhoye @ 7:43 am

I made a thing and somebody said “I want that on a shirt”. If that was you, here’s your chance.

It’s a great game, incidentally.

September 21, 2019

Retrospect

Filed under: analog,digital,doom,future,life,vendetta — mhoye @ 6:51 am

Untitled

I bailed out of Twitter not long after I put this up. I tried to follow Anil’s lead going to lists and zero followers for a bit, but after some time reflecting on that last blown-up tweet I couldn’t stomach it. If I believed Twitter was that bad, and had to invest that much effort into twisting it away from its owners intentions into something I could use, what was I doing there at all? I look at that tweet now and all I feel is complicit; I might have given somebody a reason to try Twitter, or stay on Twitter, and I’m ashamed of it. Recently I’ve been using it just to put links to these blogposts up, but I’m trying to decide if I’m going to keep doing even that. It’s embarrassing.

Even at first, finding time and space free of that relentless immediacy was a relief. That sense of miserable complicity was reason enough to leave, but after some distance, reflection and feeling (and being) a lot better about basically everything, playing around in the fediverse a bit and getting eight hours sleep for the first time in a long while, I had a sense of being on the verge of different. In that rediscovered space for longer consideration I started to recognize a rare but familiar feeling, the lightness of putting some part of my life I didn’t care for much behind me.

Obvious from a distance, I guess; McLuhan is old news. Companies create their customers, and the perfect audience for any ad-driven company is a person who’s impulsive, angry, frightened and tired. The cyclic relationships between what you see and how you think, feel and react makes that the implicit victory condition for any attention-economy machine learning, the process of optimizing the creation of an audience too anxious and angry to do anything but keep clicking on reasons to be anxious and angry.

Whatever else you get out of it, the company selling your attention is trying to take your control of your attention away from you. That’s their job; what incentives point to anything else? It’s a machine that’s purpose-built for turning you into someone you don’t want to be.

September 17, 2019

A Process By Which Scarce Resources Are Allocated

Filed under: a/b,digital,documentation,future,interfaces — mhoye @ 5:05 am

Counterpoint: any software that is intended to be used by humans is inevitably an expression of its programmers’ understanding of the software’s audience, and therefore the programmers’ beliefs about the nature of those humans’ lives and priorities and the value of their time and experiences. Consequently, larger a program is, the more likely it becomes that you can evaluate its merits purely on the politics of its developers.

September 11, 2019

Duty Of Care

A colleague asked me what I thought of this Medium article by Owen Bennett on the application of the UK’s Duty of Care laws to software. I’d had… quite a bit of coffee at that point, and this (lightly edited) was my answer:

I think the point Bennett makes early about the shortcomings of analogy is an important one, that however critical analogy is as a conceptual bridge it is not a valuable endpoint. To some extent analogies are all we have when something is new; this is true ever since the first person who saw fire had to explain to somebody else, it warms like the sun but it is not the sun, it stings like a spear but it is not a spear, it eats like an animal but it is not an animal. But after we have seen fire, once we know fire we can say, we can cage it like an animal, like so, we can warm ourselves by it like the sun like so. “Analogy” moves from conceptual, where it is only temporarily useful, to functional and structural where the utility endures.

I keep coming back to something Bryan Cantrill said in the beginning of an old DTrace talk – https://www.youtube.com/watch?v=TgmA48fILq8 – (even before he gets into the dtrace implementation details, the first 10 minutes or so of this talk are amazing) – that analogies between software and literally everything else eventually breaks down. Is software an idea, or is it a machine? It’s both. Unlike almost everything else.

(Great line from that talk – “Does it bother you that none of this actually exists?”)

But: The UK has some concepts that really do have critical roles as functional- and structural-analogy endpoints for this transition. What is your duty of care here as a developer, and an organization? Is this software fit for purpose?

Given the enormous potential reach of software, those concepts absolutely do need to survive as analogies that are meaningful and enforceable in software-afflicted outcomes, even if the actual text of (the inevitable) regulation of software needs to recognize software as being its own, separate thing, that in the wrong context can be more dangerous than unconstrained fire.

With that in mind, and particularly bearing in mind that the other places the broad “duty of care” analogy extends go well beyond beyond immediate action, and covers stuff like industrial standards, food safety, water quality and the million other things that make modern society work at all, I think Bennett’s argument that “Unlike the situation for ‘offline’ spaces subject to a duty of care, it is rarely the case that the operator’s act or omission is the direct cause of harm accruing to a user — harm is almost always grounded in another user’s actions” is incorrectly omitting an enormous swath of industrial standards and societal norms that have already made the functional analogy leap so effectively as to be presently invisible.

Put differently, when Toyota recalls hundreds of thousands of cars for potential defects in which exactly zero people were harmed, we consider that responsible stewardship of their product. And when the people working at Uber straight up murder a person with an autonomous vehicle, they’re allowed to say “but software”. Because much of software as an industry, I think, has been pushing relentlessly against the notion that the industry and people in it can or should be held accountable for the consequences of their actions, which is another way of saying that we don’t have and desperately need a clear sense of what a “duty of care” means in the software context.

I think that the concluding paragraph – “To do so would twist the law of negligence in a wholly new direction; an extremely risky endeavour given the context and precedent-dependent nature of negligence and the fact that the ‘harms’ under consideration are so qualitatively different than those subject to ‘traditional’ duties.” – reflects a deep genuflection to present day conceptual structures, and their specific manifestations as text-on-the-page-today, that is (I suppose inevitably, in the presence of this Very New Thing) profoundly at odds with the larger – and far more noble than this article admits – social and societal goals of those structures.

But maybe that’s just a superficial reading; I’ll read it over a few times and give it some more thought.

September 6, 2019

Forward Motion

Metamorphosis.

This has been a while coming; thank you for your patience. I’m very happy to be able to share the final four candidates for Mozilla’s new community-facing synchronous messaging system.

These candidates were assessed on a variety of axes, most importantly Community Participation Guideline enforcement and accessibility, but also including team requirements from engineering, organizational-values alignment, usability, utility and cost. To close out, I’ll talk about the options we haven’t chosen and why, but for the moment let’s lead with the punchline.

Our candidates are:

We’ve been spoiled for choice here – there were a bunch of good-looking options that didn’t make it to the final four – but these are the choices that generally seem to meet our current institutional needs and organizational goals.

We haven’t stood up a test instance for Slack, on the theory that Mozilla already has a surprising number of volunteer-focused Slack instances running already – Common Voice, Devtools and A-Frame, for example, among many others – but we’re standing up official test instances of each of the other candidates shortly, and they’ll be available for open testing soon.

The trial period for these will last about a month. Once they’re spun up, we’ll be taking feedback in dedicated channels on each of those servers, as well as in #synchronicity on IRC.mozilla.org, and we’ll be creating a forum on Mozilla’s community Discourse instance as well. We’ll have the specifics for you at the same time as those servers will be opened up and, of course you can always email me.

I hope that if you’re interested in this stuff you can find some time to try out each of these options and see how well they fit your needs. Our timeline for this transition is:

  1. From September 12th through October 9th, we’ll be running the proof of concept trials and taking feedback.
  2. From October 9th through the 30th, we’re going discuss that feedback, draft a proposed post-IRC plan and muster stakeholder approval.
  3. On December 1st, assuming we can gather that support, we will stand up the new service.
  4. And finally – allowing transition time for support tooling and developers – no later than March 1st 2020, IRC.m.o will be shut down.

In implementation terms, there are a few practical things I’d like to mention:

  • At the end of the trial period, all of these instances will be turned off and all the information in them will be deleted. The only way to win the temporary-permanent game is not to play; they’re all getting decommed and our eventual selection will get stood up properly afterwards.
  • The first-touch experiences here can be a bit rough; we’re learning how these things work at the same time as you’re trying to use them, so the experience might not be seamless. We definitely want to hear about it when setup or connection problems happen to you, but don’t be too surprised if they do.
  • Some of these instances have EULAs you’ll need to click through to get started. Those are there for the test instances, and you shouldn’t expect that in the final products.
  • We’ll be testing out administration and moderation tools during this process, so you can expect to see the occasional bot, or somebody getting bounced arbitrarily. The CPG will be in effect on these test instances, and as always if you see something, say something.
  • You’re welcome to connect with mobile or alternative clients where those are available; we expect results there to be uneven, and we’d be glad for feedback there as well. There will be links in the feedback document we’ll be sending out when the servers are opened up to collections of those clients.
  • Regardless of our choice of public-facing synchronous communications platform, our internal Slack instance will continue to be the “you are inside a Mozilla office” confidential forum. Internal Slack is not going away; that has never been on the table. Whatever the outcome of this process, if you work at Mozilla your manager will still need to be able to find you on Slack, and that is where internal discussions and critical incident management will take place.

… and a few words on some options we didn’t pick and why:

  • Zulip, Gitter.IM and Spectrum.Chat all look like strong candidates, but getting them working behind IAM turned out to be either very difficult or impossible given our resources.
  • Discord’s terms of service, particularly with respect to the rights they assert over participants’ data, are expansive and very grabby, effectively giving them unlimited rights to do anything they want with anything we put into their service. Coupling that with their active hostility towards interoperability and alternative clients has disqualified them as a community platform.
  • Telegram (and a few other mobile-first / chat-first products in that space) looked great for conversations, but not great for work.
  • IRCv3 is just not there yet as a protocol, much less in terms of standardization or having extensive, mature client support.

So here we are. It’s such a relief to be able to finally click send on this post. I’d like to thank everyone on Mozilla’s IT and Open Innovation teams for all the work they’ve done to get us this far, and everyone who’s expressed their support (and sympathy, we got lots of that too) for this process. We’re getting closer.

August 26, 2019

Dada In Depth

Filed under: awesome,documentation,future,interfaces,microfiction,weird — mhoye @ 10:35 am

Memetic

Older Posts »

Powered by WordPress