Back to work…working at home and I kind of enjoy it. The ability to get up 30 minutes before starting work; putting on a coffee, have a quick shower, get into something comfortable and log in to start the day. So I log in at 11:30am, start replying to emails and contacting customers (through the AWS service – I had to install Firefox because it is only compatible with Firefox and Chrome but not Safari) then off at 8:00pm. I wish this was my full time job – being able to chill out at home working and not have the constant stress.

I’ve been following the Democratic primaries – it appears that Biden will become the nominee but with that has come a group calling themselves ‘Bernie or bust’, not because they want Trump again but want Biden to move further to the left to address the legitimate concerns which led to the likes of Trump gaining traction in the first place. The material conditions fed into the rise of Donald Trump ( he saw a rising tide of people angry at a system that threw them overboard 40+ years ago and Donald Trump saw it as his opportunity to ride that anger into the White House) if left unaddressed will result an even worse Donald Trump. Unlike the Trump of today the future demagogue will actually have the political skill to get their own way made worse by a subservient Republican Party who will do anything to hold onto power combined with an impotent Democratic Party that prefer being in opposition because of the grift they can have running by scaring donors.

If Biden is serious about winning over the progressive he needs to be willing to bend the knee and that involves not only nominating a strong progressive as a running mate. As Lawrence O’Donnell noted in an interview:

If you want to pull the Democrats to the left you have to show that you’re capable of not voting for them – that is the purpose of the ‘Bernie or bust’ movement – to send a clear message to the establishment (who by the way have been disparaging Bernie supporters the whole primary cycle – insisting that Bernie supporters aren’t needed because Nancy/Chuck have this wonderful plan of pandering to moderate Republicans in the suburbs – that same wonderful plan that….oh, did Hillary become president? No, that plan crashed and burned but I guess they think that giving in a second go will be a charm) that they have to win over the base, not just take them for granted just as the Republicans have to win over the base.

Another day in ‘lock down’ in New Zealand and things appear to be going well. I’m generally avoiding going out where ever possible although when I do I have a clear purpose. Each of the times I have gone out it is for the essentials from the store and when I get home I always make sure I washed my hands and face – it isn’t a full proof plan but regular hand washing and minimising exposure reduces the chances of contracting COVID-19.

Tonight I had tortellini with a creamy tomato sauce which was very tasty. In the past I used to microwave it (in a bowl of water) but what I do these days is get the water boiling in the pot (with a pinch of salt in the water) then pouring the tortellini into the water to boil for 10 minutes. After boiling for 10 minutes I then strain it and while it is straining (to remove as much water so that the sauce isn’t watered down) I heat up the pasta sauce then add the tortellini and mixed in it. All in all, rather than trying to half-ass it like I’ve done in the past I’m taking a few extra minutes to do it properly and the end result is a wonderful meal.

When I wake up tomorrow I’ll do some cleaning around the house – mopping, hoovering, dusting etc. the extra time should men that I’ll be able to get my house clean from top to bottom. Oh well, lots of work to keep myself occupied while on lock down.

With the release of 10.15 Apple announced the deprecation of kernel extensions in favour of user space based drivers. I remember when the announcement was made I wasn’t expecting it to kick in maybe until the following release (macOS 10.17) but it appears that support maybe completely removed in macOS 10.16. With the release of 10.15.4 a message is now displayed to the end user when they’re reliant upon a third party kernel extension (link).

The reason for this? It all comes down ti security – anyone who has been following the updates that Apple put out on a regular basis they also include a document where it outlines all the security bugs that have been fixed (link). If you have a look through there are at least 14 instances of kernel vulnerabilities relating to either the kernel itself or an kernel extension. If something goes wrong for any code running in kernel space then it opens up the whole system – even with fuzzing techniques etc. it is difficult to debug because of the process of crashing, rebooting, recompiling, checking code dumps etc. which s time consuming and even with automated tools it can give hints about where there might be an issue but it doesn’t pin point exactly resulting in still many hours of work. The situation is made worse if you’re dependent upon third parties to maintain their code as well then timing it so that you can merge it with your update then testing it then provide feedback up to the third party to then receive an notified binaries back again to then retest.

