
Discover more from One Thing at a Time
Hi all,
When I last wrote to you (which is longer ago than I would like it to have been), I mentioned a podcast I would be talking on. My episode was published yesterday, so I can now tell you all about it.
It’s an excellent example of serendipity. Gavin Henry is one of the presenters of Software Engineering Radio. He was looking for someone to appear on the podcast to talk about GitHub Actions when one of my newsletters plugging GitHub Actions Essentials appeared in his inbox. We exchanged a few emails and then spent a very pleasant hour or so talking about GitHub Actions back in April. The back-end team at SE Radio then took our conversation and turned it into a real podcast which is now available for you to listen to wherever you get your podcasts.
If you’re not really sure why you should care about GitHub Actions (and, more importantly, why you should buy a book about it) then I think our conversation does a good job of explaining what GitHub Actions is and how it can help you.
Other marketing efforts on the book continue to have a slow effect. I seem to be selling far more copies on LeanPub than on Amazon. I wonder if that’s my geeky audience having a preference for not using Amazon if possible?
ChatGPT and Copilot
Like the rest of the world, I’ve been experimenting with the new generation of Generative AI tools. Sometimes it feels like I’ve handed over most of the management of my life to GPT4. I’ve been using it to plan meals, exercise sessions and even sightseeing trips. It’s been really impressive.
But, as a geek, it’s coding where these tools really stand out for me. Over the last few years, I’ve become a reasonably competent Javascript programmer. But GPT4 has really increased my productivity. As an example, here’s my web page which links to the weekly status reports from the Perl Steering Council. The initial version built a static page each week when the new report was published. But now it loads the data from a JSON file and builds a table that can be sorted in various useful ways. None of that would have been beyond my Javascript abilities, but it would have taken me a few hours to get there. With a few carefully-chosen prompts, the new version was ready in about an hour. It wasn’t all plain-sailing - GPT4 consistently hallucinated the wrong name for a Font Awesome icon - but it was far easier than doing it myself.
I’ve also been experimenting with GitHub Copilot. I had put off trying it for months because I thought (wrongly, as it happens) that it only supported a small number of languages - that didn’t include Perl. But that’s not the case. Its Perl support seems to be pretty good. Ovid wrote a blog post which summarises his (positive) experience with Copilot and mine is very similar.
My “aha!” moment came when I decided to refactor some code and Copilot read my mind and produced the correct code without any prompts from me.
I was working on a web application that needed to switch between two display modes - one had basically no CSS and the other used CSS to make the output far prettier. The class had an attribute called “pretty” which determined which version to use. So the method that renders the output contains code like this:
my $css = $self->pretty ? $self->pretty_css : $self->standard_css;
And that $css variable was then interpolated into the output HTML. I decided to put that logic into a new method called “css()”. I just typed “sub css {“ and when I pressed the enter key, Copilot suggested a body for the method that was exactly what I wanted.
I was sold. I’m currently on the free trial, but once that’s up it’s going to be well worth the tenner or month it’s going to cost me.
AWS and AI
I was at the AWS Summit in London yesterday. As you’d guess, generative AI was a big topic there as well. AWS already has a number of AI-based services and that number is only going to increase as time passes. They now have a Copilot competitor called CodeWhisperer which might be worth a look.
I always come away from AWS Summit enthused to get my stuff moved into the AWS cloud and this year was no exception.
A few years ago, I started writing a series of blog posts called Into the Cloud, where I was going to explain how I moved one of my personal projects onto AWS. I never completed that project (real jobs got in the way) but I think the time is right to get back to it. And I think I’ll have a good helper this time. I’ve already had a conversation with ChatGPT about the project and we’ve come up with a plan to complete the transition. I’ll let you know how it goes.
Hire me
As you might be able to tell, I’m having a lot of fun writing books, experimenting with new toys and working on my own projects. But the mortgage still needs to be paid, so I’m in the market to take on a bit of work. If you or anyone you know can make use of my skills (Perl, Linux, web development, databases, GitHub Actions, and so on) then please get in touch.
Until next time,
Cheers,
Dave…