Seen by davep broke (again)

Posted on 2023-08-20 09:25 +0000 in Creative • Tagged with blogging, photography • 5 min read

Almost seven years ago I took up maintaining an ad-hoc photoblog again. I say again because I'd had one once before. I'd kicked that off back in the late 200xs, with my little HTC Magic, and hosted it on Posterous. Eventually Posterous was shut down, mostly because the company (or at least the team behind it)) had been bought up by Twitter. When kicking off the blog this time I decided on a few things:

  • I'd host it on; it had been around for long enough, and of course Google could be trusted to keep something that big up and running for good.
  • I'd keep multiple backup copies of the images and file them in useful ways (I keep copies in Google Photos, on Google Drive, on iCloud and locally).
  • As much as possible I'd automate the process of doing some, if not all of this.

At this point, while it was kind of old as an idea, this felt very much like one of those things that was perfect to do in a Web 2.0 way; the good old reliable mashable web!

So the plan became this:

  • Every post would be a tweet, posted to Twitter with a #photoblog tag.
  • I'd use ifttt to keep an eye on my tweets and when it saw one with that tag it would extract the image, make a post to Blogger, drop a copy into Google Drive, and do a couple of other things too.
  • Every week or so I'd do some manual checks to make sure everything is looking okay.

This worked. Mostly. It ran fine for a few years, with very few problems. I'd take a photo, manipulate the heck out of it for the emotional effect I was going for (that was the point of the blog; it was all about the messing with the image), tweet it, and Web 2.0 magic would happen.

Then the odd issue started to crop up. At one point Twitter made changes to how images were stored, or something, and the ifttt recipe broke for a wee while; then they changed the way that public posts could be seen (long before the Musk-era bullshit) and that broke things again, and so on. I forget the details but at every point I was able to nurse it back to life and things carried on.

Recently, of course, it all fell apart when Musk took over Twitter and massively ruined it, turning it into the steaming pile it is now1. I've honestly lost track of which change broke what, and of course I also gave up even trying to use Twitter (the drip, drip, drip of right-wing hate politics got to a point where I could not find a way to make it work any more). So that's when I decided to cut Twitter out altogether.

This had actually started a little earlier than that, when the whole API fiasco kicked off. When that came in ifttt had to remove Twitter things from its free tier; I was on the free tier. I was on the free tier only because I didn't need anything the paid service offered. If Twitter had been "normal" and this change had been made I'd have happily paid -- I don't mind paying for things I find useful.

But, nope, given all the context, I bailed.

So by that point I decided the easiest thing to do was to simply hand-add posts to Blogger, and also along the way post to a pixelfed account instead, reposting those posts from my Fosstodon account. Not ideal, needing more manual input, but also I was thinking that once I find a good flow I could probably automate the whole thing again.

Anyway, that's the point I'd reached. Twitter was 100% out of the workflow, there was a bit more manual intervention, but the primary location for the photos was still getting updated.

Then yesterday I noticed this:

Broken images in my photoblog

I don't actually quite know exactly what's going on here, and at this point I really don't care. My working hypothesis is this: when ifttt added the images to the Blogger posts, it was doing so in a way that it was using the image hosted by Twitter. Because of this, either due to some change in the Twitter API, or perhaps because I've locked down my Twitter account, the images can't be served any more. That's my best guess anyway.

I don't really care to dig deeper than that.

But, yeah, this is another example of the long-growing rot of the dream of Web 2.0. I'm not surprised; I'm not angry; I'm just disappointed.

Thankfully I have all the images saved (see backup options above), so I can go back and edit the posts and drop fresh copies of the images into them. There's 100s of posts affected so this is going to take quite a while; I mean, sure, I could probably do it in a day if I sat and did nothing else, but I have other things to do.

Another option would of course be to create a fresh blog using my own tools; that would be simple enough. I have the images, they're all set with the right date and time, recreating things would be fairly trivial (post titles a slight problem but I could work around that); a tool like mkdocs or Pelican plus some Python code to recreate the posts from the images would be a fun couple of hours mucking about. But... I have a lot of posts on Blogger and all the URLs are stable and still there many years later.

Perhaps I could automate the "fixing" of the broken posts? I wonder what the Blogger API is like to work with?