I don’t think it will ever be possible to have a 100% secure kernel or a system as a whole but what one can do is decrease the surface attack area by taking steps such as Address Space Layout Randomization (ASLR) but there are limits which s why there is a focus on deprecating kernel extensions support for third parties in favour of moving driver developers over to using the user land DriverKit API so that misbehaving extensions don’t bring down the whole system and more importantly that a security vulnerability in an user land extension doesn’t pose a giant security risk for the rest fo the system.

It appears that Apple is already starting to make it use the framework:

Screen Shot 2020 03 26 at 1 59 11 PM

A term known as ‘Dog fooding’ is a process where by developers will make use of their own code in the early stages so that the framework develops to meet real world needs rather than a situation of trying to develop a framework in an abstract way but finding that in the real world it doesn’t meet developers needs. This is an important part of making the framework more robust – moving drivers over to the framework (because that is what a lot of developers will be doing m in terms of moving their existing code base to a new framework – they aren’t going to throw away thousands of man hours of battle hardened code if they can avoid it) and as they see how certain drives behave they can make adjustments to the framework so that by the time it is ready for third party developers it will be ready to be used barring corner cases that’ll need to be addressed on a case by case basis.

Although this is speculation on my part I think that over the long term that part of the move to ARM for Mac will involve pushing the kernel in either a micro-kernel or at least a monolithic kernel but trying to push as much out of kernel space as possible. Although there is a performance hit in terms of context switching on x86, on ARM the cost is a lot lower and if Apple takes advantage of ARM ISA extensions then the performance penalty will be almost nothing. By moving the drivers out of the kernel it’ll also allow them to make radical changes to the kernel without having to be concerned about driver compatibility – there has been much made about inefficiencies within macOS kernel (XNU) with some of them the result of architectural decisions (valuing low latency over throughput for example) and some of them being the result of decisions made based on hardware limitations that are now becoming an impediment (see the slow removal of the giant lock and the emergence of multi-core CPUs becoming mainstream in recent years).

It appears that they’re most likely going to start pushing USB devices into user space first but then eventually work their way into areas such as the graphics subsystem where all but the most essential code sits inside the kernel which is shared amongst all the vendors which will hopefully mean maybe a return of support by nVidia since it would mean support for nVidia GPU’s wouldn’t be dependent on a kernel extension. I could also imagine seeing Apple pull the all the file system drivers out of the kernel thus leaving APFS the only one loaded in the kernel. This would all make sense given that for years they’ve been breaking down their kernel extensions into smaller components. The best example of that would be the video card drivers where they’ve been broken down into a shared common kernel extension, a hardware abstraction library, a services extension etc. where as before it was all dumped into a single file and left it at that.

I guess in June 2020 when there is WWDC we’ll get to see where Apple is going to be taking macOS (and their other operating systems) in the future.

macOS 10.15.4, iOS 13.4 and tvOS 13.4 was released today (Wednesday) – I did a clean install on all my devices (DFU on my iPhone 11 Pro Max) to clear off some cruft that built up as I was doing some stuff for my mum (moving her documents from Microsoft OneDrive to Google Drive) and because Google projectile vomits it’s crap all around the drive it is difficult to completely remove all the files that Google include with their installer.

When it comes to my iMac (iMac 18,3) the Boot ROM has been updated from 180.0.0.0.0 to 181.0.0.0.0 but the SMC Version remained the same where as with my MacBook Pro 15” (MacBook Pro 14,3) the Boot ROM has been updated from 204.0.0.0.0 to 205.0.0.0.0 and the SMC Version was updated from 2.45f1 to 2.45f3. I wouldn’t be surprised if it the it includes the latest round of microcode updates which not only include any recent security updates it also includes optimisations for past microcode pushed out but engineers have optimised the code so that it has less of an impact on performance.

There have been a fair number of bug fixes and new features (link) along with many security features (link) and then there are the big improvements that have come with Safari 13.1 (link) and the security fixes (link) – although the link is to the beta version the final version has all those changes plus maybe a few changes (such as bug fixes) that were fixed but weren’t worth mentioning. All in all it appears that Apple has put out a pretty sizeable update which leaves me wondering what more they have in store for macOS 10.16 and iOS/tvOS 14.0 when they announce it in June.

