Symbolic Forest

A homage to loading screens.

Blog : Posts from May 2022

Hooked on a pattern (part one)

Or, let's not get too crochety

Over the last few months I haven’t done much crafting, for one reason and another, but various crafting projects have slowly built up in my mind, a bit like a slowly-filling bath, until the other day someone sent me a link to an amigurumi pattern they thought I might want to buy, and it finally slopped the water all over the edge of the bath that is my mind and onto the bathroom floor that is my working table. Amigurumi, I should say, is specifically a term for making cute cuddly toys out of crochet.

Now, I haven’t done any crochet for over ten years, and I hadn’t tried to follow a crochet pattern for over ten years before that. On reading the pattern I’d bought, I quickly realised that right this minute my crochet skills are no where near good enough to actually make the thing properly. Rather than give up, though, I started making a trial swatch using the yarn I’d bought, to get used to using it, to remind myself how the various stitches work, and to get used to the difference between American crochet terminology (as used by the pattern) and British crochet terminology (as used by me in the past). They are confusingly similar: to go from American terminology to British you add one to all the names, so a single stitch becomes a double stitch and a double becomes a treble. Within a few minutes really, I had myself a few rows of double single crochet.

A few rows of crochet

My big mistake was buying the wrong yarn, basically. The pattern said to use “baby yarn”, but the shop I went in didn’t have the right colours, so I went for “double knit” instead, thinking “well it’s the same sort of thickness”. The difference is that double knit is twisted from two strands (hence the name, presumably?) and in my hands, the crochet hook is liable to split the yarn when I try to insert it into a stitch or pull through a tight loop.

Making a practice swatch, though, is definitely a good idea if only so I get myself used to how not to do that. Indeed, when a pattern says “insert hook into next stitch”, exactly where in said stitch do they mean? A few times in my first few rows I accidentally decreased or increased several stitches, from either skipping my hook ahead too far or accidentally putting it back into the previous stitch, giving my test piece a rather wobbly and wrinkled look.

I’m not going to start the pattern itself until I’ve done quite a few rows of every stitch it needs, and until I’ve “got my eye in”, reached the point I can look at the piece and see where each stitch is and which part of each stitch each thread belongs to. That was something I learned years ago doing archaeology: you can’t just come into a new situation, look at a thing, and immediately parse it all visually, immediately see how the different things slot together. You have to “get your eye in”, and let your brain learn how things work in this new context. At first my crochet piece was a uniform brown blob, which is why I made mistakes, but now I’m starting to see what to do.

The next part in this series is here

State of independence

Or, getting the web back to its roots

When I rewrote and “relaunched” this site, back in 2020, I very consciously chose to stay simple. I didn’t want to tie myself to one of the major “content platforms”, because over the years too many of them have closed down on barely more than a whim. I didn’t want a complex system that would be high-maintenance in return for more functionality. I didn’t want to have to moderate what other people might want to say in my space. More importantly, though, I did want a space more like the online spaces I inhabited 20 or so years ago; or at least, like the online spaces of my imagination, where people would create in their own little corner not worrying about influence or monetisation or that sort of thing. It’s possible that place never really existed, except in my mind, but it was something I always aspired towards, and it was a place where I met a whole load of other people who shared a similar outlook on why they were writing down so much stuff out there on the internet for other people to read. That was why, when I rewrote this site, I kept it simple, and produced a static site that could be hosted almost anywhere, with source code that can be put into any private Git hosting service. I didn’t even go for one of the mainstream static site generators; I chose a relatively simple and straightforward open-source one that works by gluing a number of other open-source tools together to output HTML. It’s about as plain and independent as you can get.

There is, nowadays, a movement towards making the web more independent, making it more like it used to be, or at least as some of us remember it. It’s called the IndieWeb movement. The basic idea behind the IndieWeb is exactly this: that when you, an individual, post something online, it should stay yours. It should belong to you, under your control, forever. Essentially, that’s one of the main things I’ve always been aiming for.

