Skip to main content

Jeremy Cherfas

A little problem with Known's Micropub endpoint

3 min read

One of the developers of Sunlit, a photo-sharing app that is part of the Micro.blog ecosystem, contacted me to say that “the images on your site have a MIME type of application/data”. I’d like to say I understood immediately what the problem was and what it meant, but I had to do some learning first. It wasn’t as simple as the extension, the bit after the filename that indicates whether it is a JPEG or PNG kind of image. Rather, it was about what my server tells your browser about the image.

To backtrack, Known stores all files as blobs that contain the actual file data, the 1s and 0s. Your browser, when it receives a post from my server, can often sniff out what kind of thing (image, audio, text etc) that blob of data represents and do a good job of showing it to you. Normally, you wouldn’t even notice. One clue is that if you right-click on an image, and ask to open it in a new tab, it actually gets downloaded instead, I suppose because the new tab doesn’t know what else to do with it.

Anyway, I confirmed that the source file for most images did not have an extension (which would have told the browser directly how to deal with it). Most, but not all. Files I had uploaded to my site directly did have an extension and the correct MIME type. The “bad” files had come from OwnYourGram or Quill, both of which are part of the joyful . They use a standard called Micropub to send things to a suitably equipped website.

It seemed unlikely that both Quill and OYG would fail to send the requisite information to identify a photo, so I went digging into the code that Known uses to decide what to do with a post sent by Micropub. I made a bit of progress but although I could see more or less what was happening, I couldn’t see how to make it right.

Fortunately Aaron Parecki, who built Quill and OwnYourGram (and so much else), was around and gave me the clue I needed to investigate: curl -I example.com/file.

One beautiful feature of Quill is that if it is sending a photo and if the receiving site has a media endpoint for receiving files (which Known does) it uploads the file, shows you a preview and tells you the location of the file. With that, the curl command shows that the temporary file has the correct description of Content-Type: image/jpeg. Once Known has processed the whole post from Quill, though, the file that contains the image shows as Content-Type: application/data.

Somewhere between receiving the temporary file from Quill and storing it permanently, Known fails to give it the proper MIME type.

I wish I knew enough to discover where the problem lies. Most likely Marcus Povey – who keeps the wheels spinning at Known – will be able to do the needful, now that I have submitted an issue. And Sunlit will be able to share my photos far and wide.

Jeremy Cherfas

2018-05-27

1 min read

@phoneboy kindly shared a screenshot of the "webmention" spam he said he had received.

As I suspected, it looks to me like common or garden spam, hence the scare quotes. Of course, I can't be absolutely certain without digging further into the actual URLs, which I'm not about to do, but everything about these comments screams pingbacks or trackbacks. And the solution is obviously Akismet which, to be honest, I am suprised Phoneboy has not already installed and activated.

The day may come when webmention spam is a thing, and people have been thinking about a protocol called Vouch for that eventuality.

Jeremy Cherfas

2018-05-21

1 min read

A couple of days ago, @phoneboy mentioned the fun he had deleting the spam webmentions he had received on WordPress.

I asked him to document them.

Now Phoneboy replies:

Once I figure out the right settings, I’ll let you know.

And I’m not sure what that means. What right settings? Doesn’t WordPress keep a copy of all comments it receives? It would be really useful to see the contents of those “spam webmentions,” where they came from, what they contained, who sent them, simply because, as I said before, so few of these imagined evils have so far been spotted in the open. Not sure what settings that requires.

Also, the irony of this question has not escaped me:

Also, where did you post this comment? Didn’t see it in micro.blog.

I posted it here. Where else would I post it?

Jeremy Cherfas

2018-05-17-02

1 min read

If you're looking for a really good introduction to the and insights into how it all works, you could do a lot worse than listen to Jeena's podcast with Martijn. They do a tip-top job of explaining for people less knowledgeable than they are, and the audio quality is very acceptable.

Jeremy Cherfas

2018-05-07

1 min read

