You don't have to switch to macOS just to enjoy the quality feel, precision and capabilities of the Apple magic mouse, especially the current rechargeable version. I have a dedicated Windows 11 computer for a client and, I like my accessories to be the same so I set about making the Apple Magic mouse work. In this guide, I will walk you through the process of setting up and using the Magic Mouse fully on your Windows 11 PC. So, buy yourself an Apple Magic mouse 2 in Black or white cheaper than Apple, brand new from Amazon UK, and let's dive in!
Use GitHub to build and deploy your Power Platform app into production
This article is Publishing Power Apps to clients production environments securely using GitHub with Power Platform (part 3) (2) . You'll need to have completed part 1, part 2 and part 3 before continuing. This article deals with the GitHub workflow required to deploy a Power Platform app into a production environment via GitHub thus providing a recognisable governance and software assurance methodology for your Power Platform apps.
Automate the publication of your Power Platform solution via GitHub
This article is Publish Power Apps securely via GitHub part 3. You'll need to have completed Publish Power Apps securely via GitHub (part 1) and Publish Power Apps securely via GitHub (part 2) and before continuing. This article deals with the GitHub setup and workflow required to deploy a Power Platform app via GitHub thus providing a recognisable governance and software assurance methodology for your Power Platform apps.
Building a model-driven Power App to deploy using GitHub Actions for Power Platform
This is part 2 of Publish Power Apps securely via GitHub. You'll need to have completed Publish Power Apps securely via GitHub (part 1) before continuing.
What follows is the second part of a step by step implementation of strategy for publishing Power Apps via GitHub a simple Power App, This requires the creation of a simple Power App to deploy via GitHub.
Settings in Azure Active directory (AAD) and Power Platform Admin Centre for GitHub
This article is Publish Power Apps securely via GitHub (part 1). You'll need to have completed it before setting up your Power App and GitHub repositories. This article deals with the rather tortuous path of settings in what used to be called Azure Active directory and Power Platform Admin Centre.
Why have Power Apps been extended to support GitHub? (a theory)
When it comes to publishing Power Apps for client environments things can get tricky quickly. To a devops oriented person, the idea of modifying unmanaged code in production and risking duplication of effort, mistakes and losing track of those modifications should be abhorrent. Although it might have seemed justifiable under pressure and while cutting teeth on one or two apps, it would quickly get out of hand and start a journey along a path to madness! Nevertheless anecdotally it seems that many enterprise Power Apps deployment environments are based on exactly these kinds of shaky foundations. What should be done about it?
Fortunately, Microsoft have started to think about Application Lifecycle Management (ALM) for Power Apps. Although I have no knowledge of the inner working of the company, it is as if a grown up Microsoft Corporate Vice President (CVP) has got the Microsoft Power Platform division executives in a room together and explained to them gently, so as not to dent their enthusiasm, that their dream of allowing apps to just sprout out of the minds of digital citizen makers and into production, ends up suffering from a lack of governance, which itself could easily result in criticism of the Power App due to weaknesses, bad design, or lack of scale. The Microsoft CVP might go on to explain with evidence and anecdotes dating back decades, that without successful reference deployments of brilliant apps, Power Platform and Power Apps won't achieve widespread adoption and thus are likely ultimately to fail or get bogged down in an organisation perhaps even tarnishing the overall Microsoft Power Platform brand.
And after a pause, the CVP might have gently reminded the audience that Microsoft bought GitHub for a reason, and that the Power Apps team ought to integrate with deeply so as to connect apps built by digital citizens from the maker community with the professional in-house IT Departments and their developers and partners worldwide so that they can be properly managed, audited, and subject to rigour about releases to the point at which they are happy to help with the management of Power Platform and of bringing Power Apps to the mainstream.
So how nice it is then to find that my mythical CVP doesn't have to bang heads together because you can now use GitHub for Application Lifecycle Management (ALM) with Power Apps and though it is late to the party and quickly evolving this is very welcome and necessary to drive successful adoption.
What follows is the first part of a step by step implementation of strategy for publishing Power Apps via GitHub a simple Power App, This requires the creation of several Microsoft Dataverse environments in Power Apps Admin and the creation of a service principal with appropriate permissions in Azure Active Directory (AAD). This will allow for the creation of much better quality assured Power Apps because the deployment process will be managed automatically, securely, and with less room for human error.
Updating Joomla 4
Joomla 4.3.3 is now the latest release of the popular open-source content management system (CMS) that powers millions of websites around the world. With its advanced features and enhanced security, it is important to keep Joomla up-to-date to ensure the best user experience and prevent potential security vulnerabilities.
Here is a comprehensive guide on updating Joomla 4 to the latest version, covering everything from preparing for the update, methods of updating, common issues and troubleshooting, and verifying the update was successful.
TL:DR Joomla updates can get messy. To avoid problems you should back up your website to ensure that you can restore it in case of an issue. Then before you update you should check that your web service providers system meets the system requirements for the update, and that all extensions and templates you use are updated to the latest version, as older versions of these may not be compatible with the latest Joomla release. Once you have done that a Joomla update should be a painless experience!
macOS Ventura 13.2
I posted on twitter "What could possibly go wrong?" And for my Mac computers with Apple silicon nothing went wrong, and a fellow mac user (@scarychildren on twitter) chided me a little saying "Literally never had an issue with a macOS update in over 20 years". But my new (to me) i7 based Mac Mini 8,1 - the last Intel Mac Mini - which is supported by macOS Ventura the update needed me to get into the depths of macOS like it was 2009.
TL:DR macOS updates are usually fine these days but they can get messy and if they do theres a set of steps you can take to cleanly install.
Read more: Difficult Intel based Mac Ventura update needed EFI firmware update
What is Quick Look?
I expect most Mac users rely on Quick Look even though they may not know much about it. Quick Look is a technology that lets you view the contents of most documents in the finder on a Mac by pressing the spacebar. Once understood it becomes indispensable. So much so that in recent work where I need to use Windows 11 I find myself unable to be as productive when doing the exact same task just because this feature isn't part of Windows. So lets look at how to make that better.
TL:DR There is a somewhat clunky preview pane in Windows Explorer. But there is an app which provides equivalent or even better functionality, and it is free too!
Read more: Is there an equivalent to Quick Look for macOS on Windows?
Multiple projects, one set of consistent tools, one roadmap?
A client wants to consider standardising on Jira and Confluence across their entire portfolio so I thought I'd implement these tools from Atlassian for all my projects first as a proving exercise. Previously I've used Assembla (really great tools but clunky and unloved) and GitHub (really great tools and community but questions over ownership intentions amplified by copilot) so I'm no stranger to these kinds of tools. I thought my write up might be interesting even though Atlassian was crowned "a very boring software company" in The New York Times for its focus on development and management software.
Atlassian has around 7,000 employees, almost a quarter of a million customers and around 10 million monthly active users. It is famous for Jira and Confluence and acquired Trello, Bitbucket and a host of other organisations. So its a pretty safe bet. Jira has a generous free tier too, which is welcome.
TL:DR If you like ticket tools, feature prioritisation, software product roadmaps, software assurance and devops tools you might find this interesting.
Sprints
In the first article, Project setup in Jira, I got started with Jira for multiple projects, setting up boards for them and a Cross Project Board to give an overview of Everything, Everywhere in one place. I noted Jira has automatic unique numbering of issues which is vital! I set up my project to use the same Issue type scheme so that all my projects are identical and any future changes I make apply to all these projects.
Theres just one problem. Theres nothing in Jira to manage yet! So lets create sprints and issues for each project in order that we can then use the Jira Dashboard and the Cross Project Board to make sense of everything.
TL:DR: – If you like issue management tools, sprints and work prioritisation, and software product roadmaps you might find this interesting.
Installing Flutter 3.0 on a Mac Mini (2018) running macOS Ventura
Running the flutter 3.0 based 'Hello, world' app on a macOS computer with an Intel processor.
Flutter 3.0 can now create macOS desktop apps which run on Mac computers. This is the hello world example app.
TL:DR— Getting this running took around a dozen commands, and a bit of default question answering and installer clicking for Flutter, Xcode and Android Studio, both of which you have to launch at least once after installation. It took about 15 minutes to set it up. I use a folder called 'Development' in my home directory but you can choose whatever name makes sense for you.
Cassiopeia template resources
Cassiopeia is the default template in Joomla 4.
References
See also:
- Cassiopeia Menus (Joominator). Essentials about menu styles!
- Tweak Cassiopeia with a top banner and horizontal navigation (Joomla Magazine).
Kali Linux for Pen Testing
Kali Linux is an open-source, Debian-based Linux distribution geared towards various information security tasks, such as Penetration Testing, Security Research, Computer Forensics and Reverse Engineering. there is a Kali Linux Amazon Machine Image (AMI) for Amazon EC2 in Amazon Web Services (AWS). A client needs an internal pen testing environment. This is ideal for that. Lets make it work. As the developers of Kali Linux say - lets "Try harder!"
First though what makes Kali Linux special? Heres more of what the developers say :-
TL:DR If you have decided to install Kali Linux in AWS then what follows is a step by step guide.
Read more: Kali Linux on EC2 in AWS for Pen Testing (Part 1)
Installing Kali Linux on EC2 in AWS for Pen Testing
TL:DR In part one a Kali Linux instance was created in AWS what follows is a step by step guide to getting remote desktop working with Apache Guacamole™ so that the Kali Linux graphical tools can be used.
Read more: Kali Linux on EC2 in AWS for Pen Testing (Part 2)
Installing Kali Linux on EC2 in AWS for Pen Testing
TL:DR In part one a Kali Linux instance was created in AWS and in part two the dependencies and web services required were added to that instance. What follows is a step by step guide to getting remote desktop working with Apache Guacamole™ so that the Kali Linux graphical tools can be used.
Read more: Kali Linux on EC2 in AWS for Pen Testing (Part 3)
Software assurance
Making sure software apps function as intended and are free from known vulnerabilities and implementation flaws
Recently, I was asked to examine an acquired Software as a service (SaaS) app to see if it needed updating because the acquirer felt it was based on some older technology and needed to understand that more fully. This was for a very mature system with little or no new feature development planned. My task was to make whatever recommendations were necessary without planning new product features.
There's quite a bit to unpack there. So lets try to get to the bottom of it and come up with a plan.
TL:DR — Some steps I took, and all the gory details of how I thought it through using the principles of "Software Assurance" to provide a foundation for recommendations to bring an acquired SaaS app to a state where security and service can be assured by the acquiring organisation. Hope its useful. If you need help with this kind of work do get in touch! If you'd like me to come and talk about this at your meetup also contact me!
Product keys are needed to activate Windows
Without the 25 character activation code you will be unable to activate Windows and it won't function. Codes come from all sorts of sources including digital downloads, and developer subscriptions and software provided by original equipment manufacturers (OEMs). The technology was introduced in an effort to reduce software piracy back with Windows XP. It is perfectly legitimate to re-install and re-activate Windows on the PC for which the product key is eligible as often as you like.
Edition of Windows
The code is also responsible for determining what particular edition of Windows you are eligible to run on your computer.
Original product keys stored in your computer
This article is concerned with codes stored in your PC, which might be useful if you are reinstalling from scratch or upgrading to a newer version of Windows and need the original product key from a previous version.
TL:DR Product keys are often stored in the Advanced Configuration and Power Interface (ACPI) BIOS settings of computers to aid with reinstallation without costly support calls for the original hardware vendors. This is memory which is for configuratoin information and is separate from the drive on the system. It is easy to fish the information out if you know the commands needed.
Apache Virtual hosts using Let's Encrypt for Ubuntu 22.04 (22.0.4.1 LTS)
Virtual Hosts with SSL, isn't that hard?
The Apache HTTP Server has always had a virtual hosts feature to serve multiple differently named websites from the same server. Setting it up with SSL is more complex than it perhaps ought to be, and that is probably historical given that the project it named after HTTP it was centred around http and https was originally an additional, often expensive and complex configuration step.
This seems outmoded to me. Traffic encrypted to the web browser with https is mandatory for any serious web presence. http is an insecure protocol that should really be a secondary consideration. Anyway, it is what it is.
With virtual hosts, each individual site appears to the end-user to have a different identity even though it is served from the same server. Hosting providers use this technology to provide resilience, security, scale, analytics and for many other reasons but it is also useful for developers who want to have a replica small scale development or staging environment perhaps for multiple websites. A development environment is my reason for building out Apache 2 virtual hosts with separate Let's Encrypt certificates on my Ubuntu Linux machine.
To make it work, you need to think about setting out the directory structure on your Linux machine, the Virtual Hosts configuration files for Apache2, and a properly resolving DNS record to the Linux machine hosting your virtual host site. Setting it up is easy enough but takes a little bit of concentration on the details of all these moving parts. Adding SSL to these virtual hosts is far less tricky than it once was because 'Let's Encrypt' does most of the heavy lifting now.
You'll need
- Ubuntu Desktop 22.04.1 LTS updated to latest.
- An administratrive user that can 'sudo'.
- Let's Encrypt 'certbot' installed and a good understanding of Linux locations and editing tools.
- An IP address on your Linux machine that is reachable from the Internet. This can either be fixed or dynamic via 'ddclient'.
- Local DNS, sometimes called 'split DNS', perfectly set up for your local area network or a hosts file with entries for the names pointing at the local IPv4 address of the Linux machine.
- The domains you wish to use for your virtual hosts set up to use that IP address or an alias that resolves to it.
TL:DR I now have two dev sites on my local Ubuntu Desktop. Both have valid Let's Encrypt SSL certificates and are working well locally and via the Internet. It took about 45 minutes to set up.
Read more: How to set up secure virtual hosts using Let's Encrypt with Apache2 on Ubuntu 22.04.1 LTS
A saving of £369 is only a saving if you were going to buy the product anyway! There are some questions you should ask yourself before you do. The saving is real though so read on!
Q. Should you upgrade to the 2022 iPad Pro, supercharged by the Apple M2?
A. It depends
TL:DR Should you upgrade from any previous iPad Pro — If you have the original home button equipped iPad Pro from 2015 (12.9 inch) or 2016 (9.7 inch), or the home button equipped iPad Pro from 2017 then now is the time to upgrade. The 2018 and 2020 no button iPad Pro's are a harder call to make as they have USB-C and improved looks and performance but I would still say it is time to upgrade as they have good resale value and will miss out on iOS features such as Stage Manager that need Apples M1 or M2 chipset power. The 2021 iPad Pro based on the Apple M1 chip is probably not worth upgrading to the 2022 model. The 2022 iPad Pro is the current model and it should remain a very usable device you can count on for about six years. You can find it new with a small discount or used with a massive discount if you try hard!
Read more: How to save £369 on the 2022 iPad Pro 11-inch in the UK in 2023
Do I need a new cassette recorder, in 2024?
Compact Cassette to Digital audio
Can I finally digitise my old analog cassette tapes?
Over the holidays, while unpacking boxes, I found my collection of cassette tapes from the 20th century! I never threw them away it seems, even though I haven't had a cassette player connected to my home audio system for decades. Handling and looking through my tapes evoked many memories of recording and playing them, whether they were concert bootlegs, band practices, or taped off the radio. I remembered too the important process of writing out the track listing and decorating the cassette tape labels and covers.
Vintage cassette players and recorders, are expensive and full of compromises on eBay but seem to have a devoted following among collectors, vinyl enthusiasts, and music lovers who perhaps are nostalgic for the warm sound of analog audio and the hiss of tape. Professional and semi professional restoration shops sell them too, often with warranties. I looked up my old long lost Sony Walkman DC2 and the prices are in the stratosphere for this, the king of the Walkman players and much loved by me. So much so that it made me wonder if anyone makes new cassette players and recorders these days. Even Phillips the inventor of the format has no Cassette players or decks in it's current line up. This to me seems sad and wrong.
But, there are a couple of decent pro audio and HiFi decks around and this is a little bit of a rabbit hole!
What do I need from a Cassette Player in 2024
- Comprehensive tape support for all the different types of compact Cassette tape.
- USB out so I can play the tapes and capture the output digitally on a PC or Mac.
- Line in and Line out. Old School.
- Headphone Connector for monitoring.
- Noise supression. Gosh do you remember how bad tape hiss could be!
- Tape to tape. Not sure I really need this but nice to have retro functionality.
What don't I need from a Cassette Player in 2024
- APSS - remember that, seeking forward for space between tracks, I think it was from Sharp who were for a time the king of the twin tape ghetto blaster It stood for Advance Program Search System. I never used tape counters either but they would do the trick nicely.
- Auto Reverse - it just made the device less reliable.
- CD drive - Macs, and PC's and XLD have totally got ripping CD's thanks very much.
- Metal tape support - I never had many of these.
- Custom 4 track support like my old Tascam Studio - not really needed.
- Twin decks I dont really need two, I'd really settle for one audiophile cassette deck with USB out.
TL:DR — If you have the means theres still one Pro Audio and one HiFi consumer cassette deck available in new condition with USB out. Both have the exact same mechanism with a few styling differences, rack mount capability and one additional playback function on the Pro Audio version. Both are expensive so shop around. If you're looking for a second hand professional level Cassette Deck in 2024 read my other article Old Cassette recorders for 2024.
Backing up Windows 11
Overview
Why are you doing this ?
I have lost count of the number of people why have asked me to repair or resuscitate a laptop or desktop running Windows because of some irreplaceable data. It would be cruel to say 'Wheres your latest backup?' to them because you just know that there isn't one. This happens on macOS too but less so these days because of the excellent and near invisible 'Time Machine' technology. So surely Windows 11 has decent backup tools now? I don't know the answer but since I've been using a Windows 11 laptop for a project I thought I'd better set it up.
TL:DR — Windows 11 comes with a decent set of tools for making backups. Backups are not things you need until the moment after you absolutely wish you had them. So do yourself an enormous favour and get an external drive bigger than the capacity of your computers internal drive. Plug it in, and set up the three backup tools that come with Windows 11 so that you have a safe and secure backup in case you lose or fry your computer. You'll need an external drive. I chose a Samsung T7 Portable SSD Mettallic Red 1 TB and optionally an External USB 3.0 DVD writer if your computer doesn't have one in order to create a System repair disc that can be booted to access system recovery options.
System Settings in macOS
Redesigned but so many inconsistencies remain
Now that version 14 is out, the macOS system settings redesign that first appeared in macOS Ventura can now be considered settled.
Many things have changed, and while many remain the same, some things are better and others are worse. Today I needed to make some System Settings changes and found it difficult. Perhaps it is me, having grown up with macOS System Settings and all its quirks over the last more than twenty years but there seem to be a couple of hurdles now that weren't there before. But I do note that other operating systems tinker with settings screens too and all seem to face the same problem of how to organise infrequently used choices that can have quite an impact in a way that doesn't get in the way of getting things done.
TL:DR — System Settings in macOS is a halfway house between what was there before and something inspired by iOS/iPadOS but it is not very intuitive. Setting up a power schedule requires an obscure command from the terminal now. Thats progress? Sharing and other important functionality is hard to find or gone. (Power schedules, one of the last bastions of NextSTEP and a marvel on the NeXT computers is now relegated to the terminal via the obscure pmset
command).
Building a FREE Windows based web server — with a Lets Encrypt SSL certificate in AWS
Overview
Why are you doing this ?
A client asked me to help with some enterprise software in Amazon Web Services (AWS). I haven't touched Windows Server in anger for over a decade and really never imagined I ever would again. This is despite long ago being one of the first Microsoft Certified Systems Engineers in the UK. My certification has long expired and I have absolutely no intention of taking it again but this is an interesting project in an industry vertical I know well, with people I really like. So I thought I'd build out my own private Windows Server infrastructure on AWS first, in order to see what I was letting myself in for.
What I was able to do
- Set up a FREE tier eligible AWS account with a new domain name and email address.
- Install Windows Server 2019 in an Amazon EC2 instance, securely.
- Install Internet Information Server, Microsoft's venerable web server.
- Add a Let's Encrypt SSL certificate, trusted and supported by all major browsers.
- Set the Let's Encrypt SSL certificate to auto renew through a scheduled task.
- Replace Internet Explorer (IE) with Chrome as the default browser on the Server because IE is so utterly unusable now that it is laughable that it is provided with Windows Server at all.
TL:DR — It is relatively simple to set up a FREE Windows Server based web server with a Lets Encrypt SSL certificate in AWS. There are a few hurdles to jump over but once you get past them it works fine.
Read more: Building a FREE Windows based web server with a Lets Encrypt SSL certificate in AWS
Setting up AWS Organizations to enable service control policies (SCPs) to restrict region access
Overview
Why are you doing this ?
A project I am working on has data that must be hosted in one specific AWS region for regulatory reasons. AWS is a worldwide service and certain elements of it such as the root user, and users set up using Identity and Access Management (IAM) are globally provided and cannot be region restricted. However it is possible to deny access to specific AWS features based on the requested AWS Region using an AWS Organizations service control policy (SCP). IAM provides control over users and roles in individual accounts, and is itself managed by the AWS root user account which should be used sparingly and carefully. AWS Organizations expands that control to the member accounts level by giving you control over what these accounts can do.
Organising your member accounts in AWS into AWS Organisations is good practice and is especially useful for delegating control for budgetary, security, or compliance needs, for example in different departments or separately budgeted development teams, while retaining overall governance through management accounts with responsibility for consolidated billing, security and governance. AWS Organizations is a no-charge feature of AWS, the only cost really is the investment in time in designing and setting it up to match the structure of your organisation.
What I was able to do
- Create an organization and organizational units (OUs) in it
- Create a member account inside an OU
- Enable all policy categories in AWS organizations
- Create service control policies (SCPs) that apply to member accounts in the OU
- Confirm in the AWS Consol that those policies were working correctly
TL:DR — AWS Organisations is a powerful way to provide more granular access to AWS features. It requires the creation of member accounts, which are different to IAM accounts and the root account. Once you set it up it is easy to adjust to meet any future AWS budgetary, security, or compliance needs. And its FREE to use.
Subcategories
Flutter
Learning Flutter™ — Simultaneous publication of apps for Apple and Google Android devices
Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase.
I create mobile applications that can be published in the App Store and Google Play. I'm not a hard core developer, I have professional developers working with me in my clients and contracted work. But I am a product manager / interim CTO.
It seemed to me that going through the whole process of app creation and management and documenting it for others would be useful. I've been writing requirements and producing mobile applications for decades but I thought I'd like to learn at a far deeper level about Flutter just for fun and because cross platform applications are something I have a passion for. This is my learned experience of picking up these development tools and seeing what I can do.
Of course, one does not simply publish an app.
In order to publish an app you have to plan, code, build, test, publish, operate, monitor, manage and update it. This is a familiar pattern these days, its sometimes called 'devops', and it can't be avoided, for if you skip elements of it then updating your app or managing it might become impossible over time. You don't want that! So while this collection of articles is based around Flutter it is also about all the surrounding disciplines that need to be considered as part of development and operating a cross platform mobile application and the inevitable platform behind it.
Flutter starter app running on iPhone 14 Pro simulator on macOS Ventura (Intel)
Getting started with Flutter
This is the first part of a journey to build and publish a Flutter based app for the App Store and Google Play. Building the starter app on a Mac computer with Apple silicon. Start here.
Getting started with Flutter and building the starter app on a Mac computer with Apple silicon