Tuesday, 17 June 2025

First month as a STEM Ambassador

Over the past few months, I've been doing more work with people entering the tech sector, and I recently signed up as a STEM Ambassador. This is a brilliant scheme that connects people working in science, tech, engineering and maths with schools and young people. In tech, we know there’s a shortage of skilled people and this is a great opportunity to help inspire young minds. We also still have work to do to challenge stereotypes. Many girls, starting from a young age, do not see STEM as a space for them. That assumption is one part of the reason why Tech is still male-dominated.

My introduction was via a WCIT talk introducing the STEM Ambassador scheme. They talked us through the very open requirements - this is open to anyone linked to STEM. You might be doing a job in Tech, a research scientist, a teacher, an accountant, an ecologist... Or maybe you're doing something unrelated but you have an education background in a STEM field? I have a friend who writes comedy these days, but he has a maths degree. All are interesting stories to tell.

The presentation also took us through the dashboard / control centre for the operation and I have to say I was impressed with the way it has been built. And I am quite difficult to impress on the web. They have carefully thought through the different forms of engagement and created an environment which respects your time. By that, I mean time given is mostly spent actually engaging with activities, not wrestling with the admin to find some way to help. It also has a pretty fine-grained filter so you can find the kind of activities that you want to do. I'm an introvert, and the idea of trying to engage a bunch of bored children is a long way from my idea of fun so it's important to me to know what I'm signing up for before diving in.

Anyway, around a month ago the usual essential but tedious paperwork and DBS checks were completed and I was allowed to sign up to Do Things and I thought I'd share my experiences. Maybe others will want to join me.

Initially I signed up as a judge for a couple of competitions. The first was the Young Coders competition 2025. The entrants had to write a game in Scratch with the theme "Budgeting Better". I was sent eleven games to play and review offline - so on this occasion there was no direct interaction with any children. I am both a programmer and a gamer so this felt like a safe starting point and I spent a few happy hours with Phil Wilson playing through them all and looking at the code. The standard was generally pretty high, and some of the games were really impressive. Who can say no to a bunch of free games?

Next up, the second competition. This one was judged via panel so very little up-front prep. There was a slight surprise for me when it turned out to be the BIEA international competition about the sustainable growth of the Earth's population, with a focus on farming. Whoops! Anyway, this was my fault and my role was to judge presentations not provide expertise into ecological farming so I dived in. I was worried though! Apparently they liked me, as my three sessions turned into six pretty quickly - they kept asking me back. This competition was very different to the first and involved direct interaction with children. They were amazing - and doubly so given most were speaking in second languages. The quality of the engineering and presentations on display was incredible and I found listening to them and talking through their ideas inspirational.

And then to round out the first month, I volunteered for an online question and answer session with I'm a Computer Scientist. This group is actually the reason I joined in the first place - fairly obviously getting people into Tech is closer to my heart than other fields - and I'd been looking forward to this. It was a text chat, so reminded me of the old Yahoo chatrooms of my youth and was an intense 40 mins of being bombarded with random questions. I was warned well ahead of time that kids can ask all kinds of odd things so I was kinda-prepared when the first question I got, within seconds, was "are you Anakin?". I assumed he didn't mean Anakin Aimers, Canadian junior curling champion, but even so I had to think quickly whether I am in fact the Chosen One.

This chat was invigorating and fun. Children given space come up with all kinds of strange thoughts and their questions shone a light on their hopes and fears ("are GCSEs hard?" came up a lot). I tried to be as open and encouraging as I could and something must have landed when the thanks at the end included someone saying "Tom is the man". Which I think is good.

So I've got through the first set of bookings and I have to say I've had a lot of fun. It is lovely being part of inspiring the next wave of STEM folk and inspirational hearing some of what they have to say. Now I need to decide what I want to do next with them! I'm still trying to find a Code Club or similar I can attend in person in Bath.

This does look like a significant time commitment for one month so I should note that I've jumped in like this because I have the opportunity. I'm enjoying a career break right now, so I could easily invest my time in this kind of support work - there is no requirement to do this much! The minimum commitment is one thing a year, and even then all that happens is your profile is archived until you reactivate it - they are happy to take more or less whatever time you offer.

