The other really complicated part is that it is very common to have intermediary ints that have very little relation to the ptr that they come from/turn into (e.g. XOR linked lists are probably legal even though they have ints that mix provenance of 2 completely separate pointers).
not in a way that forces the user to actually handle them properly. C is a weakly typed language and as such is pretty badly suited to systems programming.
What is a weakly typed language to you? To me, implicit type conversions are a big part of the definition, and C is flush with those (void* converts to any pointer, all kinds of number conversions, arrays decay to pointers, functions convert to pointers, lvalue conversion strips const/volatile etc.).
However, I also think "weakly typed" is not a well-defined concept, everyone seems to apply it differently. In particular, it seems to mostly mean "playing it loose with types in a way that I don't like".
Yes, it is not well-defined. But most conversions, function calls, and accesses are strongly typed in C, so I would not call it weakly typed.
Implicit conversion could be seen as weak typing, but it is mostly limited to specific arithmetic operations in C. I would see implicit conversions as problematic if they allowed operations that make no sense. Decay of arrays and function to pointer conversion also do not seem problematic to me for this reason.
Void pointers are also weakly typed, but they are specifically designed for this. So if you do not want this behavior, one would simply not use them. It is a bit like using "unsafe" in Rust.
There are certainly stronger typed languages, but on the full range C is more on the strongly than weakly typed side in my opinion. A language that allows arbitrary implicit conversions between pointers, would be weakly typed, or which allows calling functions with wrongly typed arguments (which was true in the past for C a long time ago)
C is definitely not the most weakly typed (e.g. Javascript/PHP are both weaker), but IMO C is weaker than python in that python will give you a runtime type error if you do something invalid, while in C you cast something and just get UB. Most higher level strongly typed languages are able to make their casts checked because they have generics to remove the need for 99% of them, but C is missing those features and thus has to rely much more heavily on unchecked and unsafe runtime casts.
Casts are escape hatches just like "unsafe" in Rust. You can write safe generics in C that either do not use casts or wrap all unsafe operations behind type-safe interfaces.
Intel's newest gen is a pretty clear favorite for laptops (especially with their better wifi/bluetooth/USB chipsets). Outside of laptop though, Intel has nothing compelling.
Totally. That's what I was vaguely (from mobile, sorry) trying to give them credit for. Their latest low power stuff is genuinely good, and their iGPUs are catching up fast.
I feel like the ideal would be a 2U, 8 mac mini with dual 10Gb ethernet, shared dual power supplies, actual datacenter heatsink layout would be such a great CI platform.
The very purpose of these hosted Mac instances is to help people not buy a Mac of their own. Any higher margins would have to compensate Apple for this cannibalisation.
Not really. The main purpose of this is to run CI that never was going to be a personal machine anyway. This is just making it difficult for devs to have automated testing of their software on macs.
That’s like saying Apple didn’t listen to the market when it deliberately avoided going all in on a solo AI play.
It’s not all about what you think consumers think they want. There are other more pressing factors, like ability to deliver and supply chain management which have strategic impacts in the longer term.
Presumably a combination of SAMs and fighter planes. The US couldn't put a no fly zone over Russia, but a no fly zone over Ukraine would be pretty straightforward (even just flying out of Germany). A no fly zone doesn't need to be perfect to work. If you shoot down a couple planes (or even have fighters in the area), you make every future flight by Russia a massive risk.
> but a no fly zone over Ukraine would be pretty straightforward (even just flying out of Germany)
It's anything but straightforward.
Ukraine is about 800 miles east-west and 550 north-south; Rammstein's another 800 miles from Kyiv. At Mach 1.2, you're talking about an hour to get to Ukraine and another hour to get to the eastern extent of it, plus the time it takes to go to an in-flight refuelling aircraft multiple times along the way.
It'd be equivalent to trying to establish a no-fly over the whole of Texas, basing out of Chicago, while there are SAM sites in Mexico and California waiting to shoot you out of the sky and aircraft launching missiles from within Mexico with the chance of starting WW3 if you retaliate.
The number of aircraft you'd need would be massive - not just fighters, but AWACS, tankers, search and rescue, you name it. You'd have to have coverage all the way down whatever corridor you were using to get aircraft in and out of the area too.
Now sure, you could (instead of scrambling to intercept) fly combat air patrols over Ukraine and shoot down anything that comes in which might reduce the time-to-intercept to something more acceptable. You still have to cover a massive amount of airspace though!
A lot of the complication is reduced by the fact that modern air to air missiles have 100+ mile ranges (so you don't need a traditional intercept). You also don't need 100% coverage. Rather than covering all of Ukraine 24/7, you only need to cover an unpredictable part of it such that flying is risky everywhere. Getting basing in Poland (or Keiv) would obviously help reduce the flight time and awacs amount needed.
To be clear, I'm not saying it would be politically easy or low risk. It would almost certainly result in a couple fighter planes being shot down.
Um what? You seem confused, they didn’t measure a year with 372 or even 364 days. They measured 28 days. And it’s almost a certainty that taking the average spend over the last 28 days and multiplying by 13 is higher than taking the average spend over the last 31 days and multiplying by 12. Especially if we believe their revenue growth numbers.
> it’s almost a certainty that taking the average spend over the last 28 days and multiplying by 13 is higher than taking the average spend over the last 31 days and multiplying by 12
This is generally true of any growing time series. If you don't want this look at the audited GAAP figures.
reply