Joined January 2009
348 Photos and videos
tomviner retweeted
Today, Donald Trump paused Operation Project Freedom and, just as he did with the war, ended it without achieving any objectives. For those looking for the answer as to why he sent two destroyers through the Strait of Hormuz, the answer is that he needed a victory speech, even if strategically it meant nothing. Trump backed down because his Project Freedom idea was creating a permanent war, and he remained under pressure from the markets. He then managed to get Iran to agree to give him a victory speech in exchange for dropping the talk of reopening the strait by force, at least for now. Obviously, this is temporary and aimed at relieving the market pressure on him. None of this removes the stigma of defeat from Trump and Netanyahu, but it buys them some time. It is exactly at this point that Iran continues to make a mistake, collaborating to relieve this pressure in exchange for benefits, in this case, continuing to export. All behind the scenes. On March 5, I wrote this: “It was supposed to be 4 weeks, which turned into 8, and now they’re talking about 100 days. Observe why Israel and the US underestimated Iran and run the risk of emerging from this defeated, not by Iran, but by the global market.” x.com/pati_marins64/status/2… It’s not about the Iran, but about the markets. I would say there’s still plenty of fuel left to burn in this bonfire.
It was supposed to be 4 weeks, which turned into 8, and now they're talking about 100 days. Observe why Israel and the US underestimated Iran and run the risk of emerging from this defeated, not by Iran, but by the global market. Of the vessels that operate missiles, I'd say Iran lost 5 out of about 300. If we consider only ships, that's 5 out of about 40 armed ships. Even with the entire coalition's apparatus, caution is making this confrontation slow. The same goes for Iranian aviation, which yesterday carried out a bombing on an American base, and the two Iranian planes were shot down by Qatari fighters. But notice that the Iranian air force remains operational. Regarding missile launchers: The coalition claims to have destroyed more than 400. I've seen footage of at most 20-30. But that doesn't matter. What I mean is that Iran started manufacturing these launchers about 30-40 years ago. How many launchers would a nation the size of Iran produce in 30-40 years? Eliminating these launchers is an extremely difficult task that will take a long time. The US-Israel prepared for a 5-day war, ignoring a series of scenarios. Today, an outlet reported that they're requesting more anti-air defenses against drones. Who enters a war against Iran without thinking about that? But this won't help much against these stealth drones. I also read that they're asking for more intelligence personnel. And that oil companies began evacuating their staff from the Gulf today, anticipating a long war. Absolutely every scenario I've been reporting for weeks is coming true. No matter how many bombs they drop, asymmetric warfare, when it has internal support, absorbs it and innovates in its responses. (Image news18)
109
336
1,600
146,691
"But gaps between discourse and reality can only close in one direction"
The Iranians called his bluff. It’s just a fact that denial of commercial transit is far, far easier than securing navigation. It cannot be done without disarming Iran. This little episode reinforces Iranian control of Hormuz. There was also ‘a threat that leaves something to chance’ in his stratagem. He was daring the Iranians to run the risk of war to enforce their control of Hormuz. The Iranians did not flinch. Where does this episode leave us? First, Hormuz will not reopen until at least a preliminary deal is reached with Iran. And that still requires lifting the blockade and ordering the Israelis to stand down in Lebanon. Second, he tried this cheap trick because the fundamental reality is that the US is out of real alternatives to actual two-sided negotiations. Frozen conflict with Hormuz closed continuously tightens the noose around his neck. Going back to war will not only run down the US magazine, likely lead to the closure of the Red Sea as well, and cause massive destruction in UAE and Israel at least. It also runs the risk of further unrecoverable losses for the US military itself, including the destruction of the surviving bases. Even if he is prepared to pay the full price, as the hasbara commissars are demanding, it is highly improbable that the US can defeat Iran, since the only way to defeat Iran is to disarm it, and by now it is beyond reasonable doubt that the US does not have the capability to do that. No one said losing the empire was going to be cake walk. It’s humiliating. It requires a fundamental reconsideration of the picture of the world in their heads. It’s going to be a drawn-out, violent process. But gaps between discourse and reality can only close in one direction.
21
tomviner retweeted
Open source is dead. That’s not a statement we ever thought we’d make. @calcom was built on open source. It shaped our product, our community, and our growth. But the world has changed faster than our principles could keep up. AI has fundamentally altered the security landscape. What once required time, expertise, and intent can now be automated at scale. Code is no longer just read. It is scanned, mapped, and exploited. Near zero cost. In that world, transparency becomes exposure. Especially at scale. After a lot of deliberation, we’ve made the decision to close the core @calcom codebase. This is not a rejection of what open source gave us. It’s a response to what risks AI is making possible. We’re still supporting builders, releasing the core code under a new MIT-licensed open source project called cal. diy for hobbyists and tinkerers, but our priority now is simple: Protecting our customers and community at all costs. This may not be the most popular call. But we believe many companies will come to the same conclusion. My full explanation below ↓
551
189
2,158
1,554,825
"dockerfile-roast" - what a name
unpopular dockerfile takes (that actually work) 1 - stop using alpine — yes, it's tiny. but musl libc ≠ glibc. your python/node app will rebuild native deps from scratch or just... silently be slower. use -slim (debian-slim) instead. same size win, zero grief. 2 - layer order is your cache strategy. COPY your lockfile first, run install, then copy source. invalidating the install layer on every code change is a skill issue ngl 3 - multi-stage builds aren't just "best practice" — they're the actual reason your prod image doesn't ship gcc and 400mb of build tools. builder stage = bloat zone. final stage = lean mean container. 4 - COPY . . is fine actually — if your .dockerignore is correct. most pain here is from forgetting to ignore node_modules/, .git, *.log. fix the ignore file, not the COPY. 5 - one process per container is a vibe, not a law. if your app needs nginx app server and you're not at k8s scale — just use supervisord. the "one process" dogma costs more complexity than it saves sometimes. 6 - pin your base image by digest, not tag. node:20 today ≠ node:20 in 6 months. prod broke because of a tag? that's a you problem tbh. 7 - BuildKit cache mounts (--mount=type=cache) will change your life. pip/apt/cargo cache between builds without it ending up in the final layer. nobody talks about this enough fr there's no "best practice" in a vacuum. alpine is great for Go binaries. slim is great for Python. scratch is great for static bins. know your workload, then choose. btw if you want something to catch all this stuff automatically - check out dockerfile-roast — a linter written in Rust that literally roasts your Dockerfile. 63 rules, brutally honest output (but it can also provide just dry facts, no roast), runs on any OS or as a docker container github.com/immanuwell/docker… #docker #devops #kubernetes #backend #linux #rust #sre #containers
40
tomviner retweeted
Apr 13
Reading "Open source security at Astral" and noticed the author is the person who created zizmor, and their last name has ruff in it. @charliermarsh how the f did you pull this off??? astral.sh/blog/open-source-s…
4
77
11,276
tomviner retweeted
Replying to @simonw
Community screening of packages needs what uv calls "reproducible resolution" which they explain in terms of absolute dates eg `uvx --exclude-newer <datetime of tweet> pkg=1.2.3` means readers can accumulate crowd source auditing of a unchangeable entity docs.astral.sh/uv/concepts/r…

