2025 4

Turning Walks into Pull Requests

In the last few days, I’m coding with Jules (Google’s coding agent) while walking. Here are a few pull requests merged so far: Add features via an issue Write test cases Add docs Why bother? My commute used to be audiobook time. Great for ideas, useless for deliverables. With ChatGPT, Gemini, Claude.ai, etc. I was able to have them write code, but I still needed to run, test, and deploy. Jules (and tools like GitHub Copilot Coding Agent, OpenAI Codex, PR Agent, etc. which are not currently free for everyone) lets you chat clone a repo, write code in a new branch, test it, and push. I can deploy that with a click. ...

The New Superpower: Detailed Single-Shot Prompt For Instant Apps

I built podcast generator app in one-shot. I wrote a prompt, fed it to an LLM, and it generated the output without errors. I tested three LLMs, and all produced correct, working output. ChatGPT: o4-mini-high Functional but missed my specs in three ways: No error if I skip the API key No progress indicator for audio generation Both voices default to “ash” (should be “ash” and “nova”) Gemini 2.5 Pro: Works and looks great! Claude 3.7 Sonnet: Works great and looks even better! It still took me an hour to craft the prompt – even after I’d built a Python prototype and my colleague built a similar web version. ...

Things I Learned - 16 Feb 2025

This week, I learned: Connected Papers shows papers similar to each other based on co-citation and bibliographic coupling for ~50,000 papers. Notes from a fireside chat with Prashanth Chandrasekar, CEO, StackOverflow, and the StackOverflow team There’s a signal that software demand is growing in 2024. Many more students took the StackOverflow survey in 2024. So more students (or other professionals) are shifting into / starting to learn software development. The AI Index is a good resource for AI trends. Experts are better able to use AI for writing code. Less experienced developers are more likely to use AI for code reviews, project planning, etc. There’s a 5% decline in favorability for AI tools compared to 2023, maybe due to disappointing results. Pilot groups working on AI are 25-30% more productive. They’re the most enthusiastic. For the rest of the company, it drops off to 5-10% #LEARNING Benefit comes from NEW people becoming programmers, not existing ones getting more effective? StackOverflow wants to be where the developer is. The programmer workflow was: Google -> StackOverflow -> GitHub. Now it’s changing to ChatGPT / Cursor -> GitHub. StackOverflow has a partnership with OpenAI and working on a plugin. Same with Google’s Duet AI, GitHub Copilot, many others. They’ll link to StackOverflow. StackOverflow is driving integration actively through an enterprise Overflow API Q: What tech have you seen blaze through the ranks? Prashanth: Abstraction wins. Stuff that abstracts away things well and more wins. This includes Gen AI. Erin Yepis: Rust (from 3% to 12%). AWS has steady growth. Erin Yapis: I have a time series spreadsheet that I’ll publish. Q: What technologies are unusually tightly coupled? Prashanth: AWS & Google Cloud are tightly coupled. Q: We have an engagement problem. Might be India-specific. What are low-effort high-return mechanisms to increase engagement. Eric Woodring: Rather than a static web page, integrate it using the API. #TODO Ben Marconi: Use LLMs to write post mortems and push to StackOverflow. #TODO Eric Woodring: “Hydrating” the community helps. We take repeat questions on Teams / Slack and seed them using LLMs. We integrate with the API to auto-add Q&A. Transform documentation into Q&A. Potentially UPDATE existing Q&A if it’s wrong. Q: What unexpected lessons about developer behavior have you learned while running StackOverflow? Prashanth: We didn’t expect developers moving away from Google. Now it moved to the IDE. Q: What are you learning about developer learning behavior? Ben Marconi: Generating LLM-based onboarding documents. Using StackOverflow for Teams to identify who the experts are to contact for specific topics. Q: Are you thinking about leveraging Stack Overflow’s knowledge base for personalized or interactive learning experiences? How? Prashanth: Traditionally, people use StackOveflow for productivity, learning, and flexibility (i.e. to ask/answer questions asynchronously without breaking their flow). So yeah, learning is important for us. (Duh!) Q: Could Stack Overflow’s interactions help evaluate the accuracy and relevance of LLM-generated code? Or provide potential metrics on quality? Prashanth: LLM accuracy improves by ~30%. Upvotes / downvotes are reinforcement learning (RL) in steroids, so that helps. Q: What are your thoughts on reliance on LLMs potentially deskill-ing developers? Prashanth: A real issue for junior developers, not for senior ones. They’ll come across as knowledgeable. Make internal evaluations and interviews more rigorous. Anand’s requests for action: Could I get a copy of Erin’s spreadsheet? Vivek Narayanan will follow-up. Could you help me learn more about hydration? Nick Madison will set up a meeting with customer success group. I switched to fish shell mainly because: Autocomplete and tab completion works perfectly, out-of-box. Syntax highlighting is beautiful Great multi-line editing To format with VS Code Ruff, you need to point the ruff.interpreter setting to a Python interpreter. You can’t run the ruff server without Python, even though ruff itself doesn’t need Python. cd checks all paths specified in CDPATH for the directory name and changes to the first match. That’s pretty convenient! Flipper Zero is now on my list of “To Buy” tools. It has a variety of hardware devices including NFC, RFID, Bluetooth, Infrared, etc. and is great to reverse engineer or hack devices.

