Avatar
Simon Willison
8b0be93ed69c30e9a68159fd384fd8308ce4bbf16c39e840e0803dcb6c08720e
Open source developer building tools to help journalists, archivists, librarians and others analyze, explore and publish their data. https://datasette.io and many other #projects.

This TIL shows my workflow using ChatGPT - it includes prompts and process I used to quickly build a tool in Bash and jq for combining release notes from a GitHub repo, and shows how I then pipe those release notes to "llm" to answer questions about them https://til.simonwillison.net/jq/combined-github-release-notes

Today I learned that if you set the system prompt in Llama 2 7B to "You are sarcastic and mean" it adds *sarcasm* and *eyeroll* to every other sentence

(Wrote a new plugin for LLM, this time using MLC which can run Llama 2 GPU-accelerated on M1/M2 https://github.com/simonw/llm-mlc )

nostr:npub1q0pgnt7ur6zchg0ng8494ffn0m700wx4tykpww05q622ud9nrrzqzrutym you could combine it with the json_each() to turn JSON returned by jq() into a table-like thing that you could then join against

New plugin for sqlite-utils: sqlite-utils-jq, which adds a jq(document, expression) function for running JQ inside of SQL queries https://github.com/simonw/sqlite-utils-jq

Put together some notes on my latest explorations of Justine Tunney's Cosmopolitan / APE / redbean ecosystem https://til.simonwillison.net/cosmopolitan/ecosystem

New TIL: Running a Django and PostgreSQL development environment in GitHub Codespaces https://til.simonwillison.net/github/django-postgresql-codespaces

nostr:npub1m2rjxcnyjpntg3zxggcxq3hkej6jn48pqxwzcuvj9kzwd3x05qmqqx2w6y I use marker clustering in my own mapping hacking stuff, but the Google

Maps iOS app doesn't seem to do that yet!

Can't say I'm wildly keen on the new Google Maps marker design - they've added a thicker white border, so now my map is mostly white borders

nostr:npub1jpmmu3zwejrwv5dy6406lyy9dekxawfksvtmhxs0hgs55uhc64ts7hmc52 Annoyingly it looks like in Chrome you have to open a fresh tab and paste that full URL in - I tried editing the # in an already loaded page and it didn't seem to work

Replying to Avatar Simon Willison

Anyone got any experience with GraalPy? https://www.graalvm.org/latest/reference-manual/python/

"Python 3.10 compliant runtime" claiming a 3-4x performance boost over cPython once the JIT has warmed up

It's under Oracle's Universal Permissive License which looks GPL-like, and apparently has OSI approval https://opensource.org/license/upl/

I'm interested in it primarily because it might provide a robust option for running untrusted Python code in a sandbox (still a perennial research question for me) https://www.graalvm.org/latest/security-guide/polyglot-sandbox/

Anyone got any experience with GraalPy? https://www.graalvm.org/latest/reference-manual/python/

"Python 3.10 compliant runtime" claiming a 3-4x performance boost over cPython once the JIT has warmed up

It's under Oracle's Universal Permissive License which looks GPL-like, and apparently has OSI approval https://opensource.org/license/upl/

nostr:npub1y4s7hjcxn9e2dxakrl98taqevp8vk9fn4axpkejqcuvackcg7f6sgnvgt8 I was trying to do it through the API in the same way I have in the past - not sure how that maps to the various buttons I clicked in the web console

nostr:npub1860rmakqggckd0j2ex576eza05wv0s8dpwkdp8wc8achrlc5rx7qm9gwst nostr:npub1g3krcqnthmx4pcz2pq0ynr7u2q4xyh94mg8lgxuxnp3wrwykxgsscqw4ug oh wow, I hadn't thought to look at the Java ecosystem - the thing I most want is robust restrictions on the amount of memory and CPU used, and it looks like that is supported there

Just spent 20 frustrating minutes figuring out how to setup a new S3 bucket that could be used to publicly serve static files, despite having devoted an unreasonable amount of time in the past to solving that exact same problem when I built https://s3-credentials.readthedocs.io/

Why is this so hard !?

nostr:npub1e4a42hmshtppnvj2dy602awd6a2ftp9u76fyn0gms9tk6zpphajqrqzc6v yeah I often run audio for these things through MacWhisper - my GitHub Actions transcription thing can do that too https://simonwillison.net/2022/Sep/30/action-transcription/

Of those four transcripts this one is probably the most interesting - demonstrates me getting it to iterate on code, then throwing in some more code I've written and telling it to use additional libraries that might not be in its training data https://chat.openai.com/share/5218799e-0423-49ad-88ba-c72ee27e3fe3

Replying to Avatar Simon Willison

A particularly fun detail of the https://til.simonwillison.net/tools/annotated-presentations tool is how it uses Tesseract.js OCR (running in the browser) to extract suggested alt= text from the images

I wrote more about that in this TIL: https://til.simonwillison.net/javascript/tesseract-ocr-javascript

I also shared four ChatGPT transcripts from sessions I used to help me cobble that annotated presentation together https://simonwillison.net/2023/Aug/6/annotated-presentations/#chatgpt-sessions

Replying to Avatar Simon Willison

Here's the new tool I built: https://til.simonwillison.net/tools/annotated-presentations - plus an animated GIF showing how it can be used

(I used ChatGPT extensively in building it, the prompts I used are included in my write-up of the tool)

https://cdn.masto.host/fedisimonwillisonnet/media_attachments/files/110/843/820/102/869/101/original/4f6774bed012d5ef.mp4

I experimented with using Claude to clean up the YouTube transcript of my talk and turn it into text I could use in the annotated presentation - it did a pretty great job, though I ended up using just small portions and applying many of my own edits anyway