Simon Willison

Any Nix package, live in your browser

Farid Zakaria’s trynix.dev lets users run any Nix package from the past 13 years inside a browser‑based x86_64 Linux VM powered by QEMU‑WASM. By providing URL‑addressable packages, a user can simply navigate to a link such as https://trynix.dev/?pkg=python3%403.6.2, click "Load," and obtain an interactive shell running that specific package. The platform is also integrated with GitHub Actions, enabling pull‑request reviews that launch the PR’s build directly in the browser via trynix-preview.

Simon Willison
Aug 24

llm-anthropic 0.27

The release of llm‑anthropic 0.27 updates the Anthropic plugin for LLM to be compatible with the newly released anthropic v1.0.0 Python library, which has switched from httpx to httpx2. This mirrors a similar change made by OpenAI in their v3.0.0 release two weeks prior. The update includes a migration guide and a pull request that ensures tests pass after upgrading to anthropic>=1.

Simon Willison
Aug 25

EVE Online: The Move to Python 3 Begins!

EVE Online is beginning its transition to Python 3, a move that will involve using the futurize script on 2.4 million lines of code and a manual review of about 20,000 differences between Python 2 and Python 3. The company has historically run on Stackless Python since 2003, with the last major upgrade in 2010 to Stackless Python 2.7. While the announcement does not detail how Stackless will be replaced, the team previously showcased a shift away from Stackless in their Carbon engine for EVE Frontier, leveraging the open‑source carbonengine/scheduler library.

Simon Willison
Sep 1

Python 3.15.0 candidate 2 is here!

Python 3.15.0 candidate 2 has been released, marking the final release candidate for the upcoming 3.15 release scheduled for October. Hugo van Kemenade, the release manager, notes that only clear bug‑fix changes are allowed between this candidate and the final release, and urges third‑party maintainers to prepare wheels on PyPI and test their projects during this phase. The new RC is not yet available for GitHub Actions, but users can add it to their testing matrix using the allow‑prereleases and check‑latest flags to automatically test against the latest RC and then the stable release.

Simon Willison
5d ago

Be alert: targeted attacks on prominent Rustaceans

The article warns of a targeted campaign against prominent Rust developers and crate owners, aiming to compromise their devices and accounts to publish malware. Attackers use seemingly legitimate video calls to trick targets into installing malicious software or executing commands, such as a fake audio codec or clipboard command. A recent supply‑chain attack on the array‑ref crate illustrates the threat, and the author suggests using dependency cooldowns as a defensive measure.

Simon Willison
Aug 24

Your executable is a SQLite database

Farid Zakaria shows how to create a SQLite database file that can be executed directly as a Linux binary. By setting the SQLite file format’s 4‑byte application ID to "SELF" and arranging ELF components into SQLite tables, a small C interpreter can extract and run the necessary parts. The technique can be registered with the kernel via binfmt_misc so any file matching the pattern is automatically executed.

Simon Willison
1d ago

Cloudflare Python Workers are now generally available

Cloudflare Python Workers are now generally available After a two year preview, Cloudflare's support for running Python code in their server-side Workers platform is now stable: "Python is now a first-class, fully supported language on the Cloudflare Developer Platform". A neat thing about this is how it works.

Simon Willison
Aug 22

Quoting Linus Torvalds

The article recounts a challenging debug session that was significantly aided by an AI assistant. Despite the AI initially claiming the problem was unsolvable and suggesting a report be written instead, it persisted, adding debug code and analyzing it as the author pushed forward. Ultimately, the author credits the AI with writing the commit message for the fix.