blarg?

January 5, 2020

Crossfade Dissonance

Filed under: a/b,awesome,beauty,lunacy,microfiction,music — mhoye @ 8:58 pm

@pamela :

I will never, ever tire of seamlessly transitioning from the end of Mean Girls to the beginning of Hackers with the same song, this was a damn *gift* given to us by the movie industry

@mhoye :

@pamela Has somebody actually crossfaded the video for this?

@pamela :

@mhoye not that I’ve found, but I live in hope…

@kiethzg :

@pamela @mhoye Sounds like a fun little project to start off my weekend with!
@pamela @mhoye I actually got distracted with even sillier things, but! Finally did this. Then watched it on a loop for a bit. Then remembered I should actually upload it somewhere! So here it is:

I really love the idea of jumping from movie to completely unrelated movie through a common song and a smooth soundtrack crossfade. The only rule, really, is that the song you jump into a movie with has to be earlier in the movie than the one you jump out with. Anyone out there got a dataset of movie soundtracks I could use to cobble together an Oracle Of Bacon-like tool for figuring out the forward soundtrack distance between movies?

December 26, 2019

Star Wars 1979

Filed under: academic,analog,awesome,beauty,books,documentation,flickr,weird — mhoye @ 4:01 pm

Star Wars 1979

This is from a children’s Star Wars book printed in 1979, called “The mystery of the rebellious robots”. The story is nothing – spoilers, but the answer is they cheaped out on aftermarket parts and got hacked by Jawas – but I’m going to have to scan the whole thing, because stripped of the story the art is inexplicably great. I’ll come back with the whole thing in a few days.

Intrasective Subversions

I often wonder where we’d be if Google had spent their don’t-be-evil honeymoon actually interviewing people for some sort moral or ethical framework instead of teaching a generation of new hires that the important questions are all about how many piano tuners play ping pong on the moon.

You might have seen the NYTimes article on hypertargeted product placement, one of those new magical ideas that look totally reasonable in an industry where CPU cycles are cheap and principles are expensive.

I just wanted to make sure we all understood that one extremely intentional byproduct of that will breathe new life into the old documnent-canary trick of tailoring sensitive text with unique punctuation or phrasing in particularly quotable passages to identify leakers, and has been purpose-built as a way to precision-target torrent seeders or anyone else who shares media. “We only showed this combination of in-product signal to this specific person, therefore they’re the guilty party” is where this is going, and that’s not an accident.

The remedy, of course, is going to be cooperation. Robust visual diffs, scene hashes and smart muting (be sure to refer to They Live for placeholder inspiration) will be more than enough to fuzz out discoverability for even a moderately-sized community. As it frequently is, the secret ingredient is smart people working together.

In any case, I’m sure that all right thinking people can agree that ads are the right place to put graffiti. So I’m looking forward to all the shows that are turned into hijacked art-project torrents the moment they’re released, and seeing

THEY LIVE
THEY LAUGH
THEY LOVE

in the background of the pirated romcoms of 2021.

December 19, 2019

Over The Line

IMG_1500044662340

[ This first appeared over on the Mozilla community discourse forums. ]

You can scroll down to the punchline if you like, but I want to start by thanking the Mozilla community, contributors, industry partners and colleagues alike, for the work everyone has put into this. Hundreds of invested people have weighed in on our hard requirements, nice-to-haves and long term goals, and tested our candidates with an eye not just to our immediate technical and community needs but to Mozilla’s mission, our tools as an expression of our values and a vision of a better future. Having so many people show up and give a damn has a rewarding, inspiring experience, and I’m grateful for the trust and patience everyone involved has shown us in helping us get this over the line.

We knew from the beginning that this was going to be a hard process; that it had to be not just transparent but open, not just legitimate but seen to be legitimate, that we had to meet our hard operational requirements while staying true to our values in the process. Today, after almost a year of research, consulting, gathering requirements, testing candidate stacks and distilling everything we’ve learned in the process down to the essentials, I think we’ve accomplished that.

I am delighted and honored to say that we have one candidate that unambiguously meets our institutional and operational needs: we have decided to replace IRC with Riot/Matrix, hosted by Modular.IM.

While all of the candidates proved to be excellent team collaboration and communication tools, Riot/Matrix has distinguished itself as an excellent open community collaboration tool, with robust support for accessibility and community safety that offers more agency and autonomy to the participants, teams and communities that make up Mozilla.

