This reminds me of the time we wanted to ride the Amtrak Coast Starlight from Seattle to San Jose on our trip to the US in 2014. It's supposed to be a scenic route, and takes about 24 hours for that leg. (The train carries on to LA IIRC.)
When we got to the station in Seattle and checked in our bags they told us the train was at least 5 hours delayed, so we should go do something else for 3 hours and then come back for a status update. We also left our mobile number and email address with them in case there was anything else. (Though in theory they should already have had these from the ticket booking.)
Anyway, we went off to a café round the corner (it was an apparently rare snowy day in Seattle - hence the delay, plus we didn't want to stray too far) and had some drinks and brunch.
After about 2 and a half hours later we wanted to stretch our legs and wandered back to the station. Whereupon we were told the train had already left without us… but with our bags, but we could have a refund or take the train on a later day. ️
We only had overnight bags, and an onward journey planned the other end, plus we were now super annoyed so we ended up scrambling to find a flight that would get us there by the next day. That was the closest to the flight time I've ever bought an airline ticket, less than 3 hours I think. It worked out OK in the end, we got our bags from San Jose station the next morning as we'd beaten the train there, though the contents of one of the bags was damaged from rough handling.
While unfortunate, this has been the case since Ryzen launched. Ryzen 2000G(E)/U series were Zen-based like Ryzen 1000(X), Ryzen 3000G(E)/H/U series were Zen+-based like Ryzen 2000(X), Ryzen 4000G(E)/H(S)/U is Zen2-based like Ryzen 3000(X(T)).
I suspect they do this because the APUs typically launch half a year after the GPU-less variants and
What's really confusing and unfortunate is that there are some Ryzen 1000 series variants (Ryzen 3 1200, Ryzen 5 1600) that were re-released well over a year after their initial launch and which are actually Zen+ based.
Of course, modern iPhones and iPads actually come with fully fledged NVMe SSDs. So it's not really clear why that decision hasn't been revisited - or why Apple hasn't at least introduced some kind of process hibernation which fully restores background processes when switching back.
Anno 1800 might float your boat? Or any of the previous games in the Anno series for that matter. The campaign does very much have a story and specific objectives, but the interesting bit is the regular sandbox game:
Turn off pirates and competitors, and either turn off or ignore NPC quests. (There's no penalty to ignoring them, but they sometimes can be useful if you need money.) You'll still have incidents like fires, industrial explosions, disease, and riots, but those are influenced by factors you control, and with well-placed fire stations, hospitals, and police stations you can very much contain them so they're a non-issue.
Sorry, can you elaborate? Apple's "A" series CPUs have been out-of-order for years and at least a few years ago had a similar superscalar/ooo structure to Intel's Haswell chips. (Apple poached a bunch of Intel processor designers…)
> This is bizarre, blame the passport for only having the last two digits and not the computer reading it.
I mean, the passport only showing 2 digits is worth mentioning. But I doubt this 101-year-old got much choice in exactly what format his passport contained his DOB - so the software needs to handle it. So if in doubt (e.g. both possibilities yield an age younger than oldest person on the planet) the software should be asking to confirm the century.
If you want to get really fancy, check the issue date first. If this is before the supposed 20xx birth date, the birth date must actually be 19xx. People aren't issued passports before they are born.
I'm wondering if this is a case of idiotic government regulations meeting contractor requirements:
The government stupidly decides to only put 2 digits on the passport. They sign a contract with a company to write OCR software for reading passports. The contractor points out "hey! There's only 2 digits here!", but the customer doesn't have an answer because that's some other department and it's already done. So the contractor just implements the software as specified, assuming that being older than 100 is impossible, because the customer couldn't come up with a solution for this problem.
> I'm wondering if this is a case of idiotic government regulations
The MRZ is an ICAO standard so you’ll need to blame the UN for this.
> The government stupidly decides to only put 2 digits on the passport.
This passport was issued by a foreign government though.
> because the customer couldn't come up with a solution for this problem.
The app schedules an appointment with a human, presumably that human will be able to differentiate between a 1-year-old and a 101-year-old. Perhaps the problem never existed?
The home office phone rep fixed this in 30(!) minutes.
>The MRZ is an ICAO standard so you’ll need to blame the UN for this.
>This passport was issued by a foreign government though.
From my 20 seconds of Google research, plus your comment, it looks like the MRZ is something that various governments agreed on at some point, so the government that issued it isn't completely to blame, it's all of them that stupidly thought that either 1) no one over the age of 100 would ever have a passport or 2) there would never be a 21st century (as seemed to be the assumption through much of the 20th century with things like this; everyone always assumed the first two digits of years were always "19" and that anything starting with "18" or less was ancient history, and anything with "20" or greater was science fiction and would never happen in our lifetimes).
So my first comment is still correct, I just can't blame the UK government entirely for it, but since they're one of the main members of the UN (being on the Security Council), they do earn more blame than, say, Zimbabwe.
Anyway, the app was presumably made for a government contract, and silliness like this is common with those. There's a long list of contractual requirements for things made for the government, and the vendor has to meet all those requirements, so that's what they do. The vendor only has to satisfy the demands of the customer, and some 101-year-old person is not their customer, nor is whatever agent who had to deal with the mess, the government is (specifically whomever awarded the contract).
Generally speaking, with software, it works best when the customer is also the user. Users who don't like some software will try to avoid buying it, or will find another vendor if they're mad. When the customer is someone totally different from the user, you see real problems in usability, because the customer doesn't use it and doesn't care. So software made for government contracts tends to be horrible.
> and anything with "20" or greater was science fiction and would never happen in our lifetimes
Or rather, "this stuff won't be used in 2000 or later, until then we will have fixed it"... well, many banks, airlines and other megacorps still run on Cobol code which is decades old today.
That’s clever, but still leaves a significant edge case. I’d hazard to guess that 101-year-olds don’t travel very much and are therefore rather likely to be forced to get new passports for this specific purpose. (But perhaps the home office accepts expired passports?)
>But I doubt this 101-year-old got much choice in exactly what format his passport contained his DOB
I’m sure he didn’t, this definitely isn’t his fault.
> so the software needs to handle it
Does it though? It’s a rare edge case that should be trivial to solve with minor human intervention.
> Does it though? It’s a rare edge case that should be trivial to solve with minor human intervention.
Apparently[1] centenarians make up 0.02% of the UK population; how well this statistic transfers to EU nationals in the UK I don't know, but if it's 1:1 then this issue affects about 600 people. A large proportion of those will however have some trouble rectifying the problem themselves; the over-90-year-olds I know certainly would all struggle with this sort of thing. In the article, the activist who volunteers helping people with the registration process is quoted as saying it required 2 calls to the Home Office. This is someone who presumably has some practice dealing with the process and the Home Office and they couldn't get it sorted out trivially. If it's an accepted failure case of the automated process, there needs to be an established alternative process; it sounds like no consideration was given to this edge case at all. So, not "minor human intervention."
If by most, you mean >50%, then you're probably right, but but especially within EU countries, having >10% foreign nationals among the population is common. Those foreign nationals will frequently give birth to equally foreign children, who need to obtain passports whether or not they're planning to travel. (Although they frequently do travel to visit family.)
If you are relying on the ability to develop and load specific types of kext in macOS in future, I recommend getting in touch with Apple DTS. (Note that communications with DTS are unfortunately typically under NDA.)
VFSForGit is/was not a true file system, it just intercepts file I/O events to dummy files to lazily fill them with content and to log writes so that 'git status' does not have to scan the whole repo for changes.
The macOS port uses the KAUTH listener API, which was indeed deprecated with 10.15.
Whoops, my mistake. (In my defense, it has VFS in the name! So I just assumed it uses xnu's VFS API, but apparently the name comes from the Windows VFS API.)
It sounds like FileProvider would be perfectly suited to the job if it weren't pulled.
Someone else on the project experimented with FileProvider during the Catalina beta, so this is all second hand, but it wasn't really suitable for the job - it seemed more designed for having a special folder like the iCloud Drive, and didn't work well with CLI tools. I actually didn't realise it was pulled before the Catalina launch, but that makes sense, I got the impression it was nowhere near production ready.
I was the external contractor brought onto the project as the project's macOS kernel extension expert; my contract expired in November after the port was put on ice. As far as I'm aware it's no longer being pursued, with sparse checkouts being the new hotness.
I don't want to and can't speak for Microsoft, and I did not make the final decision, but:
* The user space alternatives (NSFileProvider, EndpointSecurity) are not up to the job for various reasons.
* Porting everything to the much more involved VFS KPI would have been a large amount of work, and with a near-100% risk of having the rug pulled out under it yet again.
ZeroTier has eliminated the use of the tap kernel extension in releases 1.42+ when used on macOS 10.13+. They aren't using DriverKit but a combination of poorly and undocumented features. They expect to eventually have to develop a DriverKit based implementation. Details at https://www.zerotier.com/how-zerotier-eliminated-kernel-exte...
DriverKit has only been around since 10.15 so currently it's not easy to correctly support a range of versions with everything so massively in flux and Apple's aggressive deprecation schedule. Writing and maintaining macOS system level software (including drivers, etc.) has generally become a pretty big headache since around 10.13, stuff is constantly breaking due to OS changes and regressions.
This obviously always happened to some extent, but the pace of breaking changes and bugs picked up massively around that time - I think a large part of the problem is that Apple's own developers don't actually need to use any of these features themselves, so they are just dumped onto 3rd party developers in a half-arsed state. I'm thinking of kernel extension authorisation (which was super buggy in earlier 10.13.x releases and still has weird quirks), various user consent additions (there are no APIs for directly checking or prompting for many of the permissions, let alone notifications when the user grants or revokes consent), DriverKit, EndpointSecurity, etc.
When we got to the station in Seattle and checked in our bags they told us the train was at least 5 hours delayed, so we should go do something else for 3 hours and then come back for a status update. We also left our mobile number and email address with them in case there was anything else. (Though in theory they should already have had these from the ticket booking.)
Anyway, we went off to a café round the corner (it was an apparently rare snowy day in Seattle - hence the delay, plus we didn't want to stray too far) and had some drinks and brunch.
After about 2 and a half hours later we wanted to stretch our legs and wandered back to the station. Whereupon we were told the train had already left without us… but with our bags, but we could have a refund or take the train on a later day. ️
We only had overnight bags, and an onward journey planned the other end, plus we were now super annoyed so we ended up scrambling to find a flight that would get us there by the next day. That was the closest to the flight time I've ever bought an airline ticket, less than 3 hours I think. It worked out OK in the end, we got our bags from San Jose station the next morning as we'd beaten the train there, though the contents of one of the bags was damaged from rough handling.