Well, I was heading home and stopped off at the local Countdown to pick up a box of ice creams and found that the local one had closed at 9pm so I went to the other on my way home (when going home another way), same situation. It really frustrates me that this occurs because idiots go out shopping to hoard food because they get themselves worked up over what might happen based on extenuating circumstances outside of New Zealand. On my way home from work tomorrow I’ll be able to grab a few things since I’ll be finishing at 8pm which will allow me enough time to quickly sneak in before closing time.

iOS 13.4, tvOS 13.4 and macOS 10.15.4 look at getting release next week either on 24 or the 25 March so I’ll be looking forward at the new features, bug fixes and optimisations. The big contribution is the addition of pointer support to iPadOS which is gradually turning the iPad into a powerful device that is quickly becoming the ‘computer for the rest of us’ while Microsoft is once again failing to deliver a stripped down cleaned up version of Windows 10X.

Work is going well but everyone is a bit paranoid about the whole COVID-19 – the best anyone can do is follow the best advise from those who are advising the government and we’ll all get through this. Lets hope that after this whole experience that it services as a warning to any future governments that running the healthcare system on the smell of an oily rag with very little slack sets up the system to collapse when something like COVID-19 as seen by what is happening in the UK’s NHS.

Another weekend has arrived – time to start doing the washing tomorrow and cleaning around the house, watching some television and unwinding after a week of busyness particularly with the big announcement made by by the government regarding COVID-19 and the steps that the government are taking to slow down the spread. There scheduled a press conference next week (week starting 16 March 2020) where there will be an economic stimulus announced – to keep the country moving along and avoid falling into recession.

I’m going to start something new tomorrow – a new meal regiment which has been organised with my last weekly shopping. The major benefit is having a predictable grocery bill every fortnight along with having a meal schedule at work which balances up having satisfying meals while also ensuring that the food eaten don’t result in me feeling even more hungry later on – the protein in the meals (chicken in one meal and fish in the other meal) do their job making my stomach feel full.

Apple has announced that WWDC will be an online only conference but the date hasn’t been announced yet and no word yet on whether there will be a charge for people to have access to the sessions or whether it’ll be free for everyone and if you want to ask engineers questions then you have to pay a entry fee for the conference. I’m looking at having some time off over June so I’m hoping that in the next couple of weeks that there will be more details made available. It’ll be interesting to see the direction that each of the platforms take – if iOS takes on more traditional features such as pointer supporter then it raises question about the direction of macOS in the future because although there are cross over points I think that macOS will chart a course where more power user features will be added – macOS for the power users, iPadOS for everyone else.

Reading an article about the possibility of Apple moving to their own custom ARM based SoC based on another business who are shipping ARM based CPUs delivering performance equal to that of what intel offers with Xeon with the added bonus of using almost half the amount of power (link).What it goes to show is that there isn’t any limitation architecturally so I’m sure Apple could scale up their core CPU design and the utilise AMD for a discrete GPU then combine that with further investments into their Metal technologies I could see it occurring within the next couple of years. The move to ARM isn’t just about standardising for the sake of standardising but about controlling the entire widget so that the development of components line up with the schedule that Apple want their product to be released on rather than their schedule being dictated by a third party aka Intel’s own schedule.

I’ve been following the Democratic primaries in the United States – once again it appears that people are voting against their own self interest as information leaks out about Biden writing up a wish list of people and which positions he would like them in. The DNC (the establishment/centrists) has made it clear (and reiterated by Chuck Schumer) that they don’t need the left wing flank of the party – that for every left winger they lose they’ll gain 4 moderate Republicans in the suburbs – great, then in which case you don’t need vote shame the left wing flank into voting for Biden but low and behold the DNC are doing just that. After 40 years of ‘bending the knee’ for the centrists by the left wing flank the centrists are now indignant about adopting some pretty mainstream social democratic ideas such as single payer healthcare, free tertiary education and the green new deal (an environmentally focused public works project).

The weekend has been relaxing – being able to sleep in and not have to worry. On my days off I prefer just relaxing around at home – getting some chores done in between watching movies, television shows while replying to twitter. Oh, and I finally found out where the leaking petrol was coming from on my scooter – there was a very slight slit in the fuel line so what I had to do was cut it back to where the spit was and then reconnect it – no problems since then. Tomorrow I’ll vacuum clean the home, finishing off my washing for the new week and prepare something nice for dinner – all in all I am a happy chap.