That Matrix gives individual community members effective tools for both reporting violations of Mozilla’s Community Participation Guidelines (“CPG”) and securing their own safety weighed heavily in our decision-making. While all of the candidates offered robust, mature APIs that would meet the needs of our developer, infrastructure and developer productivity teams, Riot/Matrix was the only candidate that included CPG reporting and enforcement tooling as a standard part of their offering, offering individual users the opportunity to raise their own shields on their own terms as well as supporting the general health and safety of the community.

Riot/Matrix was also the preferred choice of our accessibility team. Mozilla is committed to building a company, a community and a web without second class citizens, and from the beginning the accessibility team’s endorsement was a hard requirement for this process.

Speaking personally, it is an enormous relief that we weren’t forced to make “pick-two” sort of choice between community safety, developer support and accessibility, and it is a testament to the hard work the Matrix team has done that we can have all three.

Now that we’ve made our decision and formalized our relationship with the Modular.IM team, we’ll be standing up the new service in January. Soon after that we’ll start migrating tooling and forums over to the new system, and as previously mentioned no later than March of next year, we’ll shut down IRC.mozilla.org.

Thank you all for your help getting us here; I’m looking forward to seeing you on the new system.

– mhoye

December 17, 2019

Poor Craft

Filed under: future,interfaces,linux,microfiction,toys,want,weird,work — mhoye @ 1:53 pm

Ghosting

“It’s a poor craftsman that blames his tools” is an old line, and it took me a long time to understand it.

