+++*

Symbolic Forest

A homage to loading screens.

Blog : Post Category : Dear Diary : Page 5

An unexpected visitor

Of the feline variety

We had an unexpected visitor in late July. One morning, as I was heading out for my morning 6am walk, I noticed one of the neighbourhood cats lurking outside the house, asking for scratches and strokes. When I came back an hour or so later, it was in the back garden instead. I opened the back door, and it followed me inside. It prowled the kitchen, miaowing boldly, before deciding to lie down as Guardian Of The Recycling.

Random Cat

It came back again the following morning, and the morning after, and started to explore more of the house. Initially it refused to go upstairs, and if anyone went upstairs would sit at the bottom waiting for them to return; but after a week or two it was happy to roam the whole house and particularly liked lurking among the clutter in the office.

Random Cat

The Plain People Of The Internet: So is this one of those situations? The whole “this is your cat now” situation?

I doubt it is, somehow. It’s clearly a healthy, happy cat that has a home nearby. It doesn’t need food from us, and I haven’t given it any. Moreover, as one of the other regular correspondents has pointed out to me: if Random Cat is a much-loved household pet, tempting it away to another home is not exactly a very neighbourly thing to do, however friendly it seems to be and however much it stands by the kitchen cupboards miaowing at me.

Why has Random Cat been visiting, anyway? I realised its visits started in late July, at the same time as the school summer holidays. Maybe one local family’s routine changes so much in the school holidays that Random Cat can’t cope with not getting its breakfast early, and decided to scout around the rest of the neighbourhood instead. Possibly, then, now we’re into September and the schools are going back, its visits will start to dry up again.

Random Cat

Ever since moving house, we have said: we really should think about getting in touch with the local cat shelters and finding one to actually live here. That, in all likelihood, will stop it visiting, although it’s not guaranteed. My garden is already disputed territory between Random Cat and another neighbourhood cat, an all-black one which likes to sit on the roof of a nearby shed. They have face-offs balancing on top of our garden fence. A third cat thrown into the mix might not even change very much.

If we do get a cat to live here, no doubt this blog—and certainly the rest of my social media—will become rather heavily cat-centric, at least initially. For now, though, occasional Random Cat will have to do.

Mynyddoedd Cymreig

On the mountains of Wales

Back in May, the latest post in the Books I Haven’t Read series was about *The Hills Of Wales* by Jim Perrin, a book which I felt had a somewhat exclusive and elitist approach to said hills. At the time I read it, or at least part of it, I was staying in a cottage under Moel y Gest, within sight of the Moelwynion, so the hills of Wales were very real and very much on the doorstep. For that matter, the hills of Wales are on the doorstep of my home, too, and the issue of why hills such as Yr Wyddfa, the Moelwynion and all the others of the Eryri massif are seen as valid and special in a way that the worn-out, lived-on hills of the south such as Mynydd Machen, Twmbarlwm and the Blorenge are not, is a whole ‘nother topic in itself. The hills of the North, after all, are almost as industrialised as the hills of the South, particularly in the case of places like Parys Mountain or Penmaenmawr which have been industrial sites for thousands of years. Putting that aside, my plan was always to come home and write about my own responses to the hills of North Wales and what they mean to me; but since May it has stayed on the to-do pile.

Last week, however, I was away again, this time to the area around Aberteifi/Cardigan in West Wales. Driving along the main road north from Aberteifi towards Aberaeron and Aberystwyth, I glanced to my left and saw the sparkling, shining seas of Cardigan Bay. The air was so clear I could see the mountains on the far side of the bay in the distance. I could only glance briefly—I was driving, after all—but there unmistakably in the distance was the lonely outline of Moel y Gest, and alongside it the double-peaked ridge of the Moelwynion. It filled me with a sudden thrill, spotting a skyline I recognised from the far side of the bay. As soon as I got out of the car, I was messaging one of the regular correspondants to tell them about it, to their undoubted bemusement. Later, when I was back home and back at a proper computer, I checked the distance: about sixty miles, pretty good seeing really. Even the sparkling sea was deceptive: although it looked close enough to touch, the shore must have been some five or six miles away. I was over 200 metres above it, not far off the altitude of Moel y Gest itself.