I think I just need to remind myself and others of the natural progresion of things.

  1. Everything not forbidden is permitted.
  2. Everything not permitted is forbidden.
  3. Everything not forbidden is compulsory

That is all.

Jeremy Cherfas

You can get good help

1 min read

I managed to fix a long-standing niggle with my practice this afternoon, thanks to some great help from cweiske and others. For the longest time Quill, a micropub client that I can use to publish here, wasn't showing me an option to syndicate directly to Twitter. That meant that I tended reply to tweets and stuff right there in the silo and not bring them back here. Fair enough, especially when a reply without context is like an egg without salt. But we figured it out, in part by that old standby of "switch it off and then switch it back on again". That got things working, and was enough of an impetus to upgrade WithKnown to the latest build. And so far, everything looks good.

Jeremy Cherfas

The worst possible feedback: it works for me.

1 min read

One of the good things about WordPress is how flexible it seems on the surface, able to perform all sorts of wizardry. One of the bad things about WordPress is how that very flexibility often makes it extremely difficult to achieve any sort of wizardry. That seems particularly true of anything to do with the .

So I was surprised to learn that Aaron Davis was having difficulty implementing a ZenPress child theme

Surprised because I run fornacalia.com with a ZenPress child theme and cannot recall any difficulties in setting that up. I think there may have been some issues with capitalisation of various names, but beyond that, I'm at a loss. I'd love to help -- but not sure how best to do that.

Maybe I should just share my child theme.

Jeremy Cherfas

About webmentions

2 min read

Webmentions are the glue that sticks all the bits in all the sites together.

That’s my one-liner about one of the core ideas about the , but it doesn’t actually tell you very much if you want to know how the glue works. I’ve kind of absorbed a moderately high-level abstraction over the past little while of playing with webmentions, but a friend asked for more:

Do you know of any diagrams that explain how this stuff works without all the … words that web communities seem to enjoy creating? I keep coming back to this topic every so often, and every time I return things just appear more complicated and broken than before …

I don’t think that last opinion is merited, but then I would say that. And right now I don’t have the time to write up my understanding. I’m pretty sure I saw something clear and to the point a little while back, but I’m blowed if I can find it now. So here are four pieces I have found.

These may not answer the question fully, but they are a start. And they might inspire me to write my own version, especially if I could have a synchronous discussion about it with my interlocuter.

Jeremy Cherfas

2018-01-17

2 min read

It is always interesting to read of someone else deciding to give the IndieWeb a try. I like what Michael Singletary has to say, especially this

Most of my online friends and acquaintances will never understand or participate in the IndieWeb, and so I require a bridge between these worlds. On one side I choose what content to post and how it is stored, and it exists mainly on an island that few visit regularly. On the other side is nearly everyone I know, blissfully ignorant of my real home on the web and unable to see any content shared there without manual intervention or working plugins.

What really struck me, though, was the line in his bio: “Blogging since 2002, taking control of my content since 2018.”

I lost some of my pre–2002 posts, not through the actions of any evil silo (were there any, then?), but through my own idiocy in misplacing a crucial backup. And I never really got on board the silo first band-wagon, so in a sense I have always owned the content I care about owning. Most of my friends do consider it kind of weird that I didn’t see the photo they posted only to FB, but they’re only too happy to show them to me one on one. So yes, for now few people visit this island, and that’s OK. I enjoy the ones who do.

I'm using the IndieWeb in an attempt to make it easier for everyone to visit, and that works too.

Jeremy Cherfas

1 min read

For all the joy of the , and the pleasure of civil discourse, I am becoming incredibly confused by aspects of micro.blog. There’s the question of titleless posts, of which is this is one as an experiment, versus status updates. There are posts that appear to be contributions to an interesting conversation but aren’t because they have been cross-posted automatically from elsewhere. And there is the lack of a scroll back, which means that as I follow more people and choose not to check in the middle of my night, stuff vanishes irretrievably from my timeline. 

There are also issues with Known that are nothing to do with micro.blog.

None of this is insurmountable. For me, though, it does add friction.