Post | 23 Apr 2026
Since the inception of the portfolio and the rapid development of its features, layout and design... I have lost momentum and the frequency of updates has fallen. Though there is no time like the present to catch up on this post!

AWS Cloud Practitioner - PASSED!
I was very happy last Thursday to have passed my AWS Cloud Practitioner exam, one of the certifications that work has supported many of us to achieve. In general it was interesting learning all of the pieces of the puzzle that serve as the underpinnings to the services we all use daily in 'the cloud'. I remember reading and watching some Microsoft videos way back in 2008 about cloud computing and occasionally over the years touting its benefits and how it was the future. During this studying it was apparent that we've been living in that future for quite a while now.
The next step will be the Solutions Architect certification and exam although now having finished the entry level one, I have been trying to spend more time working on smaller projects and really trying to revisit some of the most basic programming ideas prior to starting any personal big project endeavours.
Don't just take my word for it...

Swift Programming Basics & Reading Documentation
Although at college we worked in Java to learn the programming fundamentals and then on to C# and Visual Studio which had many similarities... I have found in Mindful Check-In many of the old-school fundamentals that were great for learning development concepts don't apply in quite the same way in many modern frameworks and languages. Not least, Apple's Swift. Much of the 'really specifying everything to the computer' is gone with things like type inference versus Java. It truly does simplify defining classes and calling variables.
Another thing I had to extensively Google and learn 'on-the-job' during Mindful Check-In were Swift concepts such as '@Observable' and '@Identifiable' and '@State' - macro keywords used in classes to bind variables to UI elements, or allow the UI to read and change some data that lived elsewhere. The debugger prompted a lot of my searches which informed a lot of the way that app is built.
When I sat down to try to build something new, there was too much dependence on looking at how it was done there, and failing that, further consulting of Google and AI. That's not great though. I have decided that given my goals of simply building apps for the sake of understanding, learning and ideally producing something useful that real people can use, the iOS platform and Swift are ideal. It's modern, well maintained and continually growing with each release and the App Store (though not without its issues) is a real, relatively cheap route to market - and there is nothing cooler than being able to eventually have your friends and family be able to use the app and download it in the real way they download every other app. Furthermore, I found a bit of purpose in thinking 'if this will end up on the App Store, it must have SOME purpose and use' which is a nice standard to try to hold myself to.
The tools are also great - Xcode and the Mac with the M4 chip absolutely screams. It is truly a pleasure to develop on for personal use. Though publishing to the App Store, review and some of the concepts that were new to me about how the release pipeline and procedures go wasn't without challenge, I figured it out and aim to keep improving.
I have been spending a few hours here and there working through some of the Apple tutorials on Swift and instead of using Google or Stack Overflow (and completely prohibiting myself from AI) I am instead seeking their documentation. Building the tiny examples to understand mechanisms and how they particularly apply to Swift, then applying them to the tutorial projects. Many of these aren't just a 'repeat after me' exercise, they demonstrate a concept and then in the wrap-up, encourage you to add another function or two and force critical thinking, application of theory and needing to dip into the documentation.
On some occasions I had been tempted to consult AI, especially the built-in Xcode panel but every time, had reverted and removed it. The problem with AI is that it will completely overstep the basic little approaches necessary to learn a basic concept with some elaborate solution that you'd use with experience and that's great but it doesn't serve me. I'll give you an example - asking it for a simple fix on why a For Each loop wasn't working (it was a fault in how I was calling the variables holding the custom objects - one I was trying to unravel and did eventually). In this tutorial they were just hard-coded object instances for the sake of having a seeded data set. Not only did AI fix my loop, but it went ahead and moved all of these into an array and refactored the entire class. No doubt it was a superior solution and the array made sense - which I totally get - but it totally overshot. The array was something covered in a subsequent tutorial and whilst I'm familiar with the concept this one showed how to work with them particularly in Swift and some variations and applications that were more practical to me at this level.
One further bonus of looking at the docs was that not only do I go in and find, for example, how I want to use something like a ListView, but I see all these other sub-section headings like 'how to use data in X way' or 'how to style the List X way' - curious things to revisit or try to apply in my own practice.
Although doing this is like walking (reading the docs) versus taking the car (AI), in much the same way, like walking, you absorb more of the view and can enjoy the slowness in contrast to the speed of the car. Both are useful and have their place... but in programming, for me, this is resonating much better and I am actually sitting down in a blank project now, knowing where to look for UI, for starting basic data models and using them to build all sorts of silly little projects that will probably never make it to GitHub, let alone the App Store, but have been fun to mould.

Distractions and life disruption to programming...
This one is inevitable but sometimes life takes over. Whilst the AWS exam is passed and more free time can be spent on programming, problems such as trying to troubleshoot electrics on the car took a lot of my time this week. I've spent full afternoons to evenings destroying my fingernails and getting my hands pure black from stripping down and interrogating various wires, connectors and parts of the car with a voltmeter and following through Lexus TechDoc (workshop manual) procedures to the tee both on the street and at my uncle's garage in order to get to the bottom of a very annoying little brake fault. Like programming... the temptation to throw hours of brain time and real-time away and into solving a problem is truly an addiction. The fruit of that labour was having a solid grasp on the issue at hand and now having booked the car in with Lexus, and given them the output of my troubleshooting, will ideally save a lot of troubleshooting hours (at my expense) with them and hopefully get a few warranty-covered repairs done so that as little time as possible needs to be spent on car hassle.