I've been having Claude generate N3 grammar flashcards for Anki.
note to self: fix the following code block overflow CSS
So far, so good: Claude is learning my grammar knowledge profile, as I've been feeding it vocabulary reports (also from Anki). My goal is to pass the JLPT N3 exam in early December. I'm floating around ~3,000 known words of vocabulary. I'm trying to reach at least 4,000 by the test. Because I'm on track, I'm spending most of my time building up grammar knowledge, and finding new and exciting podcasts, like Speak Japanese Naturally, to grind up my comprehensible input hours, a la Dreaming Spanish, which massively improved my listening comprehension and helped me move from "I know a lot of words and grammar" to "I can understand and use this language in real time."
More updates to come :)
"you can't kill people who haven't done anything wrong." โ Tucker Carlson
I reject the idea that there can be no points of human commonality between the right and left. It is being demonstrated, in real time, that a live-streamed genocide can, in fact, blur (or even erase) hard divisions. The normal revulsion one feels from watching, day in and day out, the unrelenting slaughter of infants, toddlers, children, and innocents is not unique to those on the left or the right. It is a human revulsion. โ Susan Abulhawa
We're not going to look away. We have no reason to โ the Israel-Palestine conflict has a weird way of also separating liberals from social democrats and socialists. We're easily winning on a clear moral failure of the United States, and the Democratic Party, where winning on policy wonk, "government vs. private sector," was hard to gain traction in an overloaded media environment. Coverage of the Israel-Palestine demonstrates media control, which has led voters to seek out new media outlets, less controlled by the Israeli lobby, and big capital.
Building a better Anki deck for JLPT grammar. ๐ฏ๐ต
Ocasio Cortez endorsed Forstag, who previously spoke during her Fighting Oligarchy tour stop with U.S. Sen. Bernie Sanders in April of 2025.
I write here now. No algorithmic manipulation. No Zionist bullies. My friends reach out still via text messages, group chats, and e-mails. It's quiet, but it's honest. Good riddance, Meta.
We are absolutely paying attention, and we are not happy with the current state of the Israeli-U.S. relationship. The status quo will be brought to an end; it cannot continue.
10 Year Treasury yields (4.597%) reach their fourth highest point in the last five years.
If Trump wants Americans to have more kids, lower rates for primary residence home loans. Interest + PMI + child care are eating us alive, we didn't have generational wealth to buy our home.
hm...
ๅฃใฏ็ฝใใฎๅ
๐ต๐ธ
Anki for flashcards (with FSRS, of course!), Claude to analyze the statistical reports it is generating. I've covered all of N5/N4 Japanese again. I'm finally pushing into N3. Estimated vocabulary knowledge: ~2,600 words. Goal is around ~4,400 by the December JLPT. ่ฉฆ้จใใใใใใฉใใใใพใ ๆฑบใใฆใใชใใ
This one was interesting. Also the news that Meta is down 20 million users. Rumor is that they're going to lay off 8,000 employees, blame AI. When you abuse your users badly enough for long enough, eventually they'll leave. Just ask Spirit Airlines.
Some stuff happened IRL. Haven't been feeling great about any of it, so; no writing lately. Spending more time with my family, studying, and writing code.
On "gastrodiplomacy" and Thai restaurants: https://www.foodandwine.com/why-are-there-so-many-thai-restaurants-7104115
Yes, now that large parts of the federal government are quite literally coming apart at the seams, hiring does finally appear to have unfrozen somewhat. https://finance.yahoo.com/economy/policy/articles/doge-trump-administration-quietly-hiring-120000441.html
โ In the United States, Israelโs supporters actively utilize the IHRA working definition of antisemitism to intimidate and attack individuals and institutions that defend the equality of Palestinians, challenge U.S. foreign policy toward Israel and Palestinians and criticize the foreign state of Israel. That a sizeable number of Jews in the US, as in Israel, also face spurious charges of antisemitism when they criticize Israel lays bare the lie: the IHRA working definition of antisemitism aims not to protect Jews, but to shield Israel from criticism and accountability under international law by suppressing free speech and academic freedom. โ
I had a quiet, normal weekend. The first in some time. I enjoyed it spending time with my family. I was able to study a little. I imagine this was only a brief reprieve: there has been a lot to do, and there is still much more to be done.
ๆกใ่ฆใไผใจใฏใ๐ธ๐ฏ๐ต๐
Good (important and necessary!) to see Dario Amodei talk about the other professions impacted by LLMs โ not only computer programmers โ including consultants, lawyers, and finance workers.
The most interesting thing to come out of the Claude Code leak may be Anthropic's approach to multi-agent coordination.
ๆไบๅ้ใฎไธฆๆจ้๐ธ
For some young workers, the aging of the American population means growing care burdens, while others anticipate a life-changing windfall. Higher taxes on the ever-growing number of inheritances could meaningfully reduce inequality.
(end the war, minimize total war-related costs)
lmao the CPAC website has a USWDS HTTPS banner, NICE
Now do X/Twitter.
How have TSA's screening equipment and related program offices been affected by the shutdown?
Israel is an apartheid state that has and continues to engage in ethnic cleansing.
Avalanches above, business continues below.
We're fully aware that it isn't just AIPAC (Christians United for Zionism has over seven million members, over 10 million by some estimates). We're going after all money that advances Israeli interests at the expense of American interests. Democratic candidates for President in 2028 have already begun to back away. We haven't won yet, but we're winning. And it's because our analysis is simple, and correct: Israel is a rogue ethnostate, and it is not in the United States strategic interests to support ethnostates in general or Israel in particular.
Senate Republicans have nowโon 11 separate occasionsโblocked bills to fund TSA, FEMA, CISA, Coast Guard, and other important DHS functions, and theyโve blocked pay for TSA 8 times in a row.
I forgot to celebrate a year without Facebook! ๐
Pritzker is probably already cooked, I'm not convinced he'll be able to assemble the Biden coalition if he can't credibly convince left-wing voters that he stands against Israel's efforts to remove the Palestinian people from their historic homeland, and their military campaign that has resulted in tens, possibly hundreds, of thousands of deaths and the destruction of Gaza.
โWhat we need to do is, we need to get the DHS issues resolved, we need to get the TSA agents paid.โ
โ Sen. Lisa Murkowski, R-Alaska
We must protect our children and ourselves from products whose purpose is not to connect us with the people we care about, and who care about us, but to addict us and manipulate our behavior.
3:44 p.m. By a vote of 47-37, the Senate did not invoke cloture on the motion to invoke cloture on the motion to proceed to H.R. 7147, the Department of Homeland Security Appropriations Act, 2026, upon reconsideration.
Democratic Senator Fetterman voted in favor.
Senators not voting: Britt, Coons, Daines, Fischer, Gallego, Kaine, Kelly, Klobuchar, Paul, Schiff, Shaheen, Sheehy, Smith, Tuberville, Whitehouse, and Wicker.
Institutions that lose popular legitimacy historically become targets of extralegal pressure, and the Court should take that seriously as a reason to reform rather than as a reason to demand insulation from criticism.
How did a guy with ties to J-6ers get a gig in counterterrorism? ๐
Itโs past time for the government to make sure that TSA officers, U.S. Customs clearance officers at airports and air traffic controllers are paid for the job they do. In these times when itโs hard to reach consensus on just about anything, it is significant that the vast majority of Americans want Congress to pay federal aviation workers, keep our National Airspace System secure and ensure travelers and packages can get to their destinations safely.
Republicans have once again blocked funding for the vast majority of the Department of Homeland Security. Unless Immigration and Customs Enforcement (ICE) and Customs and Border Protection (CBP) get another $28 billion with no reforms, TSA agents will not be paid, Coast Guard Servicemembers will be hung out to dry, and the federal disaster relief fund will remain dangerously depleted. That is the Republican position.
If Republicans were truly concerned about the impacts of this shutdown, they could easily fund FEMA, TSA, CISA, the Secret Service, and the Coast Guard. I have already introduced legislation that would do just that, while allowing negotiations over ICE and CBP to continue on a separate track. Republicans in the House have blocked my legislation, and Republicans in the Senate today blocked similar measures.
It is nothing but political theater. Republicans must allow my measure to come to the Floor for a vote, and stop using the shutdown as leverage to extract even more money for agencies that violate the law with no accountability.
โ Rosa DeLauro
You... you do know we can hear you, right?
Violence against our Jewish community is never acceptable.
DHS components not funded by H.R.1 face critical budgetary and contractual constraints.
Kind of wild that the Trump administration has designated Anthropic a supply chain risk given the biases very present in that company's LLM products.
Les partis d'entreprises amรฉricains pourraient-ils un jour s'approprier des politiques de gauche aussi ?
Spent time today playing with more `F[Unit]` vs. `EitherT[F, Throwable, A]`, for-comprehension juggling for managing purely functional application flow control with logging. Big takeaway? Sometimes you want to want to hand more power to the caller of a function, when you have distinct, expected (perfectly valid!) states, to allow them more control over what to do with the more complex results, and sometimes ADTs are the solution. In an `EitherT`, preserve `Left` as your error channel, the rest comes down to managing the shape of `Right`.
๐ฐ
Donald Trump is a war criminal, like Barack Obama and George W. Bush.
Whoever you plug in up here, nothing ever really changes. It's the system itself.
โ James Abourezk
It's also: we've tried working with the traditional elites, in their own power sharing structures. The problem is that there's too much baggage, and if you're not willing to treat socially constructed maps of meaning - to borrow a phrase - as literally true, and not convenient or useful, then they'll throw your ass out. They're also incredibly sexist, and homophobic. We aren't. And this is all to say nothing of the corrupt liberal elites. So: if they won't willingly give, then we are forced to take; by building competitive alternatives to their rule. What we've built is popular, because we listen, partly, but we also know our values, and history. We know who we are, and we understand the interests of those power structures that stand opposed to us. So you're going to be uncomfortable: this conflict is the natural consequence of not being able to work together, and our movement being strong enough to stand on its own feet. When the day comes that we can cooperate and work together, it will be on our terms, and without eroding our values.
No, we're not budging on Israel. If you permit ethnic cleansing elsewhere, you're giving ethnonationalists permission to try it here.
Restore American sovereignty now! ๐บ๐ธ
"Collateral damage": (translation) 165 dead schoolgirls
It probably makes sense to fund at least some of CBP, even if not to the level they ask, or specific functions. Should also not make it possible for DHS to simply move ICE on paper under DHS to get around a lack of appropriations for that function. USCG, FEMA, CISA, TSA, USCIS, Secret Service (am I missing anyone?) should be good to go.
Democrats said they are ready to fully fund all the agencies within the department except for ICE and CBP.
๐๐ป
โ Brian McGinnis
I don't think eliminating religion would eliminate magical thinking. Religious beliefs are, fundamentally, social, the result of psychological pressures inherent in the human psyche, and, therefore, will continue to exist. My only hope is that fewer irrational precepts โ purity culture, abstinence education, opposition to early-term abortion and sex work, end-of-life autonomy, and harm reduction โ would enjoy the untouchable social and political armor it seems to provide.
[Meta] This app has, for the past couple of months, admirably served exactly the purpose I had for it. There are, of course, some rough edges - all involving Quill and rich text. Otherwise, I am quite pleased.
ๆฅๆฌใฎ่ชๅ่ปใกใผใซใผใซใฏใๆใ้ข็ฝใใใจใใใใใฃใณในใใใใ
Enroll at https://step.state.gov to receive the latest security updates. Americans who need consular assistance can call 24/7 +1-202-501-4444 (from abroad) and +1-888-407-4747 (from the U.S. and Canada). ๐บ๐ธ
Vale, tenemos que visitar espaรฑa y pasar un buen rato allรญ.
In Illinois, Texas and Michigan, candidates have been forced to address connections to Israel as support wanes among Democrats.
DHS funding impasse here to stay as administration ratchets up pressure: https://www.politico.com/news/2026/02/27/dhs-funding-impasse-here-to-stay-as-administration-ratches-up-pressure-00805267
The Israeli government โ a hostile, foreign ethnostate โ is paying for psychological operations targeting Americans https://responsiblestatecraft.org/parscale-pro-israel-texts/
Operation AIPAC Fury looks like it's off to a Roaring lamenting-the-loss-of-U.S.-sovereignty success.
Sam Altman simply cannot be trusted to act in the general interest. He is just another dangerous Silicon Valley egoist.
It was difficult to have correct historiosocial analysis of this particular ethnic conflict in 2023. It seems, at least, that most democratic voters see it now. 17% of Democrats say their sympathies are more with the Israelis. What percent of elected Democrats?
๐ก
Actual full self driving, from Alphabet ๐
Hm, maybe I should get Arch running on my personal laptop. Fedora? Bazzite?
In all the places and all the ways private interests have made life intolerably worse, we will divest, boycott, and replace.
Technology companies engineer their products for attention to the detriment of their users. The product category is broken. ๐
The lawsuit alleges that Tesla marketed its โFull Self-Drivingโ package as though the vehicles were equipped with the hardware needed for complete driverless operation at a time in the near future. Many drivers purchased or leased Tesla vehicles and paid thousands of dollars for the feature, believing their cars could soon operate without human control.
The lawsuit alleges Tesla has not delivered on those promises. It further alleges that despite updates and marketing statements, the company has not demonstrated the ability for its vehicles to complete a fully autonomous drive or obtained the certifications required for driverless operation in California (California DMV Autonomous Vehicle). This central issue is at the heart of the Tesla Self-Driving Lawsuit.
The company conducts mass surveillance in the service of state violence, from ICEโs deportation machine to the genocide in Gaza.
Initiative No. 25-0024, also known as the "2026 Billionaire Tax Act."
YouTubeใซใขใฏใปในใงใใชใใฎใงใไปๅคใฏๆฅๆฌ่ชใๅๅผทใงใใพใใใ
Guy Christensen has a protected right to free speech.
Epstein survivors' PSA: we all deserve the truth.
๐ถ๐ต๐ท๐บ๐ธ
We must speak clearly about the management of platforms such as X and the vision of figures like Elon Musk. Freedom of expression is not the right of a magnate to buy the public debate and manipulate it through algorithms that amplify confusion. Spain will move forward with legislation under which technology executives will assume direct criminal liability for serious violations on their platforms. The era of hiding behind servers is over. - Pedro Sรกnchez Prime Minister of Spain
Together, we are America. - Bad Bunny
ในใใคใณ่ชใๅๅผทใใใใใซใๆฅๆฌ่ชใฎๅๅผทใไผใใ ใไปๅนดๅๅๅ่ชใๅญฆใถใคใใใ ใใใไบๅใ่ฆใใใ่กใใ๏ผ
According to Track AIPAC, Kamala Harris has received nearly $10 million from pro-Israel lobbying groups.
The White House has become a non-stop corruption machine. Never, ever before in the history of the country has the president of the United States so openly, so brazenly, so consistently worked to use the immense power of the presidency to enrich himself. Never before in the history of the nation has something like this happened. In secret, the president of the United States taking payments from foreign governments โ put in his own pockets โ and then handing them national security favors that the United States had never been willing to do in the past. - Sen. Chris Murphy
Actual reality tends to intrude upon the fabricated ones. Americans aren't stupid, only misled, and only temporarily.
33% of Americans perceive politics/government being our top national challenge.
If American conservatives were adults instead of petulant children - or supporters of everything they claim to hate about MAGA - they'd have supported Kamala Harris' center-right bid for presidency. Portuguese conservatives have gone further to keep the far-right from power: supporting Antรณnio Josรฉ Seguro, a socialist.
Kompromat is a Russian term for "compromising material"โdamaging information, photos, or documents gathered, often by intelligence agencies, to blackmail, manipulate, or discredit public figures. Originating in 1930s Soviet secret-police jargon, it is used for political leverage or ensuring loyalty.
I recently passed another birthday and realized fully-well that I am staring down 40. This moment has given me pause to think: what goals have I set to now that I will regret if I have not accomplished them by 40? I took several years away from studying Japanese to get fluent in Spanish. I'd reached N4-N3, with a vocabulary several thousand words deep. I'd logged 225 days on Bunpro, and many more dozens of hours consuming input. I knew hundreds of kanji. Having begun to study Japanese in 2008 or so, it feels like my white whale. With three years left on the clock, there's still time to reach N2, ใญ๏ผ With so much code to write, and math to study, maybe it will always remain out of reach...
To the surprise of nobody: it is obvious that Iran's theocracy is problematic, and has produced a terrible human rights record. It is equally true that Israel's ethnocracy is problematic, and has produced a terrible human rights record. Neither make good friends for liberal - secular and ethnically-inclusive - Americans.
transmediale 2024 Marshall McLuhan Lecture: Cory Doctorow on the enshittification of the Internet
I will also finally get off Google's email platform and office suite, and move fully to Proton Mail. I'm tempted to put Linux on my Lenovo Legion โ with LLMs, maybe it's finally the year of the Linux desktop?
I will move all of my software repositories to Codeberg. Adiรณs, GitHub.
TikTok's new owners are censoring activists against Israel's campaign of ethnic cleansing, and the destruction of the Palestinian ethnoreligious group. The solution? Yet another app to boycott. Use UpScrolled instead!
The boycott list:
It isn't a perfect boycott, but the goal is maximally to reduce my personal contributions to the revenues of any company that financially or politically has contributed to MAGA.
Shame to have to cancel ChatGPT too.
When will Europe finally log off Twitter?
Justice for Alex Pretti and Renee Good!
Or: why it's important to use LLMs as learning tools, not simply assistants.
Little one was home again today. Day care has been closed four days this week. I laid down with them around 1 p.m. so that they'd take a nap while mamรก was out for an appointment. Papรก accidentally took a nap too - and woke up past 4 p.m.!
Oops.
I've so far kept up with my self-directed 30 days of scikit-learn.
Today: SVMs with different kernels (linear, polynomial, rbf, and sigmoid, special thanks to this article for helping me to understand their differences and uses).
Tomorrow: `from sklearn.naive_bayes import GaussianNB`
๐๐
Top review for the Melania Trump documentary: "if it was shown on a plane people would still walk out" โ ๏ธ
accidentally just spent nearly four and a half hours watching gettysburg (1993). visually stunning, accurate to my historical recollection and visits to the battlefield. pretty great film!
The gate logic is trivial enough, and I understand the advantages of taking a fuzzier, probabilistic (ok, yes, "precisely probabilistic", and yes, the interference effects are very neat) view towards the result of a computation. The obvious question once one realizes the feasibility of developing a Turing-complete computer using quantum gates is: what does it take to build physical qubits?
HRANA โ On the twenty-sixth day of nationwide protests, according to aggregated data compiled by HRANA, the number of confirmed fatalities has reached 5,002, while the number of deaths still under investigation has risen to 9,787. In addition, at least 7,391 people have suffered serious injuries during the protests, and the total number of arrests has increased to 26,852. These figures were recorded under circumstances in which, just one day earlier, official authorities, by citing significantly lower numbers reportedly issued by the Legal Medicine Organization, attempted to solidify the governmentโs official narrative regarding the killings. At the same time, the internet shutdown in Iran, now approaching its third week, has continued unabated.
I am horrendously ill. Probably the flu. No bueno.
I have a poet friend let poet = Friend(Names.Persephone);She's kind and she's rad
poet.set('crunchy vibe', true)She's AWAKE she's got that third eye open energyshe's making the world a better place
and she
โจ doesn't take shit from anybody โจ
(gracias por todo tu querer, apoyo y amistad, tรญa.)
Right-wing โsolutionsโ keep failing to meet the most basic needs of tens of millions of Americans. We know that these failures are neither failures of imagination, nor a design flaw, but the intentional outcome of neoliberal institutional design. When Charles Koch announces a new non-profit, it communicates recognition that the price he's paid for stability is too low; the stability isn't there. American plutocrats have been getting away with paying too little to keep the masses content, and now they're nervous about the consequences. Charles Koch in particular has spent decades funding efforts to shrink the welfare state, and now his network is funding an initiative to address... the wholly predictable social fraying that occurs when communities can no longer cooperate to solve problems together, but each person is treated as an individual with few means of cooperation beyond for-profit economic transactions. In its place is growing populist sentiment, and extremism. If we are fortunate, before American society becomes more precarious, or even collapses under the weight of capitalism's well-known, studied, and understood internal contradictions, some relief to โthe massesโ - the non-owners who vote but who have no real power in the political system that makes decisions despite their needs, or analyses - might come to fruition. If it does, great for us! Capitalists of the future: take note that the cost of stability is not inexpensive, but it is a necessary expense. If not, and inequality and the exigencies of capital growth continue to create intolerable conditions for those who must live under their physical and psychological burdens, whose bodies and attention are a valuable resource, and the basis of all wealth, then socialism will come sooner rather than later.
โ Freddie deBoer
I pay for YouTube premium to not see ads, but every video now has sponsored content. Why am I paying YouTube?
Also pushed a quick fix to hide the language selection UI for code blocks. It's not needed when rendering a post; I know what language I'm putting into the editor when I write it! No big changes today unless I start feeling super motivated later, trying to find the willpower to get invested elsewhere... on a Sunday.
uhhh... simpler poetry forms, pls. Maybe just customizable fonts and for the editor to respect whitespace ๐
Dad hack: the little one didn't want to sleep, but they were complaining a lot as if they were tired. I started reading to them about cosmology and the big bang. BOOM! Right to sleep.
TODO: There's a bug with link previews: if you post a link whose description is too long, it won't trim the description. Instead, it will simply fail to insert it into the database. What should happen instead: if a page's og:description is longer than expected, we trim it, and append ellipsis.
There was a bug posting link previews with long descriptions ๐ช๐ป
Use case for another user type? If the focus of this platform is rich text, why not poetry, and let some poet friends try it out?
Tech Force looks interesting, but unfortunately I won't be applying.
I'm having Claude Code assist me in a major refactor of Apollo. The plan is to break it up into a few smaller modules: apollo-core, apollo-doobie, and apollo-http4s. Claude produced a PR quickly enough. The challenge: how do I, the senior engineer, know that Claude's code works? It's a huge PR that touches the entire project, surely you can't just trust the LLM. At least not yet. So: I set about to update the Apollo giter8 template to use the refactored version of Apollo. Note to self: yes, you need automated tests. Claude Code was less reliable here, but I ended up getting everything I needed from Tertulia and produced a working version. Next steps: I think the Claude PR is safe to merge, but with some caveats associated with the build system. Still, I think the safe thing to do is to copy a clean version into Tertulia's monorepo first, make sure everything works, then mint a new version. Once Tertulia's happy with the refactor... I'm pushing to Maven Central! And once that's done, I'll pull Tertulia off the monorepo to become Apollo's first user.
Finished what I started: Tertulia's login pages now override the newly overridable Apollo defaults. I tested them, they work great (well, except the part about Mailgun not working from this domain yet).
Configuring Apollo is super slick now:
Shout out to Claude for the assist converting my hand-written Bootstrap-using templates into nice, clean Twirl.
๐
Running toy datasets through scikit-learn, with Claude's assistance, and confusion matrices and the classification report came up.
I did some digging through the documentation and learned:
The precision is intuitively the ability of the classifier not to label a negative sample as positive. The recall is intuitively the ability of the classifier to find all the positive samples.
My rough understanding here is that if false positives are costly, you want your model to be more precise, and if false negatives are costly, you want to ensure your model has good recall. The F1-score balances precision and recall equally, which is tunable using F-beta: beta > 1 favors recall, beta < 1 favors precision.
The F-beta score weights recall more than precision by a factor ofbeta.beta == 1.0means recall and precision are equally important.
Creating a Python environment using `uv` is super simple, and the tooling looks nicer than other Python virtual environments I've seen in the past. The wrapper around venv is nice:
Then, write your Python code:
And run with `uv run python .\main.py`!
๐
Despite the President's campaign of retribution in Minneapolis, and today's threat to invoke the Insurrection Act, we're still following what's happening in Gaza.
According to a 2024 U.N. report, rebuilding Gaza's shattered homes will take until at least 2040. โ Reuters
Link previews are a hard problem for a small platform like this: everyone treats your platform as if you're a scraper and returns 403: Unauthorized. And CORS prevents you from using the user's JavaScript client from grabbing metadata too!
I really and simply don't understand how Musk's open fascism hasn't decimated Twitter's user base. Sure, their numbers are down by tens of millions, but Bluesky isn't up tens of millions of users. Bluesky is trending largely negative, closer to 1 million daily active users (DAU), down from a peak of nearly 1.5 million. Global politicians and mainstream media still use Twitter, despite that it's become a biased, Nazi-infested cesspool, where its owners presence and the platform's biases are inescapable, and, in many cases, actively work to prevent the world they'd personally like to see, or are working towards. Why?
fascinating hypothesis, re: gender-affirming care and the political behavior of cisgender men h/t: br
๐ wiki.icelist.is
๏ปฟ๏ปฟ
All politicking aside, Kat Abughazaleh's campaign website, built on the RUN! CMS, is stunning. Kudos, design team and devs ๐๐ป
Back in my day, you didnโt have to learn CSRF, CORS, and TLS to get a website running, youโd just slap some PHP tags into your HTML, maybe a head block at the start of your page for a database connection, and Apache would dutifully host your slapdash, insecure website, and it would mostly work on the Internet. Not so today โ every step of the way building even this simple microblogging platform has been a learning experience. I realized while refactoring Apolloโs password reset and recovery endpoints that it probably took me several weeks to figure out what was going on with Http4sโ CSRF implementation well enough to create the middleware that does what I want: attaches the CSRF token to the request so that it can be rendered as HTML to a form. Meanwhile, I forgot about several design decisions I made early just to get the forms working, also before Iโd written my cookie-based flash message system. I remember my first web application: I downloaded a PHP โlogin systemโ system someone had posted to a forumโฆ somewhere, and I wrote an online game. I knew even fewer of the parts. In terms of web application software, I really do feel like Iโm at the pinnacle of my abilities: I am skilled in type safe, functional programming, I know the web stack all the way down to the wire and all the way up to high-level, complex single page application frameworks and architectures. Never wrote a compiler, though, and my current side project (to this side project) is to build a Hack computer from transistors.
The little guyโs at daycare, time to make the donuts ๐ฉ
When people perceive legitimate channels (courts, elections, peaceful protest) as closed off or ineffective, and when state violence continues without accountability, some portion of a movement tends to radicalize. The basic lesson from history here, and risk to national security, is that if the U.S. immigration authorities crack down further on dissent, and kill additional protesters, and the legal forms of grievance prove ineffective in the face of impunity for crimes committed against the American public, dissent might drive radicalization, and devolve from protests to become an insurgency with guerrilla tactics of the kind seen in insurgencies from Northern Ireland to Vietnam. This is not a prediction; I am not calling for violence; it's a risk assessment.
YouTube embeds now work, check it out:
I also added custom url previews for links to bsky.app, so they look more like quoted posts and less like article previews.
I don't understand how anyone can watch how blatantly Grok is manipulated to answer the way ownership desires it to and then act like the other LLM chatbots couldn't possibly be similarly but less obviously compromised to produce responses in whatever way corporate interests and priorities dictate.
I will boycott every single company, organization, or individual that takes ICE money.
My primary critique of Abundance echoes this one from Sandeep Vaheesan: essentially, Democratic industrial policy is stuck in a rut. Democrats do not believe in the public production of goods. Instead, we give private producers of goods public dollars and pray they won't raise prices, because Democrats are also against price controls. From postsecondary education to healthcare and housing, it is painfully obvious to any American suffering for want of housing, healthcare, and education โ and unwilling, or unable to pay additional rents in the form of interest on top of inflated prices โ that this does not work. Or, to be more accurate: it delivers temporary benefits before making everything more expensive. Private interests in capitalism are profit seeking: if you give them money, they are required by the logic of the system to try to get more of it. The cronyism decried by libertarians and neoliberals is not an aberration, it is a competitive adaptive behavior inherent to the exigencies of the economic system itself.
This service is now... tertulia.social!
tertulia: f. Reuniรณn de personas que se juntan habitualmente para conversar sobre algรบn tema.
It's getting late and I'm out of steam, but accomplishments: domain name โ big Apollo Auth refactor is mostly completed also, I should soon be able to override its templates by overriding the new ApolloTemplates case class:
I fixed a few bugs also where POSTs to Apollo endpoints would render immediately instead of redirect to GETs on error.
๐
click my profile photo ;)
Ah, before this becomes a question: yes, I'm using LLMs to work on this project. Apollo, the authentication framework for Http4s I used as the backbone of this application, has been written almost entirely by me personally. It is the result of years of studying functional programming and web application software, e.g. servers, frameworks, and protocols. It has cool, funky type signatures like `OptionT[F, Throwable, Option[Post]]`, and `Kleisli[F], Request[F], Response[F]]`, and I know exactly what problems they help to solve, how they work, and why they're there. However, recently I've been using Claude Opus 4.5. A lot of the code for this microblogging platform in particular was generated by Claude, although the application itself was my idea, and I've made the decisions about architecture and libraries, etc. Claude's a pretty good designer and UI/UX engineer. I've also written a non-trivial amount of its code too: Claude is good, but it still whiffs often enough and I have to intervene.
So, thanks for the help, Claude and Anthropic!
Iran is a victim of American imperialism. In 1953, democratically-elected Prime Minister Mohammad Mosaddegh was overthrown in a coup d'รฉtat orchestrated by the United States and the United Kingdom, at the behest of British Petroleum after Mossadegh nationalized Iran's oil resources and refused to concede a more profitable arrangement to the western powers. The Americans โ the CIA โ called this Operation Ajax.
This is peak Cold War logic: oil, an important natural resource, had been nationalized; the United States has, historically, frequently rejected nationalization as a form of theft (cue protest by Pierre Proudhon); the U.S. wanted access to that natural resource, or, at least to ensure it was inaccessible to its rivals, and thus it acted to "secure its interests."
This is well-known history, I have nothing to add.
However, I do want to comment on a weird, problematic trend I've seen repeatedly on the American left: this tendency to support all anti-American governments under the banner of anti-imperialism.
Iran, after its 1979 revolution, came to be an authoritarian, theocratic state. Even if the United States did not exist, Iran would not be an ideologically safe place for anyone who isn't part of the in-group in power. It is a country where atheists, like Yousef Mehrdad and Sadrollah Fazeli Zare, are murdered by the government for not being superstitious, to say nothing its its other extreme, reactionary and religious biases. LGTBQ+ Iranians can be, and are, harassed, arrested, and detained based on perceived sexual orientation or gender identity.
Therefore, I call upon the American left in general: the enemy of my enemy is not my friend. Israel is engaged in ethnic cleansing backed by the U.S. Iran is a theocratic terror state. Resistance against the worst excesses of U.S. behavior can be done without running interference for religious bullies abroad โ we have our own problems with superstition and mass cults in this country.
Support Iranians in their bid for freedom. A better world is possible only with a free Iran.
I made a few little updates today: posts now show the time of the post, and you can get a post's permalink by clicking on the time it was posted. I added OpenGraph metadata to the single post view too, for platforms that render link previews.
The threat of criminal charges is a consequence of the Federal Reserve setting interest rates based on our best assessment of what will serve the public, rather than following the preferences of the President. โ Jerome H. Powell
Reporting can inform. It can also pacify. Remember that for change to come, for there to be justice for Renee, and a future without ICE killings, we must act โ loudly, firmly, and without yielding โ against what we cannot tolerate.
weekend with friends. we're happy to see them. when your traditional community is gone, you build new ones. networks still matter, the biological context merely gets erased. ok, more likely: selection pressures have changed. ideology doesn't beat nature still. their name is 592a70e5-77c9-49a9-a4c0-b73c054ab942. congratulations! it's a... homo sapiens ๐
(link previews work ๐)
Bought a breadboard and some components. Looking forward to building my first computer this year.
The Elements of Computing Systems: Building a Modern Computer from First Principles by Noam Nisan and Shimon Schocken
[Vice President JD Vance] knows. He doesn't care. Vanceโs twisted and wrongheaded view of Christianity has been repudiated by two popes. His Catholicism seems to be little more than a political prop, a tool only for his career ambitions and desire for power.
The vice president's comments justifying the death of Renee Good are a moral stain on the collective witness of our Catholic faith. His repeated attempts to blame Good for her own death are fundamentally incompatible with the Gospel. Our only recourse is to pray for his conversion of heart.
explaining to my friends that i didn't build a blog (lame) but that i built a multi-user microblogging platform (believe it or not, even more lame)
Sure would be cool if DigitalOcean supported deployments from Codeberg...
implemented a couple of bugfixes this morning:
off to the real world โ
look ma, no character limit!
Paul Krugman here dispels Trump's Venezuelan oil boondoggle: Venezuela's extra-heavy Orinoco crude is only worth extracting if the price per barrel rises above $80. Current business model for American producers requires oil to stay above $62. Trump allegedly wants oil to drop to $50 per barrel. Seeing a math problem? Stated more explicitly: how does a resource that costs $80 per barrel to extract get us to $50 per barrel? It doesn't: at best, Venezuelan oil must appear, from the American perspective as a hedge against high oil prices, for instance those seen during global conflict.
https://paulkrugman.substack.com/p/the-emperors-new-oil-wealth
as of around 02:25 this morning, this microblog is LIVE. yes, this a place for me to post my thoughts on things, but it is also the test application for the authentication library i'm writing for the Scala/http4s ecosystem, Apollo (https://github.com/joshuakfarrar/apollo)! which, i can confirm here, appears to work kind of alright. i really like the scala programming language, i really don't like the open source tooling available in the scala ecosystem. unlike ruby or javascript, where there's a gem or an npm module for lots of things, especially commoditized workflows like user registration and authentication, Http4s really has no such solution. i imagine every http4s application that has auth has a custom-rolled auth implementation. having build one, i can say with confidence, understanding and trying to sort out issues with the default csrf middleware is enough to drive one mad.
anyway... features! or, at least, upcoming features for apollo:
๐
he-.. hello world?
everything basically works
error handling could be a bit better, but flash messages will take a few hours to implement from apollo into this application and right now i'm the only person who will see them
also, i have no means by which to have apollo's forms share styling with the front-end, you get what it gives you, that's it
i'll have to do some research to re-familiarize myself with how devise handles this, i remember at least that it creates copies of templates then overrides the defaults with those from your application
link previews and image uploads are coming soon too, link previews will be first because although i'll have to write a fetcher and parse opengraph tags from html, they're easier to store than dealing with uploads and file storage
also todo is to set up a devops pipeline to... somewhere, i haven't decided yet
today the united states has illegally captured the leader of a sovereign foreign state
it has charged nicolรกs maduro with crimes that are beyond its jurisdiction to prosecute
it is abundantly clear that national sovereignty is contigent upon u.s. approval
which is not sovereignty at all, but the old logic of imperialism
i condemn the actions of the united states as wrong-headed, destabilizing, and nothing less than a robbery
permanent stability in latin america can only be achieved by meeting the human needs of the people who live there, not by the imposition of an extractive regime
it has been nearly a year since i deleted all of my personal social media accounts
no facebook, no twitter/x, no instagram
i even canceled my linkedin subscription, which i'd kept for professional purposes, due to their ice ads. spotify too
i doomscroll far less, and spend more time writing code, playing with my son, play bass, or studying
literally any other use of your time is better
this year, you should also unplug from for-profit social media