[ https://www.youtube.com/embed/ShEez0JkOF ]

A friend of mine sent me this talk. And while I want to like it a lot, it reminded me uncomfortably of Dabblers and Blowhards, the canon rebuttal to “Hackers And Painters”, an early entry in Paul Graham’s long-running oeuvre elaborating how special and magical it is to be just like Paul Graham.

It’s surprisingly hard to pin Paul Graham down on the nature of the special bond he thinks hobbyist programmers and painters share. In his essays he tends to flit from metaphor to metaphor like a butterfly, never pausing long enough to for a suspicious reader to catch up with his chloroform jar. […] You can safely replace “painters” in this response with “poets”, “composers”, “pastry chefs” or “auto mechanics” with no loss of meaning or insight. There’s nothing whatsoever distinctive about the analogy to painters, except that Paul Graham likes to paint, and would like to feel that his programming allows him a similar level of self-expression.

There’s an old story about Soundcloud (possibly Spotify? DDG tends to the literal these days and Google is just all chaff) that’s possibly apocryphal but too good not to turn into a metaphor, about how for a long time their offices were pindrop-quiet. About how during that rapid-growth phase they hired people in part for their love of and passion for music, and how that looked absolutely reasonable until they realized their people didn’t love music: they loved their music. Your music, obviously, sucks. So everyone there wears fantastic headphones, nobody actually talks to each other, and all you can hear is in their office is keyboard noise and the HVAC.

I frequently wonder if the people who love Lisp or Smalltalk fall into that same broad category: that they don’t “love Lisp” so much as they love their Lisp, the Howl’s Moving Memory Palaces they’ve built for themselves, tailored to the precise cut of their own idiosyncracies. That if you really dig in and ask them you’ll find that other people’s Lisp, obviously, sucks.

It seems like an easy trap to fall in to, but I suspect it means we collectively spend a lot of time genuflecting this magical yesteryear and its imagined perfect crystal tools when the fact of it is that we spend almost all of our time in other people’s code, not our own.

I feel similarly about Joel Spolsky’s notion of “leaky abstractions”; maybe those abstractions aren’t “leaking” or “failing”. Instead it’s that you’ve found the point where your goals, priorities or assumptions have diverged from those of the abstraction’s author, and that’s ultimately not a problem with the abstraction.

The more time I spend in front of a keyboard, the more I think my core skills here aren’t any more complicated than humility, empathy and patience; that if you understand its authors the code will reveal itself. I’ve mentioned before that programming is, a lot more than most people realize, inherently political. You’re making decisions about how to allocate scarce resources in ways that affect other people; there’s no other word for it. So when you’re building on other people’s code, you’re inevitably building on their assumptions and values as well, and if that’s true – that you spend most of your time as a programmer trying to work with other people’s values and decisions – then it’s guaranteed that it’s a lot more important to think about how to best spend that time, or optimize those tools and interactions, rather than championing tools that amount to applied reminiscence, a nostalgia with a grammar. In any other context we’d have a term for that, we’d recognize it for what it is, and it’s unflattering.

What does a programming language optimized for ease-of-collaboration or even ease-of-empathy look like, I wonder? What does that development environment do, and how many of our assumptions about best collaborative practices are just accidental emergent properties of the shortcomings of our tools? Maybe compiler pragmas up front as expressions of preferred optimizations, and therefore priorities? Culture-of-origin tags, demarking the shared assumptions of developers? “Reds and yellows are celebratory colors here, recompile with western sensibilities to swap your alert and default palettes with muted blues/greens.” Read, Eval, Print looping feels for all its usefulness like a huge missed opportunity, an evolutionary dead end that was just the best model we could come up with forty years ago, and maybe we’ve accidentally spent a lot of time looking backwards without realizing it.

Long Term Support

Filed under: a/b,digital,future,interfaces,linux,toys,want,work — mhoye @ 11:34 am

I bought a cordless drill from DeWalt a few years before they standardized on their current 20 volt form factor. Today the drill part of the drill is still in good shape, but its batteries won’t hold a charge – don’t store your batteries in the shed over the winter, folks, that’s rookie mistake – and I can’t replace them; they just don’t make them anymore. Nobody does.

I was thoroughly prepared to be annoyed about this, but it turns out DeWalt makes an adapter that slots right into my old drill and lets me use their new standard batteries. I’ll likely get another decade out of it as a result, and if the drill gives up the ghost in the meantime I’ll be able to use those batteries in its replacement.

Does any computer manufacturer out there anywhere care about longevity like that, today? The Cadillac answer to that used to be “Thinkpad”, but those days are long gone and as far as I can tell there’s nothing else in this space. I don’t care about thin or light at all. I’m happy to carry a few extra pounds; these are my tools, and if that’s the price of durable, maintainable and resilient tools means a bit of extra weight in the bag I’ll pay it and smile. I just want to be able to fix it; I want something I can strip all the way down to standard parts with a standard screwdriver and replace piecemeal when it needs piecemeal replacing. Does anyone make anything like this anymore, a tradesman’s machine? The MNTRE people are giving it a shot. Is anyone else, anywhere?

December 13, 2019

Decentralia

Filed under: a/b,digital,documentation,fail,interfaces,vendetta — mhoye @ 3:16 pm

It’s been a few years since I’ve seen an interview with Jack Dorsey that didn’t read like he’d just smoked an entire copy of Atlas Shrugged, so when he announced that he was willing to fund “up to five” people to wash his hands a lot of people were a little suspicious, including me:

Twitter doesn’t exactly have a history of doing the reading before coming to class, so it wasn’t a surprise that there wasn’t so much as a nod to existing work in the space. I also wasn’t surprised to see so much criticism emerge from a fundamental mistrust of both Twitter’s intent and execution; ambulance-chaser to the world’s worst ideas is definitely in-character for that company. That said, it’s definitely a testament to the fundamental optimism of the open source world that so many people offered to help at all.

It’s Twitter, so there’s plenty of healthy pessimism around – as one example, Diaspora developer Sean Tilley said that “the pessimistic interpretation is that Twitter wants this, but also wants to control the standard” – but even seeing that and a lot like it the “real why” question still nagged at me. Ok, you don’t want to control the client anymore. Great. You don’t necessarily want to control the infrastructure, also great, so… what’s left? We know who you are, we know what you are: what do you want to control here and to what end?

To me this smells like a cryptocurrency play. A clever one, admittedly, but still.

The general shape of that corner of the law is very strange to me; it’s illegal to create your own currency, for example, entirely legal to issue non-voting shares of stock in your company, we’re apparently undecided about cryptocoinage, and it’s not clear to me what makes any of those things different. That aside, my concern is this: if some financial services company manages to finagle enough control over, say, the wheat futures market and the bread futures market then the people who own and operate the bread-making plant in the middle wind up having very little agency over their fates beyond the decision of whether or not to operate the machinery at all.

With that model in mind, if this is a cryptocurrency play and Twitter manages to turn themselves in to the First National Bank of the Fediverse – by which I mean, if they can open up the application or storage layer while maintaining control over a separate value-exchange layer – then they can effectively meet the letter of the law as far as “open” is concerned (Readable code! Data migration!) while completely subverting open source’s ideological goals of user agency, safety and real, informed choice. If my suspicions are correct, the end play for this Twitter thing is not more agency or meaningful freedom for the participants, but simply dumping of the costs of operating the machinery of openness on an unsuspecting and ideologically-blinded audience. Or in the classic phrasing: socializing the costs and privatizing the profits. The only new twist here is the audience.

For my own part, beyond updating my sarcastic comments about the blockchain to sarcastic comments about “up to five open source architects, engineers, and designers” I’m going to ignore it. We’ve got a better future to build here, and if Twitter wants to be a part of that they can clean their own house first before wiring themselves up to everyone else’s.

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.

Older Posts »

Powered by WordPress