On Alexa, ChatGPT & AI Programming

Let me begin with a little story

On the day Donald Trump was formally arrested, I did what any sane person would do. I went out for a few beers.

After coming home, I popped a pizza in the oven, which took 13 minutes to cook. I have an Amazon Echo in the kitchen, so I said the words “Alexa – set a timer for 13 minutes”. Of course my comprehension skills weren’t great so I wasn’t sure if the confirmation timer was 13 minutes or 30 minutes, so quick as a flash I said “Alexa, reduce my timer by 1 minute”, before asking for how long was left.

Why? Well, if the timer was on 29 I’d hear “Twenty Nine”. If 12 minutes were left I’d hear “Twelve”. Easily to comprehend for my slightly sozzled celebrating a crap president being impeached.

Why am I telling you all this? Well I feel like it shows how my brain works to find a creative solutions to real world problems, something as a developer I do on a day to day basis. I’m not saying I’m the best developer in the world, but I’m pretty good.

Like most developers, I’ve been hit recently with the downturn in tech. Not as much as some, but I’ve felt it. Furthermore in the past six months we’ve seen the rise and rise of AI so I’ve been thinking – am I safe for a job? Or should I look to retrain?

What I think the future holds for developers

I don’t know what the future holds for developers, but I’d be silly if – as a luxury of being a business owner – I don’t diversify a little bit. I can’t remember who said it but I feel more secure as a business owner having 4 or 5 clients that cover the mortgage than working one place that does. It makes sense to look at other opportunities.

With that said, development is my bread and butter. Whether it’s my own site or clients, 5 days a week I come up to solutions to problems. Sure there are similarities, but nothing is ever quite the same. Is that safe?

I think so, and whilst I did have my heart sink when I saw the Tom Scott video about AI, I was reassured when WordPress said that Use of Code Generators must remain GPL compatible. In short, if you write a plugin to put onto the WordPress plugin repository, you must be sure where every line of code comes from. I’m sure with mine, because I wrote it, but there is no guarantee that AI code is. Mika Epstein in their post then ended with the cheery line:-

Robots won’t take our jobs yet.

This reassured me as you see, code does go wrong. I prefer if it didn’t, but things do go wrong. Part of my job is putting things right. People will use your code in ways you’re not expecting to, or view your code on a Commodore Amiga, or (like I discovered in Neverspoons recently) that searching for Llanfair­pwllgwyngyll­gogery­chwyrn­drobwll­llan­tysilio­gogo­goch causes crashes. It can take time to figure out what goes wrong, and part of the joy (if the 25 thread email chain is anything to go by) is to figure out what the route of the problem is. AI can solve the problem, but may not be able to diagnose why it’s a problem to begin with.

Those problems need the human touch, and familiarity with the code. Familiarity that doesn’t exist when somebody typed “Code a Facebook clone” in ChatGPT. Sure ChatGPT may write code. However it doesn’t come with the learned and community knowledge that comes with developing it

Where I do use AI

I do however use AI for my business and programming. No more than I use automated tools to build CSS files and minify JavaScripts, or Google problems that I have that end up on Stack Overflow . Developers should at least look to use it to generate code and data structures quickly.

To give you an example, this was something similar I used for a project recently. I needed the international dialling code of every EU country, stored in an array.

A graphic of Rhys Wynne asking ChatGPT for an PHP associative array with the dialing code of every EU country, and an ISO 3166 alpha 3 code as the key

It’s simple code, but for me to build would take at least half an hour. Maybe I’d find a quicker way to do it, but even just finding a table, extracting all the EU countries, and putting it into a format I’d use would take time, and also be prone to mistakes. This was 30 seconds for the AI to build, and quick for me to check and cross reference.

Furthermore, my knowledge as a developer using the words “key”, “value” and “associative array” meant the AI Bot was able to build it to spec quickly. Similarly to knowing how to Google and what to Google makes problems easy to solve.

The Developer/Client Relationship with AI

So I guess I’ll end with the fact that this is an open admission I use AI for my job to deliver results for clients. Not much, but occasionally. Some things a computer is better at doing than my easily distracted brain, but I believe in being honest with people. After all, my freelance face is literally named after me.

