Posted Monday, January 14 at 9:28 PM (a year ago)
I ended up doing some more work on Pushl and have now released v0.1.7. The major changes:
- Did a bunch of refactoring to make the code a little cleaner and handle configuration more appropriately
- Added a configurable timeout for connections (which now defaults to 15)
- Added a
--version option on the command line arguments
Also, some suggested usage ideas below the cut!
Posted Sunday, January 13 at 8:48 PM (a year ago)
It’s been a while since I’ve updated Pushl but today I released v0.1.6. It includes the following fixes:
- Now it supports Pingback as well as Webmention
- Improved the threading defaults and connection pooling
- Also checks entries for updates even if the feed didn’t change (in case something changed in the more text or page metadata or whatever)
Anyway, it should just be a
pip install --upgrade pushl (or
pipenv update) away.
Posted Saturday, December 22 at 1:35 AM (a year ago)
While I’m fixing random stuff in Publ, I figured I’d finally fix some problems with Pushl too. Nothing major here, just:
- Stability: Fixed a bug where feeds that don’t declare links caused the worker to die before entries got processed
- Performance: Now we use a global connection pool (so connections can be reused)
- Fixed a minor correctness issue with archive feeds (which actually doesn’t make any difference in the real world but whatever)
Posted Wednesday, November 28 at 1:18 AM (a year ago)
I just released Pushl v0.1.3, which adds some minor performance optimizations and a bug fix.
Originally I was hoping to have a major performance optimization, in the form of having rewritten Pushl from thread-per-connection to async operation, but unfortunately I ran into a bunch of problems with it. Mostly that I was running into a “too many open files” error and I couldn’t figure out what was causing a descriptor leak. I have the work-in-progress branch online if anyone wants to take a look at it.
Anyway, the reason I went down this route is because I added WebSub subscriber support to my fork of Feed-On-Feeds, which makes it so that WebSub-enabled RSS and Atom feeds will push their updates to your reader instead of having to wait for a polling interval.
You can read more about some of my other thoughts on a blog entry that quickly devolves into a rant, if you’re so inclined.
Posted Wednesday, October 10 at 10:41 PM (a year ago)
I’ve gotten Pushl to the point that I’m confident in releasing it as a full alpha and having a cron job run it every 15 minutes. Whew.
I’ve also added some
h-entry markup to the Publ site templates so that hopefully the notifications appear at least somewhat reasonably elsewhere.
I really need to redo these site templates now that I have a better idea of how they go together. Also the quickstart guide could be a lot better.
Posted Monday, October 8 at 11:53 PM (a year ago)
I finally got around to releasing a very rough prototype of Pushl to pypi. It only sends out WebSub notifications for now (does anyone even use those?), but I’ll work on actually implementing WebMention soon.
Also, recently someone pointed out to me fed.brid.gy which makes it easy to turn a static site into an ActivityPub source. At some point I’ll experiment with setting up Publ for this; it looks like it’s just a matter of adding a couple of additional route rules to Publ, so that will probably go into an advanced configuration guide if I ever get around to making such a thing. (Or it could actually be added to Publ directly but there isn’t much of a reason for that, IMO.)
Posted Friday, May 25 at 9:42 PM (2 years ago)
One of the overarching reasons I decided to build Publ the way I did was in order to take advantage of Dreamhost’s support for Passenger WSGI. I was expecting that to be the primary means of hosting my main site (which is way too big for a Heroku instance) and given how smoothly things were working with this site on Dreamhost I figured it wouldn’t be a big deal.
However, there was a huge monkey wrench thrown into things when I switched my site’s configuration over to Passenger; despite all of my configuration being exactly the same between publ.beesbuzz.biz and beesbuzz.biz, the rendition cache on beesbuzz.biz was getting its permissions set wrong, and there was some rather weird behavior with how it was making the temporary files to begin with.
In investigating this I attempted to upgrade my packages on publ.beesbuzz.biz, and all h*ck broke loose.
Posted Friday, May 18 at 12:00 PM (2 years ago)
There’s an old joke in programming, that the two hardest things to do are naming things, cache invalidation, and off-by-one errors. But this doesn’t pay sufficient respect to one of the other hardest things, namely handling date and time.
Posted Tuesday, May 8 at 12:00 AM (2 years ago)
I’ve had people ask me why I’m not building Publ using PHP. While much
has been written on this subject from
a standpoint of what’s wrong with the language (and with which I agree quite a lot!), that isn’t, to me, the core of the problem with PHP on the web.
So, I want to talk a bit about some of the more fundamental issues with PHP, which actually goes back well before PHP even existed and is intractibly linked with
the way PHP applications themselves are installed and run.
(I will be glossing over a lot of details here.)