Why does spotting the Moelwynion give me a thrill like that? I don’t know, other than that I have been going back to that corner of the country on and off since I was a teenager. But spotting them like that did remind me to write this post, and it took me back to a day back in May when I was driving around almost in their shadow, hunting down some bottles of limited-edition beer (it’s a long story). The drive took me across the Traeth Mawr, then over the hill road from Garreg to Maentwrog, but it is the first part, from Prenteg to Garreg, that sticks in my mind. I really don’t expect you to know where these places are, by the way, but please do stop to look them up on a map. The Traeth Mawr is an ancient drowned valley, once a broad sandy silvery estuary, for the past two hundred years usually farmland.

The Romantics, Shelley in particular, thought it one of the finest sights in the world before it was reclaimed. Nowadays you can hike, drive, or catch the train across it. And even though the sea is no longer there to reflect them, the surrounding mountains are a mighty encounter. Driving across the Traeth in search of beer, I felt safe, warm and secure, cupped in a bowl, the grand bones of Eryri wrapping themselves around me and protecting me with their power. If you were to reach for your copy of the Mabinogion you might realise that Pryderi was buried just over the other side of the mountain ridge, with Lleu Llaw Gyffes living with his wife made of flowers just a short walk away too.

That, maybe, gives you some sense of the reaction that I have to the hills of Wales, or at least a small fraction of them. There are many more, of course, and I have much more to say. I have had half a post drafted about Mynydd Machen for a while, although I might need to go up there again in a better mood. I have complex feelings about the Rhinogydd even though I’ve never explored their dark, quiet and lurking shapes. I’ve promised to take one regular correspondant to Bryn Cader Faner to see its curious crown of thorns, and I will always remember a teenage walk up to Llandecwyn chapel at dusk, looking down on Harlech Bay as if it was in the palm of my hand. No doubt I will write more about Welsh hills over the coming months and years. The important thing, the thing to always remember, is that they belong to everyone. The people who live on them, the people who live around them, the people who walk up them and the people who work on them. They are too old and too powerful to ever be the property of just one.

Motivational speaking

Or, principles and platitudes

It’s nearly a month now since I started the new job. It’s not been plain sailing all the way, of course, but it feels like it’s going reasonably well.

One aspect of coming in and taking over a team is that naturally I want to put my own flavour on things. I’m not saying I automatically think my ideas are always better than what the team already does, of course, but I do think firstly that new ideas can often trigger new thinking and give new energy to a team, and secondly, that some of the things are familiar to me are inevitably going to be new to my new colleagues, and things they might not have considered before. So, if I can bring in processes and practices that have worked well for me before, they may well work well in the new job too. If anything, as long as I can get the team behind them, they might be worth a try.

“As long as I can get the team behind them” is the key point there, of course; and it’s important to make sure we all feel we are a team and that we can all contribute to making change happen. I started writing down some Basic Good Principles along those lines. “We know we’re not perfect but we’re always improving,” for example. “We all review each other’s code, because everyone gets it wrong sometimes.” — I’m always surprised how many people don’t quite follow that one. “This document is not set in stone and is always changing, just as our processes are always changing and improving.” is another one, because when a particular practice or process turns into dogma is when it starts to impede you rather than work for you.

After a while brainstorming this stuff, writing down these sort of things, though, I started to get a bit of self-doubt. Is writing down these sort of principles really helpful, or were my notes just turning into meaningless platitudes in themselves? Was I at risk of accidentally coming up with the “Live, Laugh, Love” of software development?

Which of course, set me thinking. What is the “Live, Laugh, Love” of software development? Maybe if I deliberately came up with something quite so awful, quite so twee and nauseating, it would reduce the risk of ending up in that zone by accident?

I scribbled a few things down, crossed some out, shuffled some ideas around, and eventually came up with the following. I think it’s pretty good. By which I mean, I feel slightly disgusted with myself.