I’m clearly IndieWeb-adjacent, whatever that phrase I’ve just invented means. This site, though, is a long way from being IndieWeb-complient. And the reason is: I’ve looked through their Getting Started pages, and, frankly, it takes effort. That might sound like me being lazy, and I’d be the first to agree that I am lazy, but it’s also because there are only so many hours in the day. The day job takes up a good chunk of them, of course, then there are The Children, there’s my other coding projects, all my craft projects,* the various organisations I do volunteer work for, all the other ways I’m trying to improve myself, not to mention the attraction of just going out for a long walk for a few hours. Aside from the original setup and occasional tweaks, this site is largely something to exercise the side of my brain that isn’t involved in coding. Spending time setting up and creating my own personal h-card, and automating syndication, isn’t really something I want to do in my relaxation hours.

Hopefully, though, the idea behind IndieWeb will grow, and will flourish, and we can make the web something that isn’t driven by advertising revenue, or by monetising hate and bigotry. I’d like us to make the web a place where seeds have space to germinate and flower, where everyone controls their own output and can express themselves without the point being to increase shareholder value or to feed the ego of some not-as-bright-as-he-thinks entrepreneur. Maybe I’ll add more IndieWeb features to this site, one by one, as time goes by. Hopefully, whatever I do, I’ll just keep doing my own thing for as longa as it makes me happy.

* I mean, I literally started two separate new ones yesterday.

Be seeing you

Or, Photo post of the week under another name

At the start of the month I mentioned that I’d taken The Children away for a week in the Easter holidays, up to North Wales. As I said then, we saw quite a few beached jellyfish. Naturally, though, I refused to spend all day every day on the beach. So where else did we go?

Statue of Hercules

To somewhere I’ve been to a few times in the past, but for some reason, whenever I’ve been there myself I’ve never had a good digital camera with me. Time to rectify that, I thought.

A mural angel

I can remember taking practically that selfsame identical shot when I was a teenager, on Kodachrome slide film. This is a place that—on a sunny day—was ideal for slow Kodachrome and its richly saturated colours. I’m teasing you with little detail shots here because it’s such a famous place, and its main landmarks and vistas are so well-known and well-photographed, that you’d recognise it immediately if I’d started out with any of the obvious viewpoints.

The village campanile

Around the village square

Some of you will have recognised it: the holiday village of Portmeirion, on the headland between the Afon Glasyln and Afon Dwyryd, just on the other side of the headland from the Boston Lodge railway works. It’s full of picturesque clusters of cottages and intriguing viewpoints, because it was deliberately designed in precisely that way, by the architect Clough Williams-Ellis. The grandest architectural folly of them all, a folly expanded to the size of an entire village and turned into a holiday resort.

One of the regular readers has already told me that they “struggle to be whelmed” by Portmeirion, and I can see what they mean. Because it’s designed with an artistic eye, because it is designed to be almost like a stage- or film-set in some ways, it has that strange faery property that a set has of seeming, when in pictures or on film, of being much, much bigger than it actually is. You can—and people have—publish entire books of pictures of Portmeirion, with almost as much variety as if it were an entire city, but when you visit you realise that all those views and all those sightlines are crammed into a tiny pocket of space, like the hollow between the cusps of one of your back teeth. If most of the visitors stick to the village and its shops, I do have to wonder what they do all the day.

A towering cottage

Still, if you wander off into the woods, or down along the shoreline path, there are places to explore that relatively few of the village’s visitors get to. A painted-steel lighthouse at the tip of the headland, or various oriental ponds and pagodas. Most curious of all, the Dog Cemetery, a small clearing in the woods packed full with graves.

The dog cemetery

Now I’ve been to Portmeirion with the Proper Camera, now I’ve shown the kids around it, I don’t feel I’ll see the need to go again for a pretty long time; I feel I’ve seen it all. Was it worth going again for the first time in over a decade though? Was it worth it, so that I can take the same photos as everybody else does? Yes, I think so. It’s a charming place, but maybe that bit too carefully-orchestrated, that little bit too whimsical and twee, to be quite as charming as I’d like.

