Apple has pushed out the public beta of macOS 11.0 which includes a variety of new features (features not found in previous builds) as well as correcting known bugs from previous builds (link). My impression so far is that it is in a better position than it was last time and I think that has primarily due to the fact that the focus has been under the hood changes along with many of these projects having gone on for years behind the scenes before they made the big announcement in much the same way that Steve Jobs talked about MacOS X leading a secret double life.

So I wouldn’t be surprised if the same thing has been happening since Apple developed their own silicon – they’ve been compiling macOS on both Intel and Apple Silicon just in case that day happened and Apple needed to make the switch. I also wonder how many of the drivers that are used in iOS are transferrable over to macOS – are they going to be pushed out of kernel space into the user space? It’ll be interesting to see how it all alines once the first batch of Apple Silicon based Macs are released.

I went to the doctor on Thursday and he advised me to stay at home for the rest of the week until I was fully recovered. It is gradually clearing up – I think it is good to avoid too much stress and getting a good night sleep. I think that is what I’m going to focus on when I get back to work next week – get a good night sleep by getting into bed earlier so then even if I don’t go to sleep straight away I will be relaxed and ready to go to sleep because my mind will be relaxed rather than buzzing with activity and thus difficult to get to sleep.

Well, I turned up to work today and puked a lung out – my boss through it would be best, given the circumstances, to head back home and take sick leave. I don’t know how I got sick but I do know when occurred which was on Sunday and by the time Monday rolled around I felt horrible. After that I thought it would be best to go back home and rest until I was feeling a lot better. I’m going to ring up my boss tomorrow and say I need at least another day or two because I’ve done the stupid thing in the past when I’ve gone back to work believing I was all ok only to then get sick again but even worse – as if it were like a double up.

Apple updated their iMac line up, it is all standardised on SSD’s so no more spinning hard disks but as expected there was no redesign – I would say that Apple is going to leave the redesign for the Apple Silicon based Mac’s that they’ll be shipping as to mark a clear demarkation between the old Macs and the new Macs in much the same way that the iBook became the MacBook, the PowerBook became the MacBook Pro (although the iMac kept the same name funny enough).

Weekend is almost over and looking forward to getting back to work but the mean time MarsEdit’s developer(s) have put out an update which addresses a bug I experienced when sending a blog post to and the category chosen not being synchronised – it comes up on the server as uncategorised. Well, it is all now working which is great. 

Regarding my glasses – it isn’t you’ve upgraded your glasses when you realise just how bad your eye sight has gotten in 10 years. The last pair of glasses I bought when I was living down in Christchurch over 10 years ago so it has been quite some time.

I thought I had avoided getting a cold this year but alas on Sunday it started then on Monday it was the worst, today (Tuesday) I have feeling a bit better – having some Fisherman’s Friends and some Lemsip so hopefully I’ll be all recovered by the time I get back to work tomorrow.

Well, I’ve finally got MarsEdit set up – I give web applications ago but I keep coming back to native applications because they integrate best with macOS. It is the one thing I like about having iCloud at the centre of my life – it avoids the use of web applications in favour of native applications which come with the benefit of integration between various parts of the operating system as well as other hardware. Big Sur will be replacing the macOS version of Messages with a Catalyst version which will close the gaps but hopefully with the use of Catalyst it will open up a situation where all the native applications are eventually using Catalyst resulting in macOS and iOS/iPadOS functionality remaining in sync with each other.

My holiday is starting in seven weeks but in the mean time I’m going to take things one day at a time – I’m looking forward to getting closer to that time off and hopefully during that time off Apple will release all the upgrade goodies. Yeah, I know, I could participate in the public beta but I’m at that point in my life that I don’t want to deal with a buggy experience on my daily driver so I’ll wait until it is stabilised.

I always find it funny when I see people talk about wanting smaller phones – that is right up until I have to deal with them at the call centre by giving them instructions but they’re unable to navigate their phones and/or read what is on the screen because the screen is too small. Moral of the story – buy a phone that is practical, don’t buy a phone because it is ‘cute’, ‘compact’ or ‘cool’ because otherwise you’ll find yourself bitterly disappointed with a very expensive mistake. It is something I see far too often – people who buy technology because of the novelty only to either lose interest once the ‘honey moon’ period has worn off or they recognise the glaring limitations that they deliberately overlooked when looking at which piece of technology to buy.

