/Simon Willison

Claude And ChatGPT For Ad-Hoc Sidequests tl;dr: The author demonstrates a quick ”sidequest" task where he converted the shapefile of a largest park in NY to a GeoJSON polygon in just 6 minutes. “One of the greatest misconceptions concerning LLMs is that they’re easy to use. They aren’t: getting great results requires a great deal of experience and hard-fought intuition, combined with deep domain knowledge of the problem you are applying them to.”

featured in #501


Embeddings: What They Are And Why They Matter tl;dr: “Embeddings are based around one trick: take a piece of content—in this case a blog entry — and turn that piece of content into an array of floating point numbers.” Simon shows us what this looks like and argues that we can learn interesting things about the content this way - “it might capture colors, shapes, concepts or all sorts of other characteristics of the content that has been embedded.” Simon also shows us practical use cases of how this may show up.

featured in #459


CLI Tools Hidden In The Python Standard Library tl;dr: “This is a neat Python feature: modules with a if \_\_name\_\_ == "\_\_main\_\_": block that are available on Python's standard import path can be executed from the terminal using python -m name\_of\_module.” This made Simon: what other little tools are lurking in the Python standard library, available on any computer with a working Python installation? 

featured in #427


The Perfect Commit tl;dr: The perfect commit is a single commit that contains the following: (1) A single, focused change. (2) Tests that demonstrate the implementation works. (3) Updated documentation reflecting the change. (4) A link to an issue thread providing further context.

featured in #365


Software Engineering Practices tl;dr: Simon outlines 7 recommended “software engineering practices” for development teams, including: (1) Documentation in the same repo as the code. (2) Mechanisms for creating test data. (3) Rock solid database migrations. (4) Templates for new projects and components. (5) Automated code formatting. And more.

featured in #356


Using GPT-3 To Explain How Code Works tl;dr: "One of my favourite uses for the GPT-3 AI language model is generating explanations of how code works. It’s shockingly effective at this: its training set clearly include a vast amount of source code. Simon shows a few recent examples." 

featured in #333


Support Open Source That You Use By Paying The Maintainers To Talk To Your Team tl;dr: "Reach out to the maintainers and offer them generous speaking fees for remote talks to your engineering team." Simon believes that companies are more likely to spend on a one-off paid speaking opportunities than pay a monthly donation. If the maintainer is not an experienced speaker, find a member of your team to act as a host and gather questions from your engineers in advance to run the session as a Q&A.

featured in #294


Finding And Reporting An Asyncio Bug In Python 3.10 tl;dr: "I found a bug in Python 3.10 today! Some notes on how I found it and my process for handling it once I figured out what was going on."

featured in #259