Code

Create

Care

One of our regular correspondents writes: Yeah, I think you might need a shower after that.

Most definitely. I felt dirty. If you ever find me giving that as advice to my team, please, tell me I need to take a holiday. All the same, if I was to pick a font and put it on a framed print, I wonder how many I could sell?

Flashback

Or, someone from the past

Regular readers might have noticed that there haven’t been many posts on here lately: the pressure of various other things that come before this place. The new job, for example, is one. Going to visit The Mother and help her with various bits of paperwork, another. I was up visiting The Mother the other day, as it happens. Not only did I also fit in a few nice long walks on her local beach, which will be the subject of another post another day, but I went down the pub and met up with this chap for lunch.

Wee Dave, allegedly

In the post about the new job, I mentioned how I used at one time to write lots of posts about my colleagues, giving them all false names and talking about some of the less controversial things some of them got up to. The chap in the picture is the guy referred to on this site as Wee Dave—not his real name of course. I called him Wee Dave because he succeeded Big Dave, although of course that wasn’t Big Dave’s real name either.

I hadn’t seen him for, ooh, it must be thirteen years nearly. We caught up, on and off, about various things that had happened through the intervening time: him on how strange it was, after I left that job, to stay on for a few more years in a business that was slowly shrinking as its owner wound down towards retirement, selling off a department here and shutting down one there, until in the end only Wee Dave and a couple of other people were left rattling around inside an empty warehouse. For my side, I told him all about some of the things I’ve worked on since, some of them interesting and some of them less so.

Naturally, we also reminisced about the people we worked with and that I wrote about here. “Say hi from me!” messages were passed over, and we talked about how few of the people there we actually kept in touch with, and quite what a strange place it was to work. Wee Dave ended up working with someone else from that place at his next job; unlike me, of course, disappearing to the far end of the country. Like me, though, he’s moved from general IT work into software development, partly because it’s far more interesting and challenging than setting up servers, rotating backup tapes and generally being a systems dogsbody. We shared the usual gripes that all software developers have, such as nobody really agreeing on what Agile is supposed to mean even though everyone claims they do it. That, indeed, is something I might have a long ramble about on here some time.

Thirteen years is a long time, from one meeting to the next. Of course, as I have to go up there and visit The Mother fairly regularly nowadays, I’m going to be in the area much more often in the future. Hopefully the gap until we next have a drink together won’t be quite so long.

Milestones

Or, how and how not to learn languages

I passed a very minor milestone yesterday. Duolingo, the language-learning app, informed me that I had a “streak” of 1,000 days. In other words, for the past not-quite-three-years, most days, I have fired up the Duolingo app or website and done some sort of language lesson. I say “most days”: in theory the “streak” is supposed to mean I did it every single day, but in practice you can skip days here and there if you know what you’re doing. I’ve mostly been learning Welsh, with a smattering of Dutch, and occasionally revising my tourist-level German.

My Welsh isn’t, I have to admit, at any sort of level where I can actually hold a conversation. I barely dare say “Ga i psygod a sglodion bach, plîs,” in the chip shop when visiting I’m Welsh-speaking Wales, because although I can say that I am wary I wouldn’t be any use at comprehending the response, if they need to ask, for example, exactly what type of fish I want. To be honest, I see this as a big drawback to the whole Duolingo-style learning experience, which seems essentially focused around rote learning of a small number of set phrases in the hope that a broader understanding of grammar and vocabulary will follow. I’ve been using Duolingo much longer than three years—I first used it to start revising my knowledge of German back in 2015. When I last visited Germany, though, I was slightly confused to find that after over a year of Duolingo, if anything, I felt less secure in my command of German, less confident in my ability to use it day-to-day. Exactly why I don’t now, but it helped me realise that I can’t just delegate that sort of learning to a question-and-answer app. If I want to progress with my Welsh, I know I’m going to have to find some sort of conversational class.

