1. You wait two and a bit years for a blog to show up and then all of a sudden there's two of them!? I seem to have accidentally started a new blog. OMG.LOL, a rather whimsical web service I've belonged to for a while, is dropping new features on it's members for the holiday season, in the form of a charming animated advent calendar. The theme of the season is 'blogging', and right there on day one, they gave us a weblog service, weblog.lol.

    So I'm over there at cms.weblog.lol. And I appear to be attempting to post a review of a different christmas pie every day, in a fit of seasonal over-enthusiasm. It will never last. So far I'm three for three though, and having fun.

    Do check out omg.lol btw. It's my favourite kind of internet thing really, user-focused, a paid service (no grotty ad trafficking), (it's cheap too, right now it costs $5 per year, although the price is rising in January, get in soon if you want to, you can buy several years in advance) For your money you get a cute namespace of your choosing. Obviously I am cms, and a bunch of other neat stuff. Weblogs! (we already mentioned these). A customisable home page. A DNS subdomain, to do what you like with. A nice short email address, with forwarding. A mastodon instance, an irc server for members, a pastebin, probably some other things I've forgotten. Keybase proofs!

    It's cool! Loads of 'small web' vibes, a built in community, and a bunch of fun tools. Definitely gives me nice warm fuzzy 'early internet' feels. I've managed to convince two other people I know to sign up so far. You should too! But in the meantime. I'll be over there blogging. And also maybe over here blogging? I'm such a blogger these days.

    posted by cms on
    tagged as
  2. Back again! Literally years since my last post. Is blogging back? It feels a bit like people are slightly more excited about self-hosting content again than they have been in a couple of years, it's true. The big incumbent social networks are feeling a bit less solid than they used to. Facebook has been laying people off and visibly throwing money away chasing a dorky-looking, implausible VR business that almost nobody (save for the investors) seems interested in. Twitter has gone private, rather publicly, and at the time of writing seems to be in the process of reinventing itself as Twitter 2.0, whatever that turns out to mean. Right now, it seems to mean far fewer people posting, looking at my logged in timeline. Mastodon is having a moment. Maybe blogging is back!

    While I am mildly excited by these winds of change, none of this is really anything to do with my sudden return to posting. My motive is something considerably less idealistic. I've moved web-hosts again, putting this post clearly into the least exciting, yet most solipsistic form of personal blogging, namely, updates on infrastructure and apologies for lack of content, addressed to an almost entirely imaginary audience!

    My motive for moving hosts is worth a minor note, and also feels very 2022. My hosting costs have shot up so much, primarily due to the dramatic surges in energy costs of the past six months, that it no longer seems economically viable to use even cheap commercial hosting to prop up a vanity website I barely make any use of. So I've taken the very retro step of bringing it all back in house. Literally in-house, this page is now running off a tiny low-power media PC repurposed as a basic Linux server, connected up to my home DSL connection, and sitting in the cupboard behind the television in my front room. I had fun doing it, but it was an extremely manual process, and as a result of that I'm quite sure there's a few bugs and glitches hanging around, and some stuff will be weird until the all of the DNS edits are fully propagated.

    posted by cms on
    tagged as
  3. They are still annoyingly hard to track down, but I finally sourced a breadmaker. And I have made some bread. And eaten some of it, and it was good. Astonishingly simple to use, just tip in some slop, select a program and then wait. Although the timer only goes up to 13, meaning I had to get up at 6:30 to release it. On the positive, this is exactly how real bakers do it and so I feel I am close to becoming a master baker.

    perfect loaf of bread

    It is a Panasonic 2511-KXC I can't really offer an objective review. I have never used a bread maker before, and I chose it mainly because it was the only one available in SE England. It has a nut dispenser, although I have not yet put my nuts in it .

    posted by cms on
    tagged as
  4. Tiny Pilot Kind of surprised that this works, but it's a neat idea if you have too many headless home servers (and I do).

    posted by cms on
    tagged as
  5. I have been rather enjoying wearing a mask outside ever since the bad times began. All the way back in Feb or maybe March, I forget which, time seems more broken than usual, I was improvising by looping a scarf several times around my lower face. I own, and enjoy a lot of scarves, and the weather back then was fairly amenable to swaddling one's entire head in designer fabrics.

    picture of red ninja

    Subsequently, as we set in for the long haul, my much cleverer partner ordered the whole family some reusable ones, from Deakin and Blue. Easier to fit, and more effective, and I switched over to this. It's swimwear fabric, basically a speedo for your lower face, and I've been lining it with one sheet of kitchen roll, square folded, which is comfortable enough, and gives a few layers of filtering. The mask is reversible, patterned on one side and black on the other, but I always wear the black side out. I think they other side is floral, but I'm not even sure of that.

    picture of black mask

    I realised I find it fun to wear. It feels like wearing a disguise. Another layer of private bubble on the roam, an extra shield to accompany the earbuds. Thinking about it, so many of my childhood heroes were masked. I think I'm quite into masks. We had the lone ranger and Zorro on the telly, alongside Batman and Robin. Robin Hood had a hood, of course. I remember trying to figure out how Spider-Man could even see through his striking mask design, and how I might some day figure out how to make one. Masks are just cool. Under normal circumstances I'd feel a bit weird wearing one everywhere, and I think it would provoke suspicion, but currently I can prowl around looking like a plank, but imagining I'm a badass. It's nice to have found some minor positive thing emerging out of all the drama of pandemic season. I should probably invest in more masks, get some more interesting colour going on.

    Something I'm enjoying far less is any tone of dedicated anti-mask rhetoric, examples of which do seem to be floating around my internet. I find it very hard to understand. Not quite as hard to understand as the mobile phone mast burning, but still. Even if you don't find obscuring your face as childishly gleeful as I do, I don't know why you'd want to make a stand about not wearing one. Even if I assume the conversations on social media are distorted, and amplifying extreme minority views, as they usually do, even when I'm out and about I think I'm probably seeing less than 1% of people wearing them, (although I've not counted properly). This seems a shame. Especially given that I'm living in the eighth ranked hotspot on that leaked sheet of areas for concern(!).

    It seems pretty obvious to me that even a very imperfect mask will still impart some reduction of transmission, and it's a numbers game we're currently in. The cumulative benefit of lots of small reductions everywhere are still a useful contribution. Most of the rhetoric I've seen in both directions seems more focused on the individual, arguing that they don't filter much out, or it's some kind of curious affront to personal freedom, or urging people to think of campaigning for it like a seat-belt or an airbag for a car. This perspective is almost entirely wrong. A mask is not something to wear for personal protection, it's something small you can do to help everyone else, that is most effective when everyone else is also doing it.

    I realise we live firmly in the age of the self, but I do remain confused how a country that passionately adopted the weekly ritual doorstep clap nation-wide, in a matter of weeks, is less keen to rush into this, arguably more useful, performance piece. I wonder what the missing mechanism is, if it's messaging, or psychology, or something more profound and deeply entrenched.

    Still, I have my fun, and don't really plan to stop any time soon. I have been wondering about getting some sequins in, or if I could get some custom patterns ordered. I guess if this all goes on long enough we'll see redbubble and stickermule and the others adding masks to their standard merch templates.

    subreddit for comments

    posted by cms on
    tagged as
  6. You wait six months for a blog post and then I suddenly update all the things at once. Here we are. Site redesign. New Server. New software release. Lets tackle those in order


    I launched this version of my blog originally as 'in-progress' software before it was quite ready, after spending a few years faffing around with experiments intended to replace WordPress. One day I had something I wanted to publish, and WordPress was broken, and the thing was nearly working so I hit go. It wasn't feature complete, and there was completely minimal styling, but I thought it looked OK enough, until a friend pointed out it looked completely insane on a mobile. I felt pretty embarrassed, so I quickly cobbled together a mobile-first grid-oriented thing using zurb foundation 5 as a framework, because that was what we were using at work at the time, and it seemed like an excuse to learn a bit about how it worked. I subsequently reworked it to use foundation 6 with a slightly styled theme based on my old WordPress colours and there we are. Of late, the amount of gubbins needed to support the foundation classes has been a bit of an encumbrance, and so I decided to do away with it. This time I just hand-wrote the styles again, I think CSS has moved on a bit and hope browsers are generally a bit better behaved. Seeing as we were doing this, I did a new theme, it's based on my emacs colours. I don't care that you hate it, no.

    New Server

    I'm sure you all heard, ARM hardware is the new hotness now. As a natural contrarian, I was already hosting my site on an ARM server and so it's clearly time for me to move to AMD64. Not quite. For years I've been having fun hosting this place on one of scaleway's ARM C1 instances, which appealed to my quirky taste in alternative computers, as well as being super-cheap, and in many ways, offering far better raw performance than a VPS or a cheap cloud instance. Seriously. I was running about twelve services per instance, and my own hand-written site software, and performance was more than acceptable. I even hit the front page of the reddits and the orangenews a couple of times with my tech dithering, and soaked up big blog traffic spikes, no sweat. However, scaleway haven't offered any useful updates to their core platform since they experimented with, and withdrew a 64 bit ARM beta, and now seem to be moving more towards a VPS/Intel vision, and it was really becoming a bit limiting to be stuck on Debian 9 and 32 bit. So I moved house, installed some containers on an existing server I had sitting around and now we're live, in Belgium .

    New software release

    This is a little bit tied in with the last item there. The site engine here is written in common lisp, and for the longest time I just had it running out of an interactive repl attached to an emacs. Yes, including the #1 NackerYews story days. I moved it to a systemd service, for process supervision, and proper logging and things like that, and I wanted to get some kind of release management regime in place. So I had a fun time figuring out good ways to build standalone lisp apps, and how to package them up for Debian, and now I kind of have tagged release builds. I'm also running in my own cowboy cloud, sticker-ed together out of LXC, so the blog now can be deployed as a clean, ephemeral contained service any time I want to do a release. Particularly this part of things was becoming quite the aggravation, cross-building for ARM32 isn't really trivially feasible with common lisp, and although I had a lot of fun for a bit building debs on a raspberry Pi tucked under my desk, I eventually ran out of patience trying to keep ABI back-compatibility with older Debians.


    My process probably seems a little bit archaic and convoluted to anyone used to thinking about this kind of thing in a modern context. It is true that there are lots of simpler abstractions and services for doing this kind of thing these days. Perhaps less intuitively, doing things the bale-of-twine and pencil sketch cowboy manner I've pitched for is also crazy easy compared to what I remember hand wrangling sites of old used to be. LXC is fairly straightforward to install on Debian stable OOTB. (unprivileged mode is still a bit of twerking, but if you follow the recipe exactly, straightforward enough). Debhelper vastly simplifies deb building (although I'll concede you do still have to do way too much) and gpb is simpler yet in some ways. Quicklisp, buildapp and quickproject make lisp dependencies and builds almost pleasurable. Cloudflare and certbot wildcards make swapping hosts around with full TLS almost disconcertingly straightforward compared to what I've been accustomed to in the past.

    Of course this is still a rolling set of dependencies which may appear complex or unfamiliar, but in a lot of ways there's also a whole lot of faff and bookeeping overhead removed, no accounts or APIs, third-party apps and frameworks to keep up-to-date. Most of this task list was concerned with a full bootstrap from a naked host. For ongoing support I just have to compile debs using standard make, launch empty containers with standard templates, and write posts and maintain code with a straightforward text editor. And there's complete autonomy of hosting and running, I'm not really locked into anything, which is exactly where I prefer to keep things. The modern-day indieweb refuses to die!

    comments at reddit

    posted by cms on
    tagged as
  7. Intro - dreaming of millennia

    I can remember fairly clearly the first time I seriously tried to calculate the future . I was maybe ten years old, lying in bed and re-reading an issue of 2000 AD, and for the first time, I was puzzling over the idea that that title, intentionally and inherently futuristic, represented a real calendar date that would one day arrive, and somehow, calamitously render the name obsolete. I tried to figure out how old I would have to be by the time we reached this epoch, but as I recall, it was beyond my reckoning. It didn’t seem that likely I would live long enough for vengeful androids and routine interstellar travel, and yet even from 1977, the year 2000 seemed countable. And here I am, now, in 2020, A number that looks so impossibly, so implausibly of, from, and for the future my brain isnt really comfortable holding on to it. But first we must put away 2019. Here's my 2019 roundup, in something like 20 paragraphs.

    I rejoined social media:

    2018 I had a year off Twitter, feeling a bit exhausted by it all. It didn't really seem to make much difference. Now the Internet seemed to have invaded, occupied and consumed everything. Surveillance capitalism now so entrenched it was to be a regular part of mainstream think piece commentary. Network effects being what they are, It’s deluded and futile to make even token efforts to keep beyond these tracking networks, the reach is now such that secondary and tertiary associations will just link around you and pull you in anyway. So I bounced back onto Twitter, signed up for Instagram, and even rejoined Facebook-and rectivated Foursquare. I’m not particularly excited by any of them. At best, they represent a low friction way of posting light life updates, and it's nice to get reciprocal insights back about people I know, but don't see regularly. (And now I don't really see anyone regularly, so that’s a thing) It's fine, but we can do better. Ironically 2019 feels like the year everyone started to gently pull back from all this online sharing stuff. Ho hum.

    Gene Wolfe died

    Boo. Probably my favourite author, genre or otherwise. Age 87, which is by any account a splendid innings. A couple of personal resonances last year. I finally finished reading the “solar cycle”, which contains some of my most loved books. I started when I was fifteen, and I was just starting into the final volume when he died. And then the Folio Society issued a fairly exquisite luxury edition of his masterpiece, "The Book of the New Sun", signed, numbered and limited to 750 pieces, and which I somehow managed to discover and purchase before they sold out. I felt pretty decadent, and guilty about spending hundreds of pounds on a fancy copy of a book I already owned, but within weeks people were listing them on eBay for thousands, so maybe it was a wise investment? Anyway, Wolfe is amazing, and-if you havent read him, why not try? Start with the Fifth Head of Cerberus, I would.

    A Haircut:


    by the end of the year, I was bored of the hair, so it's all off again. I suspect the next time it grows back in may well be all white.

    An ASD diagnosis:

    No not me. We've basically known about it for a long time ourselves, and painfully been pursuing a diagnosis through the systems for literally years, but late in the year we obtained a professional diagnosis of ASD for number one child. Shock, relief, and lots to process for everybody, but a powerful sense of progress in a way that feels constructive and enabling, not reductive and labelling.

    Weddings x2:

    Here's a surprise ageing effect. Having got past "peer group wedding” season, and assuming weddings were all done I seem to have hit "generation below hits wedding season" season, and now weddings are a thing again. That's cool, I like weddings. This summer was two, both fancy AF. One in a cathedral, one in Cyprus. The latter was an Orthodox church service, which was quite unlike anything else I have previously experienced. Weddings are a pretty big deal in Cyprus.



    Throughout 2019 we held a family membership to English Heritage, and as a result spent a few weekends wading around ancient English castles. There are quite a few spectacular examples In this part of the county, closest to the mainland (we can see France very with the naked eye most days). Dover is particularly astonishing. Pretty middle-aged, I guess. National Trust next?


    I've been getting gently back into using actual cameras for photography. Maybe inspired by instagram? Possibly just because my predilection for "alternative" smartphone operating systems lumbers me with dreadful quality camera software? Regardless, I have been having fun shooting things with real glass - on my much loved power shot GX9-2, which sadly caught some water damage on a recent trip to Malta and is still drying out four months later - but this gave me an excuse to upgrade it to a slightly larger slightly more posh Canon M100, which is more cumbersome and not quite as fun to use, but easily compensates for that in image quality and lower light performance. I don't even muck about with much manual selection, mostly plain automatic shooting, but I really enjoy something about the deliberation, and the ceremony, and having to actively curate, triage and extract the images off the camera in order to use them for anything. Mindfulness? Contrarianism? Whatever, Fun.

    Still in Folkestone:

    Yup. After quitting London to work remotely, we sold the big house, and shifted even further south to Folkestone, where I remain, the most mundane kind of digital nomad imaginable. I like it a lot. I was born by the sea, I grew up by, in and on the sea, and now, once again, I walk, with god, alongside the actual sea, most days. I've even gone in it to swim. Folkestone is my kind of town really - collapsing Victorian splendour, a harbour, vague touches of bohemia, light gentrification, that isn't trying too hard, and you can clearly see France most days, without effort, and that is something I will never not find mind-bendingly magical.. It does rain a bit too much, mind you.

    Dental surgery:

    2019 Was the year I finally gave up pretending I could largely ignore the pitifully untended state of my teeth. Actually, it was the teeth that made the decision for themselves. I have a pretty strong dental phobia (Maltese dentistry in the 1970's was not great), but by the middle of the year something was painfully not right in an area that had been slightly bothersome for years, and pain was escalating alarmingly. I still couldn't manage the appointment making myself, so thanks to my lovely wife, I ended up enrolled with a local private practice, and with a fairly gruesome diagnosis : -an impacted wisdom tooth had grown down into my jaw and accessed, destroying two molars, and threatening jaw damage. Surgical intervention was required, and due to my panic-stricken inability to co-operate, it was to be done under a still fairly Terrifyingly named process of "conscious sedation". That meant a referral, three months of waiting for a slot at a specialist clinic, and an almost constant diet of pain-killers in the interim (as well as two very uncomfortable, and strictly speaking forbidden, international flights) but eventually I got through it. The conscious sedative was one of the most surprising experiences I have ever had. Strapped into a chair in a small theatre, and attached to a drip, I remember a brief chat about consent, and then the next thing I remember I was in the passenger seat of the car on the way home, a mouth full of wadding, having entirely lost a couple of hours and a couple of teeth! I am left wondering if I was out for the operation, or if I have simply retained no memory of it, and what precisely is the dittoed between those two anyway? I find the very existence of this kind of instant blackout drugs and astonishing and implausible marvel. If It were a plot device in a fiction, I'd have scoffed at how completely unrealistic it was. So now I have a dentist, a treatment plan, no headaches, and two Fewer teeth. Lots more work needed, but it feels achievable. And I’ve experienced time-travel.

    Common Lisp@work:

    Love this one. My day job is still working at platform.sh, where we have a home grown container runtime that powers our "cloud" project. Cloud engineering is my team, and literally my first act in the job was to port one of my existing lisp web apps to the runtime as an experiment. Well, it turns out our VP of engineering is also a lisper, and we have ended up extending these experiments to building a couple of internal tools in SBCL, which are of course hosted on the platform. These proved useful enough to keep, and at that point, it started to make sense to productionize the lisp containers, so we can have a first class and maintainable build, rather than shoehorn a lisp install into a capable enough container. At which point there was no reason to not make this publicly available for customer projects, which we announced with a blog post, which was well recieved on the social platforms. I only had a tiny part in all of the above processes, but it is still one of the coolest things I have ever been involved with at work and remains a woeful reminder that I have a pretty cool job and work with a great team.

    A-Rank in Splatoon!:

    I adore Splatoon, Nintendo’s gloriously styled paint-em-up, online FPS. I’ve been playing it quite regularly since launch on the Wii U, and through into it's subsequent re-packaging as Splatoon 2 on the Switch. I love everything about the game, from the mechanics, which are well-considered and balanced, all the way through to the world-building and the whole skate-tween-punk cartoon fish aesthetic. I mostly play ranked, and although I wouldn't claim to be particularly good, 2019 was the year I finally sneaked A rank after years of trying. And not just once, but in a couple of categories (zones, tower, and rainmaker) Yes I realize this is because fewer people are still playing. What of it. I have a badge.


    I watch a lot of TV. and I'm not ashamed of it. I know we're living through peak TV, but for me 2019 was a less than stellar year. Plenty of things, I probably should like, I just didn't. I dont have much appetite for "The Apprentice" anymore, although it can still deliver hilariously awful situations from its contrived casting. “Fleabag” annoyed me almost as much as it charmed. Star Trek regularly sent me to sleep (love the art direction still). The concluding series or Mr Robot was great, I've thoroughly enjoyed that whole run, but it was time to sign off. "Homecoming" wasn't quite so great, but it worked. I think my favorite show from last year would have to be discovering “Crazy Ex-Girlfriend” on Netflix (awful title. do try to get past the title) - Super-smart, subversive , unpredictable, bingeable, engaging, and great music. I was already a huge Adam Schlesinger fan, and now I guess I'm a Rachel Bloom fan too. So many earworms. Bring back old Greg!


    I suck at reading, these days I know it's a common modern Iffliction. I have been trying to make an effort. I finished the Gene Wolfe Solar books, as I mentioned earlier, but otherwise 2019 was not so great. According to my Goodreads account (doesn't capture everything but it's fairly accurate) , I only managed nineteen books, some of which I can't even remember reading. Aside from Wolfe, I think my high points would have to be "The Peripheral" and "Ingenious Pain" . 2020 we have a sequel to "The Peripheral" due, as well as the final installment of Hilary Mantel's Cromwell books and I'm going to do better. Im trying to do ten minutes entirely focused reading a day this year. Going well so far (2 books finished already)


    I'm still struggling here as well, although we do a weekly family movie night, I still rarely get to the cinema. I did make it to see “Rise of Skywalker" and this I did manage to see every Star Wars movie on initial cinema release. I'm afraid the most enthusiasm I can find about that is that I’m glad it's done. Similarly, on the other franchise I finally got up to date with Marvel by reaching “Avengers: Endgame" on streaming, and I'm mostly happy to be able to say “OK, this can stop”. The kids got into Harry Potter, having reached that sort of age, and so I also belatedly got to the end of those, and my goodness they're bad. Things, I actively liked- “Lady Bird”, Netflix's "Annihilation" was superb, and my favourite was probably "Sword of Trust". And on Xmas Eve I decided to watch an ancient favourite, "Lair of the White Worm" which I enjoyed revisiting so much, I may make it into a Xmas tradition from now on. Ken Russell(I) is my man.

    A New kitchen:

    Our kitchen seemed to be in relatively good shape when we bought the house, but it had a conservatory attached to where the back door ought to be, which although it made for a lovely sense of light and space was punishingly cold in the winter. So we decided to get a glazed back door fitted between. And then we found rotting wallpaper trapped behind the kitchen units over damp plaster, and decided to get a nicer fitted kitchen while addressing that. And then we discovered a water leak running down the back wall. And then a cascade of horrors, including a lintel-free window, a removed chimney being held up by what looked like a nail through an old chair leg, three layers of wall cladding, and perhaps most excitingly, several rotten joists not doing the greatest job of keeping the upstairs upstairs. Cue months of no kitchen, stripping everything back to brick, jacking up the roof, replacing beams, dry lining everything. and then potting in a kitchen back on top. And now we have a back door. And quite a nice kitchen. And far less money.

    Malta & Cyprus:

    Two Foreign holidays? I already mentioned my friend's magical destination wedding earlier, but by way of attending we got to spend almost a Week, without children, (thanks, Grandma!) in a pretty swanky hotel in Limassol. Cyprus is hot in the summer, and I say that as someone quite used to heat. So I ended up doing something I have never done before, and just hung out poolside, reading, and swimming and being waited on. And that was just great. And Despo came by to visit, which was a lovely coincidence. Then, a couple of months later we all went to hang out in another resort hotel, but this time in Qawra , in a Family oriented holiday complex. That's the first time we've done significant overseas travel as a family, also the first time I've been back in Malta in almost a decade. I enjoyed the opportunity to show the girls a little of the sense of what Malta is like, and I stole away for a poignant solo visit back to my old home town, my last opportunity to do it as a full EU citizen.

    Hal-Balzan 2019


    I am feeling quite out of love with computers and software, and especially the flipping internet and the incessant noise bubble of the tech industry. At the moment, I'm afraid to say, outside of work (work is cool, as mentioned already) I’m not really indulging in very much computering. A brief spurt of activity on a secret, not yet abandoned, but not yet revisited project, at the start of the year, and then nothing really - a few isolated sessions of hacking on the software for this site which only really focused on infra things and build chains - I guess I have a useable flow for generating 32 bit ARM debs from Common Lisp applications, but that's more bureaucracy and housekeeping than hacking, and even I don’t find it that enthralling. And most of my infrastructure is still a mess after moving. Maybe 2020 I'll find a way to relight the spark. Maybe I'm done ? Seems unlikely, but I’m not inspired.

    I love my new shaver:

    On a more positive technology note, I did fall severely in love with a piece of consumer electronics. I finally lost patience with my Philips rotary head shaver, after years of dissatisfaction and overspending on replacement foils and cutting heads that never really helped much. Not really knowing where to turn to for advice, I tried the wire cutter, something I’m a little wary of trusting and I picked up a Braun series 7 during Black Friday month at amazon.co.uk, and no exaggeration, It has COMPLETELY CHANGED MY LIFE. I am competely astonished at the ease of use, enthralled by the consistency of the result, and enraptured by the sense of considered Germanic engineering that exudes from every aspect. I love this thing and it makes me happy while I am using it.

    No music:

    I am barely listening to anything. Some of it is because I've barely strung my music library infrastructure back together after relocating. Some of it’s because I'm too old and boring and middle aged. Some of it's because I still don't have a subscription to a streaming service, and some of it's just because I think I have just lost the habit of it. I have been playing guitar much more in the past 12 months than in previous years, and l am flirting with writing and recording a little bit more again. 2019 though, is a solid musical wash-out.

    iOS WTF:

    I know! I'm back on (an) iPhone after YEARS away. Actually, I jumped via an iPad first. I’ve been enjoying this fanciful idea of multiple, task-specific devices, and I wondered about splitting the non-coding, computer things away from my laptop and I thought I'd give an iPad mini a try-out as a general-purpose 'personal' computing device; Apps, email, browsing, etc. It was a mixed success- I use it for some things way more than I expected I would, it is basically the only way I do email now, I have used it to write the entirety of this blog post. (by hand, with a pencil!), and a bit less for others (I had a quixotic notion that I'd finally get everything organised into digital calendaring but I still remain a barely calendared human) Overall though, I likes it. It’s very reliable, I’d say it’s a slightly more useful thing than it appears to be on the surface, and a slightly less capable thing than it appears in the advertisements. I'm quite happily onboarded now though, to the point that I feel comfortable treating it as the primary device / silo for certain categories of things. So much so that when I hit a patch of phone trouble with my Sony Xperia 2 running /e/ (This year I have bounced between Lineage, /e/ and SailfishOS in my continuing adventures in alternative phone systems) I decided to dust off an almost dead iPhone 6S and give it a try. And, it's fine. Fine enough that I refurbished the battery myself, which cost fifteen pounds, and was surprisingly straightforward and kept going. Several months on, I'm still using it. Although not all that much. I think one of the side effects of moving more of my "app stuff" over to the iPad is that I'm not really using my phone for anything much these days beyond light social networking, messaging and podcasts. Oh yeah , and Apple Pay everywhere! I love Apple Pay almost as much as I love my electric Shaver. It is quite peaceful not having to care about whether my phone is working or not when I need to take a call.

    posted by cms on
    tagged as
  8. I am typing this onto a phone, on a station platform, squinting at the early morning light. It is damp on the ground. Many birds, still excited enough by the recent dawn, and cheered on by the imminent Spring, are loudly singing in their particular competitions.I have been awake since stupid o' clock. I am a commuter, I have a headache, and I have a back-ache, and I am tired.

    I have been doing this routine, or a near variation of it for the last seven or eight years. It's been very useful. I have been privileged enough to afford to maintain a whacking great family home, in a comfortable part of Kent, and shuttle back and forth to the big smoke, and taken my parts, minor and significant, in various start-up and scale-up companies, some doomed, some successful, almost all of them great fun, inside London's burgeoning 'tech scene'.

    As of today, I am done. Today is my last commute.

    Now on the train, speeding toward Cannon Street. By some miracle of kindness, this train, frequently delayed, often truncated, usually rammed to the gunwales with the pissed-off, the late, the drooling snorers, the dextrous make-up applicators, the slightly terrifying morning Stella drinkers, arrived on time, and half-empty, and I have a seat, with a half-table. Airline seating, but nobody is pinning me in with an arse much larger than the mean spirited seating budget. Somebody up there likes me.

    "When a man is tired of London, he's tired of life", as the hoary old paraphrased proverb would have it. I'm not tired of life. I don't even think I'm tired of London. I haven't finished exploring it yet. I would like to do a bit more life, and a bit less dull routine. Recently, it's all been feeling a bit repetitive, and formulaic, and stale, and not really me. It feels like the right time to make some changes.

    I suppose 2018 seems to be my year for quitting things, from the outside. Over here I'm less sure of that. Change can be healthy, and constructive. A chaos wizard binds disorder and fluid energies into tools of power, after all. I don't believe in mid-life crises. I do believe in making the most you can from out of what you have. That's how the magic works.

    We're bang in the middle of selling the house. Planning to move further out, to the coast. I shall miss London, but only in the way I missed it when I left before, twenty-five years ago, perhaps more. That was opening a chapter onto great and marvellous things. This time will also. I'm sure I will be back. Meanwhile, I'm saying goodbye, at least for now.

    Now just pulling in to London Bridge. I like the Shard. It wasn't even a thing when we first moved here. Scenes change, always. Exciting.

    Cannon Street. One last day in the office. That's the end of my first, and probably last, ever live-blogged commute. A great run. That could not have gone better. I call that a perfect ending.


    posted by cms on
    tagged as
  9. I stumbled across a reference to the RMS Mülheim, and ended up in a wiki-hole. This German cargo ship was wrecked at Land's End in 2003, in apparently bizarre circumstances.

    On investigation, it was discovered that the chief officer—who had been on watch at the time—had caught his trousers in the lever of his chair when trying to get up, causing him to fall and rendering him unconscious."

    This brings to mind those periodic surveys about accidents in the home, wherein you learn that something inauspicious, like the toothbrush, is a significant factor in a majority of domestic fatalities. When I looked into it a little more, I did notice that trousers are involved in a surprising number of domestic incidents. In this article from 2001, they get the blame for 6000 accidents a year.

    posted by cms on
    tagged as
  10. Project 'get off the main web and back onto the indieweb' has been a little bit derailed by 'life events', some of which I should probably blog more about, in the truest spirit of that community. I am still plugging away at it over here in the corner, quietly.

    /me waves

    In addition to refocusing on self-hosting, some of my other goals were to play better with the "fediverse", experiment with a couple of p2p alternative Internets, and do a few more real-life networking. So tonight there's an opportunity to combine a couple of those, as tonight I am attending the London Mastodon Meetup, in the guise of one of my many secret identities, '[email protected]'.

    I'm not sure that disappointed is quite the right word to use, but part of me thinks it's a shame that it isn't

    1. called a toot up
    2. happening in Tooting
    posted by cms on
    tagged as
  11. A few months ago, I hacked together a kano system to give the children an introduction to computers and what everyone seems to want to call 'coding'. I like the idea, and the style of the kano kit , but I was a little bit dubious about dropping a couple of hundred quid on a 'edutainment' project that might prove to be of little lasting interest. I'm not particularly hung up on the kids achieving productivity with the thing, but if I'm going to increase my pile of computery devices, I'd prefer to invest in things that are going to be useful.

    I hacked together my own Kano

    Like so many recent consumer 'DIY' hardware kits, the kano systems are built over the super-popular Raspberry Pi single board computer system. The nice kano people provide downloads for their base system (which is built over linux), as well as all their educational software. So, you can fairly cheaply assemble a scratch-build system from parts, especially if you have most of the parts already lying around in your gigantic pile of computery devices, which of course, I mostly do. You just need a screen, a Pi, some input devices, and a suitably-sized SD card to flash an OS image to. (Use this app!)

    It all works fairly well. They bundle a collection of educational free software, including the usual suspects (Sonic Pi, Scratch), some slightly more suprising and fun inclusions (Minecraft Pi Edition), and their own 'Kano Blocks' programming system, a kind of scratch-like skin over maybe Python and JavaScript (I haven't really looked into it too much). Most of the value add comes with the user interface kano have used to tie all this together - it's got a nice colourful simplified desktop, and an onboarding script that uses a charming story-telling metaphor with an unfolding narrative (that starts out in a UNIX shell!) to nudge you into a 'learn to program' RPG style adventure. This takes the form of a Zelda style game that walks you through various scripted programming assignments, with a kind of quest structure. The backstory is sort of an updated spin on 'little computer people'. Overall it's quirky, charming, and seems to be quite engaging. Certainly, more appealing and welcoming to younger children than something like a bare Raspbian desktop with the various apps installed.

    I think designing user interfaces is really hard. I've done a bit of it myself. To my mind, it is at least as hard, perhaps harder, than writing computer software. On this front, despite a few rough edges, I've been really impressed with how well the Kano design caters to it's audience. By and large, it's pretty suitable for reading-age children to work with mostly unsupervised. (Pleasingly, there's no requirement for a network connection). That's quite a feat. It's not iPad-easy, but it's offering a significantly more freestyle, open-ended computer experience. I had a tiny bit of troubleshooting with WiFi drivers, and sound initially (hey, it's linux on the desktop after all). I expect these wouldn't present if you were using the official hardware kit. I would give a gentle recommendation of kano to anyone that was thinking of introducing a 6-8 year old child to 'computing' in a useful sense. Most of our interface struggles came from a less expected direction...


    Kano uses a tradtional desktop metaphor, which expects you to have a keyboard and a mouse/trackpad. It's straightforward adding these to a Pi. You can use any standard keyboard or mouse. Your options are USB type A, or Bluetooth. As you might expect, I have piles of these lying around. As it turns out, mostly these are Apple devices, because of historical reasons. These seem ideal. Apple! The fêted industrial design company. Really well built, attractive equipment. Attractive. Robust. World-beating, reliable Bluetooth stack. I had a small parts bin to choose from. Wireless and wired. Mice and trackpads. Aluminium and polycarbonate.

    They kind of worked as well as you'd expect. Except the children found them too confusing to use. It turns out, they're riddled with implied behaviour. Multitouch click behaviour for left and right clicks. Or completely invisible mouse 'buttons'. Weird icons for SHIFT, and TAB, and ENTER, and CAPS that are mostly subtle variations on the same symbol. Granted, I'm using the devices outside their expected context, but I was struck by the irony of how unintuitive all of this was, and also how unneccessary. I can appreciate that there's an aesthetic at play here. From a decorative perspective, there's a tasteful and consistent minimalism that ties it all together. I don't think it exhibits good design. I think it's just pseudy, pretentious, and fake.

    I like things to be pretty, and I value design. Both concepts are linked, but they ain't the same thing. Minimal interface design is a laudable goal. If you remove complexity from the interface medium, you remove boundaries, lower overheads, and make a system that's quicker, effective, and less taxing to use. If you do this, and you succeed in doing it well enough, there's an inherent beauty to any well considered tool, that sits somewhere beyond visual proportionality and materials. All these Apple peripherals fail to deliver much of this, sometimes quite badly. I was a bit surpised that I never noticed this so directly in the ten years or so I worked with these tools. But I was already an expert user, these flaws were a couple of layers lower than I was used to looking. Admittedly, some of the mice were pretty terrible, but I have famously always been more of a keyboard man.

    After a couple of months of rotating the devices, and patiently explaining that you press over here for this kind of click with this finger, and over there for the other purpose, with a different finger, and this kind of arrow is SHIFT, but that kind of arrow is CAPS LOCK, and scrolling happens this way, I caved and bought a Logitech K-400. It is battleship grey, and not particularly pretty. It uses a dongle for wireless, not bluetooth. The integrated touchpad works fine, and has two differentiated physical buttons. The SHIFT key is labelled with the word 'Shift'. It has been immediately popular, and I have not yet had to field a single question about how the keyboard or pointer works.

    posted by cms on
    tagged as
  12. I am a fairly sanguine UK rail commuter. I do not understand why they schedule the annual price hike for exactly the same week the holiday maintenance work is likely to have overrun, affecting all the services. Surely it would make more sense to raise the price at the start of the financial year, in April?

    posted by cms on
    tagged as
  13. Old Street station has a popup "Black Mirror" shop. I am not sure how I feel about this. I am fairly sure I know how Dan Ashcroft would feel about this.

    posted by cms on
    tagged as
  14. Bought some shoes, in the rain

    posted by cms on
    tagged as
  15. I've been writing a couple of things in hy again this week. What's Hy? It's a cute idea. It's a lisp that compiles? (transpiles? I never get the difference) to the Python AST. I guess the elevator pitch might be something like clojure but for python. So yeah, a rich, super stable class-tree sort of OO language, with enormous portablility and twenty-odd years of library support for everything you might want to do, but with a nice, dynamic, lispy language and a repl.

    I've played with hy a little bit on and off over the years. Actually, when I was working at SMR, I actually deployed some in production. (Somehow, I doubt that's still a thing). Python is my go-to scripting language, because it's very plain, very portable, batteries included, somewhat modern, probably already installed everywhere I work. I try to use it for scripty things, rather than shell or perl or something. Lisps are my favourite programming language. I just like how it fits together. I know lots of people don't, and I'm fine with that, but I always enjoy it.

    So over the holiday weekend I found myself wanting a couple of almost throwaway scripts, and I decided to reach back into the hy bucket, and give that another try. I wrote a script to grab my selfie tweets from a twitter archive, and a rough script to publish formatted micro-blog entries directly from the shell.

    It was a fun exercise. Hy has moved on a bit since I last tried. (They seem to have removed let, and car, and cdr, and lambda which I feel funny about), but by and large it works really well.

    Things I like

    • I like mapping over lists of things, and in straight Python this is often clumsy and leads to densely nested comprehensions
    • actual lambdas!
    • Python3 support ( hy3 )
    • easy importing of python modules
    • mostly seamless python interop
    • repl works great
    • the repl shows you the pythonic syntax of the forms it evaluates, which is helpful if you know Python
    • emacs mode (obv)
    • it has lazy sequences
    • and multimethods!
    • it is fun to work in

    Things I like less

    • Missing some olde lisp things like car/cdr/lambda
    • Things often expect you to be using methods on stateful objects, which gets you an OO impedance mismatch (I have the same problems in scala and clojure)
    • Slightly more typed than you expect, whilst not really offering you a type system. (Particularly with distinctions between lists, sequences, iterators.)
    • it often seems easier to imperative loop with for than map / reduce / filters, and this seems weird.
    • i don't feel I have any understanding about setv variable scoping.
    • no STM, which I think is one of the most interesting things about clojure
    • I don't think the error handling does restarts and conditions and things


    I don't think I would choose to use it to build any complicated systems. (Typically this is true of Python as well to be fair). I'd love to see something like an idomatic web framework in it. I could imagine using it to build serverless workers over something like apex up or chalice perhaps. I should totally try that!

    I am not really very good at it yet, so I doubt I'm writing optimal programs. My scripts often look like Dr. Moreau designs halfway between a python script and something more lispy. This could well improve as I understand the underlying sequence / itertools glue a bit more, I'm often routing around confusing sequenced things. I absolutely enjoy writing little scripts like this in it, and I think I maybe enjoy it more than I would if I was writing plain python. I gave some thought about why this might be and I think I figured it out.

    It could just be as simple as being all about the code editing. Python, and it's whitespace delimited blocks, is fine, and super readable, but it's always slightly fiddly to edit. Some of this is my toolchain, I'm sure. There's a lot of bells and whistles you can glue over emacs for Python work, and they're pretty good, but I do always find it a slightly fiddly experience. Balanced expressions and sexprs though are obviously an absolute joy to edit in emacs, alongside an embedded inferior lisp repl, and although it's nowhere near as integrated an experience as using slime with a "real" lisp, it's closer to that than editing Python ever feels, and for me that's a significant productivity win. So I think it will stay in the toolbox.

    I recommend Hy to anyone who is interested in interesting lightweight languages, especially scripting languages. Obviously it's particularly relevant to anyone who likes python or lisps, even if just as a curiosity. If you work with Python and like using emacs though, and like the sound of 'Python but with structured editing' I would strongly recommend you look at how it might integrate into your workflow.

    posted by cms on
    tagged as