Things I Learned - 12 Jan 2025

This week, I learned: Measuring developer productivity with the DX Core 4 is a framework for measuring developer productivity. It encapsulates other frameworks like DORA, SPACE, and DevEx. Can LLMs write better code if you keep asking them to “write better code? A delightful exploration of how Claude 3.5 Sonnet keeps optimizing and adding features to improve code. My takeaway: repeatedly applying a prompt gives us interesting new directions to explore. Wednesday comes from Wōdnesdæg - named after Odin (or Woden). CLIProxyAPI seems a good way to allow any CLI coding agent (Codex, Claude Code, etc.) to work with any provider (e.g. Gemini, OpenRouter, etc.) The documentation needs a few more examples, but it’s usable. mise x github:router-for-me/CLIProxyAPI -- cli-proxy-api starts a local server that proxies requests. Create a config.yaml, update the keys, and configure your coding agent, e.g. Codex to use it. It’s also a good way to see what prompts are being sent by the various harnesses. smolagents is a new agents library from HuggingFace. It seems simple enough to use. whisper-flow does real-time speech transcription! Switchboard-1 is a labelled audio corpus with ~260 hours of speech. It has ~2,400 calls among 500+ speakers in the US. Cloudflare tunnel is like ngrok but more permanent. It’s a bit more complex, too. But given CloudFlare’s liberal free tier, it’s a good, viable option for long-term local hosting. John Wheeler: “We live on an island surrounded by a sea of ignorance. As our island of knowledge grows, so does the shore of our ignorance.” A great way to understand how ignorance actually grows as you learn more. justhtml is a fast enough pure Python fully HTML5 compliant library. For a faster, mostly compliant solution, html5-parser with lxml works. There is little reason to use Redis. There are several clones you can use. Databases in 2024: A Year in Review Microsoft’s Garnet KeyDB (only Linux) ValKey (only source) DragonFly (only Linux) ReDict (only Linux) Every few years, something comes along trying to replace relational databases and SQL, and gets absorbed. YouTube Key value stores. People soon realize they need more features, e.g. indices. MapReduce systems. Most MapReduce vendors put SQL on top of SQL. Then the Hadoop market crashed. (But HDFS, S3, distributed storage systems are a good idea) Document Databases. JSON. SQL absorbed that. SQLite 3.45+ supports even JSONB. DuckDB, of course, has JSON. Column Databases. Again, these introduced SQL. Graph Databases. SQL:2023 introduced graph queries via SQL/PGQ (Property Graph Queries). DuckPGQ beats Neo4J Array Databases. SQL:2023 adds SQL/MDA which allows for matrix operations. But specialized databases might make sense in this category. Vector Databases. Every DB is adding support for this. TheAgentCompany is a benchmark of real-world tasks like: Arranging a meeting room Analyze a spreadsheet Add a Gitlab wiki page Salvatore Sanfilippo (antirez - Redis) finds DeepSeek v3 comparable with Claude 3.5 Sonnet. YouTube He also passed a paper and his code to compare them. A useful prompt. YouTube

2024 1

AI Coding: $12M return for $240K spend?

This is an email I sent to our leadership team a few minutes ago. We may be witnessing the third major leap in computing productivity, after high-level languages in the 1960s and spreadsheets in the 1980s In the last few weeks, AI coding really took off. Cursor, Cody, Replit Agents are FAR better than GitHub Copilot. Research on ~5,000 devs in Fortune 100 shows that even GitHub Copilot makes them ~25% more productive. ...

2009 1

Short notes

I’m quite busy on a project right now, and don’t get time to write long articles. So for a while, I’m going to stick to short notes on interesting stuff. Peter Bregman has a very interesting piece on Why You Should Encourage Weakness. It boils down to a choice: do you focus on on improving strengths or minimising weaknesses? Conventional performance evaluations focus on the latter. I very strongly support Bregman’s view on this. The weakness isn’t why you hired the person! Unless it’s killing the organisation, just leave them to focus on their strengths. Google Analytics has a fairly interesting API that I hadn’t explored until recently. Picked up [Advanced Web Metrics with Google Analytics](http://www.s-anand.net/amazon-browser.html#advanced web metrics with google analytics) and learnt that you can track outbound clicks, page load times, Javascript events and error logs, almost anything at all using Google Analytics. You can also mirror the logging on your local server using pageTracker._setLocalRemoteServerMode() The whole concept of a Sandbox environment seems to be picking up within Google. There’s a Checkout sandbox, an AJAX API playground, an AdWords sandbox, an AdSense API sandbox, the Mapstraction API sandbox, even an event called Developer Sandbox. (After saying Sandbox 6 times, I feel a bit like Hobbes.)

2006 1

Programmers Bill of Rights

Jeff proposes a Programmer’s Bill of Rights. Every programmer shall have two monitors Every programmer shall have a fast PC Every programmer shall have their choice of mouse and keyboard Every programmer shall have a comfortable chair Every programmer shall have a fast internet connection Every programmer shall have quiet working conditions

2005 1

Good programmers

Why good programmers are lazy and dumb. Comments Prasenjeet 26 Aug 2005 3:01 pm: Like the chap who created some-language-or-the-other