Passing the 1,000 days milestone made me start wondering if anyone has produced something along the same lines as Duolingo but for computer languages. In some ways it should be a less difficult problem than for natural language learning, because, after all, any nuances of meaning are less ambiguous. I lose track of the number of times Duolingo marks me down because I enter an English answer which means the same as the accepted answer but uses some other synonym or has a slightly different word order. With a coding language, if you have your requirements and the output meets them, your answer is definitely right. In theory it shouldn’t be too hard to create a Duolingo-alike thing but with this sort of question:

Given a List<Uri> called uris, return a list of the Uris whose hostnames end in .com in alphabetical order.

  1. uris.Select(u => u.Host).Where(h => h.EndsWith(".com")).OrderBy();
  2. uris.Where(u => u != null && u.Host.EndsWith(".com")).OrderBy(u => u.AbsoluteUri).ToList();
  3. uris.SelectMany(u => u.Where(Host.EndsWith(".com"))).ToList().Sort();

The answer, by the way, is 2. Please do write in if I’ve made any mistakes by being brave enough to write this off the top of my head; writing wrong-but-plausible-looking code is harder than you think. Moreover, I know the other two answers contain a host of errors and wouldn’t even compile, just as the wrong answers in Duolingo often contain major errors in grammar and vocabulary.

Clearly, you could do something like this, and you could memorise a whole set of “cheat sheets” of different coding fragments that fit various different circumstances. Would you, though, be able to write decent, efficient, and most importantly well-understood code this way? Would you understand exactly the difference between the OrderBy() call in the correct answer, and the Sort() call in answer three?* I suspect the answer to these questions is probably no.

Is that necessarily a bad thing, though? It’s possibly the level that junior developers often work at, and we accept that that’s just a necessary phrase of their career. Most developers start their careers knowing a small range of things, and they start out by plugging those things together and then sorting the bugs out. As they learn and grow they learn more, they fit things together better, they start writing more original code and slowly they become fluent in writing efficient, clean and idiomatic code from scratch. It’s a good parallel to the learner of a natural language, learning how to put phrases together, learning the grammar for doing so and the idioms of casual conversation, until finally they are fluent.

I realise Duolingo is only an early low-level step in my language-learning. It’s never going to be the whole thing; I doubt it would even get you to GCSE level on its own. As a foundational step, though, it might be a very helpful one. One day maybe I’ll be fluent in Welsh or German just as it’s taken me a few years to become fully fluent in C#. I know, though, it’s going to take much more than Duolingo to get me there.

* The call in answer 2 is a LINQ method which does not modify its source but instead returns a new enumeration containing the sorted data. The call in answer 3 modifies the list in-place.

What rhymes with...?

Or, a trip up a mountain

What do you do on a random Saturday with zero plans? Walk up a mountain? What an excellent suggestion, thank you! So yesterday morning I headed off for a gentle amble up to the summit of the Blorenge, the mountain that stands over the valley of the River Usk opposite the Sugar Loaf, and separates the urban environs of Blaenafon from the rural tranquility of Abergavenny and Crickhowell.

I say “a gentle amble” because it’s not a particularly strenous walk. It’s not like the sort of mountain where you park your car at the bottom and hike up a path so steep you’re almost too scared to come down again. The road over the mountains north from Blaenafon isn’t that much lower than the summit, only about eighty metres or so. The walk, therefore, is essentially a cross-moorland ramble more than anything else. Still, it’s definitely a good way to spend a morning.

When I thought of posting this, I was intending to turn it into something hugely informative: a long story full of history, geology, packed with information about the mountain. Unfortunately, I couldn’t quite work out how to get into it. It turned into something dry and meaningless, without flavour, when I wanted to write something evocative, something that would make you really feel you were on the mountain alongside me. What I do have, though, are pictures.

Keepers Pond

I started here at Keepers Pond; at least, that’s what it’s called on the signs. The Ordnance Survey map calls it Pen-ffordd-goch Pond—the head of the red path. Older, Victorian-era maps call it Forge Pond. The whole area around the Blorenge is filled with ancient industry: pits, hollows, old quarries and old mining tips, joined up by tracks that were once horse-drawn railways. Nowadays Keepers Pond is busy with wild swimmers, canoers and paddleboarders. The only ancient industry I found was one length of Victorian railway rail.