PS: If you've read this and feel that what's really needed is a "helpful" comment that self-hosting is the solution; please sit on that and read the above again (and, you know, look over the rest of this blog and the entirety of my time and content on the Internet in general and the Web in particular, going back to the mid-90s).

  1. Seriously, if you are reading this and you're still maintaining a Twitter account that you actively use, what the hell is wrong with you? Multiply that lots if you have a blue tick. 

Dot Files

Posted on 2023-07-11 20:50 +0100 in Meta • Tagged with Blogging • 2 min read

While I'm still in blog-tinkering mode (long may it last!), I thought it might be handy to keep a page kicking around that has links to the small collection of "dot file" repositories I have.

Like many people, I keep these in a central location (in my case up on GitHub) so that I can very quickly spin up a familiar work environment on a new machine (new machines are something that doesn't happen too often, but it's always good to be able to get going quickly when it does).

So, depending on browser type/size, either above here or off to the side, there should now be a permanent link to a page of links to those repositories.

As I look at it now it's actually surprising to me how much of my "comfortable" environment is encapsulated in so few tools, and configured with so few collections of files. There are other tools I use a lot too, but most of them either have their own sync systems, or they have so few configuration options (and are likely in a format that isn't easy to grab/store) that it's not worth the bother.

This feels like a good thing, really.

One thing that's not amongst all of this, partly because it's not that interesting, but also partly because the repository is private, is a single bash script called myenv. On a new machine, once I've got enough of a setup that I can clone from GitHub, I drag this down and run the script and most of the rest of the environment follows.

It's quite satisfying when I need to use it.

The switch has been made

Posted on 2023-07-05 17:56 +0100 in Meta • Tagged with Python, Blogging • 2 min read

Well, it didn't take as long as I expected it to. Just yesterday morning I was giving Pelican a look over as a possible engine for generating my blog, having wanted to move away from Jekyll for a while now. Having tried it and liked what I saw to start with, I wrote about how I liked it and wondered how long it would take me to make the switch.

By the evening I was making a proper effort to get the switchover started, and just a wee while earlier, before writing this post, the switch was made!

