Bluesky & Development & Expectations & Stuff

I’m not really “on” Bluesky — but I autopost links to mah blog, because why not. To do this, I installed the Simple Auto Poster For Bluesky plugin. It does what it’s supposed to pretty well, but I wanted to tweak the look of the posts, so now — whaddayouknow — I’m a Bluesky API developer.

Strange how these things happen.

First of all, I have to say that the protocol is pretty nice? It seems like they’ve given a lot of thought to the hard problems — like how everything is distributed, not just posts. (On the other hand, Mastodon has only dealt with the trivial problems and handwave all the difficult problems, so they’ve ended up with a system that’s even more primitive than NNTP, really.)

I’m writing this blog post to kvetch about the more trivial issues that are nevertheless … issues? Sort of.

The documentation is nice and clear, with lots of examples. That’s great. What’s not so great is that it’s unclear where the formal spec is.

For instance, here’s the description of how to create a link: You include something called a “facet” that describes the various bits. You say “the text that starts at byte 74 and ends at byte 108 should be displayed as a link that points to this URL”. This is smart, and is better than using a character based system, because what is a character, after all? 🧎🏻‍♂️, for instance, should be displayed as one glyph but is composed of multiple code points.

(I also like that this eschews the common Do What I Mean approach, and instead is a clear Do What I Say thing.)

But notice that this description doesn’t mention UTF-8 at all. And in the protocol itself, they’re displaying Unicode literals, and not UTF-8 at all. So do the bytes refer to the encoded text, or the decoded text, or what? 🤷

It turns out to be indeed talking about UTF-8… but doesn’t really say what happens if the byte specified is inside a UTF-8 sequence.

For all I know, this is documented extensively somewhere, but I haven’t been able to make Google cough up that documentation.

This is linked from the documentation, but how you’re supposed to use that information is pretty obscure.

Anyway, so there’s good documentation, but not really stringent documentation (that’s easily available).

But I’m writing this boring blog post because of this:

So that’s how you’re supposed to include an image. First you upload a blob, and then you link that blog with an embed that says to use that blog as an image. That’s fine, but the weird thing is that there’s nothing in the blob object about the dimensions of the image, and I found that surprising — because when you render an image, you really have to know how big it is to pre-compute the layout.

This apparent oversight surely isn’t going to byte anybody in the ass, right?

Yes, a couple of days ago my beautiful posts started having cropped images — cropped to 1:1.

After much googling, I found this:

It’s kinda dramatic for some people:

So what happened?

They introduced a new field in the embed: aspectRatio, which is something the client (!) fills out to say what the aspect ratio (!!) of the image is. Note — not the width/height dimensions, necessarily, but the aspect ratio!? But why? The dimensions work perfectly as dimensions, too, so…

Yes, that’s bad, but… why… don’t you just compute the dimensions?

So because they’ve seen that the client supplied dimensions are often bad (well, duh!) they’re going to make all clients that don’t supply aspectRatio (a new field, which is not mentioned in the main guide at all) cropped to a 1:1 square.

*sigh*

Now, people are understandably in a huff — this is really a breaking change, but hasn’t been communicated to developers at all, as far as I can tell.

Yes, that looks horrible. But on the other hand: Twitter changed their image cropping algorithm at least half a dozen times, and people just had to live with it. It was their web site, and they’re free to do what they want. And Bluesky is their web site, and they’re also free to do what they want, so this rhetoric feels overblown and extremely entitled. And besides — Bluesky is 20 people? They don’t have a team to liaison with developers, and that fine.

And it sounds like they’re just going to tweak the CSS on the site (after thanksgiving weekend) to display images in full — but with blank space over/below or right/left to get to a 1:1 layout.

The moral here is: 1) try to keep the implementation guides better updated, and 2) don’t have a public bug tracker, because then people get huffy and shirty.

(I still don’t comprehend why they’re doing all this in the first place — precomputing the dimensions of the images when you upload the blobs seems like a no-brainer, but perhaps the reason for that is on some Discord or other.)

