Looks like a fun project, but I’m curious what you actually tested on. There’s real numbers for estimated context switch timing, and you mentioned implementing context switching, but I can’t find any actual implementations of the context switching routine in your code.
You don’t need to do this yourself, but it’s weird to talk about it if you haven’t.
Yeah, I read that note and stopped looking further. I was hoping that maybe the hardware-specific code was in a different project and just wanted to be nice in case.
I just don’t get the point of making AI slop out of something like a toy RTOS, which is inherently a learning project more than anything else. There’s nothing even fun about doing it if you won’t even try to get it to run on an STM32 or something.
ST seems to consistently put out faster chips [1]. I think the better question is why bother though? The real reason to use a Cortex-M is determinism in hard real-time systems. I'm sure DDR3 and PCIe would be cool in an MCU and people would certainly make some interesting things with it, but at that point you either aren't making a hard real-time system and would benefit greatly from an MPU, allowing you to run Linux and benefit from the wealth of drivers available for these interfaces, or your real-time deadlines are so tight an FPGA would be a better choice. The real advantage of the Cortex-Ms is that they can be manufactured on ancient process nodes for next to nothing. The moment you don't care about that, why not upgrade to an i.MX8?
> ST seems to consistently put out faster chips [1].
They have not released anything in years, only modest incremental updates. STM32V8 is a welcome update, but it is nothing ground breaking and not available yet.
> The real reason to use a Cortex-M is determinism in hard real-time systems.
Correct.
> but at that point you either aren't making a hard real-time system and would benefit greatly from an MPU
Why not?
> allowing you to run Linux and benefit from the wealth of drivers available for these interfaces
It is precisely to avoid running Linux and the "wealth of drivers".
> or your real-time deadlines are so tight an FPGA would be a better choice
When MCUs were not good enough, the FPGA was a sensible choice. That said you won't get Cortex-M7 core on FPGA and other cores might be available, though there is not going to be any substantial performance improvement, unless you want to spend unreasonable amount of money (talking 5 figures at least).
What I am trying to point out is that there is a huge market gap.
i.MX8 is not realtime and the support for running bare metal code is very much non existent.
> It is precisely to avoid running Linux and the "wealth of drivers".
Why not? I understand not wanting to deal with unnecessary complexity as a hobbyist, but you'll find yourself creating far more complexity trying to implement all of this yourself (and vendors certainly don't want to support you in this).
Secondly, I think the number of customers for chip vendors who are uncomfortable with setting up an embedded Linux environment, but perfectly confident in routing DDR and PCIe signals is approximately 0.
> What I am trying to point out is that there is a huge market gap.
> i.MX8 is not realtime and the support for running bare metal code is very much non existent.
This isn't quite true and is what I'm trying to get at. Most of these embedded SoCs contain a Cortex-M and a Cortex-A (not all but there are quite a lot). High performance DRAM, external PCIe devices, and large internal caches are fantastic for compute performance but most of the things you want to do with a PCIe device (networking, asynchronous compute) don't require cycle-accurate determinism. Generally there isn't much you need to do with such stringent timing requirements, so you can offload that work to secondary Cortex-M33 core with a shared memory interface to the main core and get the best of both worlds.
I see so many systems trying to take advantage of the impressive compute power of modern MCUs (which is really cool!) but often end up just re-inventing the cooperative multitasking OS, but worse.
The easy to obtain FPGAs contain ancient ARM cores, but which are usable for implementing microcontroller tasks.
For example the AMD Xilinx UltraScale+, like in the AMD Kria modules and development kits (3-digit prices), include some Cortex-R5 cores, which provide deterministic operation, like Cortex-M.
Cortex-R5 are somewhat slower than Cortex-M7 at the same clock frequency, but they are available at a higher clock frequency than many Cortex-M7 implementations.
If you can implement some custom peripherals in the FPGA logic array, then you can obtain much higher performance than with a microcontroller alone.
Yes, this will not offer meaningful performance improvement over "native" silicon. I am talking about computational power, access to fast memory etc. not peripherals, which can still be serviced by FPGA.
The AMD Kria modules include 600 MHz dual Cortex-R5 cores and 1.5 GHz quadruple Cortex-A53 cores, and also 4 GB of DDR4 memory.
So they are similar with an older Raspberry Pi and they have far more computational power than a Cortex-M7 or Cortex-M85 CPU, even if they are very slow in comparison with modern Cortex-A7x or Cortex-A7xx cores.
I have never heard of any FPGA containing better CPU cores than Cortex-A78, but even those with Cortex-A78 are extremely expensive, so they may be worthwhile only for their FPGA part, not for a CPU that is much slower than cheaper alternatives.
The same is true even for the cheaper modules with UltraScale+ FPGAs, like AMD Kria, which cost as much as one of the cheaper mini-PCs with a much faster Intel or AMD CPU, so they are worthwhile only if you can implement in the FPGA an essential part of the functionality.
There is however another advantage of the FPGAs with ARM cores, besides implementing fast peripherals with hard real-time requirements.
Unlike with most non-microcontroller ARM CPUs where the vendor keeps secret various things, including the boot loader, so you cannot be absolutely certain about what the vendor does, because ARM has followed the example of Intel and has introduced a potential Trojan horse in its CPUs, i.e. an execution mode controlled by the vendor, which is more privileged than even a hypervisor, in the FPGAs with ARM cores you have complete documentation and absolute control over what the CPU does, so you could implement with greater confidence some devices for which security is important.
The TI PRUs demonstrate that what you need for hard real time is 2 processors and the ability to completely transfer your register file in a single clock cycle instruction.
This lets your first processor be deterministic hard real time while your second processor is soft real time.
I really wish somebody who makes M-series microcontrollers would get the message already.
Calling this "hardware-based security" is somewhere between disingenuous and dangerously naive. Hardware-based security normally implies hardware with a dedicated secure element with cryptographic identities which are impossible to spoof. Security based on USB serial numbers can be defeated by any adversarial device claiming to use the same serial device as a device you have registered. There's no secure signatures or anything backing a USB serial number.
This is so, so much worse than that though, because the code doesn't even do what the AI-hallucinated documentation describes, because as far as I can tell the actual "serial number" is returned by the following line:
Ok(Some(format!("{:?}", device.product_id())))
So the "serial number" is actually the USB product id, which generally corresponds to the "model", not even unique per-device. So you didn't even test this with multiple identical flash drives.
You enroll up another hardware device (or 2) as a backup and securely store them in different places.
This is normal to do for yubikeys, for example.
The main point is that the secrets stored on the device are usually used to unlock other secrets stored elsewhere, and so themselves don't need to be synchronized often.
You don't.
The normal procedure here is to have multiple unique keys with multiple unique secrets. If one breaks that's it it's broken. This also allows you to revoke a key without removing all keys.
I truly don’t understand how these types of comments keep appearing under any discussion of apple’s blatantly anti-competitive behavior with messages. This doesn’t even make sense on technical grounds; it would be trivial to require such message passing to be encrypted/signed securely if that’s your real concern. After all, the Apple Watch does exist and does have these capabilities, so it’s clearly possible to do it and maintain the “security boundaries” you’re so concerned with.
Then every single one of these comments inevitably turn towards spam messages which no longer even makes sense since iMessage has been filled with spam lately. I really don’t see how allowing smartwatch manufacturers to also interface with iMessage (in the same way Apple Watches do) will inevitably increase spam on the platform which can’t be detected/mitigated in other ways.
I’d love to see some technically rigorous explanation for why apple can’t support any third-party anything instead of hand wringing about “security” with no real explanation but I have a feeling I’ll be waiting a long time.
It’s not just the transmission over Bluetooth. It’s the entirety of what happens with the message. Apple fully controls and trusts the code that’s running on the apple watch. But they have no control over what third parties do with all the data they can collect in notifications.
Bluetooth devices on iOS that display notifications already are getting more information than normal by simply even reading all notifications. Normal apps on iOS can’t do that, they have no reason to. This api was added because smart watches kinda need that functionality to be useful. I think it’s still locked behind a “this device will see all your stuff” permissions box.
I do think they should add in more iMessage/sms/replying capabilities to smart watches though. I think they are extremely hesitant to make it even easier to automate iMessages. iMessage spam is definitely increasing, but it’s NOT as prevalent as normal sms spam for instance. The barriers are much higher, and Apple can basically blacklist devices/appleIDs that send out too much spam, partly because they’ve kept iMessage so locked down.
Again there is no technical rigor behind these notions. Video providers didn’t like the idea of untrusted HDMI devices scraping video from DRM protected content so they came up with HDCP, which allows anyone to develop and certify solutions as trusted software/hardware. There’s no reason apple can’t do something similar, it doesn’t have to be completely open vs. completely closed. There are always alternative solutions to the problems that people think apple’s walled garden approach is solving; which makes it clear what the real purpose is.
True. But why? Why should Apple spend a bunch of money hardware certifying, and adding liability? There was a compelling reason to add HDCP -- content makers required it, and had criminal penalties as threats to go after infringement.
Apple doesn't need outside ecosystem builders here; what is the business reason for them to add process expense, risk, and possibly incorporate timelines from other vendors into their supply chain?
As the many comments in this thread indicate, lots of people seem to feel Apple "owes it" to the world to open up. Happily, there is a (more) open ecosystem available with Android for people who value that. I don't think the tradeoffs Apple makes are perfect for me as a consumer, but I prefer them to the Android tradeoffs, and I can always switch when I like.
I actually agree with that completely. I just want it to be clear that this is a conscious business decision that apple is making and not the result of technical challenges. I think the distinction is important because I don’t love the tradeoffs apple chose to make, but I continue to buy an iPhone because at the end of the day my phone is mostly about being social and it’s a frustrating experience trying to communicate with friends and family who all have iPhones which make interoperability with other messaging ecosystems frustrating. If iPhone RCS support worked as well as native messaging I’d switch to an android in a heartbeat.
While I agree with the ultimate conclusion of the article, that FAA regulations need to be modernized for commercial use of sUAS systems, it completely fails to analyze any of the other relevant dynamics facing the American drone industry. There are a plethora of American companies building drones for commercial and/or defense purposes (I work at one) but this article reads like the author knows only about the most publicized one and another company they heard about on a podcast. The article would benefit from an understanding of the
Probably the most major blocker for the authors dreams of swarms of millions of American military drones is the following: jet engines and rocket motors can be produced in the US profitably, the American economy just isn’t set up to build drones motors, props, etc. in an economically efficient manner. Because of this, the cost-optimized drones developed for the commercial sector will never be acceptable for the us military.
Secondly, the author seems to think that self-organized systems are a brand new innovation and would trivially port to a battlefield environment. However, these techniques rely on 5G connectivity and gps, whereas military sUAS systems need GPS-denied autonomy and the ability to communicate in a heavily jammed environment.
I’d love to see some data supporting this argument because I’ve heard it over and over from people all over the political spectrum the past few years but it just doesn’t line up with any data. You act like they’re quoting abstract numbers which are meaningless compared to people’s “lived experience” but unemployment is a large part of people’s experience. Furthermore, inflation adjusted wages are up (with the highest gains in the lowest 50% of earners). If these statistics aren’t fully capturing people’s experiences, I’m sure every economist in the world would love to know what metrics are better. Instead it seems perceptions about the state of the economy have become more tightly coupled to
the media atmosphere than anything measurable.
If the anecdotes are not matching up with the data maybe the data is not measured right. Economics is not a science. Given that for profit media is already tightly coupled with the economy, and supported by advertising, the incentive would be for them to create a narrative that the economy is doing well. Consumer confidence is necessary to continue their model of making money through advertising. Righteous consumers of the media have incentive to promote its narratives to make themselves seem more worldly and educated, and that's how we end up with arguments denying the lived experience of "people all over the political spectrum the past few years". The people who have been saying that are not the ones with incentive to lie to you.
If you can’t see the issues with the data you aren’t looking. If you examine the CPI basket and see that health care weighing vs what it is as a % of the economy and that doesn’t draw suspicion idk what will.
What is your allegation here? Health care is weighted at 8.275% and private spending on healthcare is right around there. Do you think it should include public spending on healthcare for some reason?
> I’d love to see some data supporting this argument because I’ve heard it over and over from people all over the political spectrum the past few years but it just doesn’t line up with any data.
Wasn't one of the main points — perhaps the main point — of the article that the data is measured wrong?
> You act like they’re quoting abstract numbers which are meaningless compared to people’s “lived experience” but unemployment is a large part of people’s experience.
Yeah, and the article was in large part about how the unemployment measures in the data don't reflect what people’s lived experience of unemployment is. That's pretty much the definition of “abstract numbers which are meaningless”.
> Furthermore, inflation adjusted wages are up (with the highest gains in the lowest 50% of earners).
Again, that depends very much on how you measure inflation.
> If these statistics aren’t fully capturing people’s experiences, I’m sure every economist in the world would love to know what metrics are better.
That may be the reason the article suggested some new metrics. Honestly, did you even read it at all?
What a disaster for ARM. Qualcomm building out new chips targeting the pc market should have been a victory lap for ARM, not the source of a legal battle with their largest customer. Now potential customers might be a little more wary of ARMs licensing practices compared to the free RISC-V ISA.
> Now potential customers might be a little more wary of ARMs licensing practices compared to the free RISC-V ISA.
This is unbelievably understated. If I were Qualcomm, I would put parts of the Nuvia team's expertise to work designing RISC-V applications cores for their various SoC markets.
It's a bit chicken-and-egg. People won't port their software if there's no popular targets available. Even if there are targets, if the popular targets don't perform well, people will assume the ISA is not worth porting to.
No, it's not just around-the-corner but Qualcomm has a role to play here. Not like they should just sit on the sidelines and say "call me when we are RISC-V"
Your understanding is not correct. Chevron deference never meant agencies can just make up and pass law; it was a legal doctrine which merely stated that in places where the law is ambiguous (say a law declares water must be clean of pollutants, or bans pistol braces) that courts should look at any guidance from relevant agencies for guidance, since supposedly they should know more about the subject than the courts. It never allowed agencies to circumvent congress or prevented congress from further clarifying law. For example, the DEA doesn’t have the power to schedule drugs due to chevron, Congress includes provisions for the AG to reschedule drugs, which the AG historically has delegated to the DEA, the point being this was a power explicitly granted by congress.
While it may sound nice to you right now that the Supreme Court did away with chevron due to your gripes with the ATF, now the definitions of machine guns or pistols or anything else are up to the whims of any judge in any jurisdiction, which could be better or, given that judges likely have even less knowledge of the subject than the ATF, probably worse and more inconsistent.
The problem with this is once this has been established, the Congress started being lazy and just throw the lawmaking to the bureaucrats, essentially saying "well. we make this agency and they will figure out the rules, we don't care, whatever". And this makes the law completely unaccessible to the regular citizen and the people being completely unable to influence which laws they are living by. While you can, with great effort, dislodge a bad congressman, there's practically no way for a regular citizen to affect anything within a bureaucratic regulatory agency and they are essentially in charge of lawmaking now. They can pass any law they want - and before SCOTUS intervention, Chevron ensured that you have no recourse at all against them, since the courts (by itself a hugely expensive and prohibitively complex process) will just tell you "the Congress passed the authority to the bureaucrats, so they can do whatever they like, we're not intervening". This is not a good balance of powers and not a good way to manage the affairs in the country.
> given that judges likely have even less knowledge of the subject than the ATF, probably worse and more inconsistent.
In the unicorn rainbow world where the regulatory agencies are omniscient saints only worrying about the common good, that may be an argument. In the real world, where the regulators are extremely politicized, extremely concerned with gaining more power and extremely happy to pass completely absurd and harmful regulations if it fits their particular agenda, it's not. And by now we all know this is the world we are living in.
> Chevron deference never meant agencies can just make up and pass law
Not on it's own, no. The bigger culprit there is the erosion of the nondelegation doctrine. But Chevron aggravated the problem by allowing agencies to stretch their authority beyond what even congress intended with little possibility of legal challenge.
Interpreting the law is and should be the role of the courts, not the role of the agencies that that law is supposed to be governing. It'd be like if we passed a law intended to regulate insurance companies, and the courts decided to give deference to the insurance company's interpretation of that law because "they're the experts on insurance".
You could always argue in court that the agency’s interpretation of the statute was not reasonable. The court could always agree with you and establish case law against that interpretation.
It was a two part test:
1. Is the statute clear? If so, defer to statute. Otherwise, go to (2).
2. Is the agency’s interpretation reasonable? If so, defer to agency. Otherwise, the agency's rule is no longer enforceable.
Now, the court is allowed to come up with its own interpretation even in the presence of a reasonable agency interpretation. That is the only change. If the agency's interpretation was unreasonable, then it was already going to get thrown out.
The courts took the authority to throw out interpretations that they themselves (the court!) think are reasonable. Unreasonable interpretations were NEVER protected by Chevron deference.
Correct, that's why I said "little possibility of legal challenge" not "no possibility of legal challenge". Proving something is "not reasonable" in a legal sense is a pretty high bar to clear. The point still stands.
There's ample possibility of legal challenge. There was a low possibility of legal overturn for one specific reason: courts generally agreed that agencies' interpretations were reasonable.
> Proving something is "not reasonable" in a legal sense is a pretty high bar to clear
Sure it is, but that is literally not the bar. The courts always had the authority to do their own analysis of reasonableness so long as the challenger raised the question. In fact, they didn't just have the authority to do it, they were obligated to do it.
The low probability of overturn is an argument for Chevron deference. It is empirical proof that courts almost always found agencies' rules to be reasonable interpretations.
The fact that they're analyzing the reasonableness of the agencies' interpretations and not the correctness of their interpretations is precisely the problem. There are a lot of possible interpretations of the law that are reasonable but not correct. The judiciary's job is supposed to be to interpret the law, not just to decide whether defendant's own personal interpretation meets some minimum bar of reasonableness.
Correct according to the mechanism our constitution defines for resolving disputes about the interpretation of law: the judgement of the court system. A judgement which they were not allowed to make under Cheveron, because they were limited to evaluating the reasonableness of the agency's own personal interpretation.
You’re aware that the Chevron SCOTUS decision was itself part of this exact Constitutional system, right? As was the overturning of Chevron.
I.e. you’re going to need a better rubric.
"The agency's own personal interpretation" is another nonsense phrase where you're trying to simply presume your opinion alongside a weak argument. The agency is not a person.
I'm making perfectly reasonable arguments; you're the one who's talking nonsense. If there's something you think I have yet to prove why don't you say what it is instead of just calling my arguments weak without offering any counter?
>I.e. you’re going to need a better rubric.
I see nothing wrong with the rubric I gave. It's the one the constitution set up, and therefore 100% correct from a legal perspective. Past courts having different opinions from the current one is irrelevant to that.
> The agency's own personal interpretation" is another nonsense phrase
No, it means exactly what is says. The agency has its own interpretation which has and ought to have no more legal weight than a random person's. If it's just the word "personal" you're objecting to, that's obviously a figure of speech that doesn't alter the substance of my argument.
An agency is an agency, not a court. They have exactly zero constitutionally granted authority to interpret law. Why in your view should their opinion on the law have any more weight than yours or mine, or than any other person's personal interpretation? Or more importantly, more weight than the courts; the institution created for the very purpose of interpreting the law? Because it seems very obvious to me that it shouldn't. Especially in the context of a lawsuit to which the agency is one of the parties.
> It's the one the constitution set up, and therefore 100% correct from a legal perspective. Past courts having different opinions from the current one is irrelevant to that.
Okay so on June 27, 2024, the "100% correct from a legal perspective" was that courts defer to agencies when they have reasonable interpretations of ambiguous statutes.
On June 28, 2024, the "100% correct from a legal perspective" was that courts should not defer to agencies when they have reasonable interpretations of ambiguous statutes.
Each of these decisions define which structure "the Constitution set up." This fact is itself defined in the Constitution.
Your argument that this is a good decision because it's "Constitutionally correct" is literally just begging the question. It is an entirely circular argument that could just as easily have been applied to defend Chevron. If your argument can be used to defend either side of it, it's a bad argument.
When I say things like "the courts are the mechanism our constitution defines for resolving disputes about the interpretation of law", I am making a principled argument based on my understanding of the Constitution and the Separation of Powers, not based on anything the Supreme Court has or has not said.
The United States Constitution defines three separate branches of government:
1. The Legislative Branch, which makes law
2. The Judicial Branch, which interprets law
3. The Executive Branch, which enforces law
These branches are intentionally separated from each other to prevent the concentration of power, and so that each branch can serve as a check and balance on the powers of the other branches.
Government agencies are part of the Executive Branch, which enforces law. They are not part of the Judicial Branch, which interprets law. Therefore, they should not have a role in interpreting the law, and granting them that power breaks this simple fundamental principle of the Constitution.
This is civics 101 level stuff. It doesn't seem like it should be controversial to me, which is why I've been asserting it as true without feeling the need to try to justify my points beyond those assertions.
The thing is: if Congress thinks executive branch agencies are interpreting laws in ways they didn't intend, they can change the law to clarify their intent. If they fail to do so, I have to assume the agencies are doing what Congress intended. But the supreme Court evidently disagrees.
Only with the willing cooperation of the executive branch, or a veto proof majority in both houses. Otherwise the very executive they are trying to reign in could just veto the bill to allow the agencies to continue overstepping their authority.
But that's beside the point anyway, because it shouldn't have to be the legislature's job to be constantly weighing in on whether an agency is following the law as written. That's literally what the courts are for; to interpret nuances of the law.
The US is rich for many reasons that have little to do with being well governed.
* The country was launched on most of a century of essentially "free" land grabs-- limited pushback from native civilizations. buying cheap from distressed foreign powers (Louisiana), the main wars of conquest being insignificant squabbles with Mexico over trifles.
* Said land was also compelling-- you weren't fighting the environment to extract value the way you would be in Siberia.
* After 1865, no significant nation-scale conflict on the territory itself to blow down existing investments.
* This created an opportunity for bulk immigration-- first with Homestead Act style programmes and then because the American economy was compelling enough to be a pull by itself. A high immigrant population has a unique "opt-in" demographics-- a situation that self-selects for entrepeneurialism.
None of this required wildly competent government. George Washington could have chosen to be a king, a religious caliph, or a protosocialist planning enthusiast, and the deck would have still held almost all the same cards.
That's an irrelevant distinction. Neither are part of the judicial branch, which is the relevant consideration here.
Consider: Congress passes a law which sets limits on the authority of an agency. You think the agency itself should get to decide what that law actually means? And the courts, the branch of government specifically granted the role of arbiter by our constitution, should be required to differ to that interpretation if anyone ever objects and brings a lawsuit? It's absurd, and no less so than if the law was concerning a private company rather than a public agency.
Everyone else is missing the point here. SMIC (China’s main semi fab) isn’t the company manufacturing these chips. They haven’t broken into anything close to 3nm-class chips yet. This just means that TSMC is going to manufacture a 3nm chip for Xiaomi. The important part for China here is this proves that they can design modern chips, not they necessarily have the manufacturing capability yet.
Obviously you can't filter for every possibility in advance, but with a hands-on moderator and some regex it should be super-easy to throttle this. And as more than one person has pointed out, just shutting down new account creation/posting for 24 hours would be equally effective. I'm perplexed at how a mature site full owned and catering to network technologists is vulnerable to such a laughably crude attack.
but then you've shut down account creation for 24 hours. The site operators get to choose how they want to play it, but it seems they don't want to do that just yet.
You're right that it's laughably crude though. Says a lot about things that this hasn't happened until now.
but then you've shut down account creation for 24 hours.
But so what? The impact of that would be negligible, almost certainly less than that of having site performance go through the floor/become temporarily unreadable. It's not like a B2C product launch, and the target audience of HN is more or less optimally positioned to understand why one might deliberately interrupt service.
reply