I've found this work very engaging. If you are working in a STEM-adjacent field and want to give something back, I really encourage you to sign up as a STEM Ambassador. You can give as much or as little time as suits you - and you might just help someone see a future they hadn't imagined.

Monday, 26 May 2025

Digital Inclusion in the age of AI

These days, working in tech means spending lots of time thinking about how to implement and exploit the capabilities of AI. This technology is changing the world with new options and capabilities and this train has a lot of track left before we reach the edge of this bubble and it falls off the rails. Personally, I see this current era like the dotcom bubble. Exactly like the internet, we have a technology that will fundamentally change the world and usher in a new paradigm for modern life (ugh) but is also being over-hyped and over-invested and eventually reality will catch up.

However, I want to be clear that I'm not an AI denier or a full-blown Luddite. What we have now is a truly wonderful set of tools and we're barely starting to scratch the surface of the capabilities ahead of us. Remember when the pinnacle of the internet was dancing banana gifs? Now it powers global ... well, everything. AI has the same potential, hype bubbles be damned.

And here we reach the point of this post. Alongside thinking about how to bootstrap data migrations and create AI-ready technology suites despite legacy and technology debt I've been pondering something much more important - digital inclusion in the face of AI.

Society is not good at dealing with sweeping change. If we follow the business drivers alone, we rapidly reach the point where it is too expensive to support people. Superfast broadband changed the face of the internet, but if you live somewhere slightly rural you probably don't have access to this. It's expensive to lay those cables if there are only three households using it so bad luck. Sites like Amazon or banking apps have no requirement to support all users, so they have a cost / benefit ratio that targets modern browsers and modern hardware. If you're running older hardware and cannot upgrade then it is not financially viable to maintain the service for you.

This is not a post about bashing capitalism, but I want to make it clear that people are always left behind when technology pushes society forward. People are cut off from what others consider normal, and eventually there is just no way to bridge that gap. This is where government steps in. There is legislation covering the national rollout of broadband. Has this solved the problem? No. But it has forced progress in the right direction. Working on online government services, digital inclusion was (and is) vital. There are huge benefits to digitising government services, but it is simply not acceptable to leave anyone behind. This is one reason there is always a paper fallback for any online government service.

Other organisations face the same problem. Charities such as Macmillan are not required to make their services available to all, but clearly it is in support of the mission to make sure they do - and again, tremendous work is done in this area.

There are many strands to digital inclusion, but put very simply they come down to identifying barriers created by skills, access or money and how those barriers can be removed.

Ok, time to think about AI. First, we shall consider cost. You can do some stuff for free, but if you want to properly use a tool you will likely want a subscription. A ChatGPT subscription is £20 per month. If you want to add a Microsoft / Google productivity subscription that's another £20 per month (Google Gemini). For the moment that is probably enough, unless you want to play with video or something else specialist. But we have already reached £40 per month or £480 per year. Apparently the average UK salary at the time of writing is £37,430pa gross (source: Forbes). So our £480 is over 1.5% of net income per year. That is a huge chunk of income when considering it is up against essentials like rent and food.

Now, we can say that AI tools are a luxury and arguably for the moment that is true. But this is a technology that can supercharge productivity. Someone familiar with AI tools can research more thoroughly, write better, generate ideas and templates ... and this is all very simple prompt work. And equally importantly, they can produce results so much faster. If this is applied to a job search, use of AI to enhance writing can be a massive uptick in the quality of an application which obviously makes the applicant more likely to get the role.

We have something that will rapidly become an essential skill and capability. How does one learn it? You need some technical skill and you need time. These are not in easy supply for most people and even then, often people need someone to get them started. Point at the correct URL, say "type in there". I've seen it with relatives - it wasn't until WhatsApp got the Meta AI button they engaged at all and they still needed encouragement to push the button when it appeared. Building skills in the alien world of tech is far harder than those of us on the inside realise.

Years ago, access to the internet was a nice to have. Then broadband was a nice bonus on top of your dial-up connection. Now (in the UK at least) your access to high speed internet is enshrined in law. However, it is too late - too many people have already been left behind and it is another have / have not divide in society. AI will create another but more profound divide. Rather than have / have not we will see a can / can not gap and that will directly align with salaries.