AI is here, but at least with Dwi’n Rhys, you do speak to a human.

Sweary Thoughts on using WordPress’ new Full Site Editor for the first time

By an old crusty web developer

I must admit, I did wince at the thought of the idea of the Full Site Editor. I have my comfort blankets when it comes to WordPress and when things change I get a bit tetchy at times. Furthermore, I’m not one to give my clients total control. It seems a good thing to not overwhelm clients. Instead allowing them to be focussed on what they’re good at seems like a good thing.

With that said, I’ve been trying to embrace change a fair bit. Some elements will be needed to integrate within my themes. I’ve certainly been spending the last year building sites in the block editor. Overall the sites have been stable, but there’s always room for improvement.

So with the new site editor becoming a thing, I thought I’d take an afternoon out to spin up a website for a potential affiliate product. I have had a domain name – buyafuckingaircon.com – for a while. It was bought during the depressing 2022 heatwave in the UK and Europe, when I was ridiculously hot sitting in a (shaded) area of a beer garden in Berlin. My house has weird insulation – it’s freezing in the winter when I write this and boiling in the summer. I remember a site that I loved the concept – buyafuckingshovel.com (web archive here) – that emailed you once a year in the summer to reminder to buy a shovel. That side project has lived rent free in my head since I first saw it.

Sure enough, the summer, more expensive, edition of it was purchased.

And sat on.

With a quiet afternoon where I had a project that was beginning to drag, I decided to use my time more productively to try and build out the site in about an hour or two. Whenever I work on a new side project, to do something I’ve never done before to learn . I learn a lot by doing so even if the side project is a bust I’ll leave with knowledge.

So the goal was build a side project site, wholly in the in the new full site editor, in under 2 hours.