1
1
135
tomviner retweeted
Mythos Preview has already found thousands of high-severity vulnerabilities—including some in every major operating system and web browser.
142
657
7,296
2,034,740
tomviner retweeted
Mar 21
Replying to @simonw
Not easily, it's been requested for a while: github.com/anthropics/claude…, the most you'd be able to do practically is read via the Github MCP, but can't check it out specifically, it might be possible to work around but if it is it'll be a nightmare.
1
1
247
tomviner retweeted
Replying to @simonw
For this reason I moved my main project (apps, web and back-end) back to a monorepo - seemed daft at the time and a bit clunky but works pretty well now.
1
102
tomviner retweeted
Anyone know if it's possible to checkout two private repos at the same time in Claude Code for web? As far as I can tell it isn't, because all Git operations go through a local proxy which only allows authenticated access to the private repot that the session is attached to
37
1
85
36,493
tomviner retweeted
Mar 18
I'm going to make some obvious points. (1) Blowing up all the oil infrastructure in the Middle East is an insane idea, and may well result in a global economic crash and humanitarian crisis unrivaled in the lives of those now living. We're talking about the price of everything everywhere rising, from food to gas, at a moment when inflation was already high. All of that will be laid at the feet of the authors of this war. (2) The antebellum status quo of Feb 27, 2026 was just not that bad, but we're unlikely to return to it. Expect indefinite, long-term, ongoing disruptions to everything out of the Middle East. (3) Also assume tech financing crashes for the indefinite future. The genius plan to get the Gulf states caught in the crossfire has incinerated much of the funding for LPs, for datacenters, and for IPOs. Anyone in tech who supported this war may soon learn the meaning of "force majeure" as funding gets yanked. (4) Many capital allocators will instead be allocating much further down Maslow's hierarchy of needs, towards useful basic things like food and energy. (5) It's fortunate that all those progressives yelled about the "climate crisis." Yes, their reasoning about timelines was wrong, and much of the money was wasted in graft, but the result was right: we all need energy independence from the Middle East, pronto. It's also fortunate that Elon and China autistically took climate seriously. Now they're going to need to ship a billion solar panels, electric vehicles, batteries, nuclear power plants, and the like to get everyone off oil, immediately. (6) It's not just an oil and gas problem, of course. It's also a fertilizer problem, and a chemical precursor problem. Maybe some new sources will come online at the new prices, but it takes time to dial stuff up, particularly at this scale, so shortages are almost a certainty. That said, China has actually scaled up coal-to-chemicals[a,c] (C2C), and there's also something more sci-fi called Power-to-X[b] which turns arbitrary power water air into hydrocarbons. But all of that will need to get accelerated. I have a background in chemical engineering so may start funding things in this area. (7) Ultimately, this war is going to result in tremendous blame for anyone associated with it. It's a no-win scenario to blow up this much infrastructure for so many people. Simply not worth it for whatever objective they thought they were going to attain. But unless you're actually in a position to stop the madness, the pragmatic thing to do is: scramble to mitigate the fallout to yourself, your business, and your people. [a]: reuters.com/business/energy/… [b]: alfalaval.com/industries/ene… [c]: reuters.com/sustainability/c…
695
2,086
11,618
3,368,900
tomviner retweeted
Replying to @qualityslop
Surprisingly it never occurred to me there might be a fate worse than death for a Google product.
17
1,266
38,766
tomviner retweeted
My current agentic workflow is about 5x faster, better quality, I understand the system better, and I’m having fun again. My previous workflows have left me exhausted, overwhelmed, and feeling out of touch with the systems I was building. They also degraded quality too much. This is way better. I’m not ready to describe in detail. It’s still evolving a bit. But I’ll give you a high level here. I call this the Night Shift workflow.
89
74
1,536
377,406
Claude code paper cut: - give it some markdown to rewrite - gives it back, but rendered - formatting lost :-/
1
63
I've seen this somewhere before...
Replying to @thejackbeyer
ok
33
tomviner retweeted
AGI is now on the horizon and it will deeply transform many things, including the economy. I'm currently looking to hire a Senior Economist, reporting directly to me, to lead a small team investigating post-AGI economics. Job spec and application here: job-boards.greenhouse.io/dee…
585
746
7,401
2,380,876
So, semantic web now? What say you @simonw @mitsuhiko @thdxr @amasad @timberners_lee? The API calls were never the problem. LLMs (with Personal Intelligence?) finally give me a competent delegate
1
69
tomviner retweeted
Replying to @GavinSBaker
To make a bit of an excuse for Microsoft: the world is just waking up to the fact that coding agents are general agents. It’s bitter lesson adjacent: Writing and executing code will likely outperform years of handcrafting vertical-specific agents with expert knowledge. Actually it might exactly map in bitter lesson: Program synthesis is a form of scalable search.
49
129
1,703
456,076
tomviner retweeted
I'm happy to share that we (@AnthropicAI) are investing $1.5 million in support of the Python Software Foundation and open source security. Python powers so much of the AI industry. Supporting the folks that make our work possible is an honor.
196
421
7,682
691,618