Written out, this progression is pretty obvious to me, and I am sure I am not the only one. The first question is - do we care? I have spent my career in public and third sector work and for me, the answer is a clear yes. AI is an exciting and genuinely transformative technology, but if we want it to be a force for good we must ensure it doesn't just benefit the wealthy and technically literate. We need to be thinking about digital inclusion now - as a core concern, not as a side project.

For myself, I am going to keep giving back to this industry where I can. Where I work with services and policy-makers, I will continue to uphold these ideals. More locally, I recently became a STEM Ambassador, which gives me the chance to connect with developing minds (yikes) - and the people who teach them. I am running some AI workshops this summer, helping people get started one "type here" at a time.

These are not grand gestures. But inclusion starts small - with a nudge, a link, a bit of time. This stuff is surprisingly low-barrier once you know where to look.

So, ending on a challenge. If you are already on the inside, think about who isn't - and how you might help them in. The divide is growing. Let's not wait until it's too wide to cross.

Wednesday, 30 April 2025

What skills should I develop?

Recently I had the pleasure of spending time with some postdocs from my old university, helping those of them considering leaving academia to prepare for job interviews and generally think about how they can position themselves for success in their future careers. The conversation got around to the core skills that everyone should develop, and they expressed some surprise at the things I pulled out - the same reactions I've had from software engineers when having the same conversation - so I thought it worth writing them down. In no particular order, these are they.

Writing

Like it or not, we end up writing a lot and I've found this only gets more true with seniority. Whether it is the ever-growing mountains of email, papers laying out a plan or strategy, or presentations we're going to be writing something down and we need to be both good at it and fluent enough to knock out quality documents at speed. The brutal truth is that people will judge you if your writing is incoherent and / or full of spelling and grammatical mistakes - developing a writing style is one of many tiny ways we can position ourselves as competent and helpful.

Writing at speed is key. Workloads just keep growing and, assuming you want to stay ahead, you'll need to move "writing a strategic document" from the sort of task where you put aside a month of thinking time to something you just do between other work. In more detail, that means having a writing process (and being able to deal with a blank page) and getting a feel for what "good enough" looks like for the different types of docs. This only comes from experience so I always recommend practising writing to everyone, whatever career stage they are in. I write this blog and I've kept a one-post-per-month routine since 2016 as a discipline to force me to keep writing and thinking about how I lay out my thoughts. Is it annoying? Yes, of course. But, while there is definitely much room for improvement, I feel much more confident writing quickly these days. In fact, I wrote a post about why I write a blog a few years ago.

Presenting

Second in the list of skills people don't want to develop but really should, we have presenting. Presenting comes in two forms - putting forward an idea to a room full of people (ie some variation of speaking to a PowerPoint) and something more freeform (ie speaking off the cuff to a room of people). These are different skills and both need practising. You will, at some point, need to present and ideally the first time you do this you aren't trying to secure funding from the investment board or explaining to the trustees / shareholders your five year vision. Like any skill, this takes practise to improve.

Earlier in my career I ran a fortnightly Show & Tell event which was a low-stakes way of getting people to do presentations and we all learned a great deal of confidence and technique through this. Again, I wrote a post on why Show & Tell really helped some years ago and I stand by all of that.

Talking off the cuff can be harder to practise, but when you end up chairing meetings or just the most senior person in the room you can be sure people will look to you to fill time when other people are setting up. Ideally we learn to stop using crutch or filler words and then we just sound ... smooth? I gained experience by chairing Show & Tell for many years - I think there is a useful lesson there about forcing oneself out of the comfort zone to develop new skills.

Storytelling

This one underpins both writing and presenting. When we reach out to people, we are usually either conveying information or attempting to persuade them of something. In either case we, presumably, want them to listen and understand what we are saying so we need to learn how to be compelling. We need to be able to tell a sensible, well-structured story understanding our audience and how to reach them. This is a hard skill to develop and really only comes through practising the above, and getting feedback. Alternatively, you could run some Dungeons & Dragons. Seriously!

Reading