The banks of the Dwyryd

Shocked, I tell you

I suppose we were going to take the Eurovision seriously eventually

Like half of the people in Europe, I was glued to the edge of my seat at midnight (UK time) last night waiting to see the final outcome of this year’s Eurovision. Like almost everyone watching in the UK—plus a few migrants elsewhere, like my friend SJ who moved from Yorkshire to Mexico—I was in a state of shocked disbelief that we were actually doing rather well at it all. We won the jury vote and came fifth in the popular vote, pushing us up to an overall second place. Really quite a surprising result compared to some previous entrants; see, we can do well in Eurovision if we actually take it seriously.

Of course, most of the songs I liked myself really got very far, but I’m used to that by now. Here are the ones I liked enough to make notes on, in roughly reverse order:

  • Finland I thought would do better, but clearly fans of The Rasmus didn’t turn out and vote for them.
  • Serbia—I rather liked their 19th century medical aesthetic, aside from the song being pretty decent too.
  • The Netherlands were the only one of the many many ballads this year to really make an impact on me, which was all down to the tune and the performance. For some reason, there’s something about the particular shape of the melody that I really liked. It helped a little that I know enough Dutch to pick up a handful of the words.
  • Moldova had an interesting modern take on The Ramones, almost like a mirror-universe Helen Love with a bit more folk violin. Apparently the song was something about trains.
  • And finally France were my favourites, with a Celtic rave that turned into some sort of summoning ritual along the way. I bet any BDSM people watching were looking at all the triskele symbols in the staging and going “hmm, I bet they’re kinky too”.

OK, two of my favourites (Moldova and Serbia) genuinely did also do well in the final results, and the Netherlands were middling, but France in particular came absolutely nowhere, which I thought was a terrible shame. Oh well, if my favourite song ever did come first, I’d start to worry about myself.

A walk in the park

Some South Wales railway history that is still around, but not for long

Back on to my complex and fragmentary sequence of posts about the history of the complex and fragmentary South Wales railway network. It was prompted by news that Network Rail are working on upgrading the Ebbw Vale line to allow a better train frequency than once per hour, by widening the line from one track to two for a few miles around Aberbeeg. Changing the track, though, involves changing the signalling, and changing the signalling will involve getting rid of a little island of 19th-century mechanical signalling that still exists in Casnewydd/Newport. It’s the signalbox at Park Junction, in the Gaer area of the city.

Park Junction signalbox

And there it is, with the signals pulled off for an Ebbw Vale train. This picture is from April 2021. It might not look like much from this angle, but if I swing round a bit, you can see that the box is really quite a grand affair for something that only handles a few trains per hour.

Park Junction signalbox

You’d be right to assume that, given the size of the building, it was built to control a much bigger junction than the handful of tracks in front of it today.

I’ve written before about the Monmouthshire Canal Company building a railway all the way back in 1805, to carry coal and iron down the Sirhowy Valley. This is, indeed, on that 1805 route. When, a few decades later, the South Wales Railway was built from Abertawe/Swansea to Casgwent/Chepstow, it burrowed under the Monmouthshire Canal Company’s railway at right-angles, and a complex mesh of interconnecting routes slowly developed. This is a map from around the time of the First World War, after the MCC and SWR had both been bought out by the Great Western, so confusingly both railways are in the same colour.

Railway Clearing House map of the area

The Monmouthshire Canal’s railway runs from left to right, the South Wales Railway from bottom to top, and Park Junction is there on the left. Nowadays, most of the tangle of lines heading towards the docks has gone, and Park Junction is at one corner of a triangle, trains to Cardiff joining the main line at Ebbw Junction and those into Newport joining it at Gaer Junction.

I’ve written previously about that purple line running parallel to the yellow one. That belonged to the company which had extended Newport Docks, the Alexandra (Newport) Dock & Railway Company; and they had built a line from Bassaleg, right alongside the Great Western, so that coal trains coming down the Brecon & Merthyr Railway from Bargoed, Rhymney or Bedwas could reach Newport Docks without paying tolls to the GWR. When they were built, the lines ran around the back of the signalbox, which had nothing at all to do with them. You can see this on a more detailed map from around the same time.