And that’s how I wasted a few hours this weekend, but at least my version of the API client now inserts aspectRatio:

And now I can go back to blogging about comics again.

[Update on Dec 5]

They’ve now pushed a CSS update that displays aspectRatio-less images like this — so they still occupy a 1:1 square layout wise, but aren’t cropped.

November Music

Music I’ve bought in November.

Wow, all of a sudden there’s a ton of music. Are record companies still pushing more albums ahead of Xmas? Like in the olden days? Even though nobody buys albums any more?

Or perhaps it’s just random, but apparently I bought like 40 albums this month.

So, anything interesting? Let’s see…

The 90s revival is going strong.

The latest from The Necks is even better than usual.

Althea & Donna - Uptown Top Ranking

I finally bought the Althea and Donna album.

Xeno & Oaklander - O Vermillion (Official Video)

New Xeno & Oaklander is always fun.

But there’s been so much new music than not a lot has actually gotten stuck in my brain yet.

TBE2020: Dwellings

Dwellings (2020) #1-6,
Dwellings (2024) by Jay Stephens

This blog post is a couple days late because I couldn’t find the Dwellings issues. I finally found the three first issues in a box of unsorted comics from 2022, but I didn’t find the sixth issue. On the other hand, I’ve got the collected edition, so whatevs.

Dwellings is the break-out commercial success of the new Black Eye iteration, I think? It was published in six 36 page issues (an unusual number — comics usually have a page count that’s divisible by eight due to how they’re normally printed) over a year (or two). And I guess part of why this was successful was because of this format: People (and me, too) really like serialised comics.

Along with the unusual page count, these comics feel a bit like print on demand? I don’t think they are, but perhaps they were done at a print place? Comics that are printed by traditional printers are flatter, for one — I think I read somewhere that after stapling, printers use a multiple ton squisher to squish the comics into flatness.

The look of this book is very much aping comics from, say, the 60s — you’ve got “off-register” colour, and newsprint-like paper…

… but the contents are definitely not for the squeamish. This sort of juxtaposition between the really, really cute artwork and the horrific violence and extremely depressing stories isn’t exactly new, but it’s on another level.

Each issue has a complete story, but with some characters that recur across the series. In addition, we get one page like this — I’m guessing they are retellings of Irish stories about how you cheat the devil?

The attention to detail is amazing — like here you have emulated bleed through in the black in areas. But what I wanted to mention is the way that Stephens weaves the fake ads into the stories. So here we have “Eyes on the prize”…

… and then the next page of ads expounds on that. It’s fun.

Most of the stories deal with people with mental problems. Most of the narrators are unreliable, and the effect is… depressing? Stephens manages to make these books actually scary and unsettling, which is very unusual. They’re also just hard to read, one after another, because it feels like there’s just so much despair here.

Overall, I think these are successful books, but as the series progresses, Stephens goes for more elaborate set-ups (that don’t really feel necessary). There’s also the easy digs at “woke” which also just don’t help with the flow of the stories.

But, yeah, these stories pack a punch.

Like I said, I don’t have the sixth issue, but I have the collected edition.

It’s printed in a slightly smaller size, which makes for an even cuter book. And you can buy it from here.

We get a ten page introduction by Stephen Bissette — which is less than an introduction than an in depth essay. The point of introductions is surely to entice people in the bookstore to pick up the book? This doesn’t really do the job, but then again, this book was crowdfunded.

The book looks more or less like they just dumped the files from the original series into a PDF and sent it to the printer. The artwork still has that fake-old printing look, but it’s printed on almost entirely white paper, so it doesn’t really make much sense as an oldee artefact any mre.

You get everything — even the original ads and the covers. Which, again, makes this feel less like something you’re trying to push in a bookstore, and caters more to completist nerds.

The sixth and final story is even more depressing than the previous stories.

