--- title: Things I Learned - 23 Aug 2026 date: 2026-08-23T00:00:00+00:00 categories: - til description: I learned about DuckDB 2.0's CONNECT command, EQ-Bench's model-behavior comparisons, how ChatGPT Work layers on Codex, and running Gemma 4 locally, with reflections on AI, work, and taste. tags: [llms, ai-agents, coding-agents, prompt-engineering] --- This week, I learned: - [DuckDB 2.0](https://duckdb.org/2026/08/17/duckdb-20-highlights) adds a `CONNECT` command that can connect to databases like MySQL, PostgreSQL, etc. making DuckDB the only DB client I need. - [EQ-Bench](https://eqbench.com/index.html) evaluates models on capabilities like: does it follow direction, does it challenge you, how good are its insights, does it build rapport, etc. Very interesting to see that the Gemini models are the most "yielding" to your pressure and "validating" your beliefs (Anthropic's are the least) while OpenAI models are the most "directive" (give concrete actions) #ForNow. There are other benchmarks such as [Creative writing](https://eqbench.com/creative_writing.html) which Opus 5, Kimi K3, and GPT-5.6 Sol lead #ForNow. - OpenRouter offers several [models at a discount](https://openrouter.ai/collections/discounted-models). #ForNow, [GPT-5.6 Sol](https://openrouter.ai/openai/gpt-5.6-sol) is at a 50% discount, [DeepSeek v4 Pro](https://openrouter.ai/deepseek/deepseek-v4-pro) at 62%, and [Gemini 3.7 Flash](https://openrouter.ai/google/gemini-3.7-flash) at 75% discount. There's also a [Free Models](https://openrouter.ai/collections/free-models) collection that #ForNow includes [Nemotron 3 Ultra](https://openrouter.ai/nvidia/nemotron-3-ultra-550b-a55b:free) and more. - For a few years, I've been feeling useless, that I don't contribute anything tangible to my organization. No measurable metric I've improved. Today, it strikes me that this is a _good_ thing if I don't want to be fired. As AI eats up more of our work, measurable contributions naturally shrink (AI does more, you do less/different work), and the vague "Oh, he's probably doing some good" is a safer bet than "He contributed 10% to this metric last year, this year it's 1%, can we justify his cost?" (I'm sure marketers will come up with a good term to cover this feeling of uselessness that is actually a good thing.) - ChatGPT Desktop - Work is a layer on top of Codex #ForNow (which I sort-of expected, but the session logs confirm this). It _adds_ instructions that cover: - Memory: from `memory_summary.md`, `MEMORY.md`, rollout summaries, and saved skill notes. Recheck decaying ones, mention if unverified. - Folders: Temo work in `work/`, final in `outputs/`, local files use absolute paths. - Coordination: How to start, fork, inspect, message, wait for, rename, ... Codex tasks, how to use subagents. - Automations: Available tools for reminders, schedules, monitors, follow-ups, and wake-ups. - Knowledge management: known project → memory; specialist task → skill; external object → connector; subtask → subagent; recurring work → automation; finished artifact → Work UI primitive. - Presentation: Use shell/scripts internally but hide it, describe outcomes in user terms. - Apps/Connectors: Gmail, Drive, GitHub, Dropbox, etc. - Skills: via `SKILL.md` - Neither ChatGPT Work nor Claude Work can read the ChatGPT / Claude chat conversations. But the chat conversations can access past conversations via "Memory". That's a pity, and one of the reasons I'm more often on "chat" than on "work" - it can refer to my past chats automatically, which helps build a kind of unstructured knowledge base. The other reason is that, at least on ChatGPT, chat does not consume usage limits #ForNow. ChatGPT work and Claude - both chat _and_ work - consume usage limits. - Weird that there's a "make a lot of money" button and nobody's pressing it (take your SaaS, make it headless, let agents use it, charge per interaction esp for enterprises). [Thariq](https://x.com/i/status/2089844723691479333) - AI is accelerating discoveries in cyber (definitely) and maths (reasonably) but not as much in algorithms. [METR](https://metr.org/notes/2026-08-14-llm-contribution-to-discoveries/) - "Match your prompt style to the desired output." [Clear guidance from Anthropic](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#control-the-format-of-responses) that "The formatting style used in your prompt may influence Claude's response style." [OpenAI says something similar](https://model-spec.openai.com/2026-08-18.html#be_professional) - adapting implicitly to the user's tone. But this is not a very strong signal - examples are better guides. - [Why model routing must be in the harness](https://x.com/_AbhaySinghal/status/2088361241928732705). Makes perfect sense. "Only the harness can judge when a model switch is worth the cache miss." I'm sure some popular harness (like OpenCode, Codex, Claude Code) will enable an "auto model" mode that'll pick and change the model by itself by the end of the year. - Microsoft Print to PDF can, sometimes, [generate PDFs with no highlightable](https://learn.microsoft.com/en-ie/answers/questions/2359651/words-in-print-to-pdf-documents-cant-be-highlighte) or [selectable text](https://learn.microsoft.com/en-us/answers/questions/3894700/microsoft-print-to-pdf-makes-text-unselectable-in) - all fonts get converted to paths. A crude solution is below. This is a poor solution but often good enough for an LLM to process. (Of course, if you're passing it to an agent, you could just upload the file and it'll figure it out.) ```bash sudo apt install ocrmypdf tesseract-ocr ocrmypdf --output-type pdf input.pdf ocr.pdf pdftotext ocr.pdf - ``` - When my train neighbor started talking to me (asking personal questions but was self-aware, rambling but was partly interesting), I asked if he was an extrovert. He said "No". People who talk a lot can still be introverts if they're: - socially competent (like me at work) - in "performance mode" (like me when I'm on stage) - are high energy and engaged by topics (maybe him - or me when, like now, when I just HAVE to tell the flight attendant Ollama + Gemma 4 + Pi answering a psychology question is a delight!) - ambiverts (maybe him) - not self-aware and are mistaken (maybe him) - `ffmpeg` can embed subtitles. `ffmpeg -i video.webm -i subtitles.srt -map 0:v -map 0:a? -map 1:0 -c:v copy -c:a copy -c:s srt -metadata:s:s:0 language=eng -metadata:s:s:0 title="English" -disposition:s:0 default output.mkv` adds `subtitles.srt` to `video.webm` and creates `output.mkv` with embedded subtitles. Note: On VLC, MKV works better than WEBM if you want to embed subtitles. On the browser, you need to use the `