I documented my thoughts on a Twitter thread (which served as a bit of a precursor to this blog post, but here are my thoughts.

Getting started with the new site editor

Beginning you have to have a theme that has to use it. So I’ve been using Twenty Twenty-Three. I was using a WordPress installation that was installed via my host (Siteground), and I deleted the default page and post. First view of the site editor was this.

I feel like the deletion of the default post and page was a bit of a mistake with the menu breaking and there being no information on the home page could confuse people. I also was confused with the “Mindblown” tagline and the talk of book recommendations. As this wasn’t any way related to the site. It feels like it’s both the placeholder content that WordPress has (“Hello World” with an encouragement to delete the post), or irrelevant content. Irrelevant content is fine or content that encourages users is fine, but I find mix and match a bit confusing.

I backed out and created a page with N7 Ipsum on it, and set it as the home page and there was a lot of change. A thumbnail space was added and everything appeared a lot different.

The interesting thing was that – even though it’s the front page – we don’t use the “front page”, but the page layout. It’s valid (if you look at the WordPress template hierarchy you can use page templates on the home page), but confused me a bit. I’m not sure if it was the Twenty Twenty Three lacked it or it was an issue with the full site editor as I expected a front page template.

Far, starting up does seem a bit confusing, but it perked up when I clicked on “Templates” as I could see the templates available and how to edit it. That’s incredibly welcome and probable more useful for developers to use if they use the Full Site Editor on a more regular basis.

The delight was in the template parts. As well as the header and footer, you can edit the comment template, which is great as it’s an absolute nightmare to edit.

But, I got there. A bit slower than I would have liked, now to build an actual site. Or something useful.

Ongoing Building

The first job was to clean up the home page layout. We won’t need a title tag, nor a featured image, we’d need to remove them.

Sure enough, selecting them, and hitting “delete” removes them. Nice and simple.

Obviously now we’ll need to change the header. We don’t need the menu as we stated above it’s a one page website. The goal then is to make the title text central, a h1, and make the menu stand out.

A massive positive at this point was switching between templates. I’m changing from the page template to the sitewide header template. It’s intuitive (you click, it loads) and it’s quick. Seriously. I have WP Bakery & Elementor running on instances on my Siteground server, and this is quicker than all of them.

The first issue was changing colours. The default palette didn’t have many colours and I wanted to change the theme colours. Alas I couldn’t, as there were “styles”. So I picked one that I didn’t particularly find offensive (the red one). There are custom colours by default in WordPress. I don’t know if this was switched off in Twenty TwentyThree or this is how things are now with the full site editor.

The next couple of issues were traps that I fell in and my clients fall in all the time and it’s something I’m not sure how to fix – selecting the element. As the site title is an element that exists as the header. I was able to edit it but not sure how to change it to a H1. It took me a while to realise that the paragraph symbol needs to be clicked and then changed to a H1.

I then wanted to centrally align the logo, and couldn’t. Eventually by clicking on the row and going up the element tree I was able to change the item justification.

We then changed the footer. Changing the footer was largely fine, though removing the WordPress link and replace with my freelance link to Dwi’n Rhys was a bit of a faff.

In the end, we had with something like this.

My next goals was change the header a bit. Get the header flush to the top of the screen, and remove the white gaps at the top and bottom of the page(s).

And this is where I tapped out, and had to use CSS. The issues were that the white line you see was a border. I couldn’t work out how to remove it. Furthermore there was an issue with how the form (Mailpoet) was displaying on mobile. Simple fixes really, but outside of the FSE. There was a problem with using CSS, and I share that in the goals.

Goals

Let’s look if I achieved my goals.

Thanks

I did want to shout out a resource. Full Site Editing with WordPress is a site I landed on that talked through some of the issues I had again and again. A big thanks to Carolina Nymark for putting the resource together.

Conclusion

Am I going to be building themes in it professionally? Probably not. When you approach me for WordPress development my rates and experience will mean that I operate at the price point that you get coded themes, rather than thrown together code. With that said, I can possibly use it professionally for those clients that just need a simple solution built quickly. Those quick sites for a retainer that I get asked? Perfect for this.

But for quick side projects? Getting a site up and out and ranking? Sure. For your own personal blog? Sure. Especially with Twitter being a dumpster fire, owning your own content will become more and more popular again, or so I hope.

Oh, and buy a fucking air-con. Your summer self will thank you.

Old Man Yells at Cloud (Based Systems)

Or: How I miss the old internet.

So I’ve been thinking recently quite a lot about where I stand on the fact that noted person who had money and did okay with it but he’s a wee bit of a numpty Elon Musk has bought my favourite social media site. There are far more interesting takes about what the hell he will do with it (I urge you to read The Verge article on it).

I worry about what he will do to the place. I worry about it’s role as a player in a future Arab-Spring like event. I worry about my friends who – somehow – made it a safe space going forward. I worry that it’ll become a haven of extreme right wing rhetoric it’s been pretty good at stopping. I’m also worrying that he will kill the site, as so far his rhetoric on making back $44bn has been small fries. I do feel with a lot of these systems the only way they make money is by trying everything else (anybody else remember when WordPress.org started selling links?), and $8p/m verification doesn’t seem like it ever will recover the investment. Like a shiny toy, I worry he’ll get bored and abandon it. That’s how it happens in tech, right?

If the latter will come to pass, it’ll be a shame, as it has been one of the more positive social media sites I’ve been on. It was instrumental in phase 2 of my career (back when MancSEO was in it’s infancy, I travelled to their meetup on a random Thursday night in January 2010, and met the wonderful SEO Community that I’m still friends with), but that was when Twitter was a lot smaller, and it was easy to find people to connect with and chat to. The Tweets were shorter, but the conversations were longer.

I miss that.

But then, I miss the old internet. I don’t want to gatekeep people from access to a tool that has started revolutions, but I do feel like the internet was maybe slightly better where we didn’t congregate around singular water coolers, as turns out a large group of people in one place invariably generates some bad apples, and maybe we need to go back into our respective silos.

Sure, we may not get the reach. I doubt this blog post would get the eyeballs on it that if I posted it in a thread on Twitter I would have got, but is that a bad thing? Surely you would want to share your content to the largest eyeballs as quickly as possible, but if we get one or two people who are genuinely interested, rather than those with a passing glance, surely that’s better? A warm lead, as opposed to an ice cold one, to use marketing speak.

Plus, if we have smaller silos, we will probably see more innovation. Social media is a behemoth, and really if the only innovation they can come up with is an easily abusable verification system or a system that has legs with graphics the average third year game development student can knock together (seriously, I wrote a QBasic game in the early 2000s, that had legs), then it probably doesn’t deserve the eyeballs it needs.

Retro Gamer forum meetup at r3Play Blackpool from 2011. Ironically it came up in my Facebook memories today.

But that’s the thing, they need the eyeballs, they need the communities. I miss forums. Forums were a thing, but they went away when we all transferred over to social media. Maybe they should come back, as they were great for conversations surround great topics. I remember sitting for days on the Retro Gamer forums (a forum that only shut recently) discussing retro games. A couple of the members of said forum I class as close friends. Heck even on forums where I didn’t dedicate all my time I have had positive experiences – even now on Facebook I have a couple of people who I befriended on a Blitz Basic coding forum on my friends list. Maybe I want people to have similar positive experiences, that have enriched my life like the years I’ve spent online.

The best conversations with the best people I’ve had recently have occurred on Discord, and it’s the only system since early Twitter that I’ve been happy to meet people off of it. I’m not sure if Mastodon and a decentralised system is really the solution (purely because joining is a bit of a nightmare), but maybe they’re on to something with a decentralised system.

Maybe as well as having a decentralised system, we need to decentralise the users as well.

PROGRESS Wrestling Events Calendar for Google Calendar (and others)

So I was…volunteered…recently to create a PROGRESS Wrestling Event Calendar to showcase all the events on Google Calendar (similar to how football teams have done). The hope is that once a year it’s updated with the show dates once known, that way if you’re planning holidays or less important things such as weddings you don’t book on the date of a PROGRESS show. It isn’t perfect (I’m sure I switch between 2 or 3 different times, and I haven’t included the shows for the end of 2017 I don’t think), but it should give you a rough idea of when PROGRESS have shows.

How to Install

Click here to download the ics file

Here’s how I’ve installed it in the systems I’ve used and tested with. Of course, I’m testing with systems I own.

Google Calendar

Click to download the file, and then go to Google Calendar, click “Settings” and then the “Calendars” tab. Create an empty calendar (call it PROGRESS Wrestling or something). Click Import Calendar. Browse to the file downloaded, upload it into the empty calendar created, and it should sync.

Android Phones

Download it and it should sync with your chosen Calendar App.

Apple Mac

Click to download the ics file. The file is downloaded, click to open it and it opens in Calendar for Apple Mac.

Questions?

I’m going to try and keep it up to date, but this is more of a labour of love rather than anything more than that, so please be patient (I run a business and have a day job too). But any questions (as well as any corrections) feel free to drop me an email and I’ll try and get back to you. Though to be honest I’m utterly crap at answering emails at the best of times. But yeah, this is a fan project, be sure to check out PROGRESS’ stuff as it’s mint.

Also if you want to buy me a drink (a few people have suggested it). Yeah, sure! Cheers! Mine’s usually a Tuborg. I don’t go to Camden Shows but usually in the shows up north.

Paris Twat-German

I’d like to think I keep my personal political opinions to myself, but I really don’t like Donald Trump.

I really don’t want to make it a political post, but I was told at a young age “be nice, or be honest. Try to be both, but be one”. I don’t think Donald Trump is either. Furthermore, he is not exactly a successful business man – he’d be worth $10 Billion more if he took his money and simply invested in Index Funds in the stock market – so I cannot find really any redeemable qualities to the man. He also cannot take a Stone Cold Stunner:-

But this blog post isn’t about him.

It’s about me. You see, as I mentioned in my launch blog post, I’m following the advice in Matt Mullenweg’s State of the Word and learning JavaScript deeply. JavaScript is the language of Google Chrome Extensions.

Screen Shot 2016-01-07 at 22.24.34

In short, I have written a short Chrome Extension that finds any mention of “Donald Trump” and changes it to “Paris Twat-German”, a monniker I think I heard first on Scott’s twitter account. It’s daft. It’s purile. It was written drunkenly. It’s probably not what Matt had in mind when he gave his State of the Word. But I don’t care, I’m learning and it piqued my interest for an evening.

Anyway, I’ve hosted the extension on Github. You can download it here directly. Installation instructions are there, along with ideas on how to extend it. Let me know what you think!