It's terrible hot take time:

React is capitalist. Since it's been ported to many platforms (browsers, node.js, iOS, Android, now even Sketch) it is designed to let businesses reach customers on all platforms with less development effort, instead of hand-crafting apps that care about each individual platform's users. And there's a sort of lock-in, you're not a web/iOS/Android developer, you're a React developer. That's kinda like businesses trying to lock you in to their ecosystems (Apple, Microsoft).

In contrast, Polymer is good and communist fully embraces the web as the only platform, which is good for the open web.

I’m working on a server-side HTTP cache! It’s a Haskell WAI middleware. It’s controlled by Cache-Control / Vary. It doesn’t have real storage backends yet, but it has a test that I’m really happy with and some thoughts about using caches against DoS attacks in the README.

Oh, also it’s probably a good example of OOP-ish Haskell. Thanks to GADTs, the CacheConf constructor “eats” the backend types :D It’s like class Conf { BackendInterface backend; } in Java/C#.

I made a thing that lets me post Dungeon Crawl Stone Soup game logs to my website!

It has… kind of a long story, actually. So back in 2013 when I was a huge fan of App.net, I wanted to make an App.net client that would be “like Battlelog but for Crawl”. (Why would anyone use that instead of the Tavern, I don’t know. I thought I could get DCSS players to sign up for App.net :D)

So I wrote clj-dcss, a working parser for DCSS morgue files (out of date by now; also turns out it’s a bad idea to parse the whole log), and rxjava-http-tail for following logs on public servers. And Crawllog itself was also somewhat complete, but I never actually deployed it.

Fast forward to 2016, I no longer use App.net, I’m a huge fan of the IndieWeb and I made a new Crawllog :D

The IFTTT vs Pinboard thing happened just as I was planning to use it to post bookmarks from Pinboard to this website. This plus the general desire to use open source software on my own server led me to exploring alternatives…

Huginn is the most popular one, but it’s not a good fit for my low-memory VPS. Unicorn/DelayedJob/MySQL? Uh… nope. So, the urge to Write My Own Thing is very strong :D But in the Pinboard Twitter thread people have suggested bip.io and Node-RED. Looks like I’ll try Node-RED first, because it does not use a fscking database! Just plain old files.

Just had to get some images from Pinterest. Wow, this is terrible. It’s just begging you to sign up. It’s 5 seconds, it’s free, sign in with Facebook, there’s more to see. Fuck off, I just want the full size image.

AWS Lambda, the new awesomeness in Cloud Computing™, reminds me of… CGI.

In Lambda, HTTPS requests are just one of the many types of events it can handle, but it’s the most interesting one. There’s been some IndieWeb interest in using Lambda for Micropub and Webmention endpoints that update static websites.

We can do better! No SDK required. We need a CGI Cloud. I might build that as a demo for sandblast :-)

It’s unfortunate that PubSubHubbub, while perfect for server-side subscribers, is completely unusable from the browser. Hubs really should provide two subscriber interfaces: the current webhook-style one and Server-Sent Events. I guess for now I’ll have to make a PuSH-to-SSE proxy.

Any sufficiently complicated network RPC API contains an ad hoc informally-specified bug-ridden implementation of HTTP/REST semantics.