Also included is a 3-D bonus story. Well, I guess it’s a hybrid story — you can read it just fine without the glasses, but it has 3-D enhancements if you use the glasses. Some of the panels look quite good 3-D wise, but others push the effect way too far and I wasn’t able to focus at all.

We also get reproductions of the very limited EC Comic-a-like cover editions (only 30 copies made).

After Black Eye published the original six issues, Oni Press reprinted them as three hefty issues, which presumably gave these books wider distribution.

Oni followed up and published this Halloween special this autumn, and it seems like Stephens has stopped doing the faux oldee printing stuff completely — but they’re printing the pages with a beige-ish gutter/margin colour, so I guess it’s not completely gone. Stephens seems to have streamlined his artwork even further? But not the storyline — this one has the most convoluted story of them all (and it’s not as scary).

Stephens is interviewed by TCJ after Dwellings:

And I think it was a question from somebody at the lecture who was saying that it was great to see in Dejects that thing that I did best – combining sort of cute, colorful characters with dark truths. And I’d never considered that as being, you know, what “I did best”. It never occurred to me that subversive was my thing. So I was thinking about that a lot that night that we were staying in Montreal. At the same time, prior to that, one of the other things I’ve been sort of dabbling with over the years, outside of comics, is I had friends here in Guelph that were filmmakers, Black Fawn Films, who were making low budget horror flicks. And I’d worked in the art department on a couple of those. And I’d been thinking about writing them a pitch for a horror script, because I’m a big fan of the horror genre, specifically horror cinema. So I did have a couple of horror ideas that existed in print that were meant for live action. I hadn’t conceived of them as comic stories at all. And then the other element is that, just for fun on my Instagram, I’d been drawing these sort of like fake Harvey-style comic covers of kids from horror movies. And that was it. That one night after that lecture, the three disparate elements just came together really quickly. I asked Michel if he thought it was a dumb idea. And he said, “No, we should do it.”

Good response!

And I didn’t know if it was going to fly… is this too niche, like too, too specific? But the thing is, I really think that those Harvey Comics designs, the look… Warren Kremer’s version of Casper, Hot Stuff, they’re adorable. They’re iconic. And I thought, well, it doesn’t really matter. If at least what’s getting across is it’s supposed to look cute, and it’s supposed to look like an old comic, like a flea market, you know, antique mall find. That’s the joke. For me, I wanted to express the idea of nostalgia and of going backwards to that moment in the past where you’re a kid reading Hot Stuff, and you’re traumatized by The Exorcist. And so that first one was an experiment, and it went over really well. And so then we decided to make it a series and then it became more complicated creatively, because I didn’t want to just repeat myself. I like to think that all six of those stories are their own thing. Almost like they’re different films.

Hm:

It’s fair to say that this, then, is a pretty damn disturbing comic, but not in a way that’s at all gratuitous or ill-considered — if all it were setting out to be was a spoof for its own sake, then that would be another matter, but Stephens is building a complex and immersive fictional world here that references many of the darker aspects of our own, while at the same time overtly wishing that the pre-packaged saccharine innocence so many of us grew up bombarded with could be true.

Right:

People are stabbed, shot, beheaded, disemboweled, hanged, eyeballs plucked by crows for their troubles. I can’t help but think how other contemporary horror comics that trade in a more realistic style fail to hit the mark.

Seems like it was well received all over the place:

Dwellings is easily one of the best horror comics to come out in recent years. It’s an experience that demands thorough exploration of each page contained within its covers. Jay Stephens has given us a new genre classic with this one.

This blog post is part of the Total Black Eye series.

The solution to people not liking AI: Make real actors look like AI, too

I’m reminded of the general thing with TV and movies over the past decade: They greenscreen so much, and it looks so bad, that the only real solution to not having the greenscreen stand out like a sore thumb is to make even the real stuff look equally fake. So you get everything colour graded into oblivion.

When people complain about how awful everything looks, filmmakers get really huffy and go “nooooo! it’s all in camera! you’re so stooopid!” (Imagine this guy’s voice.)

Example of real, in camera giraffe:

So yeah.