The process of making the switch was roughly this (and keep in mind I'm coming from using Jekyll):

  1. Made a branch in the repo to work in.
  2. Removed all of the Jekyll-oriented files.
  3. Decided to set up Pelican and related tools in a virtual environment, managed using pipenv.
  4. Ran pelican-quickstart to kick things off and give me a framework to start with.
  5. Renamed the old _posts directory to content.
  6. Kept tweaking the hell out of the Pelican config file until it started to look "just so" (this is a process that has been ongoing, and doubtless will keep happening for some time to come).
  7. Tried out a few themes and settled on Flex; while not exactly what I wanted, it was close enough to help keep me motivated (while rolling my own theme from scratch would seem fun, I just know it would mean the work would never get done, or at least finished).
  8. Did a mass tidy up of all the tags in all the posts; something I'd never really paid too much attention to as the Jekyll-based blog never actually allowed for following tags.
  9. Went though all the posts and removed double quotes from a lot of the titles in the frontmatter (something Jekyll seems to have stripped, but which Pelican doesn't).
  10. Tweaked the FILE_METADATA to ensure that the slugs for the URLs came from the filenames -- by default Pelican seems to slugify the title of a post and this meant that some of the URLs were changing.

All in all I probably spent 6 or 7 hours on making the move; a lot of that involving reading up on how to configure Pelican and researching themes. The rest of it was a lot of repetitive work to fix or tidy things.

The most important aspect of this was keeping the post URLs the same all the way back to the first post; as best as I can tell I've managed that.

So far I'm pleased with the result. I'm going to live with the look/theme for a wee while and see how it sits for me. I'm sure I'll tweak it a bit as time goes on, but at the moment I'm comfortable with how it looks.

Considering Pelican

Posted on 2023-07-04 08:32 +0100 in Meta • Tagged with Python, Blogging • 3 min read

Since getting my blog editing environment set up on the "new" machine a couple of days back I've been thinking some more about moving away from Jekyll. Jekyll itself has served me well since I started this blog back in 2015, but I was reminded again when installing it on the Mac Mini that it's Ruby-based and I have very little understanding of how to get a good Ruby experience on macOS1.

Having mentioned on Mastodon that I was thinking about finally looking at moving my blog management/generation to something new, and specifically something Python-based and ideally some sort of site generator, I got a few suggestions.

One that looks promising so far is Pelican. At first glance it seems to tick a few boxes for me:

  • Python-based (so easy for me to grok in terms of installing, and also more chance of being hackable).
  • Uses Markdown (curiously as an alternative, to reStructuredText, which looks to be the default).
  • Does article-based stuff as well as page-based stuff.
  • Lots of themes, and themes are Jinja2-based (I'm pretty familiar with Jinja thanks to my Django days and also using the library when kicking off ng2web).
  • RSS feed generation.
  • Syntax-highlighted code blocks.

While I'm not quite ready to dive in and make the move just yet (I am on a "muck about at home" holiday this week, but I've got enough planned without losing a day to rebooting my blog), I did do a quick experiment to see if Pelican would work for me.

Key to this is can I keep the URLs for all the posts the same? If I can't that's a non-starter.

Things got off to a good start with an easy install:

$ pipx install "pelican[markdown]"

I then used the pelican-quickstart to kick off a test site, copied in my existing Markdown files, dived into the docs and found how to configure the generated URLs and... yeah, within like 10 minutes I had a very rough version of my blog up and going.

It looked like garbage, the theme really wasn't to my taste at all, but the core of the blog was working.

I've nuked it all for now but a more considered evaluation is now on my TODO list. Things I'll need to drive into properly are:

  • Find a base theme that's to my taste.
  • Get Disqus working it so that any old comments remain in place.
  • Get my image/attachment layout back in place.
  • Go through and tidy up all the tagging (which has been a mess with this blog because I never did get round to getting Jekyll to actually use tags).
  • Figure out the best way to do the publishing to GitHub pages.
  • Likely a bunch of other stuff I've not thought about yet.

But, yeah, for a brief "over first coffee of the day" tinker to see if I like it... I like!

Let's see how long it takes me to actually get around to making the switch. ;-)

  1. When setting this up a couple of days back, I had to pin some packages for the blog to older versions because of Ruby version issues; I'm sure that Ruby has virtual environment solutions akin to Python, but diving into that just for one tool... nah. 

I'm back!

Posted on 2022-05-20 12:44 +0100 in Meta • Tagged with news, blogging • 2 min read

I'm back! Almost. More or less. In more ways than one. First off, as often happens with blogs (we've all been there right?), I've been away from blogging for a while. I've still been online, still been waffling away on twitter, and have also stumbled into fosstodon as well. Doubtless plenty of other things.

A big distraction for me, and one that is ongoing, is mucking about on YouTube. Since the last time I wrote anything on the blog I got myself a VR setup, and then a PCVR setup, and then finally fibre came to the village and I could stream, and... well, you can see how that would go.

So, in short, that's where I've been and that's what's been keeping me busy. Now that I'm paying some attention to blogging again (hopefully!) I imagine some of that will end up on here -- I'd quite like to write about VR and gaming amongst other things.

Now, I said I'd been away in more ways than one. Another way is explained by this post from back in 2019, where I said I was going to head over to Hashnode and carry on blogging there, obviously with an emphasis on development and just development.

That kept me busy for a while and worked out well, mostly. But... well, see above in part; I sort of ran out of steam when it came to purely-development topics. But I still wanted to write, a bit, and wanted to write about more than just development.

Also, something else was bothering me about being over on Hashnode. In the past year, in terms of what they promote themselves, especially blogs and posts they promote on their Twitter feed, they seem to have started to lean really hard into crypto and web3 and NFTs and all that stuff. This left me feeling like that was all a bit icky and it was time to put some distance between that platform and myself.

So over the past couple of weeks, low-level and as a background task, I've been back-porting posts from over there back into this blog. Starting with this post all new blog content, be it about software development or anything else, will be on here. If I'm really sensible and don't get distracted by new shiny... this should be how it remains now.

Expect some changes over the next few weeks. While I'm aiming to stick with the core tech (Github pages, Markdown and Jekyll, Emacs to edit, etc), I'd like to tinker with the look and layout of the blog. The content will remain the same though.

So, yeah, anyway, if you're reading this... hey, it's good to be back. :-)

Time to move on

Posted on 2019-10-18 17:42 +0100 in Meta • Tagged with blogging • 2 min read

It's well over a year since I last wrote something on this blog. As mentioned in the last post (and the one before), it's not for bad reasons or anything like that. Being in a new job, which actually isn't all that new now, has kept me busy in all the best ways possible.

