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.

Well, that day went quickly and once again the American public never cease to disappointment me with their half baked decision making when confronted with a candidate who promises nothing in the way of change vs. a candidate who does the most audacious proposal was to bring the United States inline with almost every other country in the OECD in the form of an expanded social safety net, single payer healthcare, investment into decarbonising the economy and so on.

With that being said , the candidate has to take responsibility because ultimately it is the candidate who is the one giving the sales pitch and that involves predicting the dirty tricks campaign that vest interests have in ensuring that the status quo remains. That means first of all addressing the concerns that people have – some of them misplaced such as the conflation of insurance with healthcare, some very much understandable such as concerns about the existing relationships they have with providers are going to be upended ss with the case many found with the ACA where people were told “if you like your doctor you can keep them” and “if you like your plan you can keep it” but quickly people found out that there was a whole lot of small print that people found out later down the track.

What do hope that in the light of what is happening in the United States that in New Zealand that we don’t make the same idiotic mistake by voting in the Pavlovian dog known as Simon Bridges whose response to any question asked is either i) tax cuts ii) cutting regulations iii) build more roads. Unfortunately I’m not optimistic given how easily the voting public is swayed but a big multi lane high way that they can take their oversize SUV along with the 2.5 kids on a holiday up the coast all while claiming that their car centric carbon emitting lifestyle can be off set by recycle a few pieces of plastic each week on recycling day.

Anyway, I need to head to bed and have a good night sleep for work tomorrow – hopefully it won’t be too busy, I might even get some extra work done during the day.

Another weekend come and gone but with a lot achieved. The first thing I did was sort through all the ‘stuff’ I’ve been hoarding – you know the stuff that you put aside and say to yourself “maybe in the future I’ll find it useful”. I’ve put it all out in the recycling bin for pickup on Wednesday and my house is a lot better organised.

Tomorrow I’ve got work but I think it’ll be rather uneventful but that being said – another day of work is another day closer to another pay day. Focusing on the big goal one day at a time which provides a good motivation.  When I’m at work I’ll keep track of the primary results as they come in – it’ll be interesting to see what happens now that two people have dropped out of the race thus throwing confusion into the model given that Bernie Sanders is the second choice for many of those who were backing the two who dropped out – choices aren’t made along ideological lines so it throws in a factor that cannot be accounted for which will make the results all the more exciting. That being said, one thing to keep in mind is that many of the primaries have had postal ballots for quite some time so there is a highly likelihood that any recent announcements isn’t going to have a major shift in the general outcome.

I forgot to mention that with iOS 13.4 there is ‘over the air recovery’ in the same way that you can do an over the internet restoration with a Mac. It makes sense given that for many people their iPhone and/or iPad are their only devices so I makes sense to have some sort of way that allows them to restore their device to working order without it being dependent upon a Mac or a Windows PC. Personally I think it is great that consumers are being pushed in the direction of using iPad’s instead of fully kitted out computers – sandboxed applications with a curated App Store which avoids the disaster of having a family member ring up in tears because ‘the internet ate my files’. Mac’s for the pro’s, power users and enthusiasts with the iPad for everyone else. Oh, and no, I don’t think that Apple should be trying to make iPadOS as ‘powerful’ as macOS because with power comes complexity which ends up taking away from the original reason why people opted for the iPad in the first place – simplicity. If you’re a ‘power user’ that doesn’t find the iPad ‘powerful’ enough then get a notebook or a desktop – that is what they’re designed for.

I’ve been following the primaries in the United States and I’ve made it no secret that my preferred candidate is Bernie Sanders (policy reasons and the best chance of winning) and another candidate has dropped out – Pete Buttigieg. The interesting part is whether that translates into more votes for any particular candidate given that polls (Sanders head to head with other candidates and candidate supporters second choice) demonstrate that who people choose has little to do with ideology and more to do with experience, philosophy, a particular policy or just ‘gut instinct’ that said person is the right person for the job rather than something concrete/tangible one can point to.

Things are going well financially – I was finally able to sell the Pixel 4 XL for an OK amount and used that to paid down the debt while I replaced it with an iPhone 11 Pro Max 256GB ‘Space Grey’. The big goal is to wipe all debt I have remaining with BNZ, move my Kiwisaver over to ASB and then close up all the loose ends. It’ll be a long process of reaching my goal of debt free by 40 but I’ll get there by breaking down the task into smaller goals and then working towards each one. That is the technique I’ve taken when it comes to making changes in my life – focus on one thing, working on it and the eventually it becomes second nature then moving onto the next goal. By doing it step by step it also doesn’t result in taking on too much of a burden then feeling depressed if one slips up and not able to keep all the balls in the air at the same time.

Apple released iOS, macOS, tvOS, watchOS betas in the last week so I’m looking forward to seeing them stabilised and eventually released. It’ll be interesting to see what Apple does this year – whether the big focus is more ‘under the hood’ improvements – building upon what was included with Catalina, maybe even make some major under the hood changes.  With the release of macOS 10.15 Apple announced the deprecation of support in the kernel to third party KEXTs so I wouldn’t be surprised if in macOS 10.16 that Apple remove support which will mean that Apple will no longer be bound to providing backwards compatibility. I’m sure as we draw closer to WWDC that the speculation will start to father pace – looking forward to that week off at the beginning of June to enjoy it.