The current Mayor of New York City and three candidates that just won congressional primaries in the city belong to a political party called Democratic Socialists of America (DSA). They will be joining two more DSA members in congress. This is the DSA's platform on immigration:
> Allow workers to freely migrate between countries to seek employment without restrictive immigration controls. Demilitarize the border, end all immigrant detention and deportations, immediate amnesty for all immigrants regardless of current immigration status, and provide access to jobs, labor rights, and social services to all immigrants.
In other words, give labor the same mobility as capital. Nothing inherently unreasonable about that.
Note they say “to seek employment” and “without restrictive border controls”, not “for any purpose” and “without border controls”. This does not mean they’re advocating to let in convicted murderers or people who just want to migrate for welfare benefits. Calling it “open borders” is an exaggeration in absolute terms, though it is for sure accurate as a relative comparison to what we have now.
Also, their political party, as such, is the Democrats. DSA is not a political party. But yeah they are members of DSA as well as being Democrats.
Most people in America don't live paycheck to paycheck or rack up massive debt because they're poor. They do it because they're financially illiterate, over-consume, or both. A few watch-through's of Caleb Hammer's financial audit show will disabuse you of this belief.
I stopped using tmux when I started using kitty terminal with native split windows. I prefer the native window management of kitty, but I do miss the session saving of tmux (e.g. if I accidentally close a tab).
I was going to say, but zellij doesn't connect the session to the GUI. However, I did not know about kitty's --use-foreground-process, which doesn't solve the problem completely but may be good enough.
I used screen until like 2010 or so -- but you triggered me to look back at it again today. One nicety there now is that you can easily get a dump of what's showing in the pty with screen -S <session_name> -X hardcopy. This is actually somewhat hard to do in tmux, but it's a thing you want your AI agents to do all the time. I'm curious if claude / codex are comfortable with screen, I'll check it out.
This looks really cool. Congratulations on the milestone.
Does the elixir->js compiler exist as a separate project, or is it built into the framework? Is it based on an existing transpiler? How does it compare / contrast to something like gleam (which, AFAIU also let's you transpile elixir to JS)?
Thank you! The Elixir -> JS compiler is currently coupled with the framework - it's a custom thing, not a separate dependency.
Re the Gleam comparison: I don't know Gleam's implementation in detail so someone correct me if I'm wrong, but as I understand it - Gleam compiles to fairly readable JS with a minimal prelude, and deliberately treats the two targets as having different concurrency semantics. It doesn't try to replicate BEAM processes or OTP in JavaScript, instead using JS's native promise-based async. The upside is zero runtime overhead and clean JS interop.
Hologram takes the opposite approach - we're iteratively reimplementing the Erlang runtime in the browser, with the goal of having full semantic parity eventually. The tradeoff is a heavier runtime, but the benefit is that the same Elixir code can run on both server and client with consistent behavior.
To clarify - Hologram's runtime is heavier than Gleam's, but that doesn't mean it's heavy. The compiler does tree-shaking, bundling only the code your app actually uses, so you're not shipping the entire reimplemented runtime to the browser.
As for the WASM bytecode interpreter idea - you'd run into the same problems I described in my earlier comment. Even a minimal interpreter compiled to WASM tends to land in the multi-MB range once you include enough of the runtime to be useful. You still can't touch the DOM from WASM, so every UI update crosses the JS bridge with serialization overhead. You lose the ability to surgically call native browser APIs (like built-in Unicode support) instead of bundling your own. And you lose readable output, which matters for debugging.
Gleam is written in Rust but compiles to Erlang (BEAM) or JavaScript - I mentioned the JS compilation in my previous comment. The WASM point was a response to your bytecode interpreter suggestion, not about Gleam.
I don't think anyone will comfortable pour 1000 hours into a closed source app. Especially because Anki is what it is today due to the numerous add ons
Intimidation, or threat at the very least seems applicable here if you have any idea of what's going on in Minnesota and what these Signal chats are being used for.
Europeans volunteered troops in Afghanistan to help America fight Al-Quaida. When America was not right about invading Iraq, European nations tried to help America to see the truth. When America took on Libyan dictator Kadhafi European nations provided some air support.
Europe helped America when they could and when they thought it was the right thing to do.
After 9/11, America had a brief moment of world support that we royalty screwed up. But that was only because we were attacked. Besides that its all nations for themselves.
And even today, if the UK or Germany [just examples] were attacked in the same way, America would send troops under the same circumstances.
I'm a little late to the party here but since Mochi was mentioned I want to take some time to address some of the criticism of it in the article.
With regards to cloze deletions the author writes:
> cloze deletions in Mochi are very verbose. [...] This is a lot of typing.
First, the numbering (1::) is optional. Secondly there are keyboard shortcuts, cmd+L to wrap in {{}} and cmd+1,2,3 to add numbering.
The point about note types is fair, and I may a similar function eventually, but I recommend most people to create no more than 10 cards a day. Any more and you risk getting overwhelmed with reviews. In the article the author shows an example of creating 4 (or more) cards for a single atomic element. This excessive card creation probably contributed more to the 1700 overdue cards than the algorithm (more on that later). If you really do want to create multiple cards like this you can use cloze groups. E.g. {{1::Helium}} (symbol: {{2::He}}) has atomic number {{3::2}}
Finally, the "biggest problem with Mochi". This is kind of a moot point now that Mochi has an FSRS option, but there are a lot of misconceptions in the article about the algorithm. First being that Mochi's algorithm is inferior to SM-2 because it is simpler, and that the rational for it being simpler is because "the user can reason about the algorithm more easily." I'm not sure where the author got that idea, maybe I mentioned it before as an advantage, but it's not the main reason. The main reason is that the additional complexity in SM-2 is actually detrimental in some subtle ways. [0] The author just assumed the algorithm was worse and gave up.
With regards to the forgetting multiplier the author states:
> If I forgot something after sixty days, I surely won’t have better recall in thirty.
But what is the evidence for this? The assumption here is that the knowledge was "completely lost". For the card to have gotten to 60 days in the first place, you must have remembered it previously after 30 days. Evidence show that reviews strengthen memory, not degrade it. Even FSRS does not completely reset the interval after a forget. I get that the author doesn't want to configure things, but lowering the multiplier to 0.2 for example seems a lot easier than building a brand new SRS flashcards app.
Criticisms aside I really do like the idea of hashcards. Plain text, offline, open source. It checks a lot of boxes that I personally look for in software and I'm happy to see more options in this space.
> Allow workers to freely migrate between countries to seek employment without restrictive immigration controls. Demilitarize the border, end all immigrant detention and deportations, immediate amnesty for all immigrants regardless of current immigration status, and provide access to jobs, labor rights, and social services to all immigrants.
https://platform.dsausa.org/foreign-policy/