Flux
Couleur d'accent
We need RSS for sharing abundant vibe-coded apps

We need RSS for sharing abundant vibe-coded apps

We need RSS for sharing abundant vibe-coded apps Matt Webb: I would love an RSS web feed for all those various tools and apps pages, each item with an “Install” button. (But install to where?) The lesson here is that when vibe-coding accelerates app development, apps become more personal, more situated, and more frequent. Shipping a tool or a micro-app is less like launching a website and more like posting on a blog. This inspired me to have Claude add an Atom feed (and icon) to my…

Simon Willison's Weblog
PHP Alive And Kicking: Episode 29 Elizabeth Barron

PHP Alive And Kicking: Episode 29 Elizabeth Barron

Elizabeth Barron returns to the show just four weeks after her debut appearance for a wide-ranging follow-up on her first months as Executive Director of the PHP Foundation. Elizabeth shares the key findings from her community listening tour, covers the upcoming PHP community survey in partnership with JetBrains, talks about the Foundation’s plans for […] The post PHP Alive And Kicking: Episode 29 Elizabeth Barron appeared first on PHP Architect.

PHP Architect
Intercom’s npm Package Compromised in Ongoing Mini Shai-Hulud Worm Attack

Intercom’s npm Package Compromised in Ongoing Mini Shai-Hulud Worm Attack

Socket AI scanner detected, and the Socket Threat Research team has confirmed that intercom-client@7.0.4 is malicious, identifying a fresh compromise of the npm package used for Intercom’s Node.js client. intercom-client is a widely used official SDK for Intercom’s API. While it is not among npm’s largest packages, npm package aggregators report roughly 360,000 weekly downloads, and npm lists more than 100 dependent projects. The real exposure may extend beyond direct dependents, since the…

Socket
lightning PyPI Package Compromised in Supply Chain Attack

lightning PyPI Package Compromised in Supply Chain Attack

The popular PyPI package lightning has been compromised in a supply chain attack affecting newly published versions of the package. Socket has classified lightning versions 2.6.2 and 2.6.3 as malicious. Version 2.6.1, published on January 30, 2026, is clean. Version 2.6.2, published on April 30, 2026, introduced malicious code into the legitimate library. Socket’s AI scanner flagged both versions 2.6.2 and 2.6.3as potentially malicious eighteen minutes after publication. The compromise affects…

Socket
The Zig project's rationale for their firm anti-AI contribution policy

The Zig project's rationale for their firm anti-AI contribution policy

Zig has one of the most stringent anti-LLM policies of any major open source project: No LLMs for issues. No LLMs for pull requests. No LLMs for comments on the bug tracker, including translation. English is encouraged, but not required. You are welcome to post in your native language and rely on others to have their own translation tools of choice to interpret your words. The most prominent project written in Zig may be the Bun JavaScript runtime, which was acquired by Anthropic in December…

Simon Willison's Weblog
Malicious npm Package Brand-Squats TanStack to Exfiltrate Environment Variables

Malicious npm Package Brand-Squats TanStack to Exfiltrate Environment Variables

The Socket Research Team has detected an active supply-chain attack targeting the unscoped tanstack package on npm, a brand-squatted impersonation of the legitimate @tanstack/* organization. Beginning today, the package's maintainer (sh20raj) began pushing malicious versions that silently steal environment variable files, including .env, .env.local, and .env.production, from developers' machines at install time, exfiltrating them to an attacker-controlled endpoint. Versions 2.0.4 through 2.0.7…

Socket
LLM 0.32a0  is a major backwards-compatible refactor

LLM 0.32a0 is a major backwards-compatible refactor

I just released LLM 0.32a0, an alpha release of my LLM Python library and CLI tool for accessing LLMs, with some consequential changes that I've been working towards for quite a while. Previous versions of LLM modeled the world in terms of prompts and responses. Send the model a text prompt, get back a text response. import llm model = llm.get_model("gpt-5.5") response = model.prompt("Capital of France?") print(response.text()) This made sense when I started working on the library back in April…

Simon Willison's Weblog
Esc