Rather obviously, if we want to get on we need to be able to read. However, less obviously, as one climbs the hierarchy the amount of reading just goes up and up. Whether it's board papers, strategy documents or yet more email the torrent never ends and I've found that the more senior I get, the more people think that long = good. Reading fast and accurately is a skill that like everything else needs developing. Of everything on here, I find this one hardest. I find focusing on piles of tedious papers next to impossible so I have had to develop various skills to take a run at it. For me, I find the best approach to maintain focus is to take notes - or ideally annotate the papers. I've been using a Remarkable as an alternative to unending printing. I need a semi-controlled environment, with no alerts or distractions and some appropriate music and if these are updates I need to add a narrative to make me lock into the information - ie ask and answer "why am I reading this?" beyond "because I have to".

You can also ask an appropriate AI to summarise papers but don't come to me the first time it gets it completely wrong.

Basic numeracy

Believe it or not, numbers are important. Sorry. Far too many people haven't developed basic mental arithmetic skills and this creates situations where they are pulling out calculators to add two numbers together. While this is slow, and burns time you likely don't have, there is a more important aspect to basic numeracy. We all need a basic feel for numbers to be able to spot mistakes in budgets or other detailed documents. We need to be able to see 143 x 6 = 1200 and immediately get that mental nudge that says something isn't right even if we don't know what "right" is.

Again, practice makes perfect. I typically add up my shopping as I walk around the supermarket and see how close I am when I scan at the till - this helps keep me fluent at juggling numbers in my head. As a child I learned my multiplication tables and some of the simple tricks for approximating sums. For example, here 143 is approx 150, and that multiplies easily so in my head I go 143x6 => 150x6 => 300x3 = 900 so I'm expecting something a bit under 900. Thus 1200 is immediately a warning bell that someone has math'd wrong or something isn't right in the spreadsheet formulae. I cannot stress enough how many budget errors I've caught this way.

Using your tools - Word / Excel

Computers are a pain, but they are an essential pain. Do we know how to use PowerPoint? Or Word? Do we know when we should be using each tool? Similarly, learn the keyboard shortcuts. They help so much, both within an application and also when moving information between them. Don't forget Excel - and learn to use simple formulae for managing data. If it helps, using formulae will make maths mistakes less likely!

There is an even more basic computer skill. Can we type fast and accurately - and ideally touch-type? There are "proper" ways to touch-type and ways to learn these techniques, however personally I learned to type via brute force playing online games in the late '90s where you communicated by text and either typed fast or stayed silent. This is no longer an option, so instead get writing those blog posts (from "writing" above).

If you're in Tech you're likely thinking this section is really easy buuuut I know a lot of software engineers who stick to code and don't really develop these basic skills then find themselves very slow when asked to do "normal" things.

These days I will argue that getting familiar with AI and interacting with a prompt in something like ChatGPT is also a core skill. This is more vague, and your workplace will no doubt have policies around this, but like learning Excel / Word / PowerPoint it comes down to having some idea of the capabilities of your fingertips.

Interview technique

Everyone sane hates interviews. I'll be honest, I hate being on the other side of the table too. However, we all need to learn the basics of interviews. Learn what a competency question is and the mystic secrets of STAR answers and we have a framework for preparing for an interview. Then we learn to talk off the cuff and learn to tell a story (both above!) and we can fill in the gaps. Then get a job you like so you don't have to do them very often...

And lo, this is my list of the absolute basics. When I go through this list with people, most folk start with "yeah that's really obvious" then some slow enlightenment dawns as we drill in to each point. There are specific skills here, and we need to develop them with some deliberate action. There are also books on most of these areas (while I list these as "basic" I'm well aware that they all have the potential to be incredibly skilled and I don't mean to diminish the experts in these spaces) and there are certainly a couple missing (eg basic design - that is making your presentations / documents look not-horrible). I also skipped anything about basic time management or leadership skills as, for me, these are beyond the absolute basics. In my experience, we all neglect at least one (and likely many) of these areas and this will create issues. So I encourage everyone to deliberately practice writing, speaking, reading, telling a story, counting, computering and interviewing. It's an incredibly basic list, and that is why we often don't think about them.

Monday, 17 March 2025

Streaming media from Windows 10 to Android

I promise I will go back to writing about technical leadership soon, but for the moment I'm rather enjoying solving real problems. I'm revisiting problems I've worked through at different times in the past few years and it's very interesting to see how things have moved forward, opening new avenues to success and generally blurring the lines between professional-level skills to set up services and just clicking around and seeing Things Work.