Last night my Unifi Dream Machine couldn’t connect to the internet so I decided to throw caution to the wind, tether my MacBook Pro to my iPhone then download the firmware to the test firmware then upgrade my router to the latest version. The router accepted the upgrade and everything rebooted with a working router connected to the internet within a couple of minutes. Although the UbiOS for UDM is in beta it is very stable so I wouldn’t be surprised if either in an 1.8.x or future update to see it stabilising and being made available through the release channel.

macOS 11 Big Sur Beta 3 was released around a week ago and it is appearing that Apple is making quick progress at addressing the known issues along with taking on board feedback such as the battery icon in Preferences. The latest release notes (link) goes into more details but so far things are looking pretty good so hopefully Apple will release it while I’m on holiday at the end of September – get to enjoy a week of doing a clean install along with all the fun of playing with the new features and enhancements.

Apple released some big updates today/yesterday for their various platforms (macOS, watchOS, homeOS, iOS, iPadOS) and in those updates were a health dosage of security fixes as well (link). One of the biggest things ai noticed after installing the macOS 10.15.6 update was that the Boot ROM on both my iMac and MacBook Pro were updated to 428. which makes me wonder what else was updated in regards to microcode updates being deployed. In the security update section I found this to be quite interesting:

Which probably explains why it was 2.65GB in size because of the need to recompile code to address the pointer authentication codes not being properly enforced at compile time. It would be interesting to see how many of the flaws that were reported to Zerodium were due to that flaw in the compiler.

I think the interesting part is the firmware update where I ran the following command sysctl -a | grep machdep.cpu and what stood out at me was machdep.cpu.microcode_version: 214. I think did some Googling and and found this article over at Red hat (link).

On the topic of security, it is interesting seeing the type of security features that ARM64 has as part of it’s ISA and how Apple will leverage those features to create a more robust system. I also wonder, as part of the move to close off the kernel to third parti extensions that Apple will move its GPU drivers out of the kernel into user space which would then open up the possibility for Nvidia to make an appearance on macOS given that in such a scenario the divers would sit in user space and only would require notarisation. The next couple of years with the transition to Arm combined with Apple continuing to rearchitect the core of their operating system.

It has been ages since I’ve updated my blog but a lot of stuff has been in my life. For starters I went to the optometrists last week to get my eyes tested and choose my new glasses:

Although my insurance will pay for one pair, they have a special at Specsavers where you ‘buy one, get one free’ which only covers the frames meaning you will need to pay for the second pair of lenses. I thought it would be best to have a backup pair so incase something bad were to happen with one pair that I would have a backup pair. The only saving grace out of all this is the fact that my eye sight isn’t as bad as I expected although my left eye is noticeably weaker than my right eye.

