The Department of Defense was established by the National Security Act of 1947. If the Congress wanted to change the name then they would pass another law to do so.
Even though the the DoD was created via an act of Congress, as POTUS is the head of the Executive Branch and the CiC of the armed forces, could you make an argument that a name change can be done by executive order? (setting aside whether or not the new proposed name is stupid)
What are you trying to communicate in this comment? That you have spite for your users? Why? That you consider not bothering with Firefox support to be a good way to, what, express your spite? Do I have that right?
I support baseline browsers unless it’s not feasible otherwise. Sometimes things just aren’t possible in certain browsers. It’s expensive and difficult to design and implement things that fail gracefully. I’m not actually spiteful towards Firefox or its users; I _am_ spiteful toward other developers who feel they are entitled to leaving hostile comments for free hobby projects that don’t support their browser of choice for frankly technical reasons.
I was being facetious for rhetorical purposes. The OP I was replying to was unfairly hostile. I will also hazard a guess that they don’t have much experience writing sophisticated software for browsers.
I responded with the same sort of hostility to make my point that you’re not going to win “hearts and minds” for your cause by insulting developers for relying on browser standards that aren’t yet baseline. My point is that I am not persuaded by hostility, and I suspect other developers aren’t either. Users like this give their browser of choice a bad reputation when they make it part of their hostile identity.
You’re not wrong. You’re not the only one saying this either. Though, I’m currently of the mind that the concern is overblown. I’m finding Opus 4.6 is only really capable of solving a problem when the prompt explains the fix in such concrete detail that coding is incredibly straightforward. For example, if the prompt has enough detail that any decent human programmer would read it and end up writing basically the same code then Claude can probably manage it too.
While I haven’t used other models like Codex and Gemini all that much recently, Anthropic’s is one of the top-tier models, and so I believe the others are probably the same in this way.
A junior’s mind will not rot because the prompt basically has to contain detailed pseudocode in order to get anywhere.
Also, I have been called a bit of a hard-ass for this, but if the junior author of some piece of code is not able to explain to me why it is written that way or how they would extend it in a few reasonable cases, I consider that a problem.
This is orthogonal to both if it is well thought-out/naive/really strange code, or LLM generated/LLM assisted/hand written code. If there is a good understanding of the task and the goals behind it, the tools become secondary. If skills are lacking, it will end up a mess no matter the tools and it needs teaching.
Most of us could run stable servers with just ssh and vi. Would suck a lot though.
This article does not make it clear what a metaproject actually is. That said, I _believe_ the author is describing a concept similar to something I do. Choose a very small number of open-ended, broad projects. Each project should basically be an endless well of work. Moving the metaproject forward involves finishing several sub-projects, each of which is a respectable weekend or holiday project all on its own. A good choice for metaproject allows for a choice between a wide variety of new and interesting things to work on.
Get bored or stuck? Do something else. There’s so many things to do. You’re still working on the same metaproject.
Find something cool online that you want to experiment with? Find a way to frame it as an experiment or project under the umbrella of the metaproject.
For example, my overarching project is to develop my own computer system, from the custom CPU, up to the operating system and applications, as completely from scratch as possible. This has led me to learn more about Verilog, electronics, soldering, computer architecture, RISC-V, emulators, you name it.
At one point, I decided I needed to design my own high-level language for this thing. The compiler has itself become a metaproject where there’s always something to work on: parsing, lexing, optimization passes, experiments in syntax, garbage collectors, writing a debugger, etc.
Someday soon, I hope to be able to start a project to build video hardware with a sprite engine, like in those old 8-bit and 16-bit game systems. I’ll mentally bill this under the umbrella of “working on my computer project.”
I’ve been thinking of “that computer project” as a kind of life project that I’ll plug away on here and there until the day I die.
I wonder if this is how those old men who build boats feel about their boat. Hey, there’s my own catchy phrase right there: “Build your boat”
> You've been wanting to take cooking classes, but you've also been wanting to join an improv group. If you don't have time/resources for both of these projects, you might choose a metaproject like "weekly dinner party with funny friends" -- it doesn't strictly meet the requirements from either project, but it might fulfill some deeper desire.
So the idea is to extrapolate a new project that satisfies some core aspects of multiple projects you dont have time for.
> For example, my overarching project is to develop my own computer system, from the custom CPU, up to the operating system and applications, as completely from scratch as possible. This has led me to learn more about Verilog, electronics, soldering, computer architecture, RISC-V, emulators, you name it.
How long do you estimate is going to take you to complete?
- it adds locking to almost every line of code using classes
- anytime you start holding complex references to classes you get cycles which will not be released
- it’s extremely hard to debug. You have to capture memgraphs at runtime and track dependencies
- it coexists with old systems like auto release pools so resources are still not released when all references go away
Try to implement a linked list in swift and you’ll get a sense of how absurd this is. And remember linked lists are a special case of graphs.
There more to stability than continuity of government. Though, that definitely is important.
It’s bad enough that America’s foreign policy lately swings wildly every four years. More recently, it’s been acting aggressive toward allies, and making very strange and unpredictable moves.
The USA’s tariff policies are, frankly, utterly insane. Yes, I do mean the tariffs are irrational and incoherent. The approach to the tariffs has been overly aggressive. They’ve been changing almost daily, at times. Now, tariffs are specifically a thing that must be stable and predictable on a multi-year horizon. This must be, at least, off-putting to other governments, and to any companies wishing to do business in or adjacent to the USA.
Monkeying with the Fed is dangerous and basically unprecedented. This is going to make people nervous because it marks the end of an era of stability in monetary policy. We may be at the start of a new era where interest rates, much like the tariffs, change frequently for bad reasons or for no reason at all. Who can say?
Mach is not a very good microkernel at all, because the overhead is much higher than necessary. The L4 family’s IPC design is substantially more efficient, and that’s why they’re used in actual systems. Fuchsia/Zircon have improved on the model further.
Someone will of course bring up XNU, but the microkernel aspect of it died when they smashed the FreeBSD kernel into the codebase. DriverKit has brought some userspace drivers back, but they use shared memory for all the heavy lifting.
> Mach is not a very good microkernel at all, because the overhead is much higher than necessary. The L4 family’s IPC design is substantially more efficient, and that’s why they’re used in actual systems.
As opposed to Mach, which is not used in any actual systems
I mentioned XNU below. It doesn’t really count as a microkernel if you, you know, don’t actually use the microkernel part. At least for the 30 years between the FreeBSD collision and the introduction of DriverKit, which does most of its IPC through shared memory (because the mach ports are not efficient enough, I would assume).
All the major OSes have components of the larger operating system that run in userspace and communicate via IPC, including Linux. But userspace drivers and basic system services (VFS, network stack, etc.) are very limited in their use of userspace/IPC. If macOS is a microkernel in the sense of those built on L4, then so are Windows and Linux, and the word doesn't have any meaning anymore.
Yes, and it’s quite inefficient compared to L4 or Zircon’s IPC so it isn’t used for anything that wouldn’t work just fine over a SEQPACKET socket using SCM_RIGHTS like Linux does. Is modern Windows a microkernel because ALPC exists?
Windows NT 3.x was a true microkernel. Microsoft ruined it but the design was quite good and the driver question was irrelevant, until they sidestepped HAL.
You’re saying they improved the design. I know they added user-privilege device driver support for USB (etc).; did they revert the display compromise/mess as well?
Mind you I don't have access to Microsoft code, so this is all indirect, and a lot of this knowledge was when I was fledgling developer.
The Windows NT code was engineered to be portable across many different architectures--not just X86--so it has a hardware abstraction layer. The kernel only ever communicated to the device-driver implementation through this abstraction layer; so the kernel code itself was isolated.
That doesn't mean the device drivers were running in user-land privilege, but it does mean that the kernel code is quite stable and easy to reason about.
When Microsoft decided to compromise on this design, I remember senior engineers--when I first started my career--being abuzz about it for Windows NT 4.0 (or apparently earlier?).
An executive order is not law.
reply