(date: 2024-12-19 07:09:37)
date: 2024-12-19, updated: 2024-12-19, from: One Foot Tsunami
https://onefoottsunami.com/2024/12/19/faking-love-for-the-boss/
@Dave Winer’s linkblog (date: 2024-12-19, from: Dave Winer’s linkblog)
Bidenomics Was Wildly Successful.
https://newrepublic.com/article/189232/bidenomics-success-biden-legacy
date: 2024-12-19, from: Raspberry Pi News (.com)
This MagPi Monday, we look at Third Eye, a project that uses AI to assist people with visual impairment.
The post Third Eye assistive vision | The MagPi #149 appeared first on Raspberry Pi.
https://www.raspberrypi.com/news/third-eye-assistive-vision-the-magpi-149/
@Dave Winer’s linkblog (date: 2024-12-19, from: Dave Winer’s linkblog)
Chris Murphy’s Ominous New Warning about Trump Nails It.
https://newrepublic.com/article/189552/transcript-chris-murphys-ominous-new-warning-trump-nails
date: 2024-12-19, from: One Useful Thing
A transformative month rewrites the capabilities of AI
https://www.oneusefulthing.org/p/what-just-happened
date: 2024-12-19, from: National Archives, Pieces of History blog
Today’s post on the Presidential Recordings and Materials Preservation Act (PRMPA) comes from Laurel Gray, a processing intern with the Textual Division at the National Archives in Washington, DC. It is the second of a four-part series on the archival ramifications of the Watergate scandal. When President Richard Nixon resigned in August 1974, he signed an agreement … Continue reading More Than Watergate: The PRMPA
https://prologue.blogs.archives.gov/2024/12/19/more-than-watergate-the-prmpa/
@Dave Winer’s linkblog (date: 2024-12-19, from: Dave Winer’s linkblog)
I’m very confused about how they’re integrating AI and GitHub, but it sounds like it’ll be useful, when I figure out what it is.
https://github.blog/news-insights/product-news/github-copilot-workspace/
@Dave Winer’s linkblog (date: 2024-12-19, from: Dave Winer’s linkblog)
What happens when the internet disappears?
https://www.theverge.com/24321569/internet-decay-link-rot-web-archive-deleted-culture
date: 2024-12-19, updated: 2024-12-19, from: p1k3.com community feed
date: 2024-12-19, updated: 2024-12-19, from: Simon Willison’s Weblog
I’ve written a lot about how I’ve been using Claude to build one-shot HTML+JavaScript applications via Claude Artifacts. I recently started using a similar pattern to create one-shot Python utilities, using a custom Claude Project combined with the dependency management capabilities of uv.
(In LLM jargon a “one-shot” prompt is a prompt that produces the complete desired result on the first attempt.)
I’ll start with an example of a tool I built that way.
I had another round of battle with Amazon S3 today trying to figure out why a file in one of my buckets couldn’t be accessed via a public URL.
Out of frustration I prompted Claude with a variant of the following (full transcript here):
I can’t access the file at EXAMPLE_S3_URL. Write me a Python CLI tool using Click and boto3 which takes a URL of that form and then uses EVERY single boto3 trick in the book to try and debug why the file is returning a 404
It wrote me this script, which gave me exactly what I needed. I ran it like this:
uv run debug_s3_access.py \
https://test-public-bucket-simonw.s3.us-east-1.amazonaws.com/0f550b7b28264d7ea2b3d360e3381a95.jpg
You can see the text output here.
Crucially, I didn’t have to take any extra steps to install any of the dependencies that the script needed. That’s because the script starts with this magic comment:
# /// script # requires-python = ">=3.12" # dependencies = [ # "click", # "boto3", # "urllib3", # "rich", # ] # ///
This is an example of
inline
script dependencies, a feature described in
PEP 723 and implemented
by uv run
. Running the script causes uv
to
create a temporary virtual environment with those dependencies
installed, a process that takes just a few milliseconds once the
uv
cache has been populated.
This even works if the script is specified by a URL! Anyone with
uv
installed can run the following command (provided you
trust me not to have replaced the script with something malicious) to
debug one of their own S3 buckets:
uv run http://tools.simonwillison.net/python/debug_s3_access.py \
https://test-public-bucket-simonw.s3.us-east-1.amazonaws.com/0f550b7b28264d7ea2b3d360e3381a95.jpg
The reason I can one-shot scripts like this now is that I’ve set up a Claude Project called “Python app”. Projects can have custom instructions, and I used those to “teach” Claude how to take advantage of inline script dependencies:
You write Python tools as single files. They always start with this comment:
# /// script # requires-python = ">=3.12" # ///These files can include dependencies on libraries such as Click. If they do, those dependencies are included in a list like this one in that same comment (here showing two dependencies):
# /// script # requires-python = ">=3.12" # dependencies = [ # "click", # "sqlite-utils", # ] # ///
That’s everything Claude needs to reliably knock out full-featured Python tools as single scripts which can be run directly using whatever dependencies Claude chose to include.
I didn’t suggest that Claude use
rich for the
debug_s3_access.py
script earlier but it decided to use it
anyway!
I’ve only recently started experimenting with this pattern but it seems to work really well. Here’s another example - my prompt was:
Starlette web app that provides an API where you pass in ?url= and it strips all HTML tags and returns just the text, using beautifulsoup
Here’s the chat transcript and the raw code it produced. You can run that server directly on your machine (it uses port 8000) like this:
uv run https://gist.githubusercontent.com/simonw/08957a1490ebde1ea38b4a8374989cf8/raw/143ee24dc65ca109b094b72e8b8c494369e763d6/strip_html.py
Then visit
http://127.0.0.1:8000/?url=https://simonwillison.net/
to
see it in action.
The pattern here that’s most interesting to me is using custom
instructions or system prompts to show LLMs how to implement new
patterns that may not exist in their training data. uv run
is less than a year old, but providing just a short example is enough to
get the models to write code that takes advantage of its capabilities.
I have a similar set of custom instructions I use for creating single page HTML and JavaScript tools, again running in a Claude Project:
Never use React in artifacts - always plain HTML and vanilla JavaScript and CSS with minimal dependencies.
CSS should be indented with two spaces and should start like this:
<style> * { box-sizing: border-box; }Inputs and textareas should be font size 16px. Font should always prefer Helvetica.
JavaScript should be two space indents and start like this:
<script type="module"> // code in here should not be indented at the first level
<p>Tags: <a href="https://simonwillison.net/tags/aws">aws</a>, <a href="https://simonwillison.net/tags/python">python</a>, <a href="https://simonwillison.net/tags/s3">s3</a>, <a href="https://simonwillison.net/tags/ai">ai</a>, <a href="https://simonwillison.net/tags/prompt-engineering">prompt-engineering</a>, <a href="https://simonwillison.net/tags/generative-ai">generative-ai</a>, <a href="https://simonwillison.net/tags/llms">llms</a>, <a href="https://simonwillison.net/tags/ai-assisted-programming">ai-assisted-programming</a>, <a href="https://simonwillison.net/tags/claude">claude</a>, <a href="https://simonwillison.net/tags/claude-artifacts">claude-artifacts</a>, <a href="https://simonwillison.net/tags/uv">uv</a></p>
https://simonwillison.net/2024/Dec/19/one-shot-python-tools/#atom-everything
@Dave Winer’s linkblog (date: 2024-12-19, from: Dave Winer’s linkblog)
How Trump gets his hair done.
date: 2024-12-19, from: Peter Warden
I’ve been using the ONNX Runtime a lot recently, and while it has been a lot of fun, there are a few things I’ve missed from the TensorFlow Lite world. The biggest (no pun intended) is the lack of tools to shrink the model file size, something that’s always been essential in the mobile app […]
https://petewarden.com/2024/12/19/how-to-shrink-onnx-files/
date: 2024-12-19, from: 404 Media Group
Air traffic control audio reviewed by 404 Media shows 11 aircraft near New Jersey reporting people shining lasers at them during the ongoing drone panic.
@Dave Winer’s linkblog (date: 2024-12-19, from: Dave Winer’s linkblog)
"We should spend a few months marketing the Democratic Party."
https://bsky.app/profile/did:plc:oety7qbfx7x6exn2ytrwikmr/post/3lbuy3qlb7s2v
date: 2024-12-18, from: Liliputing
NVIDIA’s latest Jetson platform for AI development is more powerful than its predecessor, but costs half as much. Radxa has launched a new motherboard for folks that want a powerful ARM-based processor in a mini ITX form-factor. There’s a new build of Fedora available for Macs with Apple Silicon. And Google has released another developer […]
The post Lilbits: Fedora 41 for Apple Silicon, NVIDIA’s new $249 AI dev kit, and Android 16 DP2 appeared first on Liliputing.
date: 2024-12-18, updated: 2024-12-18, from: Simon Willison’s Weblog
Core Java author Cay Horstmann describes how he now uses Java for small programs, effectively taking the place of a scripting language such as Python.
TIL that hello world in Java can now look like this - saved as
hello.java
:
void main(String[] args) {
println("Hello world");
}
And then run (using openjdk 23.0.1
on my Mac, installed at
some point by Homebrew) like this:
java --enable-preview hello.java
This is so much less unpleasant than the traditional, boiler-plate filled Hello World I grew up with:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
I always hated how many concepts you had to understand just to print out a line of text. Great to see that isn’t the case any more with modern Java.
<p><small></small>Via <a href="https://news.ycombinator.com/item?id=42454929">Hacker News</a></small></p>
<p>Tags: <a href="https://simonwillison.net/tags/java">java</a></p>
https://simonwillison.net/2024/Dec/18/java-in-the-small/#atom-everything
date: 2024-12-18, updated: 2024-12-18, from: Simon Willison’s Weblog
A new free tier for GitHub Copilot in VS Code
It’s easy to forget that GitHub Copilot was the first widely deployed feature built on top of generative AI, with its initial preview launching all the way back in June of 2021 and general availability in June 2022, 5 months before the release of ChatGPT.The idea of using generative AI for autocomplete in a text editor is a really significant innovation, and is still my favorite example of a non-chat UI for interacting with models.
Copilot evolved a lot over the past few years, most notably through the addition of Copilot Chat, a chat interface directly in VS Code. I’ve only recently started adopting that myself - the ability to add files into the context (a feature that I believe was first shipped by Cursor) means you can ask questions directly of your code. It can also perform prompt-driven rewrites, previewing changes before you click to approve them and apply them to the project.
Today’s announcement of a permanent free tier (as opposed to a trial) for anyone with a GitHub account is clearly designed to encourage people to upgrade to a full subscription. Free users get 2,000 code completions and 50 chat messages per month, with the option of switching between GPT-4o or Claude 3.5 Sonnet.
I’ve been using Copilot for free thanks to their open source maintainer program for a while, which is still in effect today:
People who maintain popular open source projects receive a credit to have 12 months of GitHub Copilot access for free. A maintainer of a popular open source project is defined as someone who has write or admin access to one or more of the most popular open source projects on GitHub. […] Once awarded, if you are still a maintainer of a popular open source project when your initial 12 months subscription expires then you will be able to renew your subscription for free.
It wasn’t instantly obvious to me how to switch models. The option for that is next to the chat input window here, though you may need to enable Sonnet in the Copilot Settings GitHub web UI first:
<p>Tags: <a href="https://simonwillison.net/tags/generative-ai">generative-ai</a>, <a href="https://simonwillison.net/tags/github-copilot">github-copilot</a>, <a href="https://simonwillison.net/tags/ai">ai</a>, <a href="https://simonwillison.net/tags/github">github</a>, <a href="https://simonwillison.net/tags/llms">llms</a>, <a href="https://simonwillison.net/tags/openai">openai</a>, <a href="https://simonwillison.net/tags/anthropic">anthropic</a>, <a href="https://simonwillison.net/tags/ai-assisted-programming">ai-assisted-programming</a>, <a href="https://simonwillison.net/tags/claude-3-5-sonnet">claude-3-5-sonnet</a></p>
https://simonwillison.net/2024/Dec/18/free-tier-for-github-copilot/#atom-everything
date: 2024-12-18, updated: 2024-12-18, from: Simon Willison’s Weblog
A polite disagreement bot ring is flooding Bluesky — reply guy as a (dis)service
Fascinating new pattern of AI slop engagement farming: people are running bots on Bluesky that automatically reply to “respectfully disagree” with posts, in an attempt to goad the original author into replying to continue an argument.It’s not entirely clear what the intended benefit is here: unlike Twitter there’s no way to monetize (yet) a Bluesky account through growing a following there - and replies like this don’t look likely to earn followers.
rahaeli has a theory:
Watching the recent adaptations in behavior and probable prompts has convinced me by now that it’s not a specific bad actor testing its own approach, btw, but a bad actor tool maker iterating its software that it plans to rent out to other people for whatever malicious reason they want to use it!
One of the bots leaked part of its prompt (nothing public I can link to here, and that account has since been deleted):
Your response should be a clear and respectful disagreement, but it must be brief and under 300 characters. Here’s a possible response: “I’m concerned that your willingness to say you need time to think about a complex issue like the pardon suggests a lack of preparedness and critical thinking.”
<p>Tags: <a href="https://simonwillison.net/tags/slop">slop</a>, <a href="https://simonwillison.net/tags/bluesky">bluesky</a>, <a href="https://simonwillison.net/tags/ethics">ethics</a>, <a href="https://simonwillison.net/tags/generative-ai">generative-ai</a>, <a href="https://simonwillison.net/tags/ai">ai</a>, <a href="https://simonwillison.net/tags/llms">llms</a></p>
https://simonwillison.net/2024/Dec/18/disagreement-bots/#atom-everything
date: 2024-12-18, from: Liliputing
Apple’s new Mac Mini is a tiny powerhouse of a computer. It’s a 5″ x 5″ x 2″ computer that supports up to an Apple M4 Pro processor, Thunderbolt 5, and 10 GbE LAN ports. But Apple made at least one strange decision with this little computer: the company put the power button on the […]
The post ZEERA MacForge gives the Mac Mini M4 a Mac Pro makeover (and makes the power button easier to reach) appeared first on Liliputing.
date: 2024-12-18, from: Michael Tsai
Gus Mueller (release notes): “Select Subject”, “Mask Subject”, and “Remove Background” are new commands which use machine learning (or A.I. if you prefer) to find the most important parts of your image, and then perform their respective operations.[…]Acorn 8 now has an on canvas ruler which you can use to measure out distances, straighten your […]
https://mjtsai.com/blog/2024/12/18/acorn-8/
date: 2024-12-18, from: Michael Tsai
Adam Engst: Starting in macOS 12 Monterey, clicking an update notification did nothing. Before that, it opened the App Store app, though only to the main screen, not the Updates screen. It was frustrating, and unnecessarily so.In Sequoia, however, Apple finally made this notification work as it should. When a notification informs you that updates […]
https://mjtsai.com/blog/2024/12/18/sequoia-fixes-app-store-update-notifications/
date: 2024-12-18, from: Michael Tsai
Mike Wuerthele: In a report on Sunday morning by Bloomberg, Apple is said to be prototyping new versions of the Magic Mouse internally. On the top of the list of changes, is a relocation of the charging port, and perhaps new ergonomics, but that point isn’t clear.It’s not clear when a new design will arrive. […]
https://mjtsai.com/blog/2024/12/18/magic-mouse-rumors/
date: 2024-12-18, from: Michael Tsai
Paul Kafasis: In 2020, the disaster foreshadowed literally one sentence ago struck. Beta versions of MacOS 11 broke ACE, our then-current audio capture technology, and the damage looked permanent. When we spoke briefly to Apple during WWDC 2020, our appeals for assistance were flatly rejected.[…]With this in mind, we engaged in further discussions with the […]
https://mjtsai.com/blog/2024/12/18/the-developers-who-came-in-from-the-cold/
@Dave Winer’s linkblog (date: 2024-12-18, from: Dave Winer’s linkblog)
Judge says a pardon of Oath Keepers founder Stewart Rhodes would be ‘frightening.’
https://www.politico.com/news/2024/12/18/oath-keepers-pardon-rhodes-001632
date: 2024-12-18, from: Liliputing
Intel’s new Core (Series 2) processors are mobile chips designed for laptops. But while the processors are new, their architecture isn’t. The new chips are based on the same Raptor Lake technology Intel introduced in 2022, and which the company has used for several different laptop and desktop chip families since then. The company has […]
The post Intel quietly launches Intel Core 200H Raptor Lake laptop processors appeared first on Liliputing.
https://liliputing.com/intel-quietly-launches-intel-core-200h-raptor-lake-laptop-processors/
@Dave Winer’s linkblog (date: 2024-12-18, from: Dave Winer’s linkblog)
GitHub launches a free version of its Copilot.
https://techcrunch.com/2024/12/18/github-launches-a-free-version-of-its-copilot/
date: 2024-12-18, from: Liliputing
The Orange Pi CM5 is a computer-on-a-module that launched earlier this year with a Rockchip RK3588S processor and support for up to 16GB of memory. At the time Orange Pi introduced a baseboard for the CM5 that would give the little computer a bunch of ports including USB, HDMI, and Ethernet. Now Orange Pi has […]
The post Build your own tablet with this $31 Orange Pi CM5 baseboard appeared first on Liliputing.
https://liliputing.com/build-your-own-tablet-with-this-31-orange-pi-cm5-baseboard/
@Dave Winer’s linkblog (date: 2024-12-18, from: Dave Winer’s linkblog)
Guy Kawasaki explains evangelism. It's a very short piece, but it explains the whole thing. You're looking for fellow visionaries to champion the cause.
date: 2024-12-18, from: Bacalhau Blog
We’ve rebuilt key Bacalhau functionality to provide and even more reliable platform for your workloads
https://blog.bacalhau.org/p/enhancing-bacalhaus-resiliency
date: 2024-12-18, from: Liliputing
The System76 Pangolin is a thin, light, and powerful laptop with a big screen, an AMD processor, and a choice of GNU/Linux distributions including Ubuntu and Pop!_OS. Linux PC company System76 has been selling versions of the Pangolin laptop since 2020, and this week the company introduced a new model with an AMD Ryzen 9 8945HS […]
The post System76 Pangolin Linux Laptop now available with Ryzen 9 8945HS and up to 96GB RAM appeared first on Liliputing.
@Dave Winer’s linkblog (date: 2024-12-18, from: Dave Winer’s linkblog)
Sam Altman-backed nuclear startup Oklo lands massive data center power deal.
date: 2024-12-18, from: 404 Media Group
To political grifters boosting their profiles, government inaction is unacceptable, and government action cannot be trusted. There is no acceptable explanation.
https://www.404media.co/the-no-win-mystery-drone-clusterfuck/
date: 2024-12-18, from: 404 Media Group
What is probably happening with all those drone sightings; Cellebrite used as a doorway to malware; and an art project and a cease and desist.
https://www.404media.co/podcast-the-new-jersey-drone-panic/
date: 2024-12-18, updated: 2024-12-18, from: One Foot Tsunami
https://onefoottsunami.com/2024/12/18/maybe-we-should-just-pack-it-in/
@Dave Winer’s linkblog (date: 2024-12-18, from: Dave Winer’s linkblog)
Thread Writer for Bluesky is the best way to write a longer-than-300-character post for Bluesky.
https://this.how/threadWriterForBluesky/
date: 2024-12-18, from: Hannah Richie at Substack
Lula da Silva is making progress, just like he did during his previous presidency.
https://www.sustainabilitybynumbers.com/p/amazon-2024
date: 2024-12-18, from: mrusme blog
“Osaka is a designated city in the Kansai region of Honshu in Japan. It is the capital of and most populous city in Osaka Prefecture, and the third most populous city in Japan, following Tokyo and Yokohama. With a population of 2.7 million, it is also the largest component of the Keihanshin Metropolitan Area, which is the second-largest metropolitan area in Japan and the 10th largest urban area in the world with more than 19 million inhabitants.”
https://xn--gckvb8fzb.com/travel/japan/osaka-2024/
@Dave Winer’s linkblog (date: 2024-12-18, from: Dave Winer’s linkblog)
A Big Pile of Money and Lawyering to Defend Trump’s Legal Targets?
date: 2024-12-18, from: ldbeth Lisp/Music Programmer blog
A new article on the program transform preprocessor.
https://ldbeth.sdf.org/articles/txl.html
@Dave Winer’s linkblog (date: 2024-12-18, from: Dave Winer’s linkblog)
Cupertino: Iconic Flint Center undergoes demolition five years after closing.
date: 2024-12-18, from: Tedium site
An apparent extortion scheme involving famous writers and entrepreneurs lit up Bluesky the other night. It raises some important questions about whether Bluesky is up to the task of moderation.
https://feed.tedium.co/link/15204/16923453/bluesky-impersonation-risks
date: 2024-12-18, from: Web Recorder
¡Browsertrix para todos! With your help, we’re translating Browsertrix into new languages.