- ↔
- →
to read (pdf)
- I don't want your PRs anymore
- JitterDropper | OALABS Research
- DomainTools Investigations | DPRK Malware Modularity: Diversity and Functional Specialization
- EXHIB: A Benchmark for Realistic and Diverse Evaluation of Function Similarity in the Wild
- Neobrutalism components - Start making neobrutalism layouts today
- April 24, 2026
-
🔗 HazAT/pi-interactive-subagents v3.5.0 release
Install:
pi install git:github.com/HazAT/pi-interactive-subagents@v3.5.0Or latest:
pi install git:github.com/HazAT/pi-interactive-subagents♻️ Refactoring
- Merge spec agent into planner with lightweight clarification — one interactive session now handles both requirements engineering and technical planning, with the planner able to spawn its own scouts/researchers mid-session when it hits a factual gap
-
🔗 Simon Willison DeepSeek V4 - almost on the frontier, a fraction of the price rss
Chinese AI lab DeepSeek's last model release was V3.2 (and V3.2 Speciale) last December. They just dropped the first of their hotly anticipated V4 series in the shape of two preview models, DeepSeek-V4-Pro and DeepSeek-V4-Flash.
Both models are 1 million token context Mixture of Experts. Pro is 1.6T total parameters, 49B active. Flash is 284B total, 13B active. They're using the standard MIT license.
I think this makes DeepSeek-V4-Pro the new largest open weights model. It's larger than Kimi K2.6 (1.1T) and GLM-5.1 (754B) and more than twice the size of DeepSeek V3.2 (685B).
Pro is 865GB on Hugging Face, Flash is 160GB. I'm hoping that a lightly quantized Flash will run on my 128GB M5 MacBook Pro. It's possible the Pro model may run on it if I can stream just the necessary active experts from disk.
For the moment I tried the models out via OpenRouter, using llm-openrouter:
llm install llm-openrouter llm openrouter refresh llm -m openrouter/deepseek/deepseek-v4-pro 'Generate an SVG of a pelican riding a bicycle'Here's the pelican for DeepSeek-V4-Flash:

And for DeepSeek-V4-Pro:

