> Today, everyone's dad work at Nintendo. ¯\_(ツ)_/¯
I just so happen to run an old online fan made Pokemon game where people can be banned for misbehavior (e.g. cheating). Let's just say I can confirm this sentiment.
Correct me if I'm wrong, but aren't the courts essentially powerless to enforce? If memory serves, the judicial branch merely interprets the law and Constitution, but they lack an enforcement mechanism - it is up to the Executive Branch (the president) to administer and enforce the law. If they decide they don't feel like listening to the courts, it's unclear anybody could actually do anything. (Other than impeachment perhaps? But of course that isn't going to happen anytime soon.)
Besides, even if they did have the power to enforce the law, I can't say I exactly trust the Supreme Court to even try reining in Trump (except in minor ways) based on their recent track record. But who knows.
Sure, if we get down to mechanics like that, the courts require someone else to enforce. But at that mechanistic level, so does the President. He isn’t personally escorting her out of the office.
> But at that mechanistic level, so does the President. He isn’t personally escorting her out of the office.
Fair enough, I strongly hope a good number of folks within the government show a backbone and resist unlawful or abusive orders however they can. Unfortunately those same people can easily be fired and replaced with somebody appropriately loyal (as is already happening). So, unfortunately, I'm not terribly optimistic.
Popular backlash seems to be fairly effective so far at least, so there is some hope. (For example the federal funding freeze which ended almost immediately after a flurry of confusion and outrage. Allegedly ended, anyway - it's not exactly clear in reality.)
Inspectors General have a special provision in the law regarding removal or relocation:
> The removal procedure for presidentially appointed IGs is found in Title 5, Section 403(b), which reads in part An Inspector General may be removed from office by the President. If an Inspector General is removed from office or is transferred to another position or location within an establishment, the President shall communicate in writing the substantive rationale, including detailed and case-specific reasons for any such removal or transfer to both Houses of Congress (including the appropriate congressional committees), not later than 30 days before the removal or transfer. Nothing in this subsection shall prohibit a personnel action otherwise authorized by law, other than transfer or removal.
So it's illegal because he didn't notify Congress in advance. That statute was enacted in 2022 specifically to prevent abuses of power such as this.
> it's illegal because he didn't notify Congress in advance
I can't see any judge agreeing with this. The notice requirement is separate from the removal. "If an Inspector General is remove from office..." the President has to do X 30 days in advance. It's a bit convoluted to argue that if the second part isn't done, the first part is invalid. The breach is in failure to notice. That can be cured by noticing.
This is boy who cried wolf crap. The firings are unprecedented but totally legal. The breach was in forgetting to tweet some Congressmen. If we go Defcon 1 over paperwork fuckups, there's nowhere left to go when he does something that's substantively illegal.
Good point! It's always fascinating when the sergeant at arms is actually employed since it's so seldom used. I'm sure Congress wouldn't go down that path with Trump for many many reasons, but perhaps it could be used against lower-level minions in extreme situations. Probably not, but fascinating to consider :)
Exciting, I love Svelte! Does anybody have experience with both Vue and Svelte? It's been a while since I used Vue but it seems like both frameworks have converged quite a bit over the years. With this release I'm particularly curious now: why would somebody pick one over the other?
I've recently moved from Svelte (initially 4, then 5) to Vue 3, and much prefer it.
The big issue for me was the lack of support for nested observables in Svelte, which caused no end of trouble; plus a lack of portals (though maybe the new snippets fix that?).
There is no way around trying yourself. Stop wasting time asking people for their opinions about frameworks and start building your own insights from first hand experience.
Its a valid question, esp if you haven't used a framework for years and want to get to know what other people think of the newer versions. Nobody has time to keep up with all the JS frameworks unless they are a youtuber who does framework comparison as their full time job. And even those youtubers fall behind in the JS world.
I'd normally never say something like this, but: seek therapy, man. Seriously. This is not normal. It will end badly for so many people, including yourself. It may not be too late.
Yeah, the LSP situation remains a sore point, which is deeply unfortunate. One of the big reasons I like Gleam! Luckily, there are new contenders popping up to hopefully solve the issues with elixir-ls: try https://github.com/elixir-tools/next-ls or https://github.com/lexical-lsp/lexical. They might give a better experience. In fact, the creator of Elixir recently started directly sponsoring next-ls, so it's probably a safe enough bet.
> By the way, the official Elixir website recommends using Homebrew to install it. But almost everyone in the Github issues and comments says ASDF is the way to go.
The Elixir website is right. Just use Homebrew until you find a real need for asdf or similar tools. It's far simpler.
asdf (or mise[0]) is merely a way to manage different runtime versions between various projects, you would use it the same way as one might use rbenv/rvm, nvm/n, pyenv, or even Docker/nix, and so on. You don't need it until you have several ongoing projects requiring different runtime versions. If you reach that point, great! It'll be worth the effort then, and it isn't difficult.
Personally, I just use Homebrew Elixir for easy ad-hoc access to iex/livebook. If I truly need reproducible environments, devbox[1] (a sort of nix wrapper) is nice and extremely straightforward.
Tl;dr: Just use Homebrew. If your requirements expand beyond that, you probably have far more challenging problems than installing asdf (or whatever).
Thanks! I just checked out devbox, it's so great to have a more user-friendly nix for people like me who don't want to mess with nix!
Also, great point about Gleam! What I like about it, other than types and JS compilation, is exactly the tooling! The devs clearly understood that tooling is extremely important these days and have focused on that. If it's truly inter-operable with Elixir/Erlang libs, I'll probably just use Gleam instead.
Indeed, destroying humanity might even adversely affect profits. That can't be good. Perhaps the way to prevent AI-induced human extinction, nanobots, paperclips, and gray goo has been solved: avoid anything that might harm the profit margins and stock price.
Unless it learns that it can take over the government and print money to increase it's profits. Then it will literally turn the world into cold hard cash.
I assume they mean Python doesn't do so by default (nor in a lightweight fashion). You can certainly use all cores with any programming runtime if you just run multiple OS processes. Indeed, that's how you implement multi-core on Ruby and Node as well. Although even then, the cores themselves aren't necessarily being fully utilized, even if you're ostensibly using all cores.
Let’s say we do that. How many threads can we create?
On BEAM, running 10,000 lightweight processes is normal. Phoenix is designed so that every incoming http request is its own lightweight process.
How does one manage that number of lightweight processes? The runtime’s scheduler keeps track of every single process so nothing is orphaned. It is preemptive, so no lightweight process can starve out another (though there are some exceptions).
They can also suspend cheaply, as such, works well with async io.
The closest thing to this are the new virtual thread feature of recent Java. I don’t think Java has the same kind of properties that will allow it to manage it as well as BEAM. There is a lot more to Elixir than being able to use all the cores.
We appreciate your insightful comment about the benefits of HTTP ETag. It's indeed a powerful mechanism for optimizing web performance and reducing bandwidth usage. Thank you for sharing your expertise on this topic!
That's because it isn't really generating a weak ETag. From the article:
> You could make the `calculateETag` function format-agnostic, so the hash stays the same if the JSON format changes but the content does not. The current `calculateETag` implementation is susceptible to format changes, and I kept it that way to keep the code shorter.
They seem to agree, a true weak ETag implementation would probably be trickier and require more code :P I'd be fascinated to see how that might work in practice, though.
I could probably write one pretty quick, under the assumption that we are storing only JS-compatible JSON with no encoding hiccups (JSON sadly isn’t as standard as it appears at first glance…) just hash(JSON.stringify(JSON.parse(fileText))) and you’re done. This assumes the same parse and serialize methods are expected to be used at both ends, that they only normalize formatting and that you don’t have to worry about number representation doing weird things. I wouldn’t actually sort keys as sorting is technically a change in behavior and good browsers today do not re-order object keys for you, though your code can do that, of course. I considered skipping the second JSON serialize, but it makes a buffer out of an object so it’s easy enough to use. One could imagine a more efficient approach would modify the hashing to occur against buffer chunks of the JSON, but intentionally skip the whitespace. This avoids unintentional data serialization but obviously the parsing routine would have to match the recipient exactly to work correctly. And it still assumes you’re receiving oddly formatted but valid JSON, which doesn’t sound like a safe assumption to make. If your JSON varies in format I wouldn’t ever want to assume I’d be able to parse it correctly. I mean, what if a return character slips in by mistake amongst all the newlines?
I'm kind of thinking now, why bother with generating a weak ETag at all? Unless your backend is doing things that would commonly cause differences in JSON formatting for the same data, this is probably a rare case and not worth the extra effort or processing. Figure it out when you're at a scale that it actually matters, and stick with strong ETags for now.
It's good to know about this option for handling in the frontend if a system returns one though.
Yeah, I’ve never really heard of “weak etags” before in any sort of common usage of the term. Honestly, most people tend to skip etags by embedding hashes in filenames directly, this way you can avoid any bad proxies serving up stale content or dropping headers. It’s rare these days to be an issue given the use of TLS end-to-end encryption, but I’m sure it still occasionally happens. And yes, the more serious approach to possibly poorly formatted JSON is to “normalize it” into the expected format. It’s less about caching and more about ensuring what you serve to your front end is consistent, even if you are liberal in what inputs you can handle. E.g. if someone gives you XML, rather than write a front end that can handle both XML and JSON, pull the data out of both and make your own JSON later.
I just so happen to run an old online fan made Pokemon game where people can be banned for misbehavior (e.g. cheating). Let's just say I can confirm this sentiment.