It appears that sometime this week, assuming there is no show stopper bugs, Apple will release iOS 13.6, macOS 10.15.6 plus updates for all the other platforms. Although everyone is justifiably excited about the next version of macOS, iOS and all the other platforms I think what has generated the biggest buzz has been the move to Silicon Apple. Although it is a big step for Apple there is another angle one needs to consider – the fact that although Apple is a smaller player in the traditional computer market they do have a big influence over the market over all. If Apple demonstrate that it is possible to move beyond Intel, move beyond x86 (something even Intel filed to achieve with Itanium) then it opens up an opportunity for other players to enter the market either shipping ARM based CPUs in Chromebooks (think Exynos SoC with AMD GPU in a Samsung laptop) or maybe Microsoft taking it seriously with the much rumoured Windows 10X which scoops up[ the backwards compatibility into a container with a modernised operating system. That being said, not only would a SoC vendor have to have an interest in wanting to invest into a desktop, laptop and/or workstation class SoC it would also require a big customer like Dell, HP or Lenovo to step forward to given the said SoC vendor confidence that the investment is worse the time and resources. For example, if Dell said, “we need 4 million units of n ARM processor that can bet Intel on price/performance-per-watt then it would given the likes of Qualcomm something to strive towards knowing that the investment at the worst it will break even and at best it’ll be a run away success that’ll open up opportunities for the computer companies to take an interest in Qualcomm ARM SoCs.

So I’ve been thinking about the announcement of Apple Silicon a couple of weeks go along with reaching the commentary of those who have a good reputation within the information technology sphere about the future direction of companies. The one thing I overlooked was how this all fits in with Microsoft and their own future direction given that the future of Microsoft isn’t wedded to the success or failure of on the desktop – it’s all about the cloud and what devices that do exist are going to be light weight with the heavy lifting being done in the cloud.

Windows on ARM has been an abysmal failure but there is an opportunity for Microsoft to either do one of two things (relating to software) running on top of ARM. One option would be to create a rebranded version of ChromeOS in the form of ‘Edge OS’ which is heavily integrated into Microsoft’s own cloud service in much the same way ChromeOS is integrated into Google’s own cloud services (bundle it with low cost ARM based devices – get the device for cheap, make the money back on subscriptions). The alternative is for Microsoft to take Windows 10 and strip all the legacy code out of the system so essentially it is the NT Kernel, UWP, WinUI and then the standard bundled applications (gradually move Windows 10 to Edge OS by shipping Windows 10 for another 2 years then make Edge OS the default with 3 years support for those with Window 10 then eventually end all support with maybe a longer transition, say +5 years to end enterprise support) . Removing legacy support would free up Microsoft to be able to optimise the operating system without consideration for backwards compatibility along with making its operating system cheaper to maintain over the long run due to a smaller code base which is based on modern code (maybe jettison their own C/C++ Library along with compilers in favour of adopting LLVM/Clang (plus adopting libc and libc++), move from PE to ELF (if you’re going to brea compatibility you might as well go all the way) and make LLVM/Clang the details since the value of Microsoft’s developer tools is in the IDE not the compiler (maybe .NET utilising LLVM).

When it comes to the cloud side of the equation – end of the day as long as you’re using their cloud service I don’t think Microsoft actually cares whether it is being accessed from a Windows PC, Mac, iOS, iPadOS, ChromeOS, Android or any other platform (although controlling the underlying platform does give it a lot more leverage to make the experience better for users in terms of integration). Given how Microsoft is opening more data centres around the world with the recent (link) opening in New Zealand, I could imagine in 5-10 years time Microsoft will no longer sell on the premises software and everything will be delivered via the cloud with the barrier of ‘the illusion of control’ being overcome with a new generation of information technologies managers only ever knowing cloud computing thus seeing on the premises data centre being another legacy that can be gotten rid of.

It’s going to be a big culture change – Westpac has already started embracing the private cloud and seeing benefits of lower running costs and being able to get application upgrades to customers quicker. The recent move by Westpac NZ from Hogan to Celeriti along with a whole new internet banking website along with new mobile banking apps (having used it – the experience is pretty good from a customers perspective). I think at this point banks are asking themselves whether it makes sense to be so heavily invested into technology when in reality it a means to an end rather than an end in and of itself. The idea of moving to the cloud is to bring the focus back on what you’re doing as a business – the cloud is there to serve a purpose, to enable you conduct business rather than the focus of the business being on technology.

WebExtensions API session on WWDC 2020 was interesting – I think the last part is something important to zoom in on because although the WebExtensions API hasn’t been fully implemented (link) Apple are interested in eventually implementing it fully with the focus right now on the most heavily requested features being implemented first. What I am hoping is that in the long run there will be a feature complete API that’ll give developers two options for extension – native code or JabaScript based on extensions using WebExtensions API.

There hav been a few developers looking at the announcement such as Raymond Hill who is the lead developer for uBlock Origin. He noted that although it is a step in the right direction it is missing features (link) the uBlock Origin requires. There is an opportunity for Safari to squeeze into a power user niche where Chrome is making life difficult with the move to manifest v3 (Firefox appears to be getting some love from the power user community who have decided to adopt some aspects of manifest v3 but not the divisive features that have angered many extension developers.

Apple has made some big investments into Safari over the last year as seen by the technology previews they put out regularly to developers. The session at WWDC 2020 not includes covering new APIs that are now supported but also dealing with compliance when compared to other browsers (link). Where I work we have a website that makes extensive use of web workers but issues with Apple’s implementations resulting in the website suddenly not working (buttons won’t work etc) until the cookies and cache are cleared then everything gets back to normal – hardly the ideal experience for an end user.

Driver Kit and System Extensions is being expanded to support more hardware as Apple moves to close off the kernel to third parties and as noted before Apple is dog fooding that by moving some of its own drivers out of kernel space into user space as seen by the below screenshot from macOS 10.15.5 System Profile:

I’m sure once the PCI and SCSI Driver Kit matures I’m sure we’ll see Apple move of its drivers move out of the kernel – maybe even see GPU drivers moved out of kernel space which will help with security (check out the security change log relating to the kernel and how man relate to GPU drivers) which should result in a more secure and robust kernel – not that I’ve had an issues mind you *touch wood*.

Architectural differences are covered (link) and the part that surprised me is that OpenCL and OpenGL are both supported (although deprecated) because I would have thought that Apple would use the move to a new platform to remove old technology but I guess one big change is enough for most developers handle at a time. It will be interesting to see how long OpenGL and OpenCL hang around in macOS, it will also be interesting to see what the performance of OpenGL games are like – whether there is a noticeable improvement over OpenGL running on Apple’s own custom GPU vs AMD or Nvidia GPU (which depends on drivers that Apple have very little or no control over).

A consistent narrative I’ve seen online in forums and on YouTube is about the massive improvement in performance of macOS, iOS etc. So I had a check through WWDC videos and found this session (link). So it appears that not only are we see a refresh visually but also a refresh under the hood. With the focus on reducing memory usage I wonder whether this is bought on by the fact that RISC based processors tend to punish developers with bad performance if they don’t spend the time to properly optimise their code.

The move to ARM will particularly interesting given that the Apple SoC is made up of dedicated modules that require developers to spend time taking advantage of those features through the use of frameworks provided by Apple rather than using the CPU was the dumping ground then hope that it’ll solve the problem of a poorly optimised code base which fails to use the frameworks that Apple make available to developers.

This is why there is so much focus on optimisation – the full benefit of the Apple SoC is made apparent when developers make use of what Apple has to offer. For me, I tend to wait for Apple’s second or third generation hardware but we’ll see what the hardware is like – given that they’re going straight from x86-64 to ARM64 is should mean avoiding the whole situation of shipping devices with 32bit CPUs then even with the transition to 64bit CPUs not every device can run 64bit macOS. The other example of avoiding 1.0 is the Apple Watch (the very first one) which was limited in many ways such as lacking GPS built in thus requiring it to be paired with an iPhone. The more recent example would be when Apple launched the iMac 4K with the AMD Radeon R9 M295X which only just had enough grunt to run the display with very little headroom left over if one wished to play games.

With all that being said, given that Apple’s ARM SoC is a mature platform and along with acquiring experience regarding building Mac’s with high resolution screens I feel pretty confident these days that Apple know what they’re doing. I guess the speculation in the tech world will be over which Mac will receive the ‘Apple Silicon’ make over first and whether there is some rebranding or whether all of the products retain the same branding. Oh well, we’ll need to wait and see what happens but what ever the case maybe the next few years are going to be interesting times.

WWDC 2020 is here but this time I decided not to watch it at 5am – sure, I got up, turned over to check the time on my iPhone but then couldn’t be bothered turning on my laptop so I went back to sleep again. I watched both the Keynote and the State of the Platform Union – the first gives a more top level view geared towards the public where as the later is still high level but goes into more technical details about key technology that they wish to talk about.

All the various operating systems have been given refinements rather than giant overhauls but I have a feeling that is probably the result of the focus being around under the hood improvements that are present but are pretty difficult to show off to customers. The refinement is where the various operating systems are at – no need for giant overhauls but instead reminding what exists and building upon it.

What really stood out to me was the fact that iOS 14 is still supporting devices as far back as iPhone 6s – think about that, a device that is over 5 years old is being supported whee Android vendors struggle to provide updates and upgrades to they own devices 1 year after shipping it. I can’t think of a single Android vendor that provides 5 years of support – and people wonder why big businesses decide to deploy iPhones within their organisation.

macOS has more refinement but the exciting part I found was the improvements made to Catalyst and Apple taking full advantage of the platform by bringing over iPadOS versions of Messages and Maps to Catalyst. I think in the long term the best possible experience will be to bring together all the bundled applications into a single code base that is made available on all platforms so that macOS users no longer trail behind iOS and iPoadOS when it comes to features missing in Messages on macOS.

Then there is the ability to run iOS and iPadOS applications natively on macOS when running on Apple’s SoC – this really is a game changer for game producers who want to expand their audience but unsure whether it is worth their while to make the investment into a macOS version.

The move to ARM is the highlight of the keynote for me, years of speculation has culminated with the announcement of moving the Mac platform to their own SoC. It will be interesting to see what happens when it comes to the GPU – whether they use their in house GPU for all Macs or will they use AMD GPU’s for the 15″ MacBook Pro, iMac and Mac Pro. From I have seen of both the Keynote and Platform state of the union, the absence of such a topic being discussed could mean one of two things, it could mean that it isn’t mentioned because it isn’t something that developers need to worry about or the alternative is that the long 2 year cycle is done because they’re scaling up their GPU design with Mac Pro being the last to migrate to the ARM based Apple SoC.

I’ll the following the the sessions during the week – I might wait until the en of the week before writing about them. It’ll be interesting to see how the technology world reacts and whether Apple embracing ARM starts a trend in the computer industry which one might see Qualcomm and other SoC companies seeing there being a future in investing R&D into delivering ARM based SoC’s for devices outside of the smartphone, tablet and embedded devices.