For comparison, take a look at the pelicans I got from DeepSeek V3.2 in December, V3.1 in August, and V3-0324 in March 2025.
So the pelicans are pretty good, but what's really notable here is the cost. DeepSeek V4 is a very, very inexpensive model.
Here's DeepSeek's pricing page. They're charging $0.14/million tokens input and $0.28/million tokens output for Flash, and $1.74/million input and $3.48/million output for Pro.
Here's a comparison table with the frontier models from Gemini, OpenAI and Anthropic:
Model Input ($/M) Output ($/M) DeepSeek V4 Flash $0.14 $0.28 GPT-5.4 Nano $0.20 $1.25 Gemini 3.1 Flash-Lite $0.25 $1.50 Gemini 3 Flash Preview $0.50 $3 GPT-5.4 Mini $0.75 $4.50 Claude Haiku 4.5 $1 $5 DeepSeek V4 Pro $1.74 $3.48 Gemini 3.1 Pro $2 $12 GPT-5.4 $2.50 $15 Claude Sonnet 4.6 $3 $15 Claude Opus 4.7 $5 $25 GPT-5.5 $5 $30 DeepSeek-V4-Flash is the cheapest of the small models, beating even OpenAI's GPT-5.4 Nano. DeepSeek-V4-Pro is the cheapest of the larger frontier models.
This note from the DeepSeek paper helps explain why they can price these models so low - they've focused a great deal on efficiency with this release, especially for longer context prompts:
In the scenario of 1M-token context, even DeepSeek-V4-Pro, which has a larger number of activated parameters, attains only 27% of the single-token FLOPs (measured in equivalent FP8 FLOPs) and 10% of the KV cache size relative to DeepSeek-V3.2. Furthermore, DeepSeek-V4-Flash, with its smaller number of activated parameters, pushes efficiency even further: in the 1M-token context setting, it achieves only 10% of the single-token FLOPs and 7% of the KV cache size compared with DeepSeek-V3.2.
DeepSeek's self-reported benchmarks in their paper show their Pro model competitive with those other frontier models, albeit with this note:
Through the expansion of reasoning tokens, DeepSeek-V4-Pro-Max demonstrates superior performance relative to GPT-5.2 and Gemini-3.0-Pro on standard reasoning benchmarks. Nevertheless, its performance falls marginally short of GPT-5.4 and Gemini-3.1-Pro, suggesting a developmental trajectory that trails state-of-the-art frontier models by approximately 3 to 6 months.
I'm keeping an eye on huggingface.co/unsloth/models as I expect the Unsloth team will have a set of quantized versions out pretty soon. It's going to be very interesting to see how well that Flash model runs on my own machine.
You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.
-
🔗 backnotprop/plannotator v0.19.1 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.19.0 | Code Tour agent, GitHub-flavored Markdown, copy table as Markdown/CSV, flexible Pi planning mode, session-log ancestor-PID walk
v0.18.0 | Annotate focus & wide modes, OpenCode origin detection, word-level inline plan diff, Markdown content negotiation, color swatches
v0.17.10 | HTML and URL annotation, loopback binding by default, Safari scroll fix, triple-click fix, release pipeline smoke tests
v0.17.9 | Hotfix: pin Bun to 1.3.11 for macOS binary codesign regression
v0.17.8 | Configurable default diff type, close button for sessions, annotate data loss fix, markdown rendering polish
v0.17.7 | Fix "fetch did not return a Response" error in OpenCode web/serve modes
v0.17.6 | Bun.serve error handlers for diagnostic 500 responses, install.cmd cache fix
v0.17.5 | Fix VCS detection crash when p4 not installed, install script cache path fix
v0.17.4 | Vault browser merged into Files tab, Kanagawa themes, Pi idle session tool fix
v0.17.3 | Sticky lane repo/branch badge overflow fix
v0.17.2 | Supply-chain hardening, sticky toolstrip and badges, overlay scrollbars, external annotation highlighting, Conventional Comments
v0.17.1 | Pi PR review parity, parseRemoteUrl rewrite, cross-repo clone fixes, diff viewer flash fix
What's New in v0.19.1
v0.19.1 adds gated approval and hook-native output to
plannotator annotate, so you can integrate annotation review into spec-driven workflows and agent hook pipelines. Code review gains a base-branch picker, and OpenCode users get explicit control over which agents can submit plans. Seven PRs, one from a first-time contributor.Annotate
Hook-Native Annotation for Spec-Driven Workflows
Spec-driven development frameworks like spec-kit, kiro, and openspec generate multiple markdown artifacts that go through iterative review. Previously, integrating Plannotator's annotation UI into a hook pipeline required a wrapper script to parse stdout and translate it into the host's hook protocol. That friction made adoption impractical for most setups.
plannotator annotatenow ships a--hookflag that emits hook-native JSON directly. Passplannotator annotate "$FILE" --hookas a PostToolUse or Stop hook command, and the output works with Claude Code and Codex hook protocols without any glue code. Approve emits{"decision":"allow"}, annotate emits{"decision":"block","reason":"..."}with the feedback inlined, and dismiss emits{"decision":"allow"}with no side effects. The flag implies--gate(three-button UX: Approve / Annotate / Close) and supersedes--jsonwhen both are passed.The underlying
--gateflag landed first as a standalone feature, adding the three-way review UX and structured JSON output.--hookbuilds on it by mapping those three outcomes to the hook protocol'sallowandblockdecisions, removing the need for intermediate translation.- #606 and #610, closing #570 reported by @punk-dev-robot
Code Review
Custom Base Branch
Code review diffs used to compare against the auto-detected default branch. For teams that branch from
develop,release/*, or another feature branch, the diff showed changes that had nothing to do with the current PR. Users had to live with noisy diffs or skip review entirely.A searchable base-branch picker now appears in the review toolbar for Branch diff and PR Diff modes. Select any local or remote branch as the comparison target, and the diff recomputes server-side against the chosen base. The picker is hidden in modes where a base doesn't apply (staged, unstaged). Branch lists and merge-base resolution live in
packages/shared/review- core.ts, so both the Bun and Pi runtimes share the same logic.Async Remote Default Branch Detection
When
origin/HEADisn't set (common in worktrees, manually added remotes, and long-lived repos), the review server fell back to localmaininstead of querying the remote. This silently produced wrong diffs when the upstream default branch wasdeveloportrunk.The server now runs
git ls-remote --symref origin HEADas a network-based fallback with a 3-second timeout. It detects any default branch name without hardcoded guesses. On the Pi runtime, this fix also replaced the synchronousspawnSyncgit adapter with an asyncspawnimplementation, so the 3-second timeout no longer blocks the entire Node.js event loop during startup.- #609 and commit
5a1dd03
OpenCode
Workflow Modes for Planning Agents
OpenCode's
submit_plantool was available to every agent in the session, including build agents, test runners, and subagents that had no business writing plans. This caused confusion when non-planning agents surfaced the tool in their capabilities and occasionally called it by accident.The plugin now supports three explicit workflow modes.
plan-agent(the new default) keepssubmit_planvisible only to OpenCode's built-inplanagent and any additional agents listed in theplanningAgentsconfiguration.manualhidessubmit_planentirely and relies on slash commands (/plannotator-review,/plannotator-annotate, etc.) for all interactions.all-agentsrestores the previous behavior for users who intentionally route planning through non-default agents.- #571, closing #422 requested by @timrichardson
Plan Diff
Quieter Diffs on Prose Edits
Plan diffs use word-level diffing, which produces readable results for most code-like edits but struggles with three specific patterns: markdown emphasis delimiters (
**bold**→**new bold**), adjacent word-level swaps, and hyphenated compound changes. The diff engine highlighted individual characters in ways that were technically correct but hard to parse visually.Three post-processing passes now clean up these patterns. Bold-phrase swaps collapse into single changed regions instead of fragmenting across delimiter boundaries. Adjacent single-word changes merge when they share a boundary. Hyphenated compounds that change a single segment highlight the full compound rather than the hyphen and segment separately.
In-Page Anchor Navigation
Clicking a
#-prefixed link in the plan viewer scrolled the entire browser window instead of the plan content viewport. Since plans render inside a sticky scroll container, the native jump missed the target entirely.Anchor clicks are now intercepted and smooth-scrolled within the correct viewport. Each heading exposes both a canonical slug (collapsed separators) and a legacy slug via
data-anchor-aliases, so previously shared URLs keep resolving. Initial-hash andhashchangeevents are handled so direct links land on the right heading after load.- #605 by @dgrissen2
Additional Changes
- Pi async git runtime. The Pi extension's git adapter used
spawnSync, which blocked the Node.js event loop during every git operation. Replaced with an asyncspawnimplementation that mirrors the Bun server's pattern, including timeout support viaproc.kill(). This was particularly important fordetectRemoteDefaultBranch, which fires at review server startup with a multi-second timeout. (commit5a1dd03)
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run
/pluginin Claude Code, find plannotator , and click "Update now".OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in
opencode.json:{ "plugin": ["@plannotator/opencode@latest"] }Pi: Install or update the extension:
pi install npm:@plannotator/pi-extension
What's Changed
- feat(opencode): workflow modes for planning agent scoping by @backnotprop in #571
- fix(ui): in-page anchor navigation for headings by @dgrissen2 in #605
- feat(review): custom base branch for code review by @backnotprop in #602
- feat(annotate): approve/annotate/dismiss flow with --gate and --json by @backnotprop in #606
- fix(review): detect remote default branch via ls-remote fallback by @backnotprop in #609
- feat(annotate): replace --silent-approve with --hook for native hook protocol by @backnotprop in #610
- feat(ui): quieter plan diffs on prose edits by @pbowyer in #603
New Contributors
Contributors
@pbowyer authored the plan diff post-processing passes (#603), fixing three categories of noisy word-level diffs that made prose edits hard to read. First contribution to the project.
@dgrissen2 fixed anchor navigation in the plan viewer (#605), adding smooth-scroll interception, legacy slug aliases, and initial-hash handling.
Community members who reported issues that shaped this release:
- @punk-dev-robot filed #570 requesting an approve/reject flow for spec-driven frameworks, which led to the
--gateand--hookflags - @timrichardson filed #422 requesting configurable planning agent names in OpenCode, which drove the workflow modes feature
- @LUUUAN filed #599 requesting custom base branch support for code review
- @leoreisdias participated in the #570 discussion with implementation feedback
Full Changelog :
v0.19.0...v0.19.1 -
🔗 HexRaysSA/plugin-repository commits sync repo: +1 plugin, +3 releases rss
sync repo: +1 plugin, +3 releases ## New plugins - [clang-include](https://github.com/oxikkk/ida-clang-include) (1.0.0) ## New releases - [BinSync](https://github.com/binsync/binsync): 5.14.1 - [unicorn-tracer-arm64](https://github.com/chenxvb/unicorn-trace): 0.3.1 -
🔗 19h/ida-structor v2.0.0 release
Full Changelog :
v1.0.0...v2.0.0 -
🔗 19h/ida-lifter v2.5.0 release
Full Changelog :
v2.4.0...v2.5.0 -
🔗 19h/ida-lifter v2.4.0 release
Full Changelog :
v2.3.0...v2.4.0 -
🔗 19h/ida-lifter v2.3.0 release
Full Changelog :
v2.2.0...v2.3.0
-
- April 23, 2026
-
🔗 Simon Willison Extract PDF text in your browser with LiteParse for the web rss
LlamaIndex have a most excellent open source project called LiteParse, which provides a Node.js CLI tool for extracting text from PDFs. I got a version of LiteParse working entirely in the browser, using most of the same libraries that LiteParse uses to run in Node.js.
Spatial text parsing
Refreshingly, LiteParse doesn't use AI models to do what it does: it's good old-fashioned PDF parsing, falling back to Tesseract OCR (or other pluggable OCR engines) for PDFs that contain images of text rather than the text itself.
The hard problem that LiteParse solves is extracting text in a sensible order despite the infuriating vagaries of PDF layouts. They describe this as "spatial text parsing" - they use some very clever heuristics to detect things like multi-column layouts and group and return the text in a sensible linear flow.
The LiteParse documentation describes a pattern for implementing Visual Citations with Bounding Boxes. I really like this idea: being able to answer questions from a PDF and accompany those answers with cropped, highlighted images feels like a great way of increasing the credibility of answers from RAG-style Q&A.
LiteParse is provided as a pure CLI tool, designed to be used by agents. You run it like this:
npm i -g @llamaindex/liteparse lit parse document.pdfI explored its capabilities with Claude and quickly determined that there was no real reason it had to stay a CLI app: it's built on top of PDF.js and Tesseract.js, two libraries I've used for something similar in a browser in the past.
The only reason LiteParse didn't have a pure browser-based version is that nobody had built one yet...
Introducing LiteParse for the web
Visit https://simonw.github.io/liteparse/ to try out LiteParse against any PDF file, running entirely in your browser. Here's what that looks like:

The tool can work with or without running OCR, and can optionally display images for every page in the PDF further down the page.
Building it with Claude Code and Opus 4.7
The process of building this started in the regular Claude app on my iPhone. I wanted to try out LiteParse myself, so I started by uploading a random PDF I happened to have on my phone along with this prompt:
Clone https://github.com/run-llama/liteparse and try it against this fileRegular Claude chat can clone directly from GitHub these days, and while by default it can't access most of the internet from its container it can also install packages from PyPI and npm.
I often use this to try out new pieces of open source software on my phone - it's a quick way to exercise something without having to sit down with my laptop.
You can follow my full conversation in this shared Claude transcript. I asked a few follow-up questions about how it worked, and then asked:
Does this library run in a browser? Could it?This gave me a thorough enough answer that I was convinced it was worth trying getting that to work for real. I opened up my laptop and switched to Claude Code.
I forked the original repo on GitHub, cloned a local copy, started a new
webbranch and pasted that last reply from Claude into a new file called notes.md. Then I told Claude Code:Get this working as a web app. index.html, when loaded, should render an app that lets users open a PDF in their browser and select OCR or non-OCR mode and have this run. Read notes.md for initial research on this problem, then write out plan.md with your detailed implementation planI always like to start with a plan for this kind of project. Sometimes I'll use Claude's "planning mode", but in this case I knew I'd want the plan as an artifact in the repository so I told it to write
plan.mddirectly.This also means I can iterate on the plan with Claude. I noticed that Claude had decided to punt on generating screenshots of images in the PDF, and suggested we defer a "canvas-encode swap" to v2. I fixed that by prompting:
Update the plan to say we WILL do the canvas-encode swap so the screenshots thing worksAfter a few short follow-up prompts, here's the plan.md I thought was strong enough to implement.
I prompted:
build it.And then mostly left Claude Code to its own devices, tinkered with some other projects, caught up on Duolingo and occasionally checked in to see how it was doing.
I added a few prompts to the queue as I was working. Those don't yet show up in my exported transcript, but it turns out running
rg queue-operation --no-filename | grep enqueue | jq -r '.content'in the relevant~/.claude/projects/folder extracts them.Here are the key follow-up prompts with some notes:
-
When you implement this use playwright and red/green TDD, plan that too- I've written more about red/green TDD here. -
let's use PDF.js's own renderer(it was messing around with pdfium) -
The final UI should include both the text and the pretty-printed JSON output, both of those in textareas and both with copy-to-clipboard buttons - it should also be mobile friendly- I had a new idea for how the UI should work -
small commits along the way- see below -
Make sure the index.html page includes a link back to https://github.com/run-llama/liteparse near the top of the page- it's important to credit your dependencies in a project like this! View on GitHub → is bad copy because that's not the repo with this web app in, it's the web app for the underlying LiteParse libraryRun OCR should be unchecked by default-
When I try to parse a PDF in my browser I see 'Parse failed: undefined is not a function (near '...value of readableStream...')- it was testing with Playwright in Chrome, turned out there was a bug in Safari ... oh that is in safari but it works in chromeWhen "Copy" is clicked the text should change to "Copied!" for 1.5s-
[Image #1] Style the file input so that long filenames don't break things on Firefox like this - in fact add one of those drag-drop zone UIs which you can also click to select a file- dropping screenshots in of small UI glitches works surprisingly well Tweak the drop zone such that the text is vertically centered, right now it is a bit closer to the top-
it breaks in Safari on macOS, works in both Chrome and Firefox. On Safari I see "Parse failed: undefined is not a function (near '...value of readableStream...')" after I click the Parse button, when OCR is not checked- it still wasn't working in Safari... -
works in safari now- but it fixed it pretty quickly once I pointed that out and it got Playwright working with that browser
I've started habitually asking for "small commits along the way" because it makes for code that's easier to understand or review later on, and I have an unproven hunch that it helps the agent work more effectively too - it's yet another encouragement towards planning and taking on one problem at a time.
While it was working I decided it would be nice to be able to interact with an in-progress version. I asked a separate Claude Code session against the same directory for tips on how to run it, and it told me to use
npx vite. Running that started a development server with live-reloading, which meant I could instantly see the effect of each change it made on disk - and prompt with further requests for tweaks and fixes.Towards the end I decided it was going to be good enough to publish. I started a fresh Claude Code instance and told it:
Look at the web/ folder - set up GitHub actions for this repo such that any push runs the tests, and if the tests pass it then does a GitHub Pages deploy of the built vite app such that the web/index.html page is the index.html page for the thing that is deployed and it works on GitHub PagesAfter a bit more iteration here's the GitHub Actions workflow that builds the app using Vite and deploys the result to https://simonw.github.io/liteparse/.
I love GitHub Pages for this kind of thing because it can be quickly configured (by Claude, in this case) to turn any repository into a deployed web-app, at zero cost and with whatever build step is necessary. It even works against private repos, if you don't mind your only security being a secret URL.
With this kind of project there's always a major risk that the model might "cheat" - mark key features as "TODO" and fake them, or take shortcuts that ignore the initial requirements.
The responsible way to prevent this is to review all of the code... but this wasn't intended as that kind of project, so instead I fired up OpenAI Codex with GPT-5.5 (I had preview access) and told it:
Describe the difference between how the node.js CLI tool runs and how the web/ version runsThe answer I got back was enough to give me confidence that Claude hadn't taken any project-threatening shortcuts.
... and that was about it. Total time in Claude Code for that "build it" step was 59 minutes. I used my claude-code-transcripts tool to export a readable version of the full transcript which you can view here, albeit without those additional queued prompts (here's my issue to fix that).
Is this even vibe coding any more?
I'm a pedantic stickler when it comes to the original definition of vibe coding - vibe coding does not mean any time you use AI to help you write code, it's when you use AI without reviewing or caring about the code that's written at all.
By my own definition, this LiteParse for the web project is about as pure vibe coding as you can get! I have not looked at a single line of the HTML and TypeScript written for this project - in fact while writing this sentence I had to go and check if it had used JavaScript or TypeScript.
Yet somehow this one doesn't feel as vibe coded to me as many of my other vibe coded projects:
- As a static in-browser web application hosted on GitHub Pages the blast radius for any bugs is almost non-existent: it either works for your PDF or doesn't.
- No private data is transferred anywhere - all processing happens in your browser - so a security audit is unnecessary. I've glanced once at the network panel while it's running and no additional requests are made when a PDF is being parsed.
- There was still a whole lot of engineering experience and knowledge required to use the models in this way. Identifying that porting LiteParse to run directly in a browser was critical to the rest of the project.
Most importantly, I'm happy to attach my reputation to this project and recommend that other people try it out. Unlike most of my vibe coded tools I'm not convinced that spending significant additional engineering time on this would have resulted in a meaningfully better initial release. It's fine as it is!
I haven't opened a PR against the origin repository because I've not discussed it with the LiteParse team. I've opened an issue, and if they want my vibe coded implementation as a starting point for something more official they're welcome to take it.
You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.
-
-
🔗 r/Yorkshire Opinion: Nigel Farage's legacy is Brexit. Brexit has not delivered even 10% of what was promised. I have no reason to believe Reform's next flashy promise will come true rss
I remember Brexit promises. "We will be Singapore-on-Thames", "Turkey will join the EU", "Other countries will leave the EU too", "We'll leave the EU to save more money for the NHS", "Migration rates will lower", "We will hold all the cards in EU-UK negotiations", among other things.
All lies.
We definitely don't hold all the cards in negotiations. And why would we? We are a little island of 67 million people, reliant on imports. The EU is a free trade bloc of 450 million people, with territory the size of a continent.
Lies, enabled by Nigel Farage and his friends. So, frankly - and maybe I'm the oddball - I don't understand why he is still relevant.
Reform talks about cutting red tape to support British business. However, they don't tell people that Brexit was the biggest Red Tape, anti-business act of the century.
Brexit added admin costs and paperwork for businesses around Britain.
Brexit made imports more expensive, which drives up our cost-of-living.
Brexit took away EU development money from deprived areas of Britain.
Brexit was a profound failure. Therefore, I have no reason to believe Nigel's next flashy promise will materialise.
And that's not even getting into Reform's shambolic views on the Iran war and Net Zero. That war, which was unnecessary and drove up our fossil fuel energy bills? Seriously? Is Trump really that important to Reform?
That is all. It is frustrating to see this party stay relevant across the north, considering these factors.
submitted by /u/coffeewalnut08
[link] [comments] -
🔗 Simon Willison A pelican for GPT-5.5 via the semi-official Codex backdoor API rss
GPT-5.5 is out. It's available in OpenAI Codex and is rolling out to paid ChatGPT subscribers. I've had some preview access and found it to be a fast, effective and highly capable model. As is usually the case these days, it's hard to put into words what's good about it - I ask it to build things and it builds exactly what I ask for!
There's one notable omission from today's release - the API:
API deployments require different safeguards and we are working closely with partners and customers on the safety and security requirements for serving it at scale. We'll bring GPT‑5.5 and GPT‑5.5 Pro to the API very soon.
When I run my pelican benchmark I always prefer to use an API, to avoid hidden system prompts in ChatGPT or other agent harnesses from impacting the results.
The OpenClaw backdoor
One of the ongoing tension points in the AI world over the past few months has concerned how agent harnesses like OpenClaw and Pi interact with the APIs provided by the big providers.
Both OpenAI and Anthropic offer popular monthly subscriptions which provide access to their models at a significant discount to their raw API.
OpenClaw integrated directly with this mechanism, and was then blocked from doing so by Anthropic. This kicked off a whole thing. OpenAI - who recently hired OpenClaw creator Peter Steinberger - saw an opportunity for an easy karma win and announced that OpenClaw was welcome to continue integrating with OpenAI's subscriptions via the same mechanism used by their (open source) Codex CLI tool.
Does this mean anyone can write code that integrates with OpenAI's Codex-specific APIs to hook into those existing subscriptions?
The other day Jeremy Howard asked:
Anyone know whether OpenAI officially supports the use of the
/backend-api/codex/responsesendpoint that Pi and Opencode (IIUC) uses?It turned out that on March 30th OpenAI's Romain Huet had tweeted:
We want people to be able to use Codex, and their ChatGPT subscription, wherever they like! That means in the app, in the terminal, but also in JetBrains, Xcode, OpenCode, Pi, and now Claude Code.
That’s why Codex CLI and Codex app server are open source too! 🙂
And Peter Steinberger replied to Jeremy that:
OpenAI sub is officially supported.
llm-openai-via-codex
So... I had Claude Code reverse-engineer the openai/codex repo, figure out how authentication tokens were stored and build me llm-openai-via-codex, a new plugin for LLM which picks up your existing Codex subscription and uses it to run prompts!
(With hindsight I wish I'd used GPT-5.4 or the GPT-5.5 preview, it would have been funnier. I genuinely considered rewriting the project from scratch using Codex and GPT-5.5 for the sake of the joke, but decided not to spend any more time on this!)
Here's how to use it:
- Install Codex CLI, buy an OpenAI plan, login to Codex
- Install LLM:
uv tool install llm - Install the new plugin:
llm install llm-openai-via-codex - Start prompting:
llm -m openai-codex/gpt-5.5 'Your prompt goes here'
All existing LLM features should also work - use
-a filepath.jpg/URLto attach an image,llm chat -m openai-codex/gpt-5.5to start an ongoing chat,llm logsto view logged conversations andllm --tool ...to try it out with tool support.And some pelicans
Let's generate a pelican!
llm install llm-openai-via-codex llm -m openai-codex/gpt-5.5 'Generate an SVG of a pelican riding a bicycle'Here's what I got back:

I've seen better from GPT-5.4, so I tagged on
-o reasoning_effort xhighand tried again:That one took almost four minutes to generate, but I think it's a much better effort.

If you compare the SVG code (default, xhigh) the
xhighone took a very different approach, which is much more CSS-heavy - as demonstrated by those gradients.xhighused 9,322 reasoning tokens where the default used just 39.A few more notes on GPT-5.5
One of the most notable things about GPT-5.5 is the pricing. Once it goes live in the API it's going to be priced at twice the cost of GPT-5.4 - $5 per 1M input tokens and $30 per 1M output tokens, where 5.4 is $2.5 and $15.
GPT-5.5 Pro will be even more: $30 per 1M input tokens and $180 per 1M output tokens.
GPT-5.4 will remain available. At half the price of 5.5 this feels like 5.4 is to 5.5 as Claude Sonnet is to Claude Opus.
Ethan Mollick has a detailed review of GPT-5.5 where he put it (and GPT-5.5 Pro) through an array of interesting challenges. His verdict: the jagged frontier continues to hold, with GPT-5.5 excellent at some things and challenged by others in a way that remains difficult to predict.
You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.
-
🔗 r/LocalLLaMA Qwen 3.6 27B Makes Huge Gains in Agency on Artificial Analysis - Ties with Sonnet 4.6 rss
| It is crazy that Qwen3.6 27B now matches Sonnet 4.6 on AA's Agentic Index, overtaking Gemini 3.1 Pro Preview, GPT 5.2 and 5.3 as well as MiniMax 2.7. It made gains across all three indices but the way the Coding Index works, I don't think the gains are as apparent as they should be. The Coding Index only uses Terminal Bench Hard and SciCode which are both strange choices. Cleary the training on the 3.6 models out now has focused on agentic use for OpenClaw/Hermes but it's interesting how close to frontier models such a small model can get. Qwen3.6 122B might be epic. . . submitted by /u/dionysio211
[link] [comments]
---|--- -
🔗 The Pragmatic Engineer The Pulse: ‘Tokenmaxxing’ as a weird new trend rss
Hi, this is Gergely with a bonus, free issue of the Pragmatic Engineer Newsletter. In every issue, I cover Big Tech and startups through the lens of senior engineers and engineering leaders. Today, we cover one out of four topics from last week 's The Pulse issue. Full subscribers received the article below seven days ago. If you 've been forwarded this email, you can subscribe here .
Inside Meta, an engineer created a "token leaderboard" that ranks employees by token usage. Last week, The Information reported:
"Employees at Meta Platforms who want to show off their AI superuser chops are competing on an internal leaderboard for status as a "Session Immortal"-- or, even better, "Token Legend."
The rankings, set up by a Meta employee on its intranet using company data, measure how many tokens -- the units of data processed by AI models -- employees are burning through. Dubbed "Claudeonomics" after the flagship product of AI startup Anthropic, the leaderboard aggregates AI usage from more than 85,000 Meta employees, listing the top 250 power users.
The practice is emblematic of Silicon Valley's newest form of conspicuous consumption, known as "tokenmaxxing," which has turned token usage into a benchmark for productivity and a competitive measure of who is most AI native. Workers are maximizing their prompts, coding sessions and the number of agents working in parallel to climb internal rankings at Meta and other companies and demonstrate their value as AI automates functions such as coding."
I spoke with a few engineers at Meta about what's happening, and this is what they said:
- Massive waste. Plenty of devs are running an OpenClaw-like internal agent that burns massive amounts of tokens for little to no outcome.
- Outages caused by AI overuse. A dev mentioned that some SEVs were caused by what looked like careless AI code generation; almost like a dev behind the SEV was more concerned with churning out massive amounts of code with AI than with product quality.
- Gamified leaderboard. Those at the top of the leaderboard produce throwaway, wasteful work. This is painfully clear to anyone who checks Trajectories (AI prompts), which can be viewed.
As per The Information, Meta employees used a total of 60.2 trillion AI tokens (!!) in 30 days. If this was charged at Anthropic's API prices, it would cost $900M. Of course, Meta is likely purchasing tokens at a discount, but that could still come in at $100M+ - in large part from senseless "tokenmaxxing".
After backlash on social media, Meta abolished the internal leaderboard last week. One day after The Information revealed details about the incredible tokenmaxxing numbers, I confirmed that Meta has taken down its leaderboard; perhaps they realized that the incentive created enormous and unnecessary waste. If so, it's a bit surprising that it took media coverage for the social media giant to reach that conclusion.
One engineer at Meta told me they think Meta had a different goal with the token leaderboard. A long-tenured engineer suspects increasing AI usage actually was the real goal. They said:
"Putting a leaderboard in place was always going to incentivize much more AI usage. And more AI usage means producing a lot more real-world traces. These traces can then be used to train Meta's next-generation coding model better.
I believe this was the goal, even if no one said it out loud.
It's an expensive way to generate data for training, but if any company has the means to do so, it's Meta."
Microsoft: full-force tokenmaxxing
Similarly, Microsoft has had an internal token leaderboard like Meta's since January, and it started pretty well, as I reported back at the time: there's an internal token dashboard that displays the individuals who use the most tokens in order to promote the use of tokens and experimentation with LLMs. At the Windows maker, this leaderboard is interesting:
- Very senior engineers - distinguished-level folks - are in the top 5 across the whole company, despite the fact that this group generally wrote little code in the past.
- VP-level folks make the top 10 and top 20, despite often being in meetings for most of the day and rarely writing code.
However, what starts as a metric for performance reviews or promotions can quickly become a target for devs. I talked with a software engineer at the Windows maker who admitted they're full-on "tokenmaxxing" - not to get on the leaderboard, but rather because they don't want to be seen as using too few tokens:
"We have internal dashboards and metrics tracking AI usage, token usage, percentage of code written by AI vs hand-written code.
I am conscious of not wanting to be seen as "uses too little AI," and I'm not ashamed to say I need to do tokenmaxxing to do this. Things I do to inflate my token usage metrics:Ask AI questions about the code already in the documentation. The AI pulls up the documentation, processes it, and gives me results 10x slower, but while burning lots of tokens. I could use "readthedocs" [an internal product], but then my token numbers would be lowerAsk the AI to prototype a feature that I have no intention of working on. Prompt it a few more times, then throw the whole thing awayDefault to always using the agent, even when I know I could do the work by hand much faster. Then watch it fail"
This engineer is relatively new at the company, so is concerned about job security, and is playing this game to avoid being tagged as insufficiently "AI-native" by burning far more tokens than necessary.
Salesforce: burning tokens to hit "minimum" & "ideal" targets
Elsewhere, Salesforce has created "tokenmaxxing" incentives, as well.**** Talking with an engineer there, I learned that the company built two tools that effectively incentivize excessive spending on tokens:
- " Minimum" incentives with a tracking tool. There's a Mac widget that shows your own spend, updated every 15 minutes. It also displays minimum expected spend. Last week, the target was $100 on Claude Code, and $70 on Cursor.
- Showing everyone 's spend. A web-based tool to see the token spend of any colleague. It's used to check where team mates' usage is at.
- " Maximum" spend limits that can be exceeded. Up to a week ago, there was also a maximum monthly limit of $250 for Claude Code and $170 for Cursor. However, this can be exceeded with the simple press of a button if the limit is reached. I 've learned that last week, some engineering organisations at Salesforce had their "maximum" limit removed in order to "remove any friction from the development process."
The message Salesforce sends to staff is clear: "use a minimum of $170/month tokens or be flagged." Who wants to get flagged for using too few tokens? The outcome is somewhat wasteful token spend:
- Burning tokens for nothing. Devs ask Claude or Cursor: "build me X," where X is a project or product with nothing to do with their work, and not something they'd ever ship. It's just a way to burn tokens
- Calibrating token spend to be above average. Plenty of devs browse peers' token spend to figure out the slightly-above average point, then use the tokens needed to hit that mark
Shopify: an example on how to avoid tokenmaxxing
The first-ever token leaderboard that I'm aware of was built by Shopify in 2025. And it worked well! Last June, the Head of Engineering at Shopify, Farhan Thawar, told me on The Pragmatic Engineer Podcast:
"We have a leaderboard where we actively celebrate the people who use the most tokens because we want to make sure they are [celebrated] if they're doing great work with AI.
[And for the top people on the leaderboard,] I want to see why they spent say $1,000 a month in credits for Cursor. Maybe that's because they're building something great and they have an agent workforce underneath them!"
I asked Farhan for details on how it's gone since. Here's what he told me:
"We have since renamed the token leaderboard to usage dashboard: for obvious reasons, as we don't want to encourage "competing" to make it to the top of this board. We have token spend on our internal wiki profile as well as on the usage dashboard.
We also have circuit breakers to catch "runaway agents." So if personal spend spikes within a day, we can cut off access immediately, and you can renew if the usage spike was deliberate, or if it was a runaway agent. The circuit breaker worked well for us: we've not only caught runaway agents, but found bugs in our infra this way!"
Shopify's approach seems to have worked for a few reasons:
- The usage dashboard served as a "push" for devs to use AI tools, early-on. Last year, devs were mostly experimenting with AI tools because they were not as performant as today. The usage dashboard encouraged developers to try new tools, and highlighted power users.
- Circuit breakers helped. Cutting off spend when usage spikes helped catch "runaway agents."
- High usage is looked at. Farhan checks-in with top-spending individuals to understand the use cases. Any tokenmaxxing would likely have been spotted at this stage, which would have been a bit embarrassing for the user!
One more interesting learning Farhan shared with me: it's more interesting to not look at "who spent the most in overall token cost?" but instead, "whose tokens cost the most?" Devs who generate tokens that come out as expensive have turned out to do in-depth work that was interesting to learn about!
Tokenmaxxing: great for AI vendors, bad for everyone else
I see very few rational reasons why incentivizing tokenmaxxing makes sense for any company. It results in increasing AI spend - by a lot! - in return for little to no value. Heck, in some cases it actually incentivises slower work - as shown by devs using the AI to answer questions when documentation is readily available - and encouraging 'busywork' where devs prompt projects that they don't even want to ship. Tokenmaxxing seems to push devs to focus on stuff that makes no difference to a business.
It feels to me that a good part of the industry is using token count numbers similarly to how the lines-of-code-produced metric was used years ago. There was a time when the number of lines written daily or monthly was an important metric in programmer productivity, until it became clear that it's a terrible thing to focus on. A lines-of-code metric can easily be gamed by writing boilerplate or throwaway code. Also, the best developers are not necessarily those who write the most code; they're the ones who solve hard problems for the business quickly and reliably with - or without - code!
Similarly, the number of tokens a dev generates can easily be gamed, and if this metric is measured then devs will indeed game it. But doing so generates a massive accompanying AI bill!
-- -
Read the full issue of last week 's The Pulse , or check out this week 's The Pulse . This week 's issue covers:
- New trend: token spend breaks budgets - what next? In the past 2-3 months, spending on AI agents has exploded at many tech companies, and the ramifications of this are starting to dawn on engineering leaders. We've sourced details from 15 companies, including the different ways they are coping with this realization.
- New trend: more AI vendors can 't keep up with demand. Related to massively increased spending, GitHub Copilot and Anthropic are starting to limit less-profitable individual users, so they can serve business users whose spend has easily 10x'd in the last few months. The exception is OpenAI and Codex.
- Morale at Meta hits all-time low? Business is booming but devs at Meta are furious and worried due to looming layoffs, and an invasive tracking program rolled out to all US employees.
-
🔗 @binaryninja@infosec.exchange This marks the first stable release of our v2 Enterprise server bringing major mastodon
This marks the first stable release of our v2 Enterprise server bringing major improvements for Enterprise customers, and while we will continue supporting v1 for a period of time, v2 is where we recommend heading next. More on the v2 server and the rest of 5.3 here: https://binary.ninja/2026/01/26/enterprise-2.0.html
-
🔗 r/Leeds Scam Gardeners rss
I appreciate this is a long shot, and I know people should be more careful with what is a well-known scam at this point. However...
Does anyone recognise the flatbed Transit in this blurry picture?
They approached an elderly man on the street and offered to cut his hedges. They took £150 up front and then left without completing the job. The next day they came round to the house again and said he had not paid and that he needed to pay up. They have damaged his property and keep threatening him. The police have been absolutely useless and say it's a civil matter.
They are extorting him and he is scared to death.
They are using the phone number: 07986992278
Edit: updated phone number. Thanks for the feedback.
Update: thanks for those that solved so quickly, incredibly work 😀.
submitted by /u/Kindly_Hand4472
[link] [comments] -
🔗 r/wiesbaden Hebebühne PKW rss
Hi Zusammen,
ich würde gerne eine Hebebühne mieten um paar Sachen an meinem Pkw zu machen. Wo kann man sowas in Wiesbaden mieten?
Habe im Internet nicht direkt was gefunden.
Vielen Dank!
submitted by /u/Lebenskuenstlerinho
[link] [comments] -
🔗 HazAT/pi-interactive-subagents v3.4.0 release
Install:
pi install git:github.com/HazAT/pi-interactive-subagents@v3.4.0Or latest:
pi install git:github.com/HazAT/pi-interactive-subagents✨ Features
- Add configurable subagent status supervision and turn-only interruption.
Subagents now surface a livestarting / active / quiet / stalledstatus
in the widget, and steerstalled/recoveredtransitions to the parent
model (routine status stays widget-only to keep token costs low). A new
subagent_interrupttool sends Escape to a running Pi-backed subagent
without aborting the watcher, closing the pane, or mutating session state —
idempotent and safe to call repeatedly. Cadence is configurable globally
viaconfig.jsonand per-call viastatusCadenceSeconds.
🔧 Other Changes
- Integration harness now loads the working-tree extension directly via
pi -ne -e <path>instead of relying on the installed pi-package snapshot,
so integration tests always exercise current branch code.
🙏 Thanks
Huge thanks to @w-winter for contributing the
status supervision +subagent_interruptfeature in #29.
Really nice, thoughtfully-designed work — clean state machine, defensive
interrupt semantics, and thorough test coverage. Much appreciated! 🎉 - Add configurable subagent status supervision and turn-only interruption.
-
🔗 MetaBrainz Picard 3 beta 1 released rss
Today, we're making available another pre-release version for the upcoming MusicBrainz Picard 3. Beta 1 focuses on fixing issues that were found in the previous releases as well as some minor improvements and updated translations.
Download links and a list of changes since Picard 3 alpha 4 are available below. For a more detailed overview of what is new in Picard 3 please see the previous blog post Picard 3 Alpha Release.
While we have all the major features implemented and with the latest bug fixes we are confident in the current code, this is still a pre-release and there might be bugs. If you use this, do so with care, backup your files and please report any issues you encounter.
Some of the changes are also backward incompatible, hence we recommend you make a backup of your Picard.ini config file before trying the beta version. You can do so in Picard’s Options under Advanced > Maintenance.
What’s new?
Bug fixes
- [PICARD-3236] - PyJWT~=2.12 requirement too strict and impacts distro packaging
- [PICARD-3237] - AppStream metadata validation fails due to changed FAQ URL
- [PICARD-3238] - No longer able to paste text value into multiple tracks
- [PICARD-3239] - Picard can't remove plugin data on Windows
- [PICARD-3246] - Genre tag changes on every reload when multiple genres have equal vote counts
- [PICARD-3249] - Tags not suggested in Edit Tag dialog
New Features
- [PICARD-2982] - Submit Listens to ListenBrainz using Picard
- [PICARD-3250] - Support Simplified Chinese to Traditional Chinese plugin in official builds
Improvements
- [PICARD-3254] - Plugins v3 MANIFEST: add support for
report_bugs_tofield - [PICARD-292] - Wizard/configuration tutorial on first run
- [PICARD-3199] - Detect FLAC
unsyncedlyricstag - [PICARD-3240] - Map
syncedlyricstoWM/Lyrics_Synchronisedfor ASF - [PICARD-3244] - Fix word-wrap issue regarding the network cache size option setting
Tasks
- [PICARD-3243] - Documentation: Add note about unnecessary spaces in script functions
- [PICARD-3247] - Update snap build for Picard 3 with Qt6
Download
We appreciate your interest in trying this new version. Use with care, backup your files and please use theMetaBrainz community forums and the ticket system to give feedback and report bugs.
For Windows and macOS you can download the beta version from the Picard download page. Linux users can run from source or try the beta channel of the Picard snap package.
Picard is free software and the source code is available on GitHub.
Acknowledgements
Code contributions by Bob Swift, Deepak Kumar, Laurent Monin and Philipp Wolfer.
Translations were updated by bababasti (German), coldified_ (Korean), cristian_emanuel (Portuguese (Brazil)) and Marc Riera (Catalan). -
🔗 r/Yorkshire Actually obsessed with the atmosphere in this shot! It's god's own country for a reason🥺💫 rss
| 📷Dave Z Photography submitted by /u/RedDevilPlay
[link] [comments]
---|--- -
🔗 r/Harrogate About to move to Harrogate rss
Hi all,
My wife (29F) and I (29M) are about to move into our first house in Bilton, Harrogate.
We’re not from the area so don’t know it particularly well and would love some local recommendations.
Things we’re looking for:
Gyms (good value vs higher-end, open to both)
Golf course, I am keen to join a club (24 handicap)
Tennis / padel clubs nearby - possibly with a gym to tie in above
Pubs for watching sport (football/rugby)
Pubs for a few casual drinks
Good beer gardens for summer
Running/cycling routes
Also any advice on the more boring stuff:
Reliable broadband providers in the area?
Energy suppliers (we’ll compare, but keen to hear real experiences)
And more generally any hidden gems, things to avoid, or “wish you knew when you moved” tips would be massively appreciated.
Thanks in advance
submitted by /u/BroadwayEssentials
[link] [comments] -
🔗 HexRaysSA/plugin-repository commits sync repo: +3 releases rss
sync repo: +3 releases ## New releases - [FeelingLucky](https://github.com/terrynini/feelinglucky): 1.0.2, 1.0.1, 1.0.0 ## Changes - [ApplyCalleeTypeEx](https://github.com/dump-guy/applycalleetypeex): - host changed: Dump-GUY/ApplyCalleeTypeEx → dump-guy/applycalleetypeex - [CrystalRE](https://github.com/nico-posada/crystalre): - host changed: Nico-Posada/CrystalRE → nico-posada/crystalre - [DBImporter](https://github.com/hexrayssa/ida-dbimporter): - host changed: HexRaysSA/ida-dbimporter → hexrayssa/ida-dbimporter - [DeepExtract](https://github.com/marcosd4h/deepextractida): - host changed: marcosd4h/DeepExtractIDA → marcosd4h/deepextractida - [EmuIt](https://github.com/azzonfire/emuit): - host changed: AzzOnFire/emuit → azzonfire/emuit - [GoResolver](https://github.com/volexity/goresolver): - host changed: volexity/GoResolver → volexity/goresolver - [HappyIDA](https://github.com/happyida/happyida): - host changed: HappyIDA/HappyIDA → happyida/happyida - [HashDB](https://github.com/oalabs/hashdb-ida): - host changed: OALabs/hashdb-ida → oalabs/hashdb-ida - [IDASignsrch](https://github.com/l4ys/idasignsrch): - host changed: L4ys/IDASignsrch → l4ys/idasignsrch - [IDAssist](https://github.com/symgraph/idassist): - host changed: symgraph/IDAssist → symgraph/idassist - [IDAssistMCP](https://github.com/symgraph/idassistmcp): - host changed: symgraph/IDAssistMCP → symgraph/idassistmcp - [LazyCross](https://github.com/l4ys/lazycross): - host changed: L4ys/LazyCross → l4ys/lazycross - [LazyIDA](https://github.com/l4ys/lazyida): - host changed: L4ys/LazyIDA → l4ys/lazyida - [ReCopilot](https://github.com/xingtulab/recopilot): - host changed: XingTuLab/recopilot → xingtulab/recopilot - [SuperHint](https://github.com/p05wn/superhint): - host changed: p05wn/SuperHint → p05wn/superhint - [ZoomAllViews](https://github.com/dump-guy/zoomallviews): - host changed: Dump-GUY/ZoomAllViews → dump-guy/zoomallviews - [bindiff](https://github.com/hexrays-plugin-contributions/bindiff): - host changed: HexRays-plugin-contributions/bindiff → hexrays-plugin-contributions/bindiff - [binexport](https://github.com/hexrays-plugin-contributions/binexport): - host changed: HexRays-plugin-contributions/binexport → hexrays-plugin-contributions/binexport - [deREferencing](https://github.com/danigargu/dereferencing): - host changed: danigargu/deREferencing → danigargu/dereferencing - [edit-function-prototype](https://github.com/oxikkk/ida-edit-function-prototype): - host changed: oxiKKK/ida-edit-function-prototype → oxikkk/ida-edit-function-prototype - [function-string-associate](https://github.com/oxikkk/ida-function-string-associate): - host changed: oxiKKK/ida-function-string-associate → oxikkk/ida-function-string-associate - [gepetto](https://github.com/justicerage/gepetto): - host changed: JusticeRage/Gepetto → justicerage/gepetto - [hrtng](https://github.com/kasperskylab/hrtng): - host changed: KasperskyLab/hrtng → kasperskylab/hrtng - [ida-cyberchef](https://github.com/hexrayssa/ida-cyberchef): - host changed: HexRaysSA/ida-cyberchef → hexrayssa/ida-cyberchef - [ida-security-scanner](https://github.com/symbioticsec/ida-security-scanner): - host changed: SymbioticSec/ida-security-scanner → symbioticsec/ida-security-scanner - [ida-terminal-plugin](https://github.com/hexrayssa/ida-terminal-plugin): - host changed: HexRaysSA/ida-terminal-plugin → hexrayssa/ida-terminal-plugin - [unicorn-tracer-arm64](https://github.com/chenxvb/unicorn-trace): - host changed: chenxvb/Unicorn-Trace → chenxvb/unicorn-trace - [vt-ida-plugin](https://github.com/virustotal/vt-ida-plugin): - host changed: VirusTotal/vt-ida-plugin → virustotal/vt-ida-plugin - [vtable-context-tools](https://github.com/oxikkk/ida-vtable-tools): - host changed: oxiKKK/ida-vtable-tools → oxikkk/ida-vtable-tools - [xray](https://github.com/hexrays-plugin-contributions/xray): - host changed: HexRays-plugin-contributions/xray → hexrays-plugin-contributions/xray - [yarka](https://github.com/azzonfire/yarka): - host changed: AzzOnFire/yarka → azzonfire/yarka -
🔗 r/reverseengineering Claude Code - What do you think? What do you feel is missing? rss
submitted by /u/Outrageous-Pea9611
[link] [comments] -
🔗 r/reverseengineering I spent 4 years building a static unpacker for Nuitka-compiled Python binaries including Commercial encrypted builds. Finally open-sourcing it. rss
submitted by /u/Dima_Reverse
[link] [comments] -
🔗 r/york Thursday (today) 15:19 York-Edinburgh First Class upgrade going free rss
| Hi, I’m a fool and have booked a SeatFrog upgrade for the wrong day. If anybody is travelling on this service, happy to give you the upgrade for free. You must already have a ticket for this service - this is just an upgrade. submitted by /u/APieceOfLalique
[link] [comments]
---|--- -
🔗 r/york View of the Minster from top of St. Olave’s rss
| I ascended the bell tower of St. Olave church this morning, and thought I’d snap quick pic while there. Not the best photography in the world, but hopefully worth sharing 😊 submitted by /u/Simple_Joys
[link] [comments]
---|--- -
🔗 r/LocalLLaMA Qwen 3.6 27B is a BEAST rss
I have a 5090 Laptop from work, 24GB VRAM.
I have been testing every model that comes out, and I can confidently say I’ll be cancelling my cloud subscriptions.
All my tool call and data science benchmarks that prove a model is reliably good for my use case, passed.
It might not be the case for other professions, but for pyspark/python and data transformation debugging it’s basically perfect.
Using llama.cpp, q4_k_m at q4_0, still looking at options for optimising.
Edit - I chose to go with IQ4_XS at 200k q8_0,
I have not used speculative decoding yet, will get there when I get there.
Specs:
ASUS ROG Strix SCAR 18
RTX 5090 24GB
64GB DDR5 RAM
submitted by /u/AverageFormal9076
[link] [comments] -
🔗 r/wiesbaden Beste Ramen rss
Hallo nach Wiesbaden, ich bin arbeitsmäßig am Wochenende in Wiesbaden und ich bin Ramen Fanatiker. Leider gibt es in meiner Gegend keine guten Restaurants weshalb ich jede Chance nutzen muss außerhalb eine Schüssel zu schlürfen. Was ist eurer Meinung nach das beste Restaurant? Am liebsten nur welche die wirklich von Japanern betrieben werden und sehr authentisch sind. Keine Fusion oder sowas :)
submitted by /u/djaevuI
[link] [comments] -
🔗 r/york I’m properly obsessed with how this place looks at sunset 🌇🤩 rss
| submitted by /u/Coffee000Oopss
[link] [comments]
---|--- -
🔗 Hex-Rays Blog Product Update: IDA 9.3sp2 Release rss
-
🔗 r/Leeds Yeah that about sums it up rss
submitted by /u/scottawesome
[link] [comments] -
🔗 r/york Is the Barbican always as warm as it was last night? rss
I went to see Jalen Ngonda at the Barbican and it was absolutely roasting inside the main arena / gig space. It was only 2/3s full (if that) and the security staff were handing out waters to people at the front, Jalen was complaining about the heat, it was ridiculous.
submitted by /u/WishfulStinking2
[link] [comments] -
🔗 r/Leeds Good massage/masseurs Leeds rss
Hello everyone, I am looking for any recommendations for a good massage therapist/massage shop in Leeds!
(And I'm not looking for a massage parlour before some funny onion suggests Winston's)
submitted by /u/InevitableSingle9652
[link] [comments] -
🔗 r/reverseengineering Fibratus 3.0.0 | Ad-hoc direct/indirect syscall evasion detection and 50+ new rules rss
submitted by /u/rabbitstack
[link] [comments] -
🔗 r/york Need help finding a wedding DJ, any recommendations? rss
Our original plan for music fell through, so now we’re scrambling a bit trying to find a wedding DJ. I’m hoping to find someone dependable who can handle both the formal parts of the reception and the party side of things without a lot of stress. If you hired someone you loved, I’d really appreciate any recomme͏ndations.
submitted by /u/goldy_bra_r
[link] [comments] -
🔗 r/Yorkshire Marsden to Slaithwaite along the Canal is beautiful. rss
| submitted by /u/CartoonistCalm9801
[link] [comments]
---|--- -
🔗 Console.dev newsletter HyperFrames rss
Description: Write HTML. Render video.
What we like: Compositions are HTML using data attributes rather than React, so it doesn’t require a build step or bundler. Supports seekable, frame-accurate animations. Easy to preview in the browser. Export to MP4. Includes AI agent skills or start manually.
What we dislike: Preview does the rendering work in real time so it can cause stuttering with large compositions that doesn’t happen once rendered.
-
🔗 Console.dev newsletter Pijul rss
Description: Distributed version control.
What we like: Independent changes can be applied in any order without changing the result - much simpler than rebase. Conflicts are expected and considered a first-class state that can be resolved, then never come back. Changes are stored as patches which model an atomic unit of work rather than a snapshot or version.
What we dislike: Development seems sporadic, although it is seemingly active.
-
🔗 Armin Ronacher Equity for Europeans rss
If you spend enough time in US business or finance conversations, one word keeps showing up: equity.
Coming from a German-speaking, central European background, I found it surprisingly hard to fully internalize what that word means. More than that, I find it very hard to talk with other Europeans about it. Worst of all it's almost impossible to explain it in German without either sounding overly technical or losing an important part of the meaning.
This post is in English, but it is written mostly for readers in Germany, Austria, and Switzerland, and more broadly for people from continental Europe. I move between “German-speaking” and “continental European” a bit. They are not the same thing, of course, but many continental European countries share a civil-law background that differs sharply from the English common-law and equity tradition. The words differ by language and jurisdiction, but the conceptual gap I am interested in shows up in similar ways.
In US usage, the word "equity" appears everywhere:
- real estate: "build equity in your home"
- startups: "employees get equity"
- public markets: "equity investors"
- private deals: "take an equity stake"
- personal finance: "negative equity in a car"
- social policy: "diversity, equity, and inclusion"
If you try to translate this into German, you have to choose words. Of course we can say Eigenkapital , Beteiligung , Anteil , Vermögen , Nettovermögen , or sometimes Substanzwert. In narrow contexts, each can be correct, but none of them carries the full concept. I find that gap interesting, because language affects default behavior and how we think about things.
One Word, Shared Meanings
In the English language, "equity" often carries multiple things at once. I believe the following ones to be the most important ones:
- A legal-fairness dimension: historically tied to equity in law
- A financial-accounting dimension: residual value after debt
- A cultural dimension: ownership as a path to wealth and agency
If you open Wikipedia, you will find many more distinct meanings of equity, but they all relate to much the same concept, just from different angles.
German, on the other hand, can express each of these layers precisely, including the subtleties within each, but it uses different words and there is no common, everyday umbrella word that naturally bundles all three.
When a concept has one short, reusable, positive word, people can move it across contexts very easily. When the concept is split into technical fragments, it tends to stay technical, and people do not necessarily think of these things as related at all in a continental European context.
How Equity Got Here
What is hard for Europeans to understand is how the financial meaning of equity appeared, because it did not appear out of nowhere. The word's original meaning comes from fairness or impartiality, and it made it to modern English via Old French and Latin (equité / aequitas).
Historically, English law had separate traditions: common law courts and courts of equity (especially the Court of Chancery). Equity in law was about fairness, conscience, and remedies where strict common law rules were too rigid. Take mortgages for instance: in older English practice, a mortgage could transfer title as security. Under strict common law, missing a deadline could mean losing the property entirely. Courts of equity developed the "equity of redemption": a borrower could still redeem by paying what was owed.
That equitable interest became foundational for how ownership and claims were understood. In finance, equity came to mean not just a number, but a claim: the residual owner's stake after prior claims are satisfied.
The European Split
German and continental European legal development took a different path. Civil law systems did not build the same separate institutional track of "equity courts" versus common law courts. Fairness principles absolutely exist, but inside the codified system, not as a parallel jurisdiction with its own language and mythology.
As a result, German vocabulary has many different words, and they are highly domain-specific. There are equivalents in other languages, and to some degree they exist in English too:
- company balance sheet: Eigenkapital
- ownership share: Beteiligung , Anteil
- unrealized asset value: stille Reserven
- household wealth: Vermögen , Nettovermögen
- investment action: Anlage , Investition
- residual net assets: Reinvermögen
This precision is useful for legal drafting and accounting. But it also means we have less of the shared mental package that many Americans get from "equity": own a piece, carry risk, participate in upside, build wealth.
Schuld Is Not Just Debt
There is another linguistic oddity worth noting: in German, "Schuld" can mean both debt/liability and guilt, and I think that too has changed how we think about equity.
"Schuld" in everyday language makes debt feel more morally charged than it does in the US. Indebtedness is often framed as a burden, and it is not thought of as a tool at all.
US financial language, by contrast, often frames debt more instrumentally and pairs it with an explicit positive counterpart: equity. Equity is what is yours after debt, what can appreciate, what can be transferred, and what can give you control.
In American financial language, debt is not as morally burdened, and equity is more than the absence of debt: it is the positive claim on the balance sheet — ownership, optionality, control, and upside.
Practical Matters
If you grew up with German-speaking framing, many US statements around equity can sound ideological or naive. From a continental European lens, they can sound like imported jargon or hollow. But if we ignore the concept, we lose something practical:
- We discuss salaries in cash terms but under-discuss ownership.
- We treat employee participation as exotic instead of normal.
- We under-explain compounding and intergenerational transfer.
- We miss a language for talking about agency through ownership.
I am not saying German-speaking Europeans are incapable of this mindset. Obviously we are not. But we clearly tend to think about these things differently.
Normalize Equity
When you hear “equity,” it helps to think of it as a rightful stake. Historically, it is connected to fairness and the recognition of a claim where strict rules would be too rigid. Financially, it is the part that remains after prior obligations. Culturally, it is something that can grow into control, agency, and upside.
That is not a perfect definition, but it captures why the term is so sticky in American discourse. It combines a present claim with a future possibility. It is not just what remains after debt; it is the part that can grow, compound, and give you agency.
If Europeans want to talk more seriously about entrepreneurship, retirement, housing, and wealth building, we would benefit from a stronger everyday vocabulary for exactly this idea. We need a longing for equity so that ownership does not remain something for founders, lawyers, accountants, and wealthy families, but becomes a normal part of how people think about work, risk, and their future.
Not because we should imitate America, but because this mental model helps people make clearer decisions about ownership, incentives, and long-term agency. For Europe, that shift feels long overdue.
-
- April 22, 2026
-
🔗 IDA Plugin Updates IDA Plugin Updates on 2026-04-22 rss
IDA Plugin Updates on 2026-04-22
Activity:
- ida-domain
- f0b9a0b8: add migration guide (#40)
- ida-sdk
- a3a4198c: docs: deprecate legacy make build in favor of CMake (#48)
- IDAPluginList
- 498e6cf0: chore: Auto update IDA plugins (Updated: 19, Cloned: 0, Failed: 0)
- pharos
- 734a4e7f: Maintain separate caches per architecture (#309)
- playlist
- f5d47e1e: You got mail :^]
- python-elpida_core.py
- 923d254c: [HERMES-ROUTED] Phase 3 routing artifact 2026-04-22T23:44Z
- 6c6509e0: [HERMES-ROUTED] Phase 3 routing artifact 2026-04-22T23:25Z
- 1c0b5b54: [HERMES-ROUTED] Phase 3 routing artifact 2026-04-22T23:01Z
- c526479a: [HERMES-ROUTED] Phase 3 routing artifact 2026-04-22T22:39Z
- a565fc1b: [HERMES-ROUTED] Phase 3 routing artifact 2026-04-22T22:20Z
- cafb713d: [HERMES-ROUTED] Phase 3 routing artifact 2026-04-22T21:58Z
- 122d3c99: [HERMES-ROUTED] Phase 3 routing artifact 2026-04-22T21:35Z
- tix-seven
- 742eea1f: idk if this is a feat: psut
- 0dd50b7d: gulatin ko nalang kayo
- 330549ba: chore: add deprecated name to prd
- eda1e9f0: chore(db): add alembic migration for log_result grant and deny enum v…
- ba167662: fix: add missing gate_api_key attribute to settings
- 75ca07e8: fix: cache MOSIPAuthenticator as singleton to prevent duplicate logs
- ida-domain
-
🔗 r/LocalLLaMA Forgive my ignorance but how is a 27B model better than 397B? rss
| Is Qwen just incredibly good at doing dense and not so good at doing MoE? I get that dense is generally better than MoE but 27B being better than 397B just doesn’t sit right with me. What are those additional experts even doing then? submitted by /u/No_Conversation9561
[link] [comments]
---|--- -
🔗 r/Yorkshire Toast! rss
| submitted by /u/Curious_Strike_5379
[link] [comments]
---|--- -
🔗 pydantic/monty v0.0.17 - 2026-04-22 release
What's Changed
- Implement
setattrbuiltin function by @friendlymatthew in #67 - stop empty tuple singleton contributing to memory limit by @davidhewitt in #363
- fix panics when overflowing negating i64::MIN by @davidhewitt in #368
- fixes GC interval ignored in ResourceTracker and Heap by @sathish-t in #371
- monty-js: allows maxMemory, allocation, recursion depth, and gc interval limits above u32::MAX by @sathish-t in #344
- fix gc coverage by @samuelcolvin in #376
- add even more GC coverage by @davidhewitt in #381
Full Changelog :
v0.0.16...v0.0.17 - Implement
-
🔗 sacha chua :: living an awesome life YE20: Emacs Carnival: Newbies/starter kits rss
This was a rough braindump on what I might want to write or do for the Emacs Carnival theme this month.
Outline
- Emacs Carnival April 2026: newbies/starter kits
- Start with why
- Curious
- Cool demo
- Reputation
- Someone else (ex: professor)
- Learning at leisure vs wanting to be productive ASAP
- Coding professionally; used to VS Code or Vim
- Journey:
- Outsiders
- Newbie
- Basic working environment
- Intermediate
- Packages
- Configuration
- Advanced
- Writing custom code
- TODO: possibly a post about where people come from and typical resources, next steps
- Curious
- Challenges
- Balance of time
- Getting a basic environment working
- Things like git performance on Windows, consoles / window managers taking over keybindings
- Starter kit trade-off
- Plus: Get stuff working quickly
- Minus: Limits your help to the kit's community, can be challenging to customize further
- Getting a basic environment working
- Isolation
- Don't know someone else who can watch them, lean over, fix stuff, suggest improvements, etc.
- Overwhelm
- Too much to fit into your brain
- Don't know how to break things down into smaller steps (which steps, etc.)
- Unknowns
- Not knowing the words to look for
- Not knowing what is close by, what is possible
- Balance of time
- What can help?
M-x help-with-tutorial(C-h t) often recommended; good for learning basic navigation- Getting help
- help-gnu-emacs, Reddit, Emacs StackExchange, Mastodon (example results: #emacs on mastodon.social)
- IRC
- Discord? Doom Emacs has one
- Meetups
- Inspiration
- Videos
- Blog posts, Planet Emacslife
- TODO: Add more resources to beginner map, make it something I can refer to quickly, host clinics?
- Manuals, books
- Stuff I work on / can tinker with
- Inspiration helps with isolation and unknowns
- Emacs News
- TODO: Add intro
- how to use it
- how to subscribe
- resources for getting help, finding meetups, etc.
- TODO: Add resources (esp. beginner resources) to map and EmacsWiki
- TODO: Add intro
- EmacsConf
- Emacs News
- Meetups, Emacs Calendar
- Videos, livestreams
- Reading people's configurations, demonstrating workflow, showing how to incorporate them
- How to Learn Emacs: A Hand-drawn One-pager for Beginners / A visual tutorial
- TODO: Needs updates: URLs, etc.
- Inspiration helps with isolation and unknowns
- Continuous learning
- Connecting with the community
- Blogging
- Managing overwhelm, etc.
Transcript
Transcript00:00:04 IntroductionAlright, let's see. Hello stream, this is Yay Emacs 20, and today I want to brainstorm some thoughts for an Emacs Carnival post on newbies and starter kits. Okay, alright, and the audio works. Alright, so Yay Emacs 20, Emacs Carnival, newbies and starter kits. That is this page. Yes. So, every month or so, pretty much every month so far, people have been getting together to write about a shared topic. And this month's topic is newbies and starter kits. So, originally proposed by Cena, but Philip added some topics to start with. Things like, what are your memories of starting with Emacs? What experiences do you have with teaching Emacs to new users? Do you think starter kits are more of a hindrance in the long term or necessary for many users to even try Emacs? What defaults do you think should be changed for everyone? What defaults do you think should be changed for new users? And what is the sweet spot between starter kit minimalism and maximalism? So, let me get myself organized here. I want to start off by maybe making a mind map and seeing how that goes. Let's try sharing. I'll do some screen mirroring from my iPad. See if it works. It'll be fun. Okay, there's the pen. Okay, let me think. Newbies... Newbies and starter kits. I like starting with a mind map because I jump all over the place anyway. Starting with something non-linear helps a bit. Okay,00:02:17 Overall structurestarting with why. People come to Emacs for many different reasons. Some people come because they're curious about something. They've seen a cool demo. They have someone they look up to and they say, how did they do that? When it shows there's a new feature, right? Interesting thing. So that's definitely something that gets people into Emacs. I also want to think about the Emacs news. Meetups, EmacsConf. Maybe do a reflection on how I can help more effectively. And then there's always this thing that I have about mapping and coaching. This is kind of the what's close by. How do I get to where I want? And lifelong learning, because it's not just about newbies... Keeping a beginner mind in Emacs is very handy. And so it's helpful to be able to keep thinking about, how do I want to learn? How can I keep learning? Okay, so at this point I'm really just thinking about topics and seeing where I want to go with this. do have chat open somewhere, so if you happen to drop by and have any thoughts, I think I can do that. Aside from that, you know, you can just also just keep me company, um, or, and, uh, something. Where is this, where is this chat window that I'm, yes, okay, there it is. All right, okay. So this is just me thinking out loud about newbies and starter kits because afterwards I can grab the transcript and start pulling things out into blog posts.00:04:57 Starting with where people areSo starting from where people are. Sometimes people are curious, either just because of Emacs' reputation or because they've seen a cool demo somewhere and they want to be able to do stuff like that. Uh, sometimes people have kind of, you know, it's, it's totally open. They can, they can learn at leisure, uh, or sometimes there's some pressure to become productive right away. Let's say, for example, if they're coding as their main job, they know that switching to Emacs will help them learn it a lot faster, but at the same time, they still have to be able to keep up with their work. Which means figuring out things like compilation errors and all that stuff faster, which can be a bit of a struggle when you're new and you're trying to set up your environment for your coding system.00:05:59 The built-in tutorial (C-h t or M-x help-with-tutorial)@j7gy8b has a question. Do people still try the built-in tutorial? I think so. I see the built-in tutorial of C-h t highly recommended every time people come across, every time people post those threads on... I'm a beginner, how do I get started? Many people recommend using the beginner tutorial because it will teach basic navigation and concepts in a fairly interactive, easy to grasp manner.00:06:30 OverwhelmOh, and somewhere in here, also in the beginner thing, there's probably something about dealing with overwhelm, because Emacs can be very overwhelming. And this is true even for experienced users. I am constantly running like this. I want to learn a long list of things, but there's only so much I can fit into my brain and have it remember things. Very little, actually. So, dealing with overwhelm is a big problem for new users.00:06:59 Getting a basic working environmentOh, and then there's something in here about... you're starting off with, like... a total newbie, you need to get over this hump of getting a basic working environment. And if you're a programmer, actually, that bar's a bit higher because you're used to IDEs and you might be coming from VS Code and Vim and have these expectations of what your editor should already be able to do out of the box or with just a little bit of configuration. So you need to be able to at least do some of your work in it without being very, very annoyed. And then you get to the point eventually where it becomes more fun. So this is like a big hurdle there. And then, I'd say intermediate users are people who are able to find and configure and use packages. @j7gy8b says, by the way, he's Jeff from Emacs San Francisco and doesn't know how to change his display name. I will try to remember that you are Jeff. Something about YouTube and Google, I don't really know either.00:08:33 Sometimes keybindings don't work@lispwizard says, one problem is platforms which usurp keystrokes which Emacs expects. I just wrestled with this on a Raspberry Pi, especially since there are so many keybindings. So for example, the GUI versus terminal thing. There are some keybindings that don't work if you don't have a GUI Emacs. And of course, if you have a GUI Emacs, and you're in a window manager, and the window manager also has a lot of global shortcuts that that override the ones that Emacs has. So when newbies come across, oh yeah, just use, meta shift left in order to do this thing in Org Mode, which is super cool. And they're like, it doesn't work for me. But they don't have the experience to know, oh, it's because it's a terminal, or oh, it's because, and so forth. So that's definitely all these little things that trip people up. Oh, and I was thinking about... Advanced would be like writing their own custom code. So, if you're trying... this thing here is a big hump, trying to get people through this journey.00:09:52 IsolationAnd, oh, there's also this... some people are isolated. Most people are isolated, I think. They don't know anyone who also uses Emacs. Maybe they're coming across Emacs because they found it in a book or they found it in a cool video, but they don't have someone who can physically sit with them and take control of their computer and set things up the way they want, solve their little Emacs Lisp issues or help them even just figure out the words to find things when they don't even know what they want to ask for. So isolation here. If you happen to be learning Emacs with the help of a mentor, or because your professor really likes Emacs and makes all of their students use it, at least for the course, for the term that they're taking it, then yeah, that's extra lucky because you have someone you can ask for help. But I think a lot of people are picking up Emacs without being able to sit next to someone or look over someone's shoulder in order to discover ways of doing things, which is why meetups helps. Meetups help a lot. Okay, so let's draw a connection between that and meetups. Isolation. Oh, there's also like, having like background expectations and knowledge. And here, these days, it's usually either VS Code or Vim. What other things? Ooh.00:11:27 Programming vs non-programming backgroundsProgramming versus non-programming. There are a lot of people who actually get into this from a non-programming background. So, programming. Org is a big thing that's drawing in people who are writers and note-takers. This is a whole, like, other... Okay. So there are a lot of things that get in people's way when it comes to thinking about like when it comes to learning Emacs.00:12:11 StudentsOkay, Jeff says in the meetup we do see that young people who are inspired by a professor to try and a lot of Emacs transmission happens this way where you have your stalwart Emacs users who are faculty and who just basically say, all right, this year, you're going to learn... Could be Scheme, could be data science or whatever else. And we're going to do it in Emacs because all of their lecture notes are in Emacs, so it's much easier for them to say here's my literate programming example of what I'm talking about. I'm just going to evaluate it during the lecture itself. So you can see that. And you all should learn Emacs. Usually they'll hedge it and say, you can use other editors if you really, really want to. But there's definitely: here's how to get started. Here's the tutorial made for this course specifically. Here are all the modules that you need. And a lot of people go from there and, and just, it clicks into their brain and they have someone to talk to: both a professor and fellow students who are learning all of this arcane stuff for the first time. So that is an excellent situation to be learning Emacs in. But it's not everyone's experience, so it'll be interesting to see how to support that case as well as other cases. I should write that down somewhere. School. Okay. So, challenges, obstacles.00:13:56 Basic working environmentThis basic working environment thing, I think, is one of the struggles because, like, for example, if people want to get things working with the current best practices for coding JavaScript or coding Python, sometimes getting LSP working just the right way is a finicky process. And then, of course, there's platform differences, like Magit being very slow on Windows. Which can't actually get around because Windows just really sucks when it comes to lots of small file operations. And so people end up recommending using WSL, Windows Subsystem for Linux, instead, which, again, is something that a newbie might not consider or come across or feel comfortable setting up. And then, of course, just install Linux, which is not always an option for people. Let me think. Okay, where are we now? There's so much to write about. What else do I take into account? What else can I add to the conversation? Okay, the stuff that I specifically know.00:15:31 Stuff I work on - Emacs NewsEmacs News helps a lot with a number of things, actually. So I do find that in the conversations and people in the Reddit threads where people ask, oh, I'm new to Emacs, what should I read? People consistently recommend things like the Mastering Emacs blog and book... What else do people like that...? People often recommend Doom Emacs, especially if people are coming from a Vim background. And Emacs News often gets mentioned as one of the resources. I think this helps for a number of reasons, because first it gives people kind of some exposure to the cool stuff that people do with Emacs. So this is inspiration. I think it's primarily on the kind of aspirational stuff. People can see interesting demos and that motivates them to stay with Emacs. And so this is actually probably more of a kind of an Emacs news-ish thing here, from intermediate to advanced. From time to time, I do come across beginner-oriented things in my kind of survey of Emacs news-related items. So let's add that to use also EN beginner stuff. Maybe it's every couple of weeks that someone posts a link that's specifically beginner-related. And one of the things that I've been slowly doing is I've been trying to map it out so that people can find those resources.00:17:28 Emacs WikiAnd actually I should add a thing here, Emacs Wiki. So one way I could improve is to take the links from Emacs News on a more regular basis and put them into the Emacs Wiki pages. There's like a page for newbies for example and so forth because... Not that newbies will come across those pages themselves, sometimes they do, but also because it makes it easier for other people to say, oh yeah, you want to learn more about that? Check out this page that has all these organized resources already. And one of the reasons why that's useful is because something that new people struggle with is figuring out what's close, what's close by... They know this, what's easy for them to get to? What's something they can learn with not much more effort? And this, I think, is one of the things that having a mentor helps with, or having a coach helps with. Because you can describe what it is that you're doing, or what it is that you're trying, and then they can say, oh yeah, you should check this out. I've started to try to do some of that.00:18:53 Mapping resourcesLet me bring up my map here. There you go. Beginner map. Clearly, that Org Babel needs to be connected to Org Mode. This, again, is not something that I think... Oh, there's actually another Org Babel over there. I need to deduplicate these things. But I'm trying to figure out how to represent the connections. Kind of like those choose your own adventure books, where you might only have some branching points to consider, so you're not overwhelmed by the whole graph. At the same time, you can sort of keep track of where you are. Does this thing still do the thing? Oh yeah, okay, okay. Alright, so this still does, in fact, keep track of what you clicked on. Okay, so I went through a lot of Emacs news links. I think those are the ones that were sort of beginner related. And then I started trying to organize them so that I can say, okay, all right, you've installed Emacs and Linux... I can go find Emacs installation instructions for other places. And then start to think, okay, from here, what are the kinds of things that people usually want to explore next? So, yeah, changing the colors is something that often people immediately want to do because they're used to a certain other look. And so, A tip and some resources, tips and resources, more things, back to the map, and so forth. So mapping the resources would theoretically help me or somebody else be able to say, okay, where are you in your learning journey? And what do you want to learn about next?00:21:00 ClojureJeff says perhaps Clojure is a route to Emacs for experts. I've heard it's the best IDE for that language. And I should mention that too, because Clojure... Am I no longer sharing? Okay. because Clojure. Yeah, it is so far I think still one of the, like Emacs is still one of the reference IDE for it. So that is, we see a lot of people come into Emacs because They're working at a Clojure shop and they basically want to use the same IDE that everybody else is already using there. Or they're getting into Clojure, they want to do work in Clojure, and so they're learning Emacs because because that's kind of the standard IDE for now. I think the State of the Clojure survey recently said there are other editors gaining ground... More editors means more places to learn, more places to pick up ideas from, so that's not terrible. It's okay too. But that's definitely a reason why people come into Emacs. because it's the standard way of doing things. And of course, Org is wonderful, and Magit is wonderful, and people come into it just for those reasons. That is okay. And sometimes people use it only for those reasons, and that is also totally okay.00:23:02 Emacs News and a mapOkay, so Emacs News is one of the things that I can fiddle with, and that can go into a map. And the map is more... Again, it's not quite in the state where newbies might navigate it, but if I were theoretically to have office hours, for example, then I might use that to quickly go through, like, okay, where are you? What do you want to learn? And here's some resources that other people have shared that might be helpful. And then theoretically, maybe they will keep exploring from there.00:23:38 Cheat sheetsOh yes, the How to Learn Emacs cheat sheet that I made ages ago. Learn Emacs. I think this is 2003. No, no, it's 2013, it feels like. I should include here. How to learn Emacs. Yeah, 2013. Okay. And the idea there was kind of a one page sheet with sort of like the most common things. What the difference is between a frame and a window, and what's the mode line, and some pointers to other things that you might want to learn. And this was... I think this was before starter kits like Doom Emacs. I don't even have Oh, this is an old URL. In fact, I should go change that. I don't even have a recommendation to learn Org first thing. Take your notes in it. Oh, no, I do have. See, it's Org Mode. Is it Org-mode? Is that even still? Yeah, okay, okay, that's still on it. Thank goodness. Okay, okay, here we go. Let's add that as a thing. So that's still being recommended, but the idea of having a single page cheat sheet, there are actually quite a few of these cheat sheets anyway. Making one yourself is always a good idea. It's a good way to deal with the overwhelm, so cheat sheet. Jumping all over the place. That's just how my brain works. It's okay. Okay, so the things that I can fiddle with. Emacs news. I have a beginner section up there. I could add an introduction to do. Add intro. So when people get to Emacs News, can I get to it? Yes. Right now, there's just this very basic subscription options, feed XML, mailing list, index.org. But I can add a little more information here for new users. to say, okay, this is how you set up elfeed. This is what Emacs News is. It's a little bit overwhelming, but you can use it for... you can keep an eye out for the beginner thing. You can look through the archives for beginner related links. And you can also start to look for recent resources related to the topics that you're interested in. So that's something I can do. There's probably an interesting way I can mark that in the audio. "Hey Sacha, do this." So that's one thing I can work on.00:27:04 MeetupsMeetups are great for newcomers because you can get over that challenge of isolation, especially when they realize that it's totally okay to ask questions at meetups and show the things that you have that aren't working and then other people will help you think about them and figure something out. I've seen a fair bit of live debugging at places like Emacs Berlin and the Org Meetup. It's hard to ask questions sometimes on Reddit, although a lot of people do. It feels a little bit like Reddit is more effective as a help platform than Stack Exchange. But sometimes you need a bit more back and forth, and that's where the meetups can be helpful. So I guess the progression there is ask on help-gnu-emacs or, well, ask on your project-specific mailing list or help-gnu-emacs or Reddit or the Emacs subreddit. And if it feels like it needs a bit more back and forth or showing things, the meetups are helpful for that. I've also seen people asking questions in Mastodon, which is very nice. But Mastodon is a little bit more of a technical thing, I think. It's not something that a lot of newbies will be on. Anyway, the meetups. People come across meetups. Not that often. But Emacs News helps with coming across meetups because I include upcoming events in the first section here. And so what I should do is in the intro, I should also mention how to subscribe. Meetups are great. Inspiration. Okay. And that's there. We run the Emacs Big Blue Button web conferencing server year-round. We don't leave it scaled up all the time because that would be expensive, but we usually keep it as a Nanode so that I don't have to spend the week before the conference scrambling to get everything sorted out and hoping that the latest install script didn't break anything. So it's fine. We just run it year-round and then scale it up for meetups. Right now it's scaled up monthly for the Emacs Berlin, Emacs APAC, and Org Meetup meetups. But if there are other meetups that would like to have a free and open source software platform to do it, we can certainly do that. We can add them to the list there. Anyway, so that's Emacs. It goes into Emacs News.00:30:19 Emacs CalendarThere is also an ical for it, which I could mention more prominently. Oh yeah, I actually do already mention it fairly prominently over there, so that's fine. Although I guess some people might not know that ical files can go into your calendar. So I should mention calendar in this intro for newbies that I should write, kind of like how to make the most of Emacs News. And that actually takes, is generated by this Emacs calendar thing. So that lists upcoming events. I also update the Emacs Wiki page for it with a copy of the thing, and I generate HTML calendars as well, in case that's what people prefer. Calendars. Calendars all over the place. I even generate org files in a gazillion different time zones, so that people can just include that. And I think then the time zones are all sorted out automatically. Because we... I don't think we still have time zone... We have time zone support yet in Org Mode? Anyway, it's there. Meetups. Where was I with... Yes. I need to add this to the intro. Let's highlight that in the thing that I need to do. Emacs news.00:31:54 EmacsConfEmacsConf is more of a, again, it's an inspiration sort of thing. We like to start the day with more beginner-oriented talks. So I'm always looking out for presentations that that makes sense to share and encourages people to kind of get into Emacs less slowly or workflows for Org Mode that can inspire them to try it out and make it a little bit more manageable. So that's in a yearly kind of schedule, students, rhythm. And so I guess the Emacs News and Emacs Conf ones are definitely more about inspiration, giving people reasons to stick with the learning curve because they can see what Emacs can do in other people's hands. And the meetups sort of help with the getting over the hump of getting a basic working environment going. Although actually people don't usually ask about basic working environments because they feel maybe a bit embarrassed. About asking about such?00:33:15 Where people ask for helpI see more of those, like, okay, I'm trying to set up this, you know, this LSP thing, and I'm getting stuck on this thing. I see more of that on Reddit. It might also be in help-gnu-emacs, but I haven't actually been reading help-gnu-emacs, because I feel like it might be a high-traffic mailing list. I should find out, okay, what's help-gnu-emacs like these days? Because I want people to be able to... Okay. So this, I feel like, is more of... It tends to be more of a... More of an intermediate resource at the moment. Now we need a place where... Okay, so Reddit seems to be a place where people are not intimidated by the thought of posting beginner questions. And there's also Emacs Stack Exchange, but I don't think people use that as much these days. Some... Maybe... I think there's... Again, this is sort of still... Still kind of intermediate-ish questions. Maybe what I should do is...00:35:12 Emacs Clinic?This actually set up kind of that Emacs clinic sort of idea, which could be Thursday. Tomorrow could be a good time to experiment with it. Okay. Whenever my iPad display times out, the UX screen mirroring becomes unhappy. So let me go restart that. I need to configure a longer timeout. Let me kill that all. Kill all uxplay. All right, let's try that again. Once more with feeling.00:36:09 My TODOsOkay. So that's probably my big to-do out of this, is Emacs news and how to learn Emacs. Both tend to be starting points. Emacs news more than how to learn Emacs, since how to learn Emacs is a little bit dated and I need to update the URL anyway. Update URL. Where was I going with this? Anita, what was I just talking about? And the inspiration part is actually also useful for encouraging more people to try out Emacs in the first place. So that is part of the journey. Usually it's curiosity drawing people in. Sometimes it's someone saying, I'm your professor, we're going to use this. But usually it's curiosity drawing people into Emacs. So if I wanted to write a blog post about or a reflection about what I can do to help people get into Emacs more effectively, I'm still kind of focusing... I still tend to focus on the intermediate part because... Why do I? Because that's the fun part for me. When you can start to customize Emacs to fit what you want. But in order for people to get to that point, they have to be able to get Emacs to the point where they can use it for their day-to-day stuff. And then they will want to spend more time in it, and then customize it to their particular needs. So, if my evil plan is to continue enjoying the cool stuff that people come up with in Emacs, it does make sense for me to help people get their basic working environment set up.00:38:39 Videos@benmezger says, there are quite some interesting YouTube channels to learn Emacs too. Yes, yes. There are great video series that people have done in the past. System Crafters is often recommended, although I think David has moved on to focusing on other things lately, like AI. But his videos on Doom Emacs, though, are still often recommended as resources. Video is helpful because it shows people how it fits together and how the workflow works. Things that are hard to see from articles and blog posts. Videos are a little bit frustrating sometimes because they are slow. You actually have to watch them. But I like the way that people have been posting Videos with detailed show notes in a literate programming style, with embedded snippets, and often they will even use this blog post as the starting point of or the final product of their video. I would like to be able to do more of these myself, but it may require that I learn how to organize my thoughts, which is part of this whole brainstorm things, and then ideally turn it into a blog post or series of blog posts. The videos are great because they help people show workflows, which is good for inspiring people to put in the effort to then go through the show notes and try the steps, but also kind of see other things that the person making the video might not have even mentioned. Often people will make a video, and a lot of the comments are like, what is that theme that they are using? Or they do this thing which changes the window configuration, and what is that? Delete other windows vertically. And the presenter might not even have thought of mentioning that. but because we are virtually looking over someone's shoulder, you get to see that. Ben continues, videos, indeed videos help show how powerful Emacs can be. Simply installing Emacs doesn't give you that viewpoint.00:41:12 Learning curveSo that's it. I think, especially since our learning curve is, remember that meme that got passed around before really memes were codified, invented? Where the learning curve of Emacs is kind of like this. This is the learning curve of Emacs. It's just very fractal. We need that inspiration to help us get through the afternoons of, ah, why doesn't this thing just break out of the box? Why do I need to write Emacs Lisp to configure this? It's definitely a very different expectation from many other editors, where you're just expected to either have it, or check a checkbox, and then it's there. But because Emacs, there's so many different ways to use Emacs, it's really hard to say, okay, this stuff is going to be hard-coded for everyone, or this stuff is going to be the easy way. Anyway, and people come into Emacs with all sorts of different expectations too, right? So it really helps to see other people use Emacs in a way that suits them And to know that it is possible to have something that suits you as well. So making more videos. I would like to get the hang of doing that also. But I like blog posts and I like transcripts. So I want to be able to improve my workflow for making these videos and live streams so that They also make sense to people who don't have the time to watch a video stream for one hour or whatever. And it would be great for the video to make sense even if you're not looking at the video directly, you know, to make the audio make sense in case you're listening to it like a podcast while you're washing the dishes or going for a walk. So blog posts and podcasts.00:43:21 emacs.tv - TODO: Add more to the beginner tag, make a playlistWhich reminds me that Emacs TV is a thing, although that's not super beginner-friendly in the sense that I can't just say, here's all the beginner-related topics. I should go back over the 3,000 plus videos over that and maybe index the beginner ones. Let's see what we got here anyway. Emacs TV. How many do we have now? Yeah, 3000 something. Do I have beginner? I do have beginner as a tag. 26 things flagged as beginners. Some of them are in different languages, but that seems like the sort of thing. That could be fun as a YouTube playlist, because people like to just play through a playlist. And then I can try to sort them, I guess? Maybe. Beginner playlist. Beginner playlist. That's another to-do. Okay. Interesting. This is great. I'm identifying a number of to-dos for myself. All right. Lifelong learning, which is how I want to take this idea of newbies and starter kits and apply it to everybody because many of the same problems that we run into, many same problems that newbies run into with regard to isolation and overwhelm and the balance between tinkering with your config and getting stuff done. Let's write that down somewhere. and Isolation. Unknowns. Okay, so four common problems that newbies run into. Isolation, overwhelm, balancing, tinkering with your setup and getting stuff done, and kind of getting the set like Dealing with unknowns. Let me turn down the filter. It's a little too strong. Now can I make hand gestures? Not really. Okay, I will tinker with that eventually. okay um the same kinds of problems that we run into even if we've been using Emacs for decades uh and this uh uh emerald that i'll uh establish in the video it's a lifelong journey uh okay so00:46:36 IsolationIsolation. Meetups help. But meetups are harder for people to get to. You might not find something that's the right schedule for you. I highly, highly recommend writing about your Emacs learning. Blogging is a great way to connect with other people who are interested in the same kinds of things. And we've got Planet Emacs Life. Ooh, I should write that down as a thing. Planet Emacs Life. And we've got Emacs News to help kind of keep the conversation circulating. So that's there. @Mtendethecreator says, what's up? What's up, @Mtendethecreator? Currently I am brain dumping various things for various ideas for the Emacs Carnival April. Okay, so isolation, overwhelm, balance of time, unknowns. So here I want to think about, okay, even for people who might not consider themselves as total newbies anymore, It's always good to keep a beginner's mind in Emacs because there's so much to learn. Just the other day, I was reading a discussion thread where one of the commenters was singing the praises of Org Remark, so now I have a new thing that I want to go figure out how to add to my workflow. There's always something interesting to tinker with and learn. Anyway, so everybody can benefit from the things that we can do in this area. Isolation, I'd strongly recommend blogging, Meetups This is where the aggregator goes in.00:48:54 OverwhelmOverwhelm, figuring out how to take notes and how to bring up your notes... Customize interface So that's how people start to deal with that. Balance of time... I don't know. I think this is a much... This is an ongoing problem. And... Well, ongoing challenge. Because the... You know, tinkering with Emacs becomes more fun as you get used to it.00:49:35 IRCOh, IRC. Yes, IRC. I should mention... We should definitely mention that. IRC. Helps with isolation and getting help. Although people also... like some... are they still having issues with spammers and needing to restrict the channel? I've been meaning to write a page that explains what to do in that situation. I should drop in to see what's going on there. Reddit, I think, is where people... Okay, I need to... Okay, let's label these things. A, B, C, and D. And this balance of time is actually related to getting a basic working environment started out. So if the reddit is good at A and C and also D actually. Isolation and balance of time. A little bit. People have to learn how to use pastebin and it's a little bit harder on IRC to say, oh yeah, this is the... People do pastebin the problem and then people sometimes do pastebin the solutions. Sometimes a lot of things can be handled by a quick question, so that's good. Okay, I said isolation. Balance of time is always still a problem, but people develop their own productivity prioritization type things. Structures? Frameworks? And for lifelong learning, this unknowns part becomes really interesting and powerful. Yeah, and this is where bumping into ideas helps. Through IRC, through Reddit, through all the Emacs News, etc.00:52:19 Learning from other people's configs; TODO maybe a livestream?Charlie says, searching through GitHub for Emacs keywords to see how other people configure things helped my Emacs customization understanding. If Emacs customization is one of the things that helps people move from being a total newbie to an intermediate user, then maybe it makes sense to have and in addition to the clinics that I mentioned, some kind of a live stream where we just go read other people's configs and then talk about how to adapt it and show a demonstration of a way that fits into the workflow. I think that could be a lot of fun. I've been enjoying going through Prot and tecosaur's literate configurations, and slowly assimilating some of those snippets into my configuration. So it might be interesting for people to see more of that process of not just copying and pasting the code, but trying to figure out, okay, what can support me as I try to make this part of the way that I do things? Or how do I tweak it so that it's a blend of what they came up with and also what I want. So yeah, @mtendethecreator says, tsoding's config also. Yeah, whoever's config is posted, we can go through it. And then I can say, oh yeah, that's really cool. Like for example, reading Prot's config. I learned about delete-other-windows-vertically, which I think he had assigned to C-x !, like C-x !, I think, yeah, which is cool because it's like C-x 1 except it's shifted. So that teaches me about the function and also a convenient shortcut that makes sense it's easy to remember so reading through other people's config could be a thing that might be helpful for you to do and because again because video is annoying to go through if i can have my workflow for Adding chapter markers into it. Then I can jump into... Then people can jump to just a section. Charlie says, that sounds nice. I cherry picked a lot of Purcell's config as I hit modes I wanted to use, and then later I adapted it to use-package. And now it's mine. Yes. Yes, that's the... That's wonderful. That's the basic idea. That's one of the reasons why I love it when people share their configs. Okay, so that gives me plenty of things to do. And if I want to think then about this blog post... Let's write in a different color. I can use colors! Let's write in... Can I write in green? Okay. Okay. That's too... Okay. Blue looks... Blue looks linky. Let's write in... Okay. Maroon? Alright. What does this feel like? I have seven minutes before I should probably go check on the kid for maybe doing math together with her. She gets really bored in her math class, so I tried to do... I offered to do some math with her that's a little bit higher level. uh00:56:07 Discord?@mtendethecreator says please create a discord for your channel. IRC is cool but the new wave of devs prefer discord. Think about it. I know system crafters runs a discord for their community. Are there other discord places that emacs people hang out in? Yeah, there's like... I have to look into whether it's possible. @DavidMannMD says, I can highly recommend Prot's book on Emacs Lisp. Yes.00:57:10 Thinking about the blog postsSo this sounds like maybe there's a blog post here about the factors that people... Like, trying to give some basic recommendations on where people... If this is your background, this is why we make this recommendation. These are the recommendations people often make. And this is why. And here's some basic resources. So this sounds like possibly a blog post. Post about where people come from. And typical resources. Next steps. And there is probably a blog post here about the challenges. which I can address from both a new user perspective as well as the, hey, this continues to be a challenge. And then there's one here about following up on my to-dos. And let's highlight these, make it easier. Someday I will actually pick colors that go together.00:58:55 BooksBen says, would including books be a good option for lifelong learning? There's some interesting books I've seen throughout my journey. Yes, yes. I love how the books, there aren't a lot of books because Emacs keeps moving, but it takes a lot of effort to make a book. But the people who have written books, like Prot, like Mickey, do an amazing job of organizing things into a linear structure that makes sense. Books are great for this, especially for dealing with the sense of overwhelm and unknowns. Let's take a few a little bit at a time.00:59:46 ManualsThe manuals are great too. Just even going through the Org Manual once in a while helps me stumble across things that are helpful. So getting people to feel like they're ready to read a book earlier rather than later, or feel like they're ready to read the manual. and maybe modeling how to do it, like showing them, okay, you can be reading this. The manual doesn't have a lot of examples, but this is how you can dig around for examples to see how it works. Could be helpful.01:00:25 Maybe annotating the manual?I feel like if we have like an annotated Org Mode manual, here's the manual, but here are also some links to videos where people are demonstrating this concept, it could be interesting. One of my to-do's for a while has been do that do that kind of beginner map, but for Org, because people have shared a ton of Org resources in Emacs News. Where was I? Books. Yes, that is. Okay, so there are three things... probably more.01:01:04 Starter kitsOh, starter kits! That's a whole other thing. Starter Kits. I think that if people are coming from a, let's say they're coming from a programming background, and there's pressure on them to be productive as soon as possible, then Starter Kits are a great idea, possibly. If they find a Starter Kit that fits the way they think, and gets the stuff they need working as soon as possible, fantastic. Hats off to them. Go for it. And then they can ease into more Emacsy things later on. The challenge, of course, with starter kits is because they change Emacs a lot, it makes it harder for newbies to get help outside that community. So they should pick a starter kit with a community they can ask for help within. Other people will be just like, I don't know what kinds of things are going on there. And of course, the newbie has no idea how to disable things or turn things off or go back to vanilla for some things. And so it's, it's, it's just complicated. Can't really expect people helping to go install this separate starter kit and figure that things out. The starter kits are useful in that situation, but in other cases, like for example, if you're getting into Emacs slowly and you're curious, it can help to start from vanilla so you know what things you're adding to it.01:02:32 Navigating source code@lispwizard says M-x apropos, looking at Emacs source files for related stuff are also helpful. And learning how to navigate source code to find examples and read it is also a skill that nobody is born with. Figuring out how to help people develop that skill is interesting. But I will go check on the kiddo now.01:02:51 Braindumping with companyThis has been very helpful for me. Kind of brain dumping random ideas onto... It's not even really a mind map. It's just bleargh onto this sketch. But doing it with people hanging out and helping me remember stuff or think of stuff is helpful and well worth my voice getting extra tired. So thank you for coming and hanging out with me today. And I will go work on turning these things into blog posts and possibly videos and live streams going forward. I will skedaddle now. Today I need to sew a hat for my kiddo, but tomorrow, I will probably hang out with you maybe slightly roughly at the same time. Thanks, everyone, and see you!Chat
- @j7gy8b: do people still try the built-in tutorial?
- @j7gy8b: I'm Jeff from Emacs SF and I don't know how to change my display name
- @lispwizard: One problem is platforms which usurp keystrokes which emacs expects (I just wrestled with this on a raspberry pi).
- @j7gy8b: in the meetup we do see that, the young people who were inspired by a professor to try
- @j7gy8b: Perhaps Clojure is a route to Emacs for experts. I've heard it's the best IDE for that language
- @benmezger: There are quite some interesting youtube channels (yours included) to learn Emacs too
- @lispwizard: You can often watch videos at 2x speed…
- @benmezger: indeed. Videos help show how powerful emacs can be. Simply installing Emacs doesnt give you that viewpoint
- @mtendethecreator: wazzup
- @mtendethecreator: someone says pi-coding-agent is the emacs for ai agents. thoughts?
- @benmezger: IRC perhaps? although a little complex, you learn tons from the Emacs channel
- @charliemcmackin4859: Searching through Github for emacs keywords to see how other people configure things helped my Emacs customization understanding.
- @mtendethecreator: tsodings config lol
- @charliemcmackin4859: That sounds nice… I cherry picked a lot of purcell's config as I hit modes I wanted to use… and then later I adapted it to use-package…and now it's mine :D
- @mtendethecreator: please create a discord for your channel. irc is cool but the new wave of devs prefer discord. think about it
- @DavidMannMD: I can highly recommend Prot's book on Emacs lisp.
- @charliemcmackin4859: (as an idea for looking at other's configs as a method of learning… "how would I adapt this to use use-package?" is something I find myself thinking a bit)
- @benmezger: Would including books be a good option for lifelong learning? There are some interesting books I've seen throughout my journey
- @lispwizard: m-x apropos, looking at emacs source files for related stuff are also helpful
- @lispwizard: Thank you.
You can e-mail me at sacha@sachachua.com.
-
🔗 sacha chua :: living an awesome life May 7: Emacs Chat with Shae Erisson rss
On May 7, I'll chat with Shae Erisson about Emacs and life.
(America/Toronto UTC-4) = Thu May 7 1030H EDT / 0930H CDT / 0830H MDT / 0730H PDT / 1430H UTC / 1630H CEST / 1730H EEST / 2000H IST / 2230H +08 / 2330H JST
- Shae Erisson: Haskell, Python, Swedish, knitting, mountain unicycling, contact juggling
- Shae Erisson's blog - 1. DO SOMETHING 2. BRAG ABOUT IT
- Shae Erisson (@shapr@recurse.social) - recurse.social
- shapr/markovkeyboard: keyboard layout that changes by markov frequency · GitHub
This session will be recorded, and I'll update this blog post with notes. https://sachachua.com/blog/2026/05/may-7-emacs-chat-with-shae-erisson/
Find more Emacs Chats or join the fun: https://sachachua.com/emacs-chat
You can e-mail me at sacha@sachachua.com.
-
🔗 r/Yorkshire Middleton Woods, Ilkley rss
| submitted by /u/Inevitable-Debt4312
[link] [comments]
---|--- -
🔗 r/LocalLLaMA Qwen3 TTS is seriously underrated - I got it running locally in real-time and it's one of the most expressive open TTS models I've tried rss
| Heya guys and gals, Around a year ago I released and posted about Persona Engine as a fun side project, trying to get the whole ASR -> LLM -> TTS pipeline going fully locally while having a realtime avatar that is lip-synced (think VTuber). I was able to achieve this and was super happy with the result, but the TTS for me was definitely lacking, since I was using Sesame at the time as reference. After that I took a long break. A week or two ago, I thought to give the project a refresh, and also wanted to see how far we have come with local models, and boy was I pleasantly surprised with Qwen3 TTS. During my initial tests it was lacking, especially the version published by the Qwen team themselves, but after digging around and experimenting a lot I was able to:- Make streaming with the model work reliably. The architecture of the model is perfect for this, since the decoder uses a sliding window, which means if you stream the LLM response, that's completely fine and the TTS will keep coherent prosody, pitch, and intonation.
- Get the model working with llama.cpp, because I am using C# and speed is important, so also quantized it.
- The model was lacking word-level timings and phonemes which Kokoro (the previous, more robotic sounding TTS) had. So I had to implement CTC word-level alignment to be able to know when certain words are spoken (important for subtitles + getting phonemes to have the lips move correctly).
Once this was all done, I also decided to finetune my own Qwen3-TTS voice. The cloning capabilities are really cool, but very lacking in contextual understanding and struggles with pronouncing. Additionally, the custom trained voices provided by the Qwen team didn't have any female native speakers, and I didn't want to create a new Live2D model. In the end, the finetune blew me away and will probably continue improving it. GitHub is here: https://github.com/fagenorn/handcrafted-persona-engine Check it out, have fun, and let me know whatever crazy stuff you decide to do with it. submitted by /u/fagenorn
[link] [comments]
---|--- -
🔗 sacha chua :: living an awesome life May 21: Emacs Chat with Raymond Zeitler rss
On May 21, I'll chat with Raymond Zeitler about Emacs and life.
America/Toronto = Thu May 21 1030H EDT / 0930H CDT / 0830H MDT / 0730H PDT / 1430H UTC / 1630H CEST / 1730H EEST / 2000H IST / 2230H +08 / 2330H JST
This session will be recorded, and I'll update this blog post with notes. https://sachachua.com/blog/2026/05/emacs-chat-with-raymond-zeitler/
Find more Emacs Chats or join the fun: https://sachachua.com/emacs-chat
You can e-mail me at sacha@sachachua.com.
-
🔗 sacha chua :: living an awesome life June 18: Emacs Chat with Ross A. Baker rss
America/Toronto = Thu Jun 18 1030H EDT / 0930H CDT / 0830H MDT / 0730H PDT / 1430H UTC / 1630H CEST / 1730H EEST / 2000H IST / 2230H +08 / 2330H JST
On June 18, I'll chat with Ross Baker about Emacs and life.
This session will be recorded, and I'll update this blog post with notes. https://sachachua.com/blog/2026/04/june-18-emacs-chat-with-ross-a-baker/
Find more Emacs Chats or join the fun: https://sachachua.com/emacs-chat
You can e-mail me at sacha@sachachua.com.
-
🔗 sacha chua :: living an awesome life May 4: Emacs Chat with Amin Bandali rss
On May 4, I'll chat with Amin Bandali about Emacs and life.
(America/Toronto UTC-4) = Mon May 4 1400H EDT / 1300H CDT / 1200H MDT / 1100H PDT / 1800H UTC / 2000H CEST / 2100H EEST / 2330H IST / Tue May 5 0200H +08 / 0300H JST
This session will be recorded, and I'll update this blog post with notes. https://sachachua.com/blog/2026/05/emacs-chat-with-amin-bandali/
Find more Emacs Chats or join the fun: https://sachachua.com/emacs-chat
You can e-mail me at sacha@sachachua.com.
-
🔗 r/Harrogate Cafe / Lunch spot recommendations? rss
Did a bit of cursory research and Tilly Peepers looks to fit the bill. Any other gems / favourite cafes I should know about?
Looking for brunch style stuff and good sandwiches. Betty's is great, but not what we are looking for on this occasion. Just want a cosy spot with quality food and a good cup of tea.
submitted by /u/Ubik_Fresh
[link] [comments] -
🔗 r/reverseengineering [Release] LCSAJdump v2.0: I added an ML ranking engine to my gadget finder (and thanks for 7k downloads!) rss
submitted by /u/LCSAJdump
[link] [comments] -
🔗 r/Leeds Best adult shop in area rss
Please no snide comments.
I'm looking for the most discrete adult shop in Leeds, or even a bit further, I don't mind a drive (in fact it could be preferable.
I'd like something with a good range and discrete entrance/location.
Serious replies only please!
submitted by /u/Common_Advantage_835
[link] [comments] -
🔗 r/Yorkshire One early February morning looking out over settle and Malham tarn. rss
| submitted by /u/Acceptable-Truth-912
[link] [comments]
---|--- -
🔗 @binaryninja@infosec.exchange Binary Ninja 5.3 adds new BNTL utilities for easier type library workflows in mastodon
Binary Ninja 5.3 adds new BNTL utilities for easier type library workflows in both the UI and headless environments. WARP also gets a cleaner server experience, with bundled Linux signatures helping complete the shift away from SigKit. https://binary.ninja/2026/04/13/binary-ninja-5.3-jotunheim.html#types --signatures
-
🔗 r/LocalLLaMA unsloth Qwen3.6-27B-GGUF rss
| finally with files inside :) submitted by /u/jacek2023
[link] [comments]
---|--- -
🔗 r/york Anyone know a good skip hire in York? rss
Just what the title says. I just got a fence replaced and need to get rid of the old one. Anyone have a skip hire they've used in the past that won't cost 100s of £?
submitted by /u/Trent-Popverse
[link] [comments] -
🔗 r/Yorkshire Mirror, mirror… Red Squirrel, Yorkshire Dales rss
| submitted by /u/aspiranthighlander
[link] [comments]
---|--- -
🔗 r/LocalLLaMA Qwen3.6-27B released! rss
| Meet Qwen3.6-27B, our latest dense, open-source model, packing flagship-level coding power! Yes, 27B, and Qwen3.6-27B punches way above its weight. 👇 What's new: - Outstanding agentic coding — surpasses Qwen3.5-397B-A17B across all major coding benchmarks - Strong reasoning across text & multimodal tasks - Supports thinking & non-thinking modes - Apache 2.0 — fully open, fully yours Smaller model. Bigger results. Community's favorite. ❤️ We can't wait to see what you build with Qwen3.6-27B! Blog: https://qwen.ai/blog?id=qwen3.6-27b Qwen Studio: https://chat.qwen.ai/?models=qwen3.6-27b Github: https://github.com/QwenLM/Qwen3.6 Hugging Face: https://huggingface.co/Qwen/Qwen3.6-27B https://huggingface.co/Qwen/Qwen3.6-27B-FP8 submitted by /u/ResearchCrafty1804
[link] [comments]
---|--- -
🔗 r/LocalLLaMA Qwen 3.6 27B is out rss
-
🔗 r/york Ey Up Everyone! I am a student from Singapore and I love collecting postcards. I would love to receive postcards from York 🙂. Can someone send me one? rss
| Ey Up Everyone! I’m a student from Singapore and I enjoy collecting postcards. I would be very grateful to receive postcards from York. 🙂 If postcards aren’t available, I’d also really appreciate a greeting card, city card, or even a small souvenir. (like a keychain, rock, local snack, flag, ornament, cap, T-shirt, or handmade craft). This is for my personal collection, and not for any commercial purpose. If you’re willing to help, please leave a comment and I’ll share my mailing address with you. Thank you very much, and warm greetings from Singapore! 🇸🇬🤝🏴 submitted by /u/Nessieinternational
[link] [comments]
---|--- -
🔗 r/york Full Moo Ice Cream boat rss
Has anyone seen the full moo ice cream boat this year? I know last year it started appearing during the Easter holiday but I’ve still not seen it here this year? Has anyone heard anything on its status?
submitted by /u/iredxx
[link] [comments] -
🔗 r/LocalLLaMA Qwen3.6-35B becomes competitive with cloud models when paired with the right agent rss
A short follow-up to my previous post, where I showed that changing the scaffold around the same 9B Qwen model moved benchmark performance from 19.11% to 45.56%:
https://www.reddit.com/r/LocalLLaMA/s/JMHuAGj1LV
After feedback from people here, I tried little-coder with Qwen3.6 35B.
It now lands in the public Polyglot top 10 with a success rate of 78.7%, making it actually competitive with the best models out there for this benchmark!
At this point I’m increasingly convinced that part of the performance gap to cloud models is harness mismatch: we may have been testing local coding models inside scaffolds built for a different class of model.
Next up is Terminal Bench, then likely GAIA for research capabilities. Would love to hear your feedback here!
EDIT: after many requests, pi.dev adaptation is up!
EDIT 2: Terminal Bench 1 (0.1.1) finished with 40% success rate! Now running TB 2. Just sent the results via email. There is no model remotely as small as the 35B in that area. Exciting times
EDIT 3: Terminal Bench 2.0 requires 5 runs per trial (which will take 40 more hours), but the first run finished with 30%!!! That’s with the 35B model.
Full write up: https://open.substack.com/pub/itayinbarr/p/honey-i-shrunk-the- coding-agent
GitHub: https://github.com/itayinbarr/little-coder
Full benchmark results: https://github.com/itayinbarr/little- coder/blob/main/docs/benchmark-qwen3.6-35b-a3b.md
submitted by /u/Creative-Regular6799
[link] [comments] -
🔗 r/Leeds Can anyone recommend a dog groomer for a daft little Pom Chi, ideally in the Kirkstall / Horsforth area rss
Have recently moved back to Leeds and my pup could do with a trim - Poms have tricky coats so I'm looking for a dog groomer who is experienced in that. Any recommendations would be greatly appreciated
submitted by /u/illustratejacket
[link] [comments] -
🔗 r/Yorkshire This is my peace place🫶 Wish I could be there now!🥺 rss
| submitted by /u/HammersAndPints
[link] [comments]
---|--- -
🔗 r/Yorkshire Taken at Ewden yesterday afternoon, felt a bit like a Monet scene. rss
| submitted by /u/knackered_biker
[link] [comments]
---|--- -
🔗 r/Leeds Potential scam / warning for students in Leeds (unpaid “internships”) rss
Just wanted to raise awareness, especially for international students in Leeds.
There’s an individual claiming to be the CEO of two companies, restartldn and SporeAndPour they are on instagram, who has recently been advertising unpaid “internship” opportunities.
From what I’ve seen:
- There doesn’t appear to be any real ongoing business activity
- No visible sales, customers, or revenue streams
- The presence seems to be mostly social media content (Instagram videos, etc.)
- The work being offered is unpaid, with unclear structure or outcomes
It looks like a lot is being portrayed online, but there’s little evidence of actual business operations behind it.
I’m not making direct accusations, but I’d strongly advise people to do proper research before committing your time, especially to unpaid roles. If you’re going to work for free, it should at least be with a legitimate, established company where you gain real experience and value.
Just putting this out there so people can make informed decisions.
submitted by /u/Miserable_Bridge_146
[link] [comments] -
🔗 r/reverseengineering [CrackMe] I built a custom C++ stack-machine VM. I dare you to break it. rss
submitted by /u/PynaBola
[link] [comments] -
🔗 r/Leeds Get reminders to avoid match day congestion near Elland Road rss
Hi all,
If you live near or travel through areas around Elland Road, you've probably noticed that some days it suddenly gets much busier - traffic, parking, and general footfall all spike.
A lot of that comes down to football matches at Elland Road, but it's not always obvious when they're happening or when crowds will peak.
I put together a simple free tool that tracks those matchdays and shows when crowds are likely to build and clear, so you can plan around it a bit more easily.
It lets you:
-
See when matchday crowds are likely to affect different areas
-
Get reminders before things get busy
- Get a heads-up when parking restrictions may apply
It's free, no ads or sign-ups - just something I built for myself that I thought others might find useful too.
Would this be helpful for anyone here?
https://nexthomegame.co.uk/leeds-united-elland-road
submitted by /u/richelectron
[link] [comments] -
-
🔗 r/wiesbaden Treffen in Wiesbaden rss
Hi, ich 23w würde mich freuen neue Kontakte zu knüpfen in der Stadt. Ich komme nicht gebürtig hierher und daher ist es schwieriger als gedacht neue Leute kennen zu lernen.
Vielleicht finden sich ja hier ein paar Leute in derselben Situation:)
Ich wäre offen für die verschiedensten Aktivitäten, Kaffeetrinken, Spaziergang, Sonner genießen am Rhein etc etc.
submitted by /u/heyheyheyoooooo
[link] [comments] -
🔗 backnotprop/plannotator v0.19.0 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.18.0 | Annotate focus & wide modes, OpenCode origin detection, word-level inline plan diff, Markdown content negotiation, color swatches
v0.17.10 | HTML and URL annotation, loopback binding by default, Safari scroll fix, triple-click fix, release pipeline smoke tests
v0.17.9 | Hotfix: pin Bun to 1.3.11 for macOS binary codesign regression
v0.17.8 | Configurable default diff type, close button for sessions, annotate data loss fix, markdown rendering polish
v0.17.7 | Fix "fetch did not return a Response" error in OpenCode web/serve modes
v0.17.6 | Bun.serve error handlers for diagnostic 500 responses, install.cmd cache fix
v0.17.5 | Fix VCS detection crash when p4 not installed, install script cache path fix
v0.17.4 | Vault browser merged into Files tab, Kanagawa themes, Pi idle session tool fix
v0.17.3 | Sticky lane repo/branch badge overflow fix
v0.17.2 | Supply-chain hardening, sticky toolstrip and badges, overlay scrollbars, external annotation highlighting, Conventional Comments
v0.17.1 | Pi PR review parity, parseRemoteUrl rewrite, cross-repo clone fixes, diff viewer flash fix
v0.17.0 | AI code review agents, token-level annotation, merge-base diffs
What's New in v0.19.0
v0.19.0 lands updates across all four surfaces — Plan/Annotate, Code Review, Pi, and Claude Code. Four PRs, one from a first-time contributor.
Plan / Annotate
GitHub-Flavored Markdown
The in-app reader now matches GitHub's rendering across blocks and inline. Raw HTML blocks (
<details>,<summary>, and friends) render throughmarkedplus DOMPurify, with nested markdown preserved;innerHTMLis set imperatively via ref+useEffectso React reconciliation doesn't collapse an open<details>on rerender. GitHub alerts (> [!NOTE],[!TIP],[!WARNING],[!CAUTION],[!IMPORTANT]) render with inline Octicons and Primer colors, honoringprefers-color-scheme. Directive containers (:::kind ... :::) cover project-specific callouts, and every heading now carries a slug-derived anchor id.Inline gains came alongside: bare URL autolinks with trailing-punctuation trimming;
@mentionsand#issue-refsthat render as clickable links when the repo is a GitHub repo and styled spans otherwise; 29 curated emoji shortcodes (:wave:,:rocket:, …); and smart punctuation (curly quotes, em and en dashes, ellipsis). All inline transforms run after the code-span regex has consumed code content, so backticks stay literal for shell and regex snippets.The refactor that landed with the feature is as important as the feature itself:
InlineMarkdown,BlockRenderer, and the new block components were pulled out ofViewer.tsxinto dedicated files. Viewer dropped from 1279 to 770 lines. New block features now land inblocks/*.tsxrather than swelling Viewer further. DOMPurify's allowlist blockson*handlers,styleattrs, and scripts;sanitizeLinkUrlstripsjavascript:,data:,vbscript:, andfile:protocols. Total bundle cost: +1.8KB gzipped.Copy Table as Markdown or CSV
Every markdown table now has a small toolbar. Copy the rendered table as markdown (round-trip ready for another document) or as RFC 4180 CSV (safe to paste into a spreadsheet — commas, quotes, and newlines are escaped per the spec). Useful when a plan or annotated doc includes a comparison table you want to extract.
Table Popout
Tables can also pop out into a dedicated overlay for wide or dense data that doesn't fit the reader flow. The popout gives the table its own scroll container, so you can read across columns without competing with the document's own scroll position. Cycle back to the inline table when you're done.
- All three features shipped in #597
Code Review
Custom Settings Per Agent
Every review agent now has first-class model and effort/reasoning controls. Claude Review exposes
--modeland--effort. Codex Review exposes-m,-c model_reasoning_effort=..., and-c service_tier=fast. Code Tour supports both engines, each with its own model and effort settings. The Settings dropdowns dropped the hidden "Default" option in favor of explicit sensible defaults — Opus 4.7 / High for Claude, GPT-5.3 Codex / High for Codex, Sonnet / Medium for Tour Claude, GPT-5.3 Codex / Medium for Tour Codex.Codex reasoning's invalid
noneoption is gone (codex-rs rejects it); a one- shot cookie migration rewrites existing users'nonevalues to the default on load so nobody keeps launching a broken flag.Settings persistence moved to a single
plannotator.agentscookie that holds the whole agent settings tree, keyed per (agent × model). Switching models reveals the effort/reasoning/fast-mode you last used with that specific model. React state is the authority; the cookie mirrors it; all mutations funnel through a single owner via functionalsetState, so rapid successive changes can't stale-read or lose writes.The job card badge now carries the full story —
Claude · Opus 4.7 · High,Codex · GPT-5.3 Codex · Medium · Fast,Tour · Claude · Sonnet · Medium— and the main dropdown reads action-first:Code Review · Claude,Code Review · Codex,Code Tour.Code Tour
Alongside Claude Review and Codex Review, Plannotator now ships a third review agent: Code Tour. Point it at a PR and it produces a guided walkthrough — greeting, stated intent, before/after framing, ordered stops with inline diff anchors, key takeaways, and a QA checklist — rendered in a three-page animated dialog. Similar in spirit to Cursor's and Graphite's PR walkthroughs, but wired into the same review surface you already use. Demos coming.
The tour auto-opens when the job reaches a terminal state. Checklist state persists across dialog open/close within a review session, and pending saves are flushed on unmount with
keepalive: trueso closing the dialog during the 500ms debounce window never drops a tick.Both Claude and Codex can drive the tour. Claude streams JSONL via stdin; Codex writes to a file via
--output-schema. If the model returns empty or malformed output, the job flips tofailedwith a clear error rather than silently 404ing the dialog. Underprefers-reduced-motion, page navigation swaps directly instead of waiting on anonAnimationEndthat would otherwise soft-lock the walkthrough behind the intro. The Claude allowlist permitsgh issue view,gh api repos/*/*/issues/*, andglab issue view, so when the prompt follows aFixes #123, the agent can actually read the linked issue.Under the hood, a shared
createTourSession()factory owns the lifecycle —buildCommand,onJobComplete,getTour,saveChecklist— so the Bun hook server and the Pi Node server wire it up with about 25 lines of route glue each instead of the ~100 lines of duplicated provider-branch logic that the review agents used to carry. Route parity (GET /api/tour/:jobId,PUT /api/tour/:jobId/checklist) is enforced by tests across both runtimes.- Custom settings and Code Tour shipped in #569
Pi
More Flexible Planning Mode
The Pi extension used to require a single configured plan-file path — set once via
--plan-fileor/plannotator-set-fileand stuck with it for the session. In practice this made multi-plan workflows awkward and confused the agent when a repo already had its own plan conventions. That whole layer is gone.plannotator_submit_plangained a requiredfilePathargument, and the agent now writes its plan as a markdown file anywhere inside the working directory, passing the path at submission. Validation enforces.mdor.mdxextension, rejects..traversal and absolute paths that escape cwd, and stat-checks the file before it's read. The planning write gate allows any markdown file inside cwd, andlastSubmittedPathtracks the most recent submission so the execution phase rebuilds correctly on session resume — including after a denial. The planning system prompt suggests (but doesn't require)PLAN.mdat the repo root orplans/<short-name>.md.Since version history in
~/.plannotator/history/{project}/{slug}/keys off plan content (first# Headingplus date) rather than file path, free-form naming keeps version linking intact.Breaking changes for Pi users: the
--plan-fileflag, the/plannotator- set-fileslash command, and the file-path argument to/plannotatorhave been removed. Existing workflows that relied on them need to let the agent pick the path instead.Claude Code
/plannotator-lastwith Multiple Sessions in the Same Directory/plannotator-lastused to pick the wrong session whenever two Claude Code sessions shared a repo. Invoked from a slash command's!bang, Plannotator's direct parent (process.ppid) is the intermediate bash shell that the Bash tool spawned, not Claude Code itself. The oldresolveSessionLogByPpid()always missed on that parent, and the mtime-based fallback picked whichever.jsonlin the project had been touched most recently — which was usually the other session.The fix is a four-tier resolution ladder. First, an ancestor-PID walk calls
ps -o ppid=fromprocess.ppidup to eight hops, checking~/.claude/sessions/<pid>.jsonat each one; this matches the exact session deterministically. Second, a cwd-scan reads every session metadata file, filters bycwd, and picks the entry with the most recentstartedAt— a better fallback than mtime whenpsis unavailable. The legacy cwd-slug mtime check and ancestor directory walk remain as tiers three and four. 17 new tests cover the ladder with injectable process-tree and filesystem dependencies.- Authored by @elithompson in #598, closing #458 reported by @blimmer
Additional Changes
- Prompts reference page. New
/docs/reference/prompts/page documents the three-layer message shape — system prompt owned by the CLI, user message (review prompt joined to user prompt with\n\n---\n\n), and JSON schema as a terminal constraint. Calls out that Claude and Codex review prompts are upstream-derived; only Tour's prompt is new (#569) - Motion library added. Code Tour's spring-driven accordions and intro composition cascade pulled in
motion@12.38.0(~30 KB gzipped) (#569)
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run
/pluginin Claude Code, find plannotator , and click "Update now".OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in
opencode.json:{ "plugin": ["@plannotator/opencode@latest"] }Pi: Install or update the extension:
pi install npm:@plannotator/pi-extension
What's Changed
- feat: Code Tour — guided PR walkthrough as a third agent provider by @backnotprop in #569
- fix(pi): let agent submit any markdown plan file by path by @backnotprop in #595
- feat(ui): markdown reader parity — HTML blocks, GitHub alerts, GFM inline extras by @backnotprop in #597
- fix(session-log): walk ancestor PIDs to resolve correct session log by @elithompson in #598
New Contributors
- @elithompson made their first contribution in #598
Contributors
@elithompson authored the session-log ancestor-PID walk (#598), closing a long- standing issue where
/plannotator-lastpicked the wrong session whenever two Claude Code sessions shared a repo. First contribution to the project.@blimmer diagnosed and reported the session-log bug (#458) with a detailed empirical walkthrough of the process tree, which made the fix straightforward to scope.
Full Changelog :
v0.18.0...v0.19.0 -
🔗 Simon Willison Is Claude Code going to cost $100/month? Probably not - it's all very confusing rss
Anthropic today quietly (as in silently, no announcement anywhere at all) updated their claude.com/pricing page (but not their Choosing a Claude plan page, which shows up first for me on Google) to add this tiny but significant detail (arrow is mine, and it's already reverted):

The Internet Archive copy from yesterday shows a checkbox there. Claude Code used to be a feature of the $20/month Pro plan, but according to the new pricing page it is now exclusive to the $100/month or $200/month Max plans.
Update: don't miss the update to this post, they've already changed course a few hours after this change went live.
So what the heck is going on? Unsurprisingly, Reddit and Hacker News and Twitter all caught fire.
I didn't believe the screenshots myself when I first saw them - aside from the pricing grid I could find no announcement from Anthropic anywhere. Then Amol Avasare, Anthropic's Head of Growth, tweeted:
For clarity, we're running a small test on ~2% of new prosumer signups. Existing Pro and Max subscribers aren't affected.
And that appears to be the closest we have had to official messaging from Anthropic.
I don't buy the "~2% of new prosumer signups" thing, since everyone I've talked to is seeing the new pricing grid and the Internet Archive has already snapped a copy. Maybe he means that they'll only be running this version of the pricing grid for a limited time which somehow adds up to "2%" of signups?
I'm also amused to see Claude Cowork remain available on the $20/month plan, because Claude Cowork is effectively a rebranded version of Claude Code wearing a less threatening hat!
There are a whole bunch of things that are bad about this.
If we assume this is indeed a test, and that test comes up negative and they decide not to go ahead with it, the damage has still been extensive:
- A whole lot of people got scared or angry or both that a service they relied on was about to be rug-pulled. There really is a significant difference between $20/month and $100/month for most people, especially outside of higher salary countries.
- The uncertainty is really bad! A tweet from an employee is not the way to make an announcement like this. I wasted a solid hour of my afternoon trying to figure out what had happened here. My trust in Anthropic's transparency around pricing - a crucial factor in how I understand their products - has been shaken.
- Strategically, should I be taking a bet on Claude Code if I know that they might 5x the minimum price of the product?
- More of a personal issue, but one I care deeply about myself: I invest a great deal of effort (that's 105 posts and counting) in teaching people how to use Claude Code. I don't want to invest that effort in a product that most people cannot afford to use.
Last month I ran a tutorial for journalists on "Coding agents for data analysis" at the annual NICAR data journalism conference. I'm not going to be teaching that audience a course that depends on a $100/month subscription!
This also doesn't make sense to me as a strategy for Anthropic. Claude Code defined the category of coding agents. It's responsible for billions of dollars in annual revenue for Anthropic already. It has a stellar reputation, but I'm not convinced that reputation is strong enough for it to lose the $20/month trial and jump people directly to a $100/month subscription.
OpenAI have been investing heavily in catching up to Claude Code with their Codex products. Anthropic just handed them this marketing opportunity on a plate - here's Codex engineering lead Thibault Sottiaux:
I don't know what they are doing over there, but Codex will continue to be available both in the FREE and PLUS ($20) plans. We have the compute and efficient models to support it. For important changes, we will engage with the community well ahead of making them.
Transparency and trust are two principles we will not break, even if it means momentarily earning less. A reminder that you vote with your subscription for the values you want to see in this world.
I should note that I pay $200/month for Claude Max and I consider it well worth the money. I've had periods of free access in the past courtesy of Anthropic but I'm currently paying full price, and happy to do so.
But I care about the accessibility of the tools that I work with and teach. If Codex has a free tier while Claude Code starts at $100/month I should obviously switch to Codex, because that way I can use the same tool as the people I want to teach how to use coding agents.
Here's what I think happened. I think Anthropic are trying to optimize revenue growth - obviously - and someone pitched making Claude Code only available for Max and higher. That's clearly a bad idea, but "testing" culture says that it's worth putting even bad ideas out to test just in case they surprise you.
So they started a test, without taking into account the wailing and gnashing of teeth that would result when their test was noticed - or accounting for the longer-term brand damage that would be caused.
Or maybe they did account for that, and decided it was worth the risk.
I don't think that calculation was worthwhile. They're going to have to make a very firm commitment along the lines of "we heard your feedback and we commit to keeping Claude Code available on our $20/month plan going forward" to regain my trust.
As it stands, Codex is looking like a much safer bet for me to invest my time in learning and building educational materials around.
Update: they've reversed it already
In the time I was typing this blog entry Anthropic appear to have reversed course - the claude.com/pricing page now has a checkbox back in the Pro column for Claude Code. I can't find any official communication about it though.
Let's see if they can come up with an explanation/apology that's convincing enough to offset the trust bonfire from this afternoon!
Update 2: it may still affect 2% of signups?
Amol on Twitter:
was a mistake that the logged-out landing page and docs were updated for this test [embedded self-tweet]
Getting lots of questions on why the landing page / docs were updated if only 2% of new signups were affected.
This was understandably confusing for the 98% of folks not part of the experiment, and we've reverted both the landing page and docs changes.
So the experiment is still running, just not visible to the rest of the world?
You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.
-
🔗 HexRaysSA/plugin-repository commits sync repo: +1 plugin, +2 releases rss
sync repo: +1 plugin, +2 releases ## New plugins - [threatray](https://github.com/threatray/plugin-ida) (3.0.0) ## New releases - [ida-search](https://github.com/milankovo/ida-search): 0.2.2 -
🔗 Jamie Brandon Borrow-checking without type-checking rss
(empty) -
🔗 exe.dev Series A for exe.dev rss
We have raised a Series A, for a total of $35m in funding. We are using it to build a new generation of cloud infrastructure. Major investors are Amplify, CRV, and HeavyBit.
Call it a cloud for developers.
Why do we need new infrastructure primitives and a new cloud now? Agents. Lower barriers to entry mean there are going to be more developers, and each of us is going to write more programs. Software needs a home; exe.dev is a good home for software.
Many companies are approaching the question of next generation infrastructure as “What do agents need?” We believe this is the wrong question. Agents are trained on how developers work. They want exactly what we want. Full computers, understandable and stable building blocks, familiar systems wherever possible. You can see that in our approach. The moment you start with exe.dev, you use SSH. You know it.
We are building a cloud that makes sense for the current and future state of software development. One that includes the features needed for fast, secure development out of the box. A cloud developers actually enjoy using. We want to revitalize the spirit of projects like early Heroku (though our technology is very different) and ship features that bring you joy. That is why our servers have HTTPS by default, and are private by default, and are easy to share with a link. It is why our pricing for individual developers is simple: pay a flat rate, run as many computers as you need with the CPU and memory purchased. And it is why we have a simple web-based agent in the default Ubuntu image with credits included in the default plan. Sometimes you just need an agent.
We have a lot of work to do! There is a lot to build. To get these primitives right we are not building on top of existing clouds; we are working with our own machines in data centers. We have written our own global load balancer. We do our own DNS. We have to strip away all the layers and go back to the actual computers to ship a cloud developers actually like. Traditional Cloud 1.0 companies sell you a VM with a default of 3000 IOPS, while your laptop has 500k. Getting the defaults right (and the cost of those defaults right) requires careful thinking through the stack. Hence the Series A: we have some computers to buy.
-
- April 21, 2026
-
🔗 IDA Plugin Updates IDA Plugin Updates on 2026-04-21 rss
IDA Plugin Updates on 2026-04-21
New Releases:
Activity:
- augur
- d2b1ccdc: chore: update dependencies
- claude-of-alexandria
- c526354b: chore(deps-dev): bump the minor-and-patch group (#6)
- 09a3422d: chore(deps-dev): bump wrangler in /server in the minor-and-patch grou…
- b15e4b53: chore(deps): bump the minor-and-patch group in /server with 5 updates…
- 428b84b7: fix(agents): rename Task tool to Agent in all agent and skill frontma…
- haruspex
- b83ea796: chore: update dependencies
- ida-domain
- e07fe48f: Add object store/retrieve APIs for typed data serialization (#41)
- ida-search
- ddd88efa: Guard next search before initialization
- plugin-ida
- python-elpida_core.py
- rhabdomancer
- 2230fb2b: chore: update dependencies
- tix-seven
- 3582fa05: feat: enhance MOSIPAdapter with detailed auth status documentation an…
- 04ae1e1a: feat: add read me
- 77dc39ef: Merge branch 'main' of https://github.com/ark1tech/tix-seven
- 295ac06d: feat: normalize mock log seed values to current enums
- 8281a329: feat: retire stale pre-alembic supabase seed paths
- 68c9648a: feat: align supabase schema migrations with alembic models
- df8df855: feat: add missing mosip-related credentials to .gitignore
- fe31c62f: feat: expand verify endpoint test coverage
- 65d81259: feat: wire verification flow to sqlalchemy session
- c2d92814: feat: align log enum and schema with grant deny
- 29521d0d: feat: remove legacy supabase client bootstrap
- b65ba595: feat: rebuild and seed mock schema for debug mode
- e3e0e925: feat: refactor ticket and entry-log dashboard data paths
- 6d532dca: feat: update gates feature for alembic model changes
- 2ace37f0: feat: update events flow to new event schema
- dcb966e9: feat: add alembic-backed schema updates for gate server
- 5bade248: Merge branch 'main' of https://github.com/ark1tech/tix-seven
- augur
-
🔗 r/reverseengineering Reversing The Gentlemen ransomware (Go/Garble) — ephemeral X25519 keys persist in go routine stacks, enabling full decryption. rss
submitted by /u/BedrockSafeGuard
[link] [comments] -
🔗 r/LocalLLaMA Claude Code removed from Claude Pro plan - better time than ever to switch to Local Models. rss
| Time to switch to Kimi k2.6 guys if you haven't already. For $20 a month you can buy the OpenCode Go coding plan (its actually $5 for the first month then $10) which gives you many more tokens on models like Kimi K2.6, and then you can pay for the rest of the usage. So for $20 a month of tokens of Kimi K2.6 you're basically getting the equivalent amount of tokens of the $100 plan. You can also use Qwen 3.6 35B A3B, which you can run on your local PC (as long as you have a decent graphics card). submitted by /u/bigboyparpa
[link] [comments]
---|--- -
🔗 Simon Willison Where's the raccoon with the ham radio? (ChatGPT Images 2.0) rss
OpenAI released ChatGPT Images 2.0 today, their latest image generation model. On the livestream Sam Altman said that the leap from gpt-image-1 to gpt-image-2 was equivalent to jumping from GPT-3 to GPT-5. Here's how I put it to the test.
My prompt:
Do a where's Waldo style image but it's where is the raccoon holding a ham radiogpt-image-1
First as a baseline here's what I got from the older gpt-image-1 using ChatGPT directly:
I wasn't able to spot the raccoon - I quickly realized that testing image generation models on Where's Waldo style images (Where's Wally in the UK) can be pretty frustrating!
I tried getting Claude Opus 4.7 with its new higher resolution inputs to solve it but it was convinced there was a raccoon it couldn't find thanks to the instruction card at the top left of the image:
Yes — there's at least one raccoon in the picture, but it's very well hidden. In my careful sweep through zoomed-in sections, honestly, I couldn't definitively spot a raccoon holding a ham radio. [...]
Nano Banana 2 and Pro
Next I tried Google's Nano Banana 2, via Gemini:
That one was pretty obvious, the raccoon is in the "Amateur Radio Club" booth in the center of the image!
Claude said:
Honestly, this one wasn't really hiding — he's the star of the booth. Feels like the illustrator took pity on us after that last impossible scene. The little "W6HAM" callsign pun on the booth sign is a nice touch too.
I also tried Nano Banana Pro in AI Studio and got this, by far the worst result from any model. Not sure what went wrong here!
gpt-image-2
With the baseline established, let's try out the new model.
I used an updated version of my openai_image.py script, which is a thin wrapper around the OpenAI Python client library. Their client library hasn't yet been updated to include
gpt-image-2but thankfully it doesn't validate the model ID so you can use it anyway.Here's how I ran that:
OPENAI_API_KEY="$(llm keys get openai)" \ uv run https://tools.simonwillison.net/python/openai_image.py \ -m gpt-image-2 \ "Do a where's Waldo style image but it's where is the raccoon holding a ham radio"
Here's what I got back. I don't think there's a raccoon in there - I couldn't spot one, and neither could Claude.
The OpenAI image generation cookbook has been updated with notes on
gpt-image-2, including theoutputQualitysetting and available sizes.I tried setting
outputQualitytohighand the dimensions to3840x2160- I believe that's the maximum - and got this - a 17MB PNG which I converted to a 5MB WEBP:OPENAI_API_KEY="$(llm keys get openai)" \ uv run 'https://raw.githubusercontent.com/simonw/tools/refs/heads/main/python/openai_image.py' \ -m gpt-image-2 "Do a where's Waldo style image but it's where is the raccoon holding a ham radio" \ --quality high --size 3840x2160
That's pretty great! There's a raccoon with a ham radio in there (bottom left, quite easy to spot).
The image used 13,342 output tokens, which are charged at $30/million so a total cost of around 40 cents.
Takeaways
I think this new ChatGPT image generation model takes the crown from Gemini, at least for the moment.
Where's Waldo style images are an infuriating and somewhat foolish way to test these models, but they do help illustrate how good they are getting at complex illustrations combining both text and details.
Update: asking models to solve this is risky
rizaco on Hacker News asked ChatGPT to draw a red circle around the raccoon in one of the images in which I had failed to find one. Here's an animated mix of their result and the original image:

Looks like we definitely can't trust these models to usefully solve their own puzzles!
You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.
-
🔗 @binaryninja@infosec.exchange A lot of practical UI work landed in Binary Ninja 5.3. We replaced the old mastodon
A lot of practical UI work landed in Binary Ninja 5.3. We replaced the old MachO slice selection flow with a dedicated picker, expanded Container Browser coverage across a wide range of container formats, and significantly extended command palette behavior. https://binary.ninja/2026/04/13/binary- ninja-5.3-jotunheim.html#ui
-
🔗 r/Leeds Best small plates / tapas in Leeds City Centre rss
Love coming over to Leeds (From York) so as the title says I’m looking for a really good small plates, tapas or charcuterie place to take the Girlfriend on a date night.
Tia x
submitted by /u/Plain-Black-Vans
[link] [comments] -
🔗 r/york The best decision I’ve ever made was moving to York rss
| submitted by /u/ramblinginmyhead
[link] [comments]
---|--- -
🔗 r/york York Mosque Community Kitchen | THURSDAY 23 APRIL 12:00 - 13:30. rss
| submitted by /u/LittleForm3711
[link] [comments]
---|--- -
🔗 r/Leeds The Prodigy tomorrow rss
So this is a long shot however tomorrow night I’m off to see Prodigy and Carl Cox at First Direct Arena, I’m a gig veteran however tomorrow I’m flying solo without my usual gig friend and as quite an anxious sorta dude I wondered if there was any other peeps going alone that may or may not want to gather up and share the experience?
Not sure if this is allowed here, if not please remove. But thought I’d take my chances to not be the only loner there!
I realise this post might seem a little sad lol but why be alone if there is others going solo tomorrow? :D
submitted by /u/ToyMachibe
[link] [comments] -
🔗 r/Harrogate Price of Wales Rdbout - Roadworks Again! rss
I seriously think somebody is running a social experiment with the town now. I may be mistaken but I think it’s the third time it’s being dug up in last six months, following being totally resurfaced early last year.
This is directly after brining Leeds Road to a standstill for the last three weeks.
It’s either actively looking to reduce pressures on housing by putting people off of living here, wanting to reduce tourist numbers, or Occams Razor telling me they simply don’t have anywhere else to store the cones, portaloos and fencing.
submitted by /u/Similar-Actuator-338
[link] [comments] -
🔗 r/Yorkshire Flamborough rss
| Few photos submitted by /u/Embarrassed-Air7202
[link] [comments]
---|--- -
🔗 r/reverseengineering ida-mcp 2.2: From Tool Calls to Analysis Scripts rss
submitted by /u/jtsylve
[link] [comments] -
🔗 r/Yorkshire My mother in law, 90 today. rss
| submitted by /u/Still_Function_5428
[link] [comments]
---|--- -
🔗 r/Leeds Best Chinese in LS17? rss
It's my birthday today and I would like to partake in a succulent Chinese meal.
submitted by /u/Row_Echelon_Form
[link] [comments] -
🔗 r/wiesbaden Henkell 0,0% Vinothon mit Start in Rüdesheim am 25.04. rss
submitted by /u/jotheta
[link] [comments] -
🔗 r/york Driving lessons rss
Hi I am trying desperately to sell 7hrs of manual driving lessons for £310 all together which roughly works out to £45 per lesson I am open to offers. I simply want to change to automatic the lessons are with “GoRoadie” and the instructor is brilliant please message or comment to enquire! (Picture for boosting this post) also if you have any recommendations for automatic driving lessons in York that would be great
submitted by /u/-thatstiny-
[link] [comments] -
🔗 r/york Want to give music a real go rss
Hello, I am a 24 M and want to really give my passion for singing and song writing a real go. Ive been writing music and singing for over 4 years now but recently found what genre I want to go into. The vibe I love is Phoebe Bridgers, Noah Kahan, Novo Amor and Bon Iver (ik a little sad). Is there anyone in the area that would maybe like to collab or help me produce some of the songs I have in the works?
Thanks
submitted by /u/Careless_Regret9883
[link] [comments] -
🔗 r/york F33 lf girl friends near York/Selby rss
Looking for new girl friends near York and Selby area, I've lived here for a couple of years but never managed to get out or make any nearby friends!
I'm really into gaming, gachas, anime and would love some like-minded friends to talk to or eventually meet up with.
submitted by /u/SaintSixx
[link] [comments] -
🔗 sacha chua :: living an awesome life OBS: A dump button for dropping the last ~10 seconds before it hits the stream rss
I want to make it easier to livestream without worrying about leaking private information. Tradeoff: slower conversations with the chat, but more peace of mind.
I think I've sorted out a setup involving two instances of OBS, with the source instance sending the stream with a delay to the restreaming instance that will then send it on to YouTube. This allows me to cut the feed from the source instance to the restreaming instance in case something happens.
The first OBS is the one that has my screen capture, webcam, audio, etc. Here's what I needed to do to change it.
- Create a new profile or rename the profile to "Source".
- Name the collection of streams "Source" as well.
- In Settings - Hotkeys, define a keyboard shortcut for Stop streaming (discard delay). I use
Super + F12. - In Settings - Stream:
- Service: Custom
- Destination - Server:
srt://127.0.0.1:9000?mode=caller
- In Settings - Advanced:
- Check Stream Delay - Enable.
- Set the duration. Let's try 10 seconds.
- Uncheck Preserve cutoff point (increase delay) when reconnecting.
Then I can launch that one with:
obs --profile "Source" --collection "Source" --launch-filter --multiThe second OBS will restream the output of the first OBS to YouTube.
obs --profile "Restream" --collection "Restream" --launch-filter --multiI used the Profile menu to create a new profile called "Restream" and the Scene Collection menu to create a new collection called "Restream." I set up the scene as follows:
- Create a text source with the backup message.
- Create a media source.
- Uncheck Local File.
- Uncheck Restart playback when source becomes active.
- Input: srt://127.0.0.1:9000?mode=listener
In the first OBS (the source), click on Start streaming. After some delay, the stream will appear, and I can move or resize it.
I was a little thrown off by the fact that my audio bars didn't initially show up in the mixer in the restreamer, but both recording and streaming seem to include the audio.
To stop the stream, I can switch to OBS, click on Stop streaming, and (important!) choose Stop streaming (discard delay). The OBS window might be buried under other things on my second screen, though, and that's too many clicks and mouse movements. The keyboard shortcut
Super + F12we just set up should be handy, but I might not remember that, so let's add some scripts. The OBS websocket protocol doesn't support discarding the delay buffer yet, but I'm on Linux and X11, so I can use xdotool to simulate a keypress. Here I select the window matching the profile name I set up previously.WID=$(xdotool search --name "OBS .* - Profile: Source") xdotool key --window $WID super+F12I can
org-capturethe timestamp of the panic so that I can doublecheck the recording.;;;###autoload (defun sacha-obs-panic () "Stop streaming and discard the delay buffer. This uses a hotkey I defined in OBS." (interactive) (shell-command "~/bin/panic") (org-capture-string "Panicked" "l") (org-capture-finalize))I always have Emacs around, and if it's not my main app, I have an autokey shortcut that maps
super + 1to focus on Emacs. Then I canM-x panicand Emacs completion will take care of finding the right function.Let's add a menu item for even more panic assistance:
(easy-menu-define sacha-stream-menu global-map "Menu for streaming-related commands." '("Stream" ["🛑 PANIC" sacha-obs-panic] ["Start streaming" obs-websocket-start-streaming] ["Start recording" obs-websocket-start-recording] ["Stop streaming" obs-websocket-stop-streaming] ["Stop recording" obs-websocket-stop-recording]))Let's see if I remember to use it!
This is part of my Emacs configuration.You can e-mail me at sacha@sachachua.com.
-
🔗 r/Harrogate Improv Jam Session - Tonight rss
| Hi All, I run improv comedy sessions every couple of weeks in Harrogate. Our next one is next tonight. They are very low pressure, we do some easy group warm ups, followed by games and exercises. Our current sessions are aimed at beginners and improvers so there has never been a better time to try it out. If you have any questions let me know. As a bonus for first time joiners your first session is free. Thanks. submitted by /u/GritstoneBoulderer
[link] [comments]
---|--- -
🔗 r/york York woman, 86, convicted after car insurance typo rss
| submitted by /u/Perfect-Cycle-5384
[link] [comments]
---|--- -
🔗 r/Harrogate Second hand furniture rss
Moving to the area soon, and wondering where is best to look for second hand furniture, if there's any big stores or anything.
Looking for things like dining set , shelves, drawers, lamps etc.
I've only had a quick look in St Michael's on Ripon road so far but didn't find much there.
submitted by /u/brich0910
[link] [comments] -
🔗 r/wiesbaden Cafés zum Lernen rss
Hallo zusammen,
gibt es gute Cafés zum Lernen in der Innenstadt? Bibliotheken sind für mich eher raus, weil ich nebenbei gerne was essen/ trinken/ snacken möchte oder wenn wir zu zweit lernen, uns auch mal unterhalten wollen. Hab gehört das Café im Hugendubel soll gut sein, aber sind Lernende dort auch willkommen? Beim Coffee Fellows wurden welche wohl schon blöd angemacht, wenn man mit Laptop länger dort saß.
Freue mich auf eure Tipps!
submitted by /u/Hour_Inspector8601
[link] [comments] -
🔗 r/LocalLLaMA Unpopular opinion: OpenClaw and all its clones are almost useless tools for those who know what they're doing. It's kind of impressive for someone who has never used a CLI, Claude Code, Codex, etc. Nor used any workflow tool like 8n8 or make. rss
It seems to me that OpenClaw and all its clones are almost useless tools for those who know what they're doing.
It's kind of impressive for someone who has never used a CLI, Claude Code, Codex, etc. Nor used any workflow tool like 8n8 or make.
For these people, asking an AI to create a program or a new tool with a prompt must seem like magic. For those who already use it, it seems like something that simplified the old ones but made them much more chaotic and unsafe.
The only good thing about it is that it made more "ordinary" people interested in these agentic tools. Sending messages via Telegram is much more user- friendly.
submitted by /u/pacmanpill
[link] [comments] -
🔗 r/york Recycling - only took cardboard? rss
Morning all, just wondering if anyone else has had a situation either today or previously where their cardboard recycling was taken, but they've left the plastic, glass and tin? This is the whole street, not just us. We're Heworth area.
(apologies this is a bit of a Facebook type of post, but I try to stay away from that nonsense platform. Don't want to get brainwashed into voting reform.)
submitted by /u/Educational-Ground83
[link] [comments] -
🔗 r/LocalLLaMA Every time a new model comes out, the old one is obsolete of course rss
| submitted by /u/FullChampionship7564
[link] [comments]
---|--- -
🔗 r/wiesbaden Brettspiel Mitspieler gesucht rss
Ich bin großer Brettspielfanatiker und lade regelmäßig Freunde zu mir ein. Da aber selten größere Spiele oder gar Kampagnen auf den Tisch kommen, da es manchen oft zu komplex ist, suche ich nach Leuten (gerne in den 20ern) die Bock auf solche Spiele haben!
Ein paar Beispiele: Pandemic Legacy, Scythe, Descent, Ankh, Nemesis, Gaia Project
submitted by /u/vivienskt
[link] [comments] -
🔗 r/LocalLLaMA 2x 512gb ram M3 Ultra mac studios rss
| $25k in hardware. tell me what you want me to load on them and i'll help test.
i've done deepseek v3.2 Q8 so far with exo backend. currently running GLM 5.1 Q4 on each (troubleshooting why exo isn't loading the Q8 version) patiently awaiting kimi2.6 for when the community optimizes it for MLX/mmap submitted by /u/taylorhou
[link] [comments]
---|--- -
🔗 r/LocalLLaMA Kimi K2.6 is a legit Opus 4.7 replacement rss
After testing it and getting some customer feedback too, its the first model I'd confidently recommend to our customers as an Opus 4.7 replacement.
It's not really better than Opus 4.7 at anything, but, it can do about 85% of the tasks that Opus can at a reasonable quality, and, it has vision and very good browser use.
I've been slowly replacing some of my personal workflows with Kimi K2.6 and it works surprisingly well, especially for long time horizon tasks.
Sure the model is monstrously big, but I think it shows that frontier LLMs like Opus 4.7 are not necessarily bringing anything new to the table. People are complaining about usage limits as well, it looks like local is the way to go.
submitted by /u/bigboyparpa
[link] [comments] -
🔗 r/reverseengineering Detect It Easy 3.20 Program for determining types of files for Windows, Linux and MacOS. rss
submitted by /u/horsicq
[link] [comments] -
🔗 Drew DeVault's blog Addressing the harassment rss
Kiwi Farms is a web forum that facilitates the discussion and harassment of online figures and communities. Their targets are often subject to organized group trolling and stalking, as well as doxing and real-life harassment. Kiwi Farms has been tied to the suicides of three people who were victims of harassment by the website.
About three years ago, a thread on Kiwi Farms was opened about me. In the years since, it has grown to about 1,200 posts full of bigots responding to anything and everything I do online with scorn, slurs, and overt bigotry. The thread is full of resources to facilitate harassment, including, among other things, all of my social media profiles, past and present, a history of my residential addresses, my phone numbers, details about my family members, a list of my usernames and password hashes from every leaked database of websites I have accounts on, and so on. Most of my articles or social media posts are archived on Kiwi Farms and then subjected to the most bigoted rebuttals you can imagine. Honestly, it’s mostly just… pathetic. But it’s a problem when it escapes containment, and it’s designed to.
Kiwi Farms is the most organized corner of the harassment which comes my way, but it comes in many forms. On Mastodon, for example, before I deleted my account I would often receive death threats, or graphic images and videos of violence against minorities. I have received a lot of hate and death threats over email, too, several of which I confess that I took some pleasure in forwarding to the sender’s employer.
One of the motivations for this harassment is to “milk” me for “drama”. The idea is to get my hackles up, make me fearful for my safety, and alienate me from my communities, with the hope that it will trigger an entertaining meltdown. Maybe people respond poorly to this kind of harassment – that’s the idea, really – and it often makes the situation worse. Responding to it can legitimize the abuse, elevate it into the discourse, draw more attention to it, and stoke the flames. It can make the victim look bad when they respond emotionally to harassment designed to evoke negative emotions. I have left it unaddressed for a long time in order to subvert this goal, and address it now with a cool head in a relatively quiet period in the harassment campaign.
The harassment waxes and wanes over time, usually picking up whenever I write a progressive blog post that gets some reach. It really took off after a series of incidents in which I called for the Hyprland community and its maintainers to be held to account for the bigotry and harassment on their Discord server (1, 2) and when I spoke out against Richard Stallman’s prolific and problematic public statements regarding the sexual abuse of minors (3).
The abuse crescendoed in October of 2024, when I was involved in editing The Stallman Report. The report is a comprehensive analysis of Richard Stallman’s problematic political discourse regarding sexual harassment, sexual assault, and the sexual abuse of minors, and it depends almost entirely on primary sources – quotes from Stallman’s website which remain online and have not been retracted to this day. The purpose of the report was to make a clear and unassailable case for Stallman’s removal from positions of power, make specific recommendations to address the underlying problems, and to stimulate a period of reflection and reform in the FOSS community. It didn’t achieve much, in the end: the retaliation from Stallman’s defenders was fiercer and more devoted than the support from those who saw the report’s sense.
Myself and the other authors asserted our moral rights to publish anonymously, motivated by our wish to reduce our exposure to the exact sort of harassment I’ve been subjected to over the years. However, I was careless in my opsec during the editing process, and it was possible to plausibly link me to the report as a result, leading to a sharp increase in harassment.
This brings me to a retaliatory, defamatory “report” published about me in the style of the Stallman Report.1 This report is, essentially, a distillation of the Kiwi Farms thread on me, sanitized of overt bigotry and presented in a readily linkable form in order to stalk me around the internet and enable harassment. It’s used to discredit anything I do online and push for my exclusion from online communities, by dropping the link on Hacker News, Reddit, GitHub or Codeberg issues, etc, anywhere myself or my work is mentioned, or used to discredit the Stallman Report by discrediting one of its unmasked authors.2
The report is pretty obviously written in bad faith and relies on a lot of poor arguments to make the case that I’m a misogynist and a pedophile, charges I deny. It also accuses me of being a hypocrite, which I acknowledge in general terms, because, well, who isn’t. The key thing I want people who encounter this report to keep in mind is that this is the “polite” face of an organized harassment campaign.
Most reasonable readers easily dismiss the report because it is rather transparent in its bad faith. However, someone who reads it in good faith, just trying to do their due diligence, might come away from it with some reasonable concerns. Consider the following quote from my long-deleted Reddit account, /u/sircmpwn:
I’m of the opinion that 14 year old girls should be required to have an IUD installed. Ten years of contraception that requires a visit to the doctor to remove prematurely.
This comment was written 13 years ago, and I don’t stand by what I wrote. I was 19 at the time, and I was a moron. My mother had me when she was 23 years old, and the abuse I suffered at her hands during my childhood was severe, and I generalized this experience to all women. When I wrote this comment, I was one year removed from the abuse, living alone and in poverty, and early in a life-long process of coming to terms with the abuse and figuring out how to be a well-adjusted adult after 18 long years of abuse and isolation.
But an explanation is not an excuse. This comment was reprehensible, as were many of the awful ideas I held at the time. Many years later, I can recognize that this comment is misogynistic, denies the agency of children and women over their own bodies, disparages the many, many mothers who do a wonderful job raising children in difficult circumstances, and is based in argumentation which can reasonably be related to eugenics. This comment was just awful – there’s a reason this was deleted. I apologize to anyone who read it at the time, or comes across it now, and is justifiably insulted.
I don’t feel that it’s necessary to rebuke most of the report. But, there is a grain of truth in the report, the grain of truth that led me to retract my shitty Reddit comments and reflect on myself, and that grain of truth is this: in early adulthood, I was a huge asshole.
I have had more than my fair share of harmful ignorance, bad takes, sexism and misogyny, transphobic and homophobic beliefs, and worse. Moreover, I have verbally abused many people and made many of my own arguments in bad faith to support bad conclusions. Some of the people who read this will recall having found themselves at the wrong end of my verbal abuse and harassment.
It’s important for me to take responsibility for this period of my life, and in dismissing bad faith criticisms of myself to carefully avoid dismissing good faith criticisms in the same fell swoop.
I’m not really sure how to deal with this part of my life appropriately. I have apologized to a few people individually, but it’s not a scalable solution and with many people I have no business re-opening wounds to salve my own conscience. I can offer a general apology, and I will. I’ve never found the right moment to say it, but now will do: I apologise, sincerely, to everyone who I have harmed with verbal abuse and with hateful and problematic rhetoric. If you have had a bad experience or experiences with me, and there’s anything you want from me that can help you heal from that experience – a personal apology, for example – please reach out to me and ask.
That said, apologies alone aren’t enough. I believe in restorative justice, in growing and mending wounds and repairing harm done, and I set myself seriously to this task over many years. I have gone to therapy, spoken with close friends about it, and taken structural action as well: I have founded support groups and worked one-on-one with many of the people whose politics and behavior I object to. I want an amicable end to bigotry and bullying, for bigots and bullies like my former self to look forward to, to provide a path that doesn’t require them to double down. It’s not easy, and not everyone manages, but I have to look at myself and see the path I’ve taken and imagine that it’s possible, because what’s left for the likes of me if not?
This part of my past brings me a great deal of shame, and that shame motivates me to grow as a person. In a certain sense, it is an ironic, cruel privilege to have had so much cause to reflect on myself, to drive me to question myself and my ideas, and become a much better person with much more defensible ideas. It has driven me to study feminism, social justice, racial justice, intersectionality, LGBTQ theory, antifascism, and to find the intersections in my own life and strive to act out of a more legitimate sense of justice.
I’m often still a firebrand, but I’ve chosen much better hills to die on. My passion is invested in making a more just world, building safe and healthy communities, elevating my peers, and calling for justice and a just society. I have taken the lessons I have learned and tried to share them with other people, and to stand up for what I can now say I know is right, both online and in real life. Through a process of learning, reflection, and humility, I acknowledge that I have done a lot harm in my youth. To repair this harm, I have committed myself to doing more than enough good now to make sure that the world is a better place when all is said and done. That’s what justice means to me when I turn my principles inwards and hold myself accountable.
So where do we go from here?
The response to my progressive beliefs and activism is reactionary backlash, doxing, harassment, and death threats targeting me and my family, all of which is likely to escalate in response to this post, and none of which is defensible. On the other hand, I understand that the consequences for my own reactionary past is, in some cases, alienation – and, honestly, fair enough.
But I don’t want you to confuse my honest faults with the defamation and harassment I endure for standing up for my honest strengths. If you feel generous and optimistic about who I am today, and you recognize my growth, and wish for an ally in the fight for what’s right, your good faith and solidarity mean the world to me. I would appreciate it if you would express your support and rebuke harassment when you see it, and help keep me honest as I continue a life-long process of learning and growth.
If I’ve hurt you, and you want to seek reconciliation, I make myself available to you for that purpose. If I’ve hurt you, and you simply don’t care to be hurt again, I’m sorry – I understand where you’re coming from, and have made my peace with it.
Please send words of support and/or death threats to drew@ddevault.org.
Thank you.
-
🔗 Baby Steps Symposium: community-oriented agentic development rss
I'm very excited to announce the first release of the Symposium project as well as its inclusion in the Rust Foundation's Innovation Lab. Symposium’s goal is to let everyone in the Rust community participate in making agentic development better. The core idea is that crate authors should be able to vend skills, MCP servers, and other extensions, in addition to code. The Symposium tool then installs those extensions automatically based on your dependencies. After all, who knows how to use a crate better than the people who maintain it?
If you want to read more details about how Symposium works, I refer you to the announcement post from Jack Huey on the main Symposium blog. This post is my companion post, and it is focused on something more personal - the reasons that I am working on Symposium.
I believe in extensibility everywhere
The short version is that I believe in extensibility everywhere. Right now, the Rust language does a decent job of being extensible: you can write Rust crates that offer new capabilities that feel built-in, thanks to proc- macros, traits, and ownership. But we're just getting started at offering extensibility in other tools, and I want us to hurry up!
I want crate authors to be able to supply custom diagnostics. I want them to be able to supply custom lints. I want them to be able to supply custom optimizations. I want them to be able to supply custom IDE refactorings. And, as soon as I started messing around with agentic development, I wanted extensibility there too.
Symposium puts crate authors in charge
The goal of Symposium is to give crate authors, and the broader Rust community, the ability to directly influence the experience of people writing Rust code with agents. Rust is a really popular target language for agents because the type system provides strong guardrails and it generates efficient code - and I predict it's only going to become more popular.
Despite Rust's popularity as an agentic coding target, the Rust community right now are basically bystanders when it comes to the experience of people writing Rust with agents; I want us to have a means of influencing it directly.
Enter Symposium. With Symposium, Crate authors can package up skills etc and then Symposium will automatically make them available for your agent. Symposium also takes care of bridging the small-but-very-real gaps between agents (e.g., each has their own hook format, and some of them use
.agents/skillsand some use.claude/skills, etc).Example: the assert-struct crate
Let me give you an example. Consider the assert- truct crate, recently created by Carl Lerche.
assert-structlets you write convenient assertions that test the values of specific struct fields:assert_struct!(val, _ { items: [1, 2, ..], tags: #("a", "b", ..), .. });The problem: agents don't know about it
This crate is neat, but of course, no models are going to know how to use it - it's not part of their training set. They can figure it out by reading the docs, but that's going to burn more tokens (expensive, slow, consumes carbon), so that's not a great idea.
You could teach the agent how to use it…
In practice what people do today is to add skills to their project - for example, in his
toastycrate, Carl has a testing skill that also shows how to use assert-struct. But it seems silly for everybody who uses the crate to repeat that content.…but wouldn't it be better the crate could teach the agent itself?
With Symposium, teaching your agent how to use your dependencies should not be necessary. Instead, your crates can publish their own skills or other extensions.
The way this works is that the assert-struct crate defines the skill once, centrally, in its own repository1. Then there is a separate file in Symposium's central recommendations repository with a pointer to the assert-struct repository. Any time that the assert-struct repository updates that skill, the updates are automatically synchronized for you. Neat! (You can also embed skills directly in the rr repository, but then updating them requires a PR to that repo.)
Frequently asked questions
How do I add support for my crate to Symposium?
It's easy! Check out the docs here:
https://symposium.dev/crate-authors/supporting-your-crate.html
What kind of extensions does Symposium support?
Skills, hooks, and MCP Servers, for now.
Why does Symposium have a centralized repository?
Currently we allow skill content to be defined in a decentralized fashion but we require that a plugin be added to our central recommendations repository. This is a temporary limitation. We eventually expect to allow crate authors to adds skills and plugins in a fully decentralized fashion.
We chose to limit ourselves to a centralized repository early on for three reasons:
- Even when decentralized support exists, a centralized repository will be useful, since there will always be crates that choose not to provide that support.
- Having a central list of plugins will make it easy to update people as we evolve Symposium.
- Having a centralized repository will help protect against malicious skills[^threat] while we look for other mechanisms, since we can vet the crates that are added and easily scan their content.
What if I want to add skills for crates private to my company? I don't
want to put those in the central repository!
No problem, you can add a custom plugin source.
Are you aware of the negative externalities of LLMs?
I am, very much so. I feel like a lot of the uses of LLMs we see today are not great (e.g., chat bots hijack conversational and social cues to earn trust that they don't deserve) and to reconfirm peoples' biases instead of challenging their ideas. And I'm worried about the environmental cost of data centers and the way companies have retreated from their climate goals. And I don't like how centralized models concentrate economic power.2 So yeah, I see all that. And I also see how LLMs enable people to build things that they couldn't build before and help to make previously intractable problems soluble - and that includes more and more people who never thought of themselves as programmers3. My goal with Symposium and other projects is to be part of the solution, finding ways to leverage LLMs that are net positive: opening doors, not closing them.
Extensibility: because everybody has something to offer
Fundamentally, the reason I am working on Symposium is that I believe everybody has something unique to offer. I see the appeal of strongly opinionated systems that reflect the brilliant vision of a particular person. But to me, the most beautiful systems are the ones that everybody gets to build together4. This is why I love open source. This is why I love emacs5. It's why I love VSCode's extension system, which has so many great gems6.
To me, Symposium is a double win in terms of empowerment. First, it makes agents extensible, which is going to give crate authors more power to support their crates. But it also helps make agentic programming better, which I believe will ultimately open up programming to a lot more people. And that is what it's all about.
-
Actually as of this posting, the assert-struct skill is embedded directly in the recommendations repo. But I opened a PR to put it on assert-struct and I'll port it over once it lands. ↩︎
-
I'm very curious to do more with open models. ↩︎
-
Within Amazon, it's been amazing to watch how many people who never thought of themselves as software developers are starting to build software. Considering the challenges the software industry has with representation, I find this very encouraging. Diverse teams are stronger, better teams! ↩︎
-
None of this is to say I don't believe in good defaults; there's a reason I use Zed and VSCode these days, and not emacs, much as I love it in concept. ↩︎
-
OMG. One of my friends college wrote this amazing essay some time back on emacs. Next time you're doomscrolling on the toilet or whatever, pop over to this essay instead. Fair warning, it's long, so it'll take you a while to read, but I think it nails what people love about emacs. ↩︎
-
These days I'm really enjoying Zed, but I have to say, I really miss kahole/edamagit! Which of course is inspired by the magit emacs package. ↩︎
-