More importantly, it's just ... fun. And it really helps to remind me that computers are flexible and interesting tools to solve problems, as well as eternal sources of legacy debt and pain.

Anyway, on the less existential end of all this I want to talk about streaming video. Let's go!

The problem

I have lots of video clips on a hard drive. I can watch these easily on my desktop computer, but I'd like to be able to access them on my tablet without plugging it in there.

The history

In the past, I've created a media server on my network. I've attempted to buy something (utter failure) and made one from a raspberry pi (success, although some serious caveats on that). Neither result kept going and I abandoned them for a long while.

The now

While a separate server would be a better solution, for the moment I'm happy just using my desktop as the server. It's usually on, and that's enough for me if I want to go flop on the sofa with a tablet. So - something on the desktop to act as a server, and something on the tablet to receive it.

If you're totally new to this kind of thing, the important standards here are uPnP and DLNA. uPnP is what allows your media server to be "found" on the network. DLNA is built on top of uPnP and is specific to media sharing, ie it adds in the bit that handles the streaming. These are pretty open (in terms of security) so only suitable for home / other trusted networks.

Server first. I'm running Windows 10 (for the moment... sadness...) and after a bit of poking around the internet looking for something to install to act as a server, it turns out that Windows 10 now does this natively! This was a surprise - back in the day I'd have had to install all manner of media server applications and cross my fingers. Now it's a case of:

  • Control Panel -> Network and Internet -> Network and Sharing Center
  • In the left pane, "Change advanced sharing settings"
  • In the Network Discovery section, turn on network discovery and hit Save

Voila.

Ok, the tablet end, which is running Android. I am pretty sure I could do everything using VLC player, but popular opinion online is that I should use BubbleUPnP for discovering the filestore, and it then launches VLC when I hit play. So I did that. And it worked seamlessly. I had to hunt around a bit through the folder structure offered, but otherwise it just works. Done.