There's been other stuff going on too which has drawn on my attention and the time and motivation to blog, either random stuff, or more development-related stuff, just hasn't been there.

Also... blogging via GitHub, using Jekyll, has lost a lot of its shine. It sort of makes sense, well, sort of made sense, but in the end it felt like more work than it should. Whereas most blogging systems tend to encourage just diving in and banging on the keyboard, there's just a bit more faff with the GitHub pages approach.

So, with that in mind, and with no desire right now to roll my own (which would be fun, it has to be said), I'm going to skip off over to Hashnode's blogging system. It seems to have everything I'd want and I can slap it on a domain of mine.

Most of my random musings about random things really happen on Twitter, so I can't imagine I'll be wanting to blog about normal/mundane things. What I would like to do is write about development-related things from time to time. So that would seem to fit even better.

Anyway, enough of all this waffle. If you land here and it looks kind of quiet, that's because it has been quiet for a while and I'm now going to try and concentrate elsewhere, with a wish to do some coding-related writing now and again.

Seen by davep (the return)

Posted on 2016-11-15 15:52 +0000 in Creative • Tagged with blogging, photography • 2 min read

A few years back, not long after I got my first smartphone (a HTC Magic), I started maintaining a photoblog that was based around photos I took on that phone. The blog itself was very important to me as it covered a pretty difficult time in my life -- many of the images on it contained and conveyed feelings and emotions that seem a world away now, but which I never want to totally forget.

It served as a visual diary, a note to future me.

And, hopefully, it provided some entertainment for those who viewed it.

Sadly the company who hosted it closed down and the whole thing was lost, except for a hasty (and only partially successful) backup to a Wordpress blog.

After the blog died I sort of lost interest in trying to maintain one and, to some degree, lost interest in active photography in general. Between the blog disappearing and another disappointing event relating to photography I sort of lost confidence in myself and my ability to dare to publish photos online.

This year, despite how shitty it's been for the world in general, has been a really good one for me. Lots of positive changes have happened and continue to happen and I noticed that I was starting to do the phone-based photoblog thing again, albeit only via twitter.

From up the hill

Finally, this week, I've cracked and decided to make it "official". My old "Seen by davep" blog is reborn, with new content and the same old purpose. You can find it here:

The blog itself is still driven by twitter and the posts will still appear on twitter. In the background I have an IFTTT process running, watching for any tweet of mine with the #photoblog tag and creating a post on the blog from it.

As for how often and what the content will be... simple: it'll be when I see something that I need to capture.

Hello, World!

Posted on 2015-06-18 14:53 +0100 in Meta • Tagged with blogging, Mac • 2 min read

Hello, world.

So I've decided that it's time I had a blog again. An actual blog. Not a set of posts on Google+ or a torrent of 140-character thoughts on twitter but an actual blog.

Part of the reason for this is that there's a couple of personal coding projects I want to have a go at over the next few months and writing about them as I work on them might be fun. Another reason is that I've being wanting to explore the business of hosting a blog on GitHub pages for quite some time and now's the perfect time to do it.

So how am I doing this? Well, for starters, I recently acquired an iMac. The reasons for how and why I chose to do this are varied and mostly uninteresting but what it does mean is that, for the first time in quite a long time, I have a Unix desktop machine again. This fact alone means it's nice and easy for me to play with the likes of Git (or, at the moment more GitHub for Mac than the command line git), ruby, Jekyll and SublimeText (along with a rather nifty package for quickly kicking off a blog post). So that's how I'm doing it. Writing it all locally and pushing it up to GitHub and hosting it with GitHub Pages.

As this goes on I imagine much will change. I've started out with a basic setup, created by simply using:

davep@Ariel:~/blogging$ jekyll new

From now on I'll be playing with styles and my own layouts to see what I can come up with and what I like (although, I most say, for the most part I'm actually liking the clean look it delivers out of the box).

One thing that's obviously missing right now is a facility for commenting. That's something I'll look into should I feel it's necessary -- from what I've seen elsewhere it's easy enough to make use of something like disqus. Update: This has now happened.

One other thing I might look at doing is putting this behind my own domain. For the moment it's only available via and I guess it might look nicer if it was actually available via a URL that looks like the name I've attached to the blog. Update: This has now happened.

Anyway, that's it for now. Time to push this up and think some more about where it'll go from here.