Bridge rail

Keepers Pond

Despite all its ancient industry, the Blorenge now is a quiet place, a place where the loudest sounds are of songbirds. There are many hikers, but they walk silently, conversations blown away by the wind. In the distance you can see all the way to the Severn Sea, in the far distance the coast of Somerset, but on Saturday the skies were grey, the clouds low, and sea, sky and distant land all merged into one continuous blue-grey palette.

The view to the sea

At the summit, naturally, there’s a trig point. On the ground, though, unmarked, a second benchmark was carved. An old one, by the look of its shape. Possibly, it is the benchmark labelled on an 1880s map as 1,832 feet.

Bench mark

1880s map

To the north, at first, the view was lost in cloud, leaving just impressions of a valley. Then, slowly, as I returned back to the car, it started to open up again. The valley of the Usk, the Black Mountains and the Sugar Loaf. The grand vista stretched before me, before the cloud came back down again once more.

![The view](blorenge-panorama-small.jpg “The view”)

Changing jobs

Or, something new on the horizon

Back in the day, back in the mists of time when I first started writing this blog, I wrote quite a lot about work. If you go into the appropriate category there are many, many posts of slightly-disguised stories about the various characters I worked with: Big Dave, the cute one from the Accounts office, Wee Dave, Big Dave, the office tea fund lady, and, well, usually Big Dave. It all backfired somewhat in the end: it turned out that they all knew about it, and eventually the office tea fund lady complained I was being too sarcastic about her and I was asked to stop. I’m glad to some extent that I did it, but I’ve never risked being quite that open about the people I work with again.

It’s on my mind at the moment, though, partly because I’m changing jobs soon. I’m almost at my last day in my current position, and as part of that I’m considering, when I write to everyone to tell them how to keep in touch, giving them the address of this website in case they want to read it. If I did do that and you’re reading this, rest assured, there is absolutely nothing about you on here; and none of you have interesting slightly-fictionalised names either.*

There’s a new job starting for me very soon, and it’s going to be a whole new world: people I have no idea about yet, new things to learn, things to do, and hopefully worlds to change. I’m apprehensive about it, partly because I have no idea at all what is around the corner for me. But, moreover, this is an unusual change of job for me, because I genuinely have regrets about it. I really do love the people I work with, in a sense. Collectively, they’re one of the best groups of people I’ve been lucky enough to work alongside, and going forward into the unknown means leaving them behind. I’m only a small cog there, and my departure won’t really have any effect on the company as a whole, but they’ve been a big part of my life for the last few years.

Naturally, I’m not going to write about the new job either, although if we do anything particularly earth-shattering I might drop hints about it occasionally. When we do anything earth-shattering, of course, I mean. If I write about tech stuff on here, it won’t be anything that relates directly to work; it’ll be general tech stuff like “how the git version-control system works” or “tips I’ve learned from working in tech that are also useful in daily life”.

I’m scared, I admit, of exactly what’s around the corner. Soon, though, I’m going to find out. Whatever happens, it’s going to be an adventure, and I’m sorry I can’t bring all the people who currently work around me, with me on that adventure. I’m sure they’re going to do their own great things too, though. I’m sure they’re going to go out and change the world.

* If I do ever write about that workplace, which I doubt I will, I’ll just call everyone Matt. Most people there were called Matt at one point, so it’s probably right.

Warning: May Contain Granite

But without any other explanation

Back in March, I wrote about the colour of the Afon Ebwy, and what it might contain, based on a guide to camping I read as a child which included a dire warning about Alpine river water. A dire and entirely unexplained warning.

Well, visiting The Mother the other day, I managed to dig up the original book with the warning in it. So here, along with some other advice about where to pitch your tent, you go:

A dire warning

(for accessibility, the full text is transcribed further below)

