Home | Jeremy Cherfas
jeremycherfas.net.web.brid.gy
Home | Jeremy Cherfas
@jeremycherfas.net.web.brid.gy
My Photograph Portfolio
Yesterday was the IndieWeb’s Black Friday Create Day, an excuse, as if one were needed, to spend the day making rather than buying something. I had set myself the Create Day goal of finishing the first stage of the task I set myself in Berlin three weeks ago; to publish a static site of some of my better photographs, using Hugo to create the site. And I did it. Much of the past week I spent preparing, first by creating a server at Hetzner and then trying to understand a bit more about Hugo. As usual, the lure of customisation waylaid me and I spent far too much time trying to tinker with the look of the site without actually getting anywhere, so yesterday I resolved to focus on what it showed more than what it looked like. One important decision related to image size. Hugo gallery downsamples each image to produce two or three alternatives, depending on orientation. Three for portrait, two for landscape, as far as I could tell. That is very efficient. But it also uploads the original which at least on my screen, and probably most screens, would never be displayed. So I did a little test, reducing the original image by 50% to a quarter of the size. The difference was huge, 28MB _versus_ 4.2 MB for one album. Then there’s the question of the information alongside the image. Lots of photographers display all sorts of technical details, which is easy enough given all the data embedded in digital images when they are taken. To me, that is overkill. All I want is a title, but even that becomes very complicated. Hugo Gallery displays the title of the image if it has one and the embedded Description if it does not. Eventually I could probably display both a title and a description, but for now, just the description is fine. However, some images have hugely complicated technical information in their Description, rather than, I dunno, a description of the image. So I needed to check each one. Again, I’m sure I could probably automate that process in some fashion but for now it would just be a delay. Easier to use my image processing app, Acorn, to open each image, inspect the embedded information and fix if necessary, reduce the size by 50% and save everything as a `jpeg` file. Hugo’s method of putting all the extra information in the front matter of each gallery and album was familiar because this site uses the same approach. The details differ, and I will need to get to grips with them, but for now, it’s fine. Uploading the static site to the server was a doddle, and there it was. There’s a lot more to do, of course, and my plan is to do that, slowly, while at the same time trying to deal methodically with past images before grappling with the day-to-day. I can imagine an overall staging area of Latest Images which would then be sorted off into specific albums every month or so. I also need to think about the complete lack of interactivity and whether to do something about that. (I’ve just noticed that although there is an RSS feed, all the links point back to the `localhost` which is no good at all.) And finally, I need to make some slight changes here to link to the portfolio in the navigation. Overall, though, a good day’s creating. Also posted on IndieNews.
www.jeremycherfas.net
November 29, 2025 at 9:50 PM
Signal Alerts from Uptime-Kuma
Uptime-Kuma, a self-hosted internet monitor, will now send alerts to me using Signal. This is roughly how I did it, more as an _aide-memoire_ for my future self, but perhaps it can help you. The first thing is to install the Signal REST API and send a test message, as per the excellent instructions, which included an easy way to link my Pi to my phone. The Notifications screen on Uptime-Kuma is faily straightforward, but there are definite gotchas. If you use any version of the URLs that the Signal REST API suggests, you get an error: `ECONNREFUSED` Spelunking in Uptime-Kuma's Github Issues took me where I needed to be. The solution is to enable the two Docker containers to talk to one another, which I had vaguely remembered from my first run through the Docker documentation. The steps as given, however, would not work for me. The Docker documentation gave me the correct formula: `sudo docker network create -d bridge kuma-network` Then you have to add the two containers to the network, which means you need their hashes or names. Get them with: `sudo docker ps` Now add the containers to the network; I used their hashes: sudo docker network connect kuma-network f356eabddee1 sudo docker network connect kuma-network e2275c9c6d3c Nearly there. Now restart the containers: `sudo docker container restart e2275c9c6d3c f356eabddee1` But still testing the notification fails, because you need the correct URL for the Signal REST API, which you find with: `sudo docker inspect kuma-network`. `http://172.19.0.3:8080/v2/send` in the Kuma Notification panel successfully sends a test. Save the details, and away I go hoping, of course, never actually to get an alert. Next up, ensure all the Docker bits restart after a reboot. Syndicated to IndieNews
www.jeremycherfas.net
November 22, 2025 at 9:37 PM
Create Day IWC Berlin 2025
Both of the tasks I set myself for the second day of IndieWeb Camp Berlin came good, though the easier one was hard because I made it so and the hard one was easy because I spent too much time on the easy one. Confused? So was I. The tasks I wanted to accomplish were to bring my Instagram photos home, which I thought would be easy, and to make a start on a static site for a portfolio of some other maybe more deserving images, which I thought would be hard. The IG page I had prepared in advance, using Greg Randall’s Memento Mori. This is magic to me, a service for anyone who wants to do the same. Three basic steps: ask IG for all your stuff; download Memento Mori and set it to work on your stuff; host the resulting files somewhere. Bingo! Of course there are a few gotchas. You need to tell IG that you want your stuff as `JSON`, not `HTML`.1 Then you need actually to get Memento Mori to work. The Quick Start advice is to run a Docker command. Not me! I’m scared by developery things like Docker. So I went the Python route, which failed several times in various ways. I bit the bullet, downloaded Docker for my desktop, followed a few cargo cultish rituals and tried the incantation for the “easiest” implementation and blow me if it didn’t chug for a few seconds and then deliver a perfect set of files. Gobsmacked doesn’t begin to describe it. I stuck the folder in the laptop confident that publishing it live on my site on Create Day would be a piece of cake. And it was, after I had done a bit of updating to the laptop itself.2 The basic issue was that the built-in server for this site wasn’t working because various components were out of date or plain missing. With those fixed, I could create a page to point to my Memento Mori and see what it looked like. I made a few little changes to the content, including a back button that may or may not work reliably. I needed that because of my decision not to embark on redesigning the navigation menu, which would have been necessary had I added another item. Instead, I hooked the page into the IG logo that is among the social links on the bottom of each page. But here, I’ve made it easy to take a look, though I don’t guarantee that the Back link will bring you back here. As I said, my futzing around the edges was as nothing compared to the work that Greg Randall put into the his tool, so all thanks to him. There remain a couple of things I want to improve, which will require another dump from IG, and now I am confident it will be a breeze to make the page anew. A secondary benefit is that I am less scared of Docker and may dip my toes in it for a future project. ## The Portfolio As with IG, I had done a bit of preliminary research for a static image portfolio and landed on Hugo as the static site generator and Nico Kaiser’s Hugo Gallery to display it. The laptop had a folder of images ready to play with, but nothing else. Downloading Hugo and the theme was perfectly easy and with my experience of `YAML` front matter on this site, it was reasonably easy to understand how Gallery worked. However, all the time it took me to implement the easy IG task meant I didn’t have time to do much more than bung up a couple of albums with somewhat different characteristics that I could show from the laptop. In a way, I’m glad that I didn’t try more with the portfolio, because so many more decisions await. Where to host, how to update, whether to have a feed and any interactivity. All those are exercises for the future. For now, I was happy to have done what I did, and even happier to see everybody else’s accomplishments. Create Days are so energising. I hope to tackle more of my portfolio and go live on IndieWeb Black Friday Create Day. Also posted on IndieNews. * * * 1. Though clever people, like Jo, showed the previous day that they can make use even of the HTML export. ↩ 2. This is becoming a repetitive refrain. I use the laptop so seldom, and only when away from home, that it gets out of sync and out of sorts far too often. I’ve resolved to try and do more work with it at home to try and keep on top of that sort of thing. ↩
www.jeremycherfas.net
November 8, 2025 at 9:29 PM
IndieWeb Camp Berlin 2025
After far too long, I was once again able to attend an IndieWeb Camp in real life, and it was another great experience. Old friends and new, old problems and new too. And some great adjunct events. The most exciting of those was the journey there, specifically the stretch from Bologna to Munich, for which I was booked in an Austrian Railjet Mini-cabin. These are rather like the Japanese sleeping pods you might have seen, a compartment for one in which, I was assured by The Man in Seat 61, a 185cm person would be quite comfortable. And I was. Cosy, and not uncomfortable. The space is a little confined, to be sure, but at my age the thrill of sharing even a two-person couchette with a stranger is gone. You can recline against the outer wall of the carriage and there’s a window over your shoulder if you do. Bendier people than me, like the person next door, can sit up crosslegged. Sheets, blanket and a pillow are present, but as I had no intention of getting undressed and the temperature was on the warm side, only the pillow got used. There are two compartments outside for shoes and luggage that unlock with the same card that controls the sliding door to the pod. Of course one wakes up far more often than during a normal night’s sleep, but at no time was I squirmy uncomfortable as I know I would have been in an ordinary seat. And for some of the awakenings it was very handy to have a light in the compartment that told you whether the (gendered) toilets were occupied. Breakfast was a couple of rolls with jam and a coffee that wasn’t horrible. All in all a fine experience that I would do again and would recommend. Other (surprising) travel notes: The DB trains to and from Berlin were both comfortable and effectively on time. Having to get up at 04:45 in order to get back to Rome within a day was a pain, and 17 hours door-to-door is pretty tiring, but eminently doable, and the stops were such that I could refuel easily. About the hotel, nothing to be said. Ibis Budget is fully acceptable. ## To Mozilla Saturday morning, off I went to Mozilla Berlin, stopping immediately after getting off the U-bahn to pick up coffee and a bun. I had kinda sorta paid attention to Mozilla’s instructions but not in enough detail as it took me a bit of futzing around, during which I noticed several better-looking coffee shops a lot closer. Mozilla’s space is truly wonderful, and it must be a blast to work there. The main social room had huge windows with a great view over the Spree and an array of beverage-making machines including, and I know this sounds like a cliché for a hot tech startup (which Mozilla certainly isn’t) but there was one of those bamboo gizmos for frothing up your matcha tea. There was a dedicated bicycle storage room, with tools and, another cliché, a unicycle propped up in one corner. Of course there was. Covid tests were plentiful, and everyone was very chill about testing. Those who wanted to mask, masked. The best kind of negativity As for the sessions, they were great and, as usual, I learned a lot. ### Mobile Responsive Web Design focussed on the difficulty of making the very groovy landing page of NAND Studios as groovy on a small screen. We batted around a lot of options, mostly by looking at some of the many examples on the /design and /mobile pages of the IndieWeb wiki. My takeaway was that sites do not need to be identical at different screen sizes as long as they are visibly members of the same family. ### FeedCity is a new kind of feed reader by Daniel Pietzsch. I was very impressed by its capabilities, which explore possibilities I’ve not seen in feed readers to date. It is easy to create lists, which can be private or publicly shared and there were lots of other niceties about following individual feeds and other people’s lists and all sorts. To be honest, I didn’t follow all the possibilities, one of the perils of a quite restricted time-slot. One nice touch is that if an author’s feed includes an email, an icon allows you to send them an email. Other ways of interacting are sure to follow. I’m intrigued enough to consider moving from Newsblur, especially if I can find a good way of editing the OPML file of the feeds I follow there. ### Hosting services at home I proposed and facilitated, as best as I could. My goal was to pick the brains of knowledgeable people, prompted both by the disappearance of my Compass sub-domain after the spambot attack I suffered a month ago and by my discovery of Tailscale. Patrick had some interesting things to say about “just” opening a port on the desktop machine and allowing requests to get through. I get that, if you know what you’re doing. Maybe it’s because I was coming out of a spambot attack that took everything down for hours at a time, but that option is beyond me. Luckily, while we sat in the Mall of Berlin waiting for Tantek to finish his shopping, Joschi gave me a crash course in online servers that gave me a greater sense of optimism than I’ve had in a long time. As a consequence, I spent a lot of the journey home reading up on Docker (which still seems very complicated, at least in the abstract) and Hetzner, which has tempted me before. ### Photos was a session I proposed before the Camp and it got a lot of traction. I was glad Tantek agreed to facilitate. Content ranged far and wide with lots of great insights and approaches shared. I scribbled lots of ideas down and I’m sure will derive even more when I have had time to read the notes more closely. (Big kudos to Marty who, I think was responsible for the notes, and of course to everyone else who collaborated.) Some surprising things were that if you send a photo to yourself with Signal, it strips the metadata; a good idea if that’s something you want to do only occasionally. Also, Tantek is currently willing to let Flickr store his photos to embed elsewhere, while here I am thinking I really ought to download all those Flickr photos that I’ve lost over a succession of computer moves. An excellent session all round. And that was it, for the first day, aside from continued socialising and geeking out over an Indian vegetarian meal. Thanks everyone. Tomorrow: Create Day. Also posted on IndieNews.
www.jeremycherfas.net
November 7, 2025 at 9:29 PM
Monthly report: October 2025
The highlight was a lowlife spambot attack that I could counter only by putting the site behind CloudFlare, and don't get me wrong, I'm glad I could do that, but I wish I hadn't had to. Also, somehow in that process, while one of the subdomains came through with no further effort from me, the other went AWOL. The certainty of an admin tax is the price you pay for a smidgen of independence. Actually, that just goes to show how negativity predominates. There were some terrific things in the month, like a trip to Dublin and a new lens in my right eye. ## Highlights of the month: * To Dublin for the Food & Drink as Education conference; cracking time. * Some good meals for friends. * Broke a tooth. The good news is it is basically sound. * Finally got to lunch at Janta Fast Food and wishing I hadn't waited so long. * Movie in a cinema. * New shoes, NB860. * Fermentation lab yielded salt lemons and peach chilli sauce. * Olives harvested, scant 300g. * Wrote and sent A Difficult Letter. * Fabulous train trip to Berlin, including a comfortable night in a Railjet Mini-cabin. Would do again. ### Activities #### October: * Walking with sticks: 0 * Reading: 4 * Steps (avge): 8650 * Podcasts: 29 (all of them logged) * In bed/asleep 7:51/7:43 — remarkable, no change! * Cycled: 2 days * Weight (avge): 90.2 * Naps: 16 #### September: * Walking with sticks: 1 * Reading: 7 * Steps (avge): 7737 * Podcasts: 20 (all of them logged) * In bed/asleep 7:51/7:43 * HIIT: 0 days * Cycled: 2 days * Weight (avge): 89.9 * Naps: 15 ### Stuff Done Dealing with the spambots was a pain in the bum, and losing the connection to geo-tracking an irritant. Thinking about photos and doing something about those thoughts was fun too. And even though it is throwing up more tasks for the future, I think I will enjoy them. #### Hours logged per month #### Percent of logged hours Previous years are still on an archive page. ### Goals Nine posts, which is very encouraging as I don’t recall it being at all onerous. ### Niggles I should try and use the laptop more frequently, because when I do travel there are often a bunch of things that need sorting out before I can do much. If I used it at home more often, that would probably make traveling easier. ### Final remarks ## This is getting boring, but life is good and I’m not ashamed to be enjoying it a lot. ## Here’s the table Click the triangle to see or hide the table Month | Total | Daily | Admin % | ETP % | Writing % | Other % ---|---|---|---|---|---|--- 10 | 92.9 | 4.7 | 59 | 30 | 9 | 2 09 | 118.8 | 4.6 | 60 | 32 | 5 | 3 08 | 17.8 | 3.0 | 28 | 43 | 1 | 28 07 | 71.67 | 3.4 | 54 | 15 | 27 | 4 06 | 88.75 | 2.9 | 40 | 51 | 4 | 5 05 | 91.6 | 2.9 | 59 | 35 | 1 | 5 04 | 95.7 | 3.2 | 49 | 37 | 5 | 9 03 | 100.4 | 3.2 | 52 | 23 | 23 | 2 02 | 118.4 | 4.6 | 35 | 25 | 35 | 5 2025-01 | 90.0 | 4.1 | 53 | 24 | 17 | 6
www.jeremycherfas.net
November 5, 2025 at 9:28 PM
Photographic Fixer
Lately, I’ve been thinking a lot about my photographs, why I take them, why and where I share them, and how to do that from now on. One trigger has been Instagram’s slow slide into irrelevance. I regularly miss photos from the people I follow, and _vice versa_ , plus if I want to explore beyond the people I already follow the barrage of crap is overwhelming. The ease of Instagram, however, alienated me from Flickr, which I used to really enjoy both for the quality of the comments and wandering into new groups with some great images. And Flickr, in its turn, made it easy to abandon the several efforts I put into hosting my own photo galleries on my own website and, indeed, to keeping my own copies of photos. Another trigger was the realisation that I have let myself get lazy. I used to love going out with a real camera and looking for things to photograph. Now, too much of the time, I have only my phone and just point and shoot. Last December I bought myself a second-hand Sony Cybershot RX100 III in order to carry something competent and less bulky than my main camera, and although that has invigorated my picture taking, it has of course made sharing harder because it **is** harder. I would like to bring more intentionality back into photography as well as to publishing the images. Which addresses why I take pictures. Sometimes, often, it is a simple _aide-memoire_. Sometimes, not often enough, it is a deliberate attempt to create an image that repays looking at. And I share both because I am proud of an image and because I am looking for affirmation, though not necessarily both at the same time. ## Display and Sharing At present some posts here are illustrated with photos and some are specifically photo posts. I would like to extend that, and it seems obvious now that a static site purely for images is the way to go. With IndieWeb Camp Berlin coming up soon, I’m trying to corral these random swirling thoughts into something specific. To that end, I’ve been reading up about static site generators, notably Eleventy and Hugo, and I think I have settled on Hugo because it seems more approachable to me. It also has a very good-looking portfolio theme that would work more or less out of the box. ### What do I actually want? 1. Album posts, with the ability to have an overarching topic and several albums beneath it 2. Responsive display, out of the box1 3. A specific subdomain, either `photos.jeremycherfas.net` or `jeremycherfas.net/photos` 4. The ability to share a link to a single image (but see 1. below) 5. A reasonably simple underlying structure that is easy to manage 6. POSSE to selected platforms (Mastodon, maybe Pixelfed and Viewbug, even Flickr) 7. A workflow or pipeline that is as friction free as it can be, and no more ### Things I am undecided about 1. Where to host the image files 2. Single photos displayed on their own page 3. Alt text on every image, although it would be useful for POSSE 4. Automatic extraction of some `EXIF` information as metadata 5. Comments and webmentions 6. Geolocation ### Things I don’t want or need (yet) 1. Uploads direct from my phone ## Next Two paths beckon. I have ordered a download of my images from Instagram and will make those the basis of a static reconstruction that I will host. I will also continue to explore Hugo and maybe take the first tentative steps to implementing a photo portfolio.2 ## More about Flickr I uploaded my first image to Flickr on 6 March 2005. It was, Flickr tells me, taken on 21 February 2004 with my Olympus C3030Z, a camera I have no memory of. A very quick local search suggests that Flickr holds the only copy of that image. No idea whether that is true for the remaining 1775 items there, but if I am going to be thorough about repatriating my images, I would obviously need to check them all. For a while, I embedded individual images and whole slideshows from Flickr on my site. Since giving up on that, my site is definitely less visually interesting, even though I have made efforts to use photographs more effectively. I’ve also paid a lot less atention to Flickr, despite coughing up for continuing Pro membership. Just for fun, today, I decided to let Flickr once again email me about interactions and uploads, to see whether that will rekindle my engagement. * * * 1. It seems peculiar to look at photos on a small phone screeen, and yet that is what IG has trained us to do. ↩ 2. The worry here, which is also exciting, is that I may find it so attractive that I am tempted to migrate this site and my WithKnown stream, with all the overhead that will entail. ↩
www.jeremycherfas.net
October 31, 2025 at 9:26 PM
Gel on Salt-preserved Lemons
A couple of days ago I tackled some salt-preserved lemons I had made about a year ago, just my terrace-grown lemons and salt. I had failed to notice that the air-trap fell out some time ago and the top layers, where more oxygen was available, had played host to a grey-green mould that had turned the lemon wedges to mush. Beneath that, though, all was well, so after I removed as much of the mush as I could I started decanting the preserved lemons into a clean jar. They were fine, but as I delved deeper, I noticed that many of the wedges were encased in a kind of gel. It was not nearly as tough as the scoby you get in, say, vinegar or kombucha but it had a great deal more presence than the delicate slime or mucus of kefir. You can see the firmer gel clinging to the lemon I tasted a bit, and it was quite pleasant, like the lemons quite salty and with a good sour kick, but I had no idea whether it could be used for anything at all, so I scraped it off as best as I could and consigned it to the compost. Naturally I did some research to see what I could discover, and the answer was, nothing. The index to Sandor Katz’s _The Art of Fermentation_ contains not a word on gels or polysaccharides. The academic literature turned up only how to get microbes to produce or ferment polysaccharides. My limited search-fu did uncover a single instance of someone who had observed the same, the answers to which suggested that the gel might not have been a microbial product at all. I remain somewhat mystified — and would appreciate any suggestions — but I’m glad the lemons are as good as ever.
www.jeremycherfas.net
October 31, 2025 at 9:26 PM
I Can See Clearly Now
“It’s a lot like the old days of trying to get a good colour print at home,” was the best I could come up with. “You print one of those test images that came with the printer, with all those different skin colours, and you discover that the pretty pink baby actually has a slight green tinge.” A week ago, I went under the knife, as it were, for what I subsequently learned was The World’s Most Common Surgery, to replace the lens in my right eye. To tell the truth, it hadn’t really been bothering me all that much. Just that last year, when I decided my old specs really weren’t working all that well any more, I was surprised when the optician told me that my prescription hadn’t changed, and that possibly the deterioration in my vision was because of the cataracts. Preparation is a bit of a faff, and of course it is scary to think too much about what the surgeon is actually going to do. A friend had told me that “the sedatives they give you are really good”. It was all thoroughly business-like. Did they give me a sedative? I honestly do not know. I do know that there was some strange touch-based sensation, not in the least bit painful or distressing, and a very engaging light show as they did what they had to do, rather like the old oil and water light shows at Pink Floyd gigs in the 60s. When it was over, and despite the massive dilation of my pupil, I could see well through that eye. And everything seemed somehow cleaner and brighter. I closed the new eye, and white surfaces especially, but also pink skin, were covered with a light green film, just like those test prints of old. Without that comparison, it would have been hard to believe that anything had changed. I’m adjusting to needing to have reading glasses with me most of the time, and enjoying not needing specs at all otherwise. After 68 years, that’s quite a change. Can’t wait for the second eye to be cleaned up.
www.jeremycherfas.net
October 31, 2025 at 9:26 PM