I’m somewhat in agreement with the first half of Jamie Lord’s post on Nearly Right (Engineering leaders demand systems design skills as AI coding assistants produce mounting technical debt), and Jason Gorman made a good point about unreadable code being a form of technical debt (he coined the term ‘codemanship’, which I’m going to borrow). In my opinion, ‘AI’ generated code absolutely should not find its way into the codebase of critical software, unchecked, regardless of what some bastardised implementation of Agile might demand.
Someone wanted files retrieved from a legacy database export. In this case, they were Word documents and PDFs stored as hex strings in an IMAGE column. The hex strings, of course, are representations of the bytes that make up the files. Now, there is a way of recovering files from this, using a native stored procedure, but I didn’t have admin-level access to this particular database. I also couldn’t use the online conversion sites, as the data was too sensitive.
After a six hour drive from Cardiff to York (with exceptionally good traffic conditions all the way), we set up the caravan on the York Rowntree CMC site, which is just across the bridge from the city itself. The stretch along the river reminded me a lot of Spike Island, in Bristol, but it’s much prettier when the sun is out. Several canal boats were parked up, along the path between the CMC site and the bridge.
I’ve worked with several ’low code’ platforms in recent years. Some are better than others, but I’m always asking one question: What problems are they supposed to solve?
The biggest of them is ’technical debt’. Dependencies become outdated and unmaintained, updates sometimes have breaking changes that require code to be reworked, additional code gets tacked on over the years by various people, amateur code makes that harder, etc. Technical debt might be an inevitability for an organisation that’s been developing software in-house for long enough.
Azure Local was mentioned in a discussion with a few other engineers, the other month. I’d never heard of it, but I could guess it had something to do with running an on-premise instance of Azure. Apparently they’re calling it ’edge computing'.
There’s a list of things we don’t want migrated to Azure, when we think about it, such as security camera streaming and recording, database for the security cards, software-defined networking, internal hostname resolution, that sort of thing.
PGP has been around for about 35 years, more or less, and the single reason emails are rarely OpenPGP-encrypted is most people don’t know how to use OpenPGP. To get it right, we need to know what asymmetric encryption is, which algorithms and key sizes to use, how to include the correct key in our email signatures and how to make backups of our private keys. OpenPGP requires effort to use, and most of us invariably choose convenience over security.
Ironically, the Online Safety Act, and the way it was implemented last week, has made the online world decidedly more dangerous, and I need to belatedly share some of my thoughts on it.
Most people who knew about the Online Safety Bill would have been under the impression that it was about censoring harmful content on social media and implementing stronger age verification measures specifically for pornography sites. The idea would be that adults would provide scans of government-issued proof of identity.
Typically I find that some troubleshooting and configuration is required to get an imported project to a state where it builds and the unit tests run, and the reasons usually aren’t obvious.
Importing a project Most Mulesoft developers would have made the mistake, at least once, of trying to import a project using one of the options under the ‘General’ section, as that’s the first displayed in the import options window.
It’s been a few months since I last had time to post anything here, as things had been so busy of late.
In March we spent a few days exploring the West Midlands - we didn’t want to travel too far, with Bertha having been in storage since October. Some of the places outside Birmingham are historically interesting.
Warwick CMC site is quite unusual, being quite small, and within the perimeter of a race course.
Recently I’d been developing a Mulesoft application that uses another as a source API. The response from the source API looks something like this:
{
"nextLink": "https://server:port/external-api/endpoint?page=1",
"nextOffset": 1000,
"morePages": true,
"totalRows": 12345,
"totalPages": 13,
"results":
[
{...}
]
} There are a few things that could potentially be used for paging the response data. As a .NET engineer, I would have approached it by using a While or Until loop on ‘morePages: true’, used the nextLink URI and appended the response payload to a typed list.