I have dodged a significant amount of the complexity here as I am not streaming to a smart TV (because I don't have one). This means that I can use VLC as the player on my tablet, and that is smart enough to handle more or less anything thrown at it - no codec issues for me.

And there we have it. A few clicks one end, and installing an app the other end and we're away - so much easier than before. One particularly interesting thing I found was that searches for "streaming from desktop computer" leads to information about streaming games, not other kinds of media. Amazing how much game streaming has grown - to the point it's the primary search responses.

I promise I've been doing technical leadership and strategic things too. I'll write about that soon...

Sunday, 23 February 2025

Email Three - Email with a Vengeance

"You email isn't arriving at all now" - everyone.

I have spent far too long writing about email and how to set up vanity domains. This really should be easy and Just Work but ... well. Here is the third post. Why do I care? Well, given how important email is as part of our online identities I do believe in taking some ownership of it, hence using a vanity domain. By using my own domain instead of an @gmail.com address I could migrate away from Gmail in the future without losing access to everything in the world. While I don't intend to go anywhere any time soon, Google does have a habit of doing odd things with its services so I'd like to have some options (he says, using Blogger which is far more at risk than Gmail...).

With that in mind, I'd like to use a vanity domain. I'd also like my email to arrive. And I'd like people to be able to email me too. High requirements, I know.

The story so far

So this is the third post on this subject (sigh). In my first post I went into detail on my requirements and the underpinning bits of security apparatus required to make email happen. I set things up using SendGrid but lamented using a marketing company for email as well as a cap on my daily email usage.

In my second post I removed SendGrid as sending / receiving wasn't consistent and switched to using the Gmail mailservers. This removed the restrictions but also made it impossible to set up DKIM and DMARC properly. I helped my setup by setting p=none which is better than nothing, but not by a lot.

Guess what? Email didn't send / receive again. This appears to have gotten worse recently, or I'm noticing it more. When three email vanished over a couple of days I cracked - I can't live with inconsistent email. It's too important.

The problem

Reading around suggests that the problem is to do with how email forwarding works. No-frills forwarding essentially throws the email at the receiving server. The receiving server then figures out what to do with it. This is fine, until one factors in load - and that all spam needs forwarding in case of false positives. The system needs to decide what to do when it is overloaded, and it seems the Gmail servers drop email in this case. Then the forwarding service needs to decide what to do and the simplest approach is to also drop the email - else they are then storing email which has its own overheads and problems.

This is a crude explanation - here is an expert explaining it far more accurately.

Considering I've been using free options, I can see why they've taken this approach but it's not good enough for me.

The solution

The solution is to use something which holds incoming email temporarily and retries if the forwarding fails. There are a few ways to do this, including some approaches using scripting and free services but as noted above I'm really bored of fiddling with this ecosystem then gaslighting myself into thinking it's working when there are a few, but notable, errors. No scripts, time for something a bit more thorough.

Enter Gmailify. Apparently Tim O'Neill suggested this to me the first time around, but either I didn't note it or I got confused with the Google feature of exactly the same name. Either way, I am now giving it a go and the pricetag ($7 / year at time of writing) is very reasonable.

Gmailify works as a forwarding / mailbox service. It controls the incoming / outgoing mail on your domain and temporarily lets the email rest in a mailbox. Gmail then uses POP3 to pull from that mailbox which then erases all trace. It also enables all the DKIM / SPF / DMARC setup that was missing before.

Setup is really straightforward if you know how to edit DNS settings and tbh should be easy if you're just confident clicking around. It gives you exactly what you need at each step, and an option to verify each step has gone in properly. The interface for routing different addresses on your domain is really easy to use too, at least for a simple setup.

Couple of things that took me a moment of thought. First, you need to set up the primary email address then configure the catch-all email address if you're used to *@domain.com. This is easy in the Email Routing submenu. Second, Gmail doesn't automatically prompt for outgoing email any more (could be because I was migrating a config?) and when modifying an existing outgoing mail rule it doesn't perform a full validation which will likely create problems down the line. I got around this by deleting my existing outgoing mail rule and setting up from scratch again. Don't forget to reset your default outgoing email address if you do this!

Oh, and if you're migrating rather than setting this up for the first time don't forget to clean up your DNS config when you're done.

All done in less time than it took me to type this up. I sent some email to Tim's overly-fussy email account and it all got through which is a first. I also ran it through this awesome tool for learning and testing DMARC settings which is worth a play if only to see how education tools should be designed. All the tests now light up a pleasing green - another first.

I've had this set up a few days so I'm keeping my fingers crossed this is the last time I have to write about this...

Sunday, 26 January 2025

Looking back and remembering

I intended to start this year with a post about what might be coming in 2025, filled with enthusiasm and excitement. Instead, with the passing of a friend, I want to write a few words about remembering the important people in our working lives and what makes them important.

Over my career I've met a lot of people - some have been great at what they do. The people I remember are the ones who are more than competent, they are decent, authentic and overall nice individuals. "Nice" can sometimes be a little derogatory - a substitute for anything more positive to say. But, for me, the people who properly exemplify "nice" show off the traits we claim we value the highest. They encourage and provide positivity. They create non-judgemental space, while offering constructive feedback. They support without coddling. They make time for people and help build up those around them, usually managing to do so without making themselves the centre of attention. They usually do this somewhat unconsciously - it is their natural way to help, build and encourage. Nice people have a positive impact on their world.

Truly nice people are rare, but they are out there and should be valued. Even more so, we should value the people who remember those who have passed out their immediate sphere (say, changed job or moved away) and keep those connections going. A friend of mine refers to these folk as "glue people" - people who bring others together, often with as simple a thought process as "you're a decent person who has a problem, I remember person X who could probably solve it - you should talk". In this world of networking and personal brand, these glue people are surprisingly rare and those who do it authentically and honestly (ie not attempting to become some kind of power broker) are even rarer. They help hold extended groups together and create new connections through truthful endorsement and recommendations and lots of people owe personal and professional change and development to them - often without even realising it. We are collectively poorer when we lose them.

I don't like naming individuals on this blog, especially when I know they can't ever respond or correct or ask me to take it down, so I'm not going to do this today but I know we have lost someone decent, authentic and nice and I know they have made a huge difference to my life, and the lives of others. We may not fully recognise it. Frankly, this person probably didn't realise it either and that is both wonderful and intensely sad.

Life is short and frail. I'm starting this year thinking about who I want to be, and what I'd like people to remember me for.