The Plain People Of The Internet: So what does this thingy do, then? Turns you to stone? Petification?

I’m not sure that’s entirely what that means. And I’m still not entirely sure what it might lead to. A brief search of the internet has not thrown up any obvious risks it might lead to, only to people worried slightly about food prepared with granite mortars. But remember: if you’re going camping in a blizzard, make sure you fasten a flag to your tent so you can find it. Or, you know, maybe reschedule that trip?

The book, should you want to hunt down a copy, is Illustrated Teach Yourself Camping by Nigel Hunt—published 1969 by Brockhampton Press and withdrawn from library stock in 1985 at which point I assume it came to me. I’m not sure I’ll ever want to get rid of it, despite how dated and idiosyncratic almost every little bit of its advice now is. But not all of it.

That’s the end of the post proper; here’s a transcription of the photo above.

V is for View: try to pitch camp in the best scenery possible. Good for morale and memories … of silver tarns, valleys hazed with brass, gold rust tints, reeds framing the tent door, clouds trailing from the moon.

W is for Water—checking on siting camp. Is it drinkable? Muddy water need not harm you if it is just suspended mud; a crystal stream could be running over a dead sheep fifty yards upstream. Always boil water before drinking (or use purifying tablets). Never drink Alpine river water (contains powdered granite). Camp above a town or village for best water. Fish in river is usually a good sign.

X marks the spot in snow so you don’t lose the tent. Lash a readymade flag to tent so that you could find it again after a blizzard (or if you have to go outside in a blizzard). Note landmarks in remote places.

Yet another crafting project (part eight)

Or, series two, episode five

The latest crafting project was finished last week, after just over seven weeks of work. I was surprised how quickly I finished it, to be honest, considering how much more difficult it was compared to the previous cross-stitch project. I say “finished”: it still needs blocking and framing, which is always going to be the least interesting job in a project like this. Because I’m fairly pleased with how it looks, there’s a larger picture if you click through.

![Bumblebee](bee.jpg “Bumblebee”)

I’ve already started the next cross-stitch project, which is going to be a much, much easier one; I will actually start a different series of posts for it this time. After only a week or so, it’s already well under way. At some point, too, I’ll pick up all those other projects that have been ongoing since some time last year.

The other posts in this series are *part four*, *part five*, *part six* and *part seven*.

Be aware. Be very aware

Or, words versus deeds (part one)

Welcome to Mental Health Awareness Week! Seven days put aside specially for you to feel extra Aware about mental health. Apparently, the theme of Mental Health Awareness Week 2021 is “Nature”, which is almost ironic given that the theme of National Gardening Week this year was “wellbeing”. It’s almost as if this sort of PR-driven Awareness Week is a continuous cycle devouring its own tail.

Of course, being negative about something like Mental Health Awareness Week is in some ways a bit like kicking a puppy, because Mental Health Awareness is most definitely a good thing. More people should be more aware of mental health, of the risks they face and the effects it has on all of us; and its sheer overwhelming prevalance in our society. Nevertheless, there is so much that needs to be done, so many ways in which mental health care in Britain is lacking and needs to be improved, that Mental Health Awareness is really just papering over the cracks.

Far too many businesses and organisations use Awareness as a means to an end in itself, a means to avoid directly addressing an issue. Raising awareness, in this way, becomes a way to avoid meaningful action. In some cases it even becomes counterproductive; encouraging employees to attend mental health awareness sessions that are only available out of hours or at lunchtimes, for example. It’s all very well saying “nature is beneficial to your mental health,” if you are in a position to get out into nature in a healthy way. It’s all very well saying it, but it’s no excuse for proper, preventative and easy-to-access mental health care, regardless of your situation. We do not have that, I can safely and flatly say, anywhere in the UK right now. Nowhere in this country has the access to mental health care that we all deserve, and very few of us receive sufficient support from our employers either—a phone counselling helpline and the occasional wellness event really just isn’t enough. If you want to be aware of something this Mental Health Awareness Week, be aware just how poorly served our national mental health is.