Ordnance Survey 25in map of 1916

Reproduced with permission of the National Library of Scotland, as was the one below.

I’ve made that one a clickthrough because it’s quite detailed; apologies for the horizontal line, but the original is split across two sheets which I’ve roughly stitched together. Three pairs of tracks in front of the box, belonging to the Great Western; and the pair behind it, separate, spreading out into a bank of sidings. About five years after this was surveyed, the Railways Act 1921 merged Newport Docks into the GWR, and within a few years they had put in additional connections at Park Junction, between the lines in front of the box and those that ran behind it.

Ordnance Survey 25in map from the 1930s

Look how much suburbia has grown up in those twenty years, too.

The route through Park Junction lost its passenger services in the early 1960s. Ostensibly this was because British Railways wanted to rearrange the platforms at Newport Station in such a way that there was no space for the Ebbw and Sirhowy Valleys services to turn around; of course, if they had really cared about keeping them, they would have been able to find a way to do it. Back then, there was still heavy freight traffic up and down the valley, from the steel works and the mines; and a large marshalling yard at Rogerstone. Over the following years that traffic dwindled away and shrank, but Park Junction signalbox nevertheless survived, opening a bit less maybe, but still there to signal freight trains up the valley when needed. In the 2000s when the line to Ebbw Vale reopened to passengers, a modern signalling panel was put into one corner of the box to control most of the Ebbw Vale line; but the box still kept its mechanical levers and the tracks past it kept their mechanical semaphore signals, as you can see on the photos above.

Now, in 2022, Park Junction is something of an isolated island given that the main line through Newport is all controlled from the Wales Rail Operating Centre, in Cardiff. When passenger services returned to Ebbw Vale, only one track was kept north of Crosskeys, meaning that the maximum service frequency on the branch is the hour that it takes a train to get from Crosskeys to Ebbw Vale and back down to Crosskeys again. To increase the service means more track; more track means more points and signals; and if you’re putting in more points and signals, it makes sense to move on with the plan to put all of Wales’s signalling into the ROC. So, Park Junction will close, some time over the course of the next few months. It’s a shame, but that’s modernisation for you. I must try to get there again to take more photographs before it goes.

The Paper Archives (part two)

More relics from the past

The previous post in this series is here.

Spending some more time going through the things The Parents should arguably have thrown out decades ago, I came across a leather bag, which seemed to have belonged to my father. Specifically, he seemed to have used it for going to college, in the 1970s. Him being him, he’d never properly cleaned it out, so it had accumulated all manner of things from all across the decade. There were “please explain your non-attendance” slips from 1972; an unread railway society magazine from 1977; and the most recent thing with a date on was an Open University exam paper from 1983. It was about relational database design, and to be honest some of the questions wouldn’t be out of place in a modern exam paper if you asked for the answers in SQL DDL rather than in CODASYL DDL, so I might come back to that and give it its own post. What he scored on the exam, I don’t know. There were coloured pencils, and an unopened packet of gum.

Juicy Fruit gum

It seems to be from before the invention of the Best Before date, but the RRP printed on the side is £0.04.

Slightly more expensive: a rather nice slide rule. Look, it has a Standard Deviation scale and all. Naturally, my dad being my dad, it was still in its case and with the original instruction book, which will be useful if I ever try to work out how to use it.

Slide rule

And finally (for today) I spotted what appeared to be a slip of paper at the bottom of the bag with “NEWTON’S METHOD” written on it in small capitals, in fountain-pen ink. Had he been cheating in his exams? Had he written a crib to the Newton-Raphson method down and slipped it into the bottom of the bag? I pulled it out and…I was wrong.

Paper tape

It was a rolled-up 8-bit paper tape! Presumably with his attempt at a program to numerically solve a particular class of equation using Newton’s method.

I don’t know what type of machine it would have been written for, but I could see that it was likely binary data or text in some unfamiliar encoding, as whichever way around you look at it a good proportion of the high bits would be set so it was unlikely to be ASCII. Assuming I’m holding the tape the right way round, this is a transcription of the first thirty-two bytes…

0A 8D 44 4E C5 A0 35 B8 0A 8D 22 30 A0 59 42 A0 47 4E C9 44 C9 56 C9 44 22 A0 D4 4E C9 D2 50 A0

That’s clearly not ASCII. In fact, I think I know what it might: an 8080/Z80 binary. I recognise those repeated C9 bytes: that’s the opcode for the ret instruction, which has survived all the way through to the modern-day x64 instruction set. If I try to hand-disassemble those few bytes assuming it’s Z80 code we get:

ld a,(bc)
adc a,l
ld b,h
ld c,(hl)
push bc
and b
dec (hl)
cp b
ld a,(bc)
adc a,l

This isn’t the place to go into Z80 assembler syntax—that might be a topic for the future—other than to say that it reads left-to-right and brackets are a pointer dereference, so ld c,(hl) means “put the value in register c into the memory location whose address is in register hl. As valid code it doesn’t look too promising to my eyes—I didn’t even realise dec (hl) was something you could do—but I’ve never been any sort of assembly language expert. The “code” clearly does start off making assumptions about the state of the registers, but on some operating systems that would make sense. This disassembly only takes us as far as the repeated 0A8D, though: maybe that’s some sort of marker separating segments of the file, and the actual code is yet to come. The disassembly continues…

ld (&a030),hl
ld e,c
ld b,d
and b
ld b,a
ld c,(hl)
ld b,h
ld d,(hl)
ld b,h
ld (&a0d4),hl
ld c,(hl)
jp nc,(&a050)

Well, that sort of makes some sort of sense. The instructions that reference fixed addresses all appear to point to a consistent place in the address space. It also implies code and data is in the same address space, in the block starting around &a000 which means you’d expect that some of the binary wouldn’t make sense when decompiled. If this was some other arbitrary data, I’d expect references like that to be scattered around at random locations. As the label says this is an implementation of Newton’s method, we can probably assume that this is a college program that includes an implementation of some mathematical function, an implementation of its first derivative, and the Newton’s method code that calls the first two repeatedly to find a solution for the first. I wouldn’t expect it to be so sophisticated as to be able to operate on any arbitrary function, or to work out the derivative function itself.

If I could find jumps or calls pointing to the instructions after those ret opcodes, I’d be happier. Maybe, if I ever have too much time on my hands, I’ll try to decompile the whole thing.

The next post in this series is here

Wibbly wobbly

Or, something from the depths

I took The Children away for a week over the Easter holidays. Naturally, they wanted to go somewhere that had a beach, and naturally, they badgered to be taken to the beach nearly every day we were there. What did we find there, when we went? Jellyfish. Big ones.



Jellyfish, at my feet

I poked the bell of one with the toe of my boot, almost expecting it to burst, or my foot to sink into it. It felt surprisingly tough, though, tough and rubbery, not fragile in any sort of way. They were all sizes, from tiny things, to beasts a couple of feet across. I took a photo with The Children in it for scale.

Jellyfish with child for scale

THe big one seemed to have tiny tiny shrimp living in a little hole. I’m not sure if they’d been trapped and eaten by it, if they were in some sort of symbiosis with it, or if they just happened across it as the tide went out and were using it as a kind of emergency rock pool.

Tiny tiny shrimp

One of the regular readers, who I won’t embarrass, has already written to say they’re terrifying. I find them eerie, but also comforting, in that they have been bobbing around the sea happily for millennia, eating away at stuff and just generally doing their own thing. I think these are the barrel jellyfish, Rizostoma pulmo, which can potentially grow to much, much larger than this, and are also known as the “dustbin lid jellyfish” as a result. Maybe one day I’ll come across a dustbin-sized or child-sized one washed up on the shore.