<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: amazon</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/amazon.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2025-08-20T16:29:56+00:00</updated><author><name>Simon Willison</name></author><entry><title>AWS in 2025: The Stuff You Think You Know That’s Now Wrong</title><link href="https://simonwillison.net/2025/Aug/20/aws-in-2025/#atom-tag" rel="alternate"/><published>2025-08-20T16:29:56+00:00</published><updated>2025-08-20T16:29:56+00:00</updated><id>https://simonwillison.net/2025/Aug/20/aws-in-2025/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.lastweekinaws.com/blog/aws-in-2025-the-stuff-you-think-you-know-thats-now-wrong/"&gt;AWS in 2025: The Stuff You Think You Know That’s Now Wrong&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Absurdly useful roundup from Corey Quinn of AWS changes you may have missed that can materially affect your architectural decisions about how you use their services.&lt;/p&gt;
&lt;p&gt;A few that stood out to me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EC2 instances can now live-migrate between physical hosts, and can have their security groups, IAM roles and EBS volumes modified without a restart. They now charge by the second; they used to round up to the hour.&lt;/li&gt;
&lt;li&gt;S3 Glacier restore fees are now fast and predictably priced.&lt;/li&gt;
&lt;li&gt;AWS Lambdas can now run containers, execute for up to 15 minutes, use up to 10GB of RAM and request 10GB of /tmp storage.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also this note on AWS's previously legendary resistance to shutting things down:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;While deprecations remain rare, they’re definitely on the rise; if an AWS service sounds relatively niche or goofy, consider your exodus plan before building atop it.&lt;/p&gt;
&lt;/blockquote&gt;

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://news.ycombinator.com/item?id=44962844"&gt;Hacker News&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/aws"&gt;aws&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/lambda"&gt;lambda&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/s3"&gt;s3&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/corey-quinn"&gt;corey-quinn&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="aws"/><category term="ec2"/><category term="lambda"/><category term="s3"/><category term="corey-quinn"/></entry><entry><title>At Amazon, Some Coders Say Their Jobs Have Begun to Resemble Warehouse Work</title><link href="https://simonwillison.net/2025/May/28/amazon-some-coders/#atom-tag" rel="alternate"/><published>2025-05-28T04:41:22+00:00</published><updated>2025-05-28T04:41:22+00:00</updated><id>https://simonwillison.net/2025/May/28/amazon-some-coders/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.nytimes.com/2025/05/25/business/amazon-ai-coders.html"&gt;At Amazon, Some Coders Say Their Jobs Have Begun to Resemble Warehouse Work&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I got a couple of quotes in this NYTimes story about internal resistance to Amazon's policy to encourage employees to make use of more generative AI:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“It’s more fun to write code than to read code,” said Simon Willison, an A.I. fan who is a longtime programmer and blogger, channeling the objections of other programmers. “If you’re told you have to do a code review, it’s never a fun part of the job. When you’re working with these tools, it’s most of the job.”
 [...]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It took me about 15 years of my career before I got over my dislike of &lt;em&gt;reading&lt;/em&gt; code written by other people. It's a difficult skill to develop! I'm not surprised that a lot of people dislike AI-assisted programming paradigm when the end result is less time writing, more time reading!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“If you’re a prototyper, this is a gift from heaven,” Mr. Willison said. “You can knock something out that illustrates the idea.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Rapid prototyping has been a key skill of mine for a long time. I love being able to bring half-baked illustrative prototypes of ideas to a meeting - my experience is that the quality of conversation goes up by an order of magnitude as a result of having something concrete for people to talk about.&lt;/p&gt;
&lt;p&gt;These days I can vibe code a prototype in single digit &lt;em&gt;minutes&lt;/em&gt;.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/new-york-times"&gt;new-york-times&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/prototyping"&gt;prototyping&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/careers"&gt;careers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/generative-ai"&gt;generative-ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/llms"&gt;llms&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai-assisted-programming"&gt;ai-assisted-programming&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai-ethics"&gt;ai-ethics&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vibe-coding"&gt;vibe-coding&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/press-quotes"&gt;press-quotes&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="new-york-times"/><category term="prototyping"/><category term="careers"/><category term="ai"/><category term="generative-ai"/><category term="llms"/><category term="ai-assisted-programming"/><category term="ai-ethics"/><category term="vibe-coding"/><category term="press-quotes"/></entry><entry><title>First impressions of the new Amazon Nova LLMs (via a new llm-bedrock plugin)</title><link href="https://simonwillison.net/2024/Dec/4/amazon-nova/#atom-tag" rel="alternate"/><published>2024-12-04T15:50:50+00:00</published><updated>2024-12-04T15:50:50+00:00</updated><id>https://simonwillison.net/2024/Dec/4/amazon-nova/#atom-tag</id><summary type="html">
    &lt;p&gt;Amazon released &lt;a href="https://aws.amazon.com/blogs/aws/introducing-amazon-nova-frontier-intelligence-and-industry-leading-price-performance/"&gt;three new Large Language Models&lt;/a&gt; yesterday at their AWS re:Invent conference. The new model family is called Amazon Nova and comes in three sizes: Micro, Lite and Pro.&lt;/p&gt;
&lt;p&gt;I built a new &lt;a href="https://llm.datasette.io/"&gt;LLM&lt;/a&gt; plugin called &lt;a href="https://github.com/simonw/llm-bedrock"&gt;llm-bedrock&lt;/a&gt; for accessing the models in the terminal via &lt;a href="https://boto3.amazonaws.com/v1/documentation/api/latest/index.html"&gt;boto3&lt;/a&gt; and the &lt;a href="https://aws.amazon.com/bedrock/"&gt;Amazon Bedrock API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My initial impressions from trying out the models are that they're mainly competitive with the Google Gemini family. They are &lt;em&gt;extremely&lt;/em&gt; inexpensive - Nova Micro slightly undercuts even previously cheapest model &lt;a href="https://developers.googleblog.com/en/gemini-15-flash-8b-is-now-generally-available-for-use/"&gt;Gemini 1.5 Flash-8B&lt;/a&gt; - can handle quite large context and the two larger models can handle images, video and PDFs.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://simonwillison.net/2024/Dec/4/amazon-nova/#pricing-and-capabilities"&gt;Pricing and capabilities&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://simonwillison.net/2024/Dec/4/amazon-nova/#using-nova-from-the-terminal-with-llm"&gt;Using Nova from the terminal with LLM&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://simonwillison.net/2024/Dec/4/amazon-nova/#multi-modal-prompting-with-images-and-documents"&gt;Multi-modal prompting with images and documents&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://simonwillison.net/2024/Dec/4/amazon-nova/#gamoa"&gt;Closing thoughts: GAMOA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id="pricing-and-capabilities"&gt;Pricing and capabilities&lt;/h4&gt;
&lt;p&gt;Amazon list &lt;a href="https://aws.amazon.com/bedrock/pricing/"&gt;their pricing&lt;/a&gt; in price per 1,000 input tokens. Almost everyone else uses price per million, so I've done the conversion.&lt;/p&gt;
&lt;p&gt;Here's a table comparing the least expensive models from the largest providers:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Cents per million input&lt;/th&gt;
&lt;th&gt;Cents per million output&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;GPT-4o Mini&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Claude 3 Haiku&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;125&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Claude 3.5 Haiku&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Gemini 1.5 Flash-8B&lt;/td&gt;
&lt;td&gt;3.75&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Gemini 1.5 Flash&lt;/td&gt;
&lt;td&gt;7.5&lt;/td&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;td&gt;Nova Micro&lt;/td&gt;
&lt;td&gt;3.5&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;td&gt;Nova Lite&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;As you can see, Nova Micro is .25 of a cent cheaper on input and 1 cent cheaper on output than previous champion Gemini 1.5 Flash-8B.&lt;/p&gt;
&lt;p&gt;And the more expensive models:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Cents per million input&lt;/th&gt;
&lt;th&gt;Cents per million output&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;GPT-4o&lt;/td&gt;
&lt;td&gt;250&lt;/td&gt;
&lt;td&gt;1000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;o1-mini&lt;/td&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;1200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;o1-preview&lt;/td&gt;
&lt;td&gt;1500&lt;/td&gt;
&lt;td&gt;6000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Claude 3.5 Sonnet&lt;/td&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;1500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Claude 3 Opus&lt;/td&gt;
&lt;td&gt;1500&lt;/td&gt;
&lt;td&gt;7500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Gemini 1.5 Pro&lt;/td&gt;
&lt;td&gt;125&lt;/td&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;td&gt;Nova Pro&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;320&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;So Nova Pro isn't priced the same as those top-tier models, in fact it's priced about the same as Claude 3.5 Haiku (after their &lt;a href="https://simonwillison.net/2024/Dec/5/claude-35-haiku-price-drops-by-20/"&gt;new 20% price drop&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The best model in the Nova family is still to come - &lt;a href="https://aws.amazon.com/blogs/aws/introducing-amazon-nova-frontier-intelligence-and-industry-leading-price-performance/"&gt;from their post&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Amazon Nova Premier&lt;/strong&gt; – Our most capable multimodal model for complex reasoning tasks and for use as the best teacher for distilling custom models. Amazon Nova Premier is still in training. We’re targeting availability in early 2025.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And from &lt;a href="https://press.aboutamazon.com/2024/12/introducing-amazon-nova-a-new-generation-of-foundation-models"&gt;the press release&lt;/a&gt;, which presumably is talking about Nova Premier as well:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;In early 2025, Amazon will support context length of over 2M input tokens.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Comparing models based on token pricing doesn't capture the entire picture because models use different tokenizers and hence may use up different numbers of tokens for the same input, especially with images and video added to the mix. I'd like to implement a good way to compare those counts in the future.&lt;/p&gt;
&lt;p&gt;In terms of capabilities: &lt;em&gt;all&lt;/em&gt; of the above models can handle image inputs now, with the exception of Amazon Nova Micro and o1-mini and o1-preview which are text only. Video support is currently unique to the Gemini and Nova models - Anthropic and OpenAI don't have any that handle video yet. See &lt;a href="https://docs.aws.amazon.com/nova/latest/userguide/prompting-vision-limitations.html"&gt;Amazon Nova video understanding limitations&lt;/a&gt; for more details.&lt;/p&gt;
&lt;p&gt;Nova models can't handle audio, and in fact ignore audio in video that they analyze (treating it as a sequence of images). Gemini models have audio input, as does OpenAI's &lt;code&gt;gpt-4o-audio-preview&lt;/code&gt; model ($100/$200 for input/output of those audio tokens).&lt;/p&gt;
&lt;p&gt;Nova mini has a 128,000 input token limit, while Lite and Pro are both 300,000 tokens. This isn't quite in the same league as Gemini (2 million for Pro and Flash, 1 million for Flash-8B) but beats the standard models from both OpenAI and Anthropic. Anthropic have an "Enterprise" tier with 500,000 but I've not had a chance to try that myself.&lt;/p&gt;
&lt;h4 id="using-nova-from-the-terminal-with-llm"&gt;Using Nova from the terminal with LLM&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://llm.datasette.io/en/stable/setup.html"&gt;Install LLM&lt;/a&gt;, then install the plugin like this:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;llm install llm-bedrock&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Next comes the hard part: you'll need AWS credentials that have permission to access Bedrock models on your behalf.&lt;/p&gt;
&lt;p&gt;If you've previously configured the AWS CLI you may be able to use a shortcut: &lt;a href="https://us-west-2.console.aws.amazon.com/bedrock/home?region=us-west-2#/"&gt;request access to the Bedrock models&lt;/a&gt; (Nova models are approved instantly) and the tool should be able to pick up your existing credentials.&lt;/p&gt;
&lt;p&gt;I got stuck on this for a while, then Nils Durner &lt;a href="https://twitter.com/ndurner/status/1864068962247393601"&gt;came to the rescue&lt;/a&gt; with &lt;a href="https://ndurner.github.io/amazon-nova"&gt;step-by-step instructions&lt;/a&gt; (17 steps in total, screenshots included) for requesting access to the models, creating an IAM user, creating a JSON IAM policy that allows access to the &lt;code&gt;bedrock:&lt;/code&gt; actions, assigning that policy to the new user and then creating and storing an access key and access secret for calling the API.&lt;/p&gt;
&lt;p&gt;Now that you have those credentials, you can provide them to LLM by running:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;llm keys &lt;span class="pl-c1"&gt;set&lt;/span&gt; bedrock&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;And then pasting in the &lt;code&gt;access_key:secret_access_key&lt;/code&gt; - the two keys with a colon in the middle.&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;llm models&lt;/code&gt; to confirm that the models are installed correctly - you should see output that ends like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Bedrock: us.amazon.nova-micro-v1:0 (aliases: nova-micro)
Bedrock: us.amazon.nova-lite-v1:0 (aliases: nova-lite)
Bedrock: us.amazon.nova-pro-v1:0 (aliases: nova-pro)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And now you can run prompts! A simple text prompt looks like this - I'm setting an optional system prompt too:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;llm -m nova-micro &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;Three ways to impress a pelican&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt; -s &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;short sentences&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Offer a fish.&lt;/li&gt;
&lt;li&gt;Dance like a clown.&lt;/li&gt;
&lt;li&gt;Wear bright colors.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;That's using &lt;code&gt;nova-micro&lt;/code&gt;, the cheapest and fastest model. Trying that again with &lt;code&gt;-m nova-pro&lt;/code&gt; (the best model) gave me:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Offer fresh fish.&lt;/li&gt;
&lt;li&gt;Perform mimicry of pelican calls.&lt;/li&gt;
&lt;li&gt;Create a calm, respectful environment.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;h4 id="multi-modal-prompting-with-images-and-documents"&gt;Multi-modal prompting with images and documents&lt;/h4&gt;
&lt;p&gt;My plugin &lt;a href="https://simonwillison.net/2024/Oct/29/llm-multi-modal/"&gt;supports LLM attachments&lt;/a&gt;, so you can attach images, video and PDF files to a prompt using the &lt;code&gt;-a&lt;/code&gt; option which accepts either a URL or a file path.&lt;/p&gt;
&lt;p&gt;Trying against my &lt;a href="https://static.simonwillison.net/static/2024/pelicans.jpg"&gt;standard low-resolution pelican group photo&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://static.simonwillison.net/static/2024/pelicans.jpg" alt="A confusing photo of a group of pelicans on some rocks" style="max-width: 100%;" /&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;llm -m nova-lite &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;describe image&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt; \
  -a https://static.simonwillison.net/static/2024/pelicans.jpg -u&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;-u&lt;/code&gt; option there outputs token usage. I got back:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The image depicts a large gathering of birds on a rocky cliff adjacent to a body of water, likely a sea or a large lake. The birds, primarily pelicans, appear to be resting and socializing in a tightly packed group. Some of the birds are standing while others are perched on the rocks, and a few are near the edge of the cliff, possibly preparing to dive into the water below. The cliff is rocky and has a rugged appearance, with some areas showing signs of erosion or weathering. The water beneath the birds is calm and appears to be a deep blue color, reflecting the clear sky above. The birds' feathers are visible in various shades of brown, gray, and white, adding to the natural and picturesque scene.&lt;/p&gt;
&lt;p&gt;Token usage: 1,668 input, 148 output&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Using my &lt;a href="https://tools.simonwillison.net/llm-prices"&gt;LLM pricing calculator&lt;/a&gt; (now upgraded to support Nova) I get 0.0136 cents - that's just over 1/100th of a cent!&lt;/p&gt;
&lt;p&gt;For the same prompt using &lt;code&gt;-m nova-pro&lt;/code&gt; for the more expensive Nova Pro model:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The image depicts a large gathering of birds on a rocky shore or beach, adjacent to a body of water. The scene is bustling with a variety of birds, primarily pelicans, which are identifiable by their large size, long necks, and distinctive beaks. The pelicans are positioned both standing and sitting on the rocks, with some standing tall and others hunched over.&lt;/p&gt;
&lt;p&gt;In addition to pelicans, there are numerous smaller birds, likely seagulls, characterized by their gray and white plumage. These birds are densely packed together, creating a vivid scene of avian life. The seagulls are scattered throughout the rocky area, some standing, others sitting, and a few engaged in various activities such as preening their feathers or searching for food.&lt;/p&gt;
&lt;p&gt;The rocky shore is uneven and covered with a mix of pebbles and larger stones, providing a natural habitat for the birds. The body of water in the background appears calm, with a reflection of the sky and the rocky shore. The water's surface is smooth, indicating little to no wind.&lt;/p&gt;
&lt;p&gt;The sky above is clear, suggesting fair weather conditions. The lighting in the image suggests it is daytime, likely in the early morning or late afternoon, given the soft light and the absence of harsh shadows.&lt;/p&gt;
&lt;p&gt;In summary, the image captures a lively scene of wildlife, with a focus on pelicans and seagulls congregating on a rocky shore next to a calm body of water under a clear sky. The diverse bird population and their interactions with the environment create a dynamic and engaging visual experience.&lt;/p&gt;
&lt;p&gt;Token usage: 1,668 input, 305 output&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That came in at a whopping 0.231 cents - nearly a quarter of a cent!&lt;/p&gt;
&lt;p&gt;Let's try something absurdly ambitious. I ran some random Google searches for government military PDFs and stumbled across &lt;a href="https://www.darpa.mil/attachments/DARPA_FY18_Presidents_Budget_Request.pdf"&gt;this one&lt;/a&gt;. Let's convert that to Markdown:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;llm -u -m nova-pro &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;convert this document to markdown&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt; \
  -a https://www.darpa.mil/attachments/DARPA_FY18_Presidents_Budget_Request.pdf&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;You can see &lt;a href="https://gist.github.com/simonw/300cc0f00f0da3cf6e1d00fc19e36b81"&gt;the result here&lt;/a&gt;. It stopped around page 9 and missed some of the tables, but this was an absurdly challenging document so I'm not surprised it didn't manage a perfect conversion. It cost me 176,386 input, 4,283 output which is a full 15.4814 cents.&lt;/p&gt;
&lt;p&gt;Finally, let's see if it can code:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;llm -m nova-pro &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;python function to domnload a CSV file from a URL, create a corresponding table in SQLite and import the data&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;24 input, 616 output = 0.0087 cents.&lt;/p&gt;
&lt;p&gt;Full &lt;a href="https://gist.github.com/simonw/05c7e59d381e96acab08baa6006845e5"&gt;output here&lt;/a&gt;, but this is the code it wrote:&lt;/p&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-s1"&gt;requests&lt;/span&gt;
&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-s1"&gt;csv&lt;/span&gt;
&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-s1"&gt;sqlite3&lt;/span&gt;
&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-s1"&gt;os&lt;/span&gt;
&lt;span class="pl-k"&gt;from&lt;/span&gt; &lt;span class="pl-s1"&gt;io&lt;/span&gt; &lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-v"&gt;StringIO&lt;/span&gt;

&lt;span class="pl-k"&gt;def&lt;/span&gt; &lt;span class="pl-en"&gt;download_csv_and_import_to_sqlite&lt;/span&gt;(&lt;span class="pl-s1"&gt;url&lt;/span&gt;, &lt;span class="pl-s1"&gt;db_name&lt;/span&gt;, &lt;span class="pl-s1"&gt;table_name&lt;/span&gt;):
    &lt;span class="pl-c"&gt;# Download the CSV file from the URL&lt;/span&gt;
    &lt;span class="pl-s1"&gt;response&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s1"&gt;requests&lt;/span&gt;.&lt;span class="pl-en"&gt;get&lt;/span&gt;(&lt;span class="pl-s1"&gt;url&lt;/span&gt;)
    &lt;span class="pl-s1"&gt;response&lt;/span&gt;.&lt;span class="pl-en"&gt;raise_for_status&lt;/span&gt;()  &lt;span class="pl-c"&gt;# Ensure we notice bad responses...&lt;/span&gt;
    
    &lt;span class="pl-c"&gt;# Read the CSV data&lt;/span&gt;
    &lt;span class="pl-s1"&gt;csv_data&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s1"&gt;response&lt;/span&gt;.&lt;span class="pl-s1"&gt;content&lt;/span&gt;.&lt;span class="pl-en"&gt;decode&lt;/span&gt;(&lt;span class="pl-s"&gt;'utf-8'&lt;/span&gt;)
    &lt;span class="pl-s1"&gt;csv_reader&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s1"&gt;csv&lt;/span&gt;.&lt;span class="pl-en"&gt;reader&lt;/span&gt;(&lt;span class="pl-v"&gt;StringIO&lt;/span&gt;(&lt;span class="pl-s1"&gt;csv_data&lt;/span&gt;))
    
    &lt;span class="pl-c"&gt;# Get the header (column names) from the CSV&lt;/span&gt;
    &lt;span class="pl-s1"&gt;header&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-en"&gt;next&lt;/span&gt;(&lt;span class="pl-s1"&gt;csv_reader&lt;/span&gt;)
    
    &lt;span class="pl-c"&gt;# Create the SQLite database and connect to it&lt;/span&gt;
    &lt;span class="pl-s1"&gt;conn&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s1"&gt;sqlite3&lt;/span&gt;.&lt;span class="pl-en"&gt;connect&lt;/span&gt;(&lt;span class="pl-s1"&gt;db_name&lt;/span&gt;)
    &lt;span class="pl-s1"&gt;cursor&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s1"&gt;conn&lt;/span&gt;.&lt;span class="pl-en"&gt;cursor&lt;/span&gt;()
    
    &lt;span class="pl-c"&gt;# Create the table&lt;/span&gt;
    &lt;span class="pl-s1"&gt;create_table_query&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;f"CREATE TABLE IF NOT EXISTS &lt;span class="pl-s1"&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s1"&gt;table_name&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/span&gt; ("&lt;/span&gt;
    &lt;span class="pl-s1"&gt;create_table_query&lt;/span&gt; &lt;span class="pl-c1"&gt;+=&lt;/span&gt; &lt;span class="pl-s"&gt;","&lt;/span&gt;.&lt;span class="pl-en"&gt;join&lt;/span&gt;([&lt;span class="pl-s"&gt;f"&lt;span class="pl-s1"&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s1"&gt;col&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/span&gt; TEXT"&lt;/span&gt; &lt;span class="pl-k"&gt;for&lt;/span&gt; &lt;span class="pl-s1"&gt;col&lt;/span&gt; &lt;span class="pl-c1"&gt;in&lt;/span&gt; &lt;span class="pl-s1"&gt;header&lt;/span&gt;])
    &lt;span class="pl-s1"&gt;create_table_query&lt;/span&gt; &lt;span class="pl-c1"&gt;+=&lt;/span&gt; &lt;span class="pl-s"&gt;")"&lt;/span&gt;
    &lt;span class="pl-s1"&gt;cursor&lt;/span&gt;.&lt;span class="pl-en"&gt;execute&lt;/span&gt;(&lt;span class="pl-s1"&gt;create_table_query&lt;/span&gt;)
    
    &lt;span class="pl-c"&gt;# Insert the data into the table&lt;/span&gt;
    &lt;span class="pl-s1"&gt;insert_query&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;f"INSERT INTO &lt;span class="pl-s1"&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s1"&gt;table_name&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/span&gt; VALUES (&lt;span class="pl-s1"&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s"&gt;','&lt;/span&gt;.&lt;span class="pl-en"&gt;join&lt;/span&gt;([&lt;span class="pl-s"&gt;'?'&lt;/span&gt; &lt;span class="pl-k"&gt;for&lt;/span&gt; &lt;span class="pl-s1"&gt;_&lt;/span&gt; &lt;span class="pl-c1"&gt;in&lt;/span&gt; &lt;span class="pl-s1"&gt;header&lt;/span&gt;])&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/span&gt;)"&lt;/span&gt;
    &lt;span class="pl-k"&gt;for&lt;/span&gt; &lt;span class="pl-s1"&gt;row&lt;/span&gt; &lt;span class="pl-c1"&gt;in&lt;/span&gt; &lt;span class="pl-s1"&gt;csv_reader&lt;/span&gt;:
        &lt;span class="pl-s1"&gt;cursor&lt;/span&gt;.&lt;span class="pl-en"&gt;execute&lt;/span&gt;(&lt;span class="pl-s1"&gt;insert_query&lt;/span&gt;, &lt;span class="pl-s1"&gt;row&lt;/span&gt;)
    
    &lt;span class="pl-c"&gt;# Commit the changes and close the connection&lt;/span&gt;
    &lt;span class="pl-s1"&gt;conn&lt;/span&gt;.&lt;span class="pl-en"&gt;commit&lt;/span&gt;()
    &lt;span class="pl-s1"&gt;conn&lt;/span&gt;.&lt;span class="pl-en"&gt;close&lt;/span&gt;()
    
    &lt;span class="pl-en"&gt;print&lt;/span&gt;(&lt;span class="pl-s"&gt;f"Data successfully imported into &lt;span class="pl-s1"&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s1"&gt;db_name&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/span&gt; in table &lt;span class="pl-s1"&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-s1"&gt;table_name&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;/span&gt;."&lt;/span&gt;)

&lt;span class="pl-c"&gt;# Example usage&lt;/span&gt;
&lt;span class="pl-s1"&gt;url&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;"https://datasette.io/content/stats.csv"&lt;/span&gt;
&lt;span class="pl-s1"&gt;db_name&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;"example.db"&lt;/span&gt;
&lt;span class="pl-s1"&gt;table_name&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;"data_table"&lt;/span&gt;

&lt;span class="pl-en"&gt;download_csv_and_import_to_sqlite&lt;/span&gt;(&lt;span class="pl-s1"&gt;url&lt;/span&gt;, &lt;span class="pl-s1"&gt;db_name&lt;/span&gt;, &lt;span class="pl-s1"&gt;table_name&lt;/span&gt;)&lt;/pre&gt;
&lt;p&gt;That's spot on. I may have to retire that benchmark question, it's not enough of a challenge for modern models.&lt;/p&gt;
&lt;p&gt;Can they produce &lt;a href="https://simonwillison.net/2024/Oct/25/pelicans-on-a-bicycle/"&gt;an SVG of a pelican on a bicycle&lt;/a&gt;? &lt;a href="https://github.com/simonw/pelican-bicycle#aws-models"&gt;Not very well&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="gamoa"&gt;Closing thoughts: GAMOA&lt;/h4&gt;
&lt;p&gt;My experiments here aren't particularly comprehensive - I look forward from hearing from people who have better challenges and a more disciplined way of applying them. &lt;a href="https://livebench.ai/"&gt;LiveBench&lt;/a&gt; have some useful results here already.&lt;/p&gt;

&lt;p&gt;As a general initial vibe check though these Nova models pass with flying colors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Gemini now has competition in terms of pricing. This is a relief to me, Gemini is so cheap I've been nervous that they'll jack the prices up through lack of competition!&lt;/li&gt;
&lt;li&gt;These appear to be good multi-modal models - their image handling feels solid and it's neat to have a new video-input model (even if it's quite limited compared to Gemini)&lt;/li&gt;
&lt;li&gt;Anthropic's decision to &lt;a href="https://simonwillison.net/2024/Nov/4/haiku/"&gt;raise the price for Claude 3.5 Haiku&lt;/a&gt; isn't looking great, given the continued competition at the bottom end of the market. Just a few months ago Claude 3 Haiku was the cheapest model available, now it's hardly worth considering, undercut by even GPT-4o mini.&lt;/li&gt;
&lt;li&gt;Gaining API access to anything on AWS remains horrifyingly difficult - seriously, &lt;a href="https://ndurner.github.io/amazon-nova"&gt;17 steps&lt;/a&gt;! Some day a PM at AWS is going to figure out that fixing this will have a material impact on Amazon's bottom line.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From &lt;a href="https://press.aboutamazon.com/2024/12/introducing-amazon-nova-a-new-generation-of-foundation-models"&gt;the Nova press release&lt;/a&gt; in the what's next section:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Amazon will introduce an Amazon Nova &lt;strong&gt;speech-to-speech model&lt;/strong&gt; in the first quarter of 2025. [...] Amazon is also developing a novel model that can take text, images, audio, and video as input, and generate outputs in any of these modalities. This Amazon Nova model with native &lt;strong&gt;multimodal-to-multimodal&lt;/strong&gt; – or “any-to-any” modality capabilities – will be introduced mid-year 2025.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This reminded me that OpenAI's GPT-4o was meant to be able to provide image output, which they demonstrated &lt;a href="https://openai.com/index/hello-gpt-4o/"&gt;at their launch&lt;/a&gt; and as far as I'm aware have not mentioned since. Maybe this will encourage them to finally ship that feature!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;The cost of multi-modal models - first Gemini, now Nova - continues to leave me almost speechless. At 0.0136 cents per image I could generate a description of every photo in my 67,771 personal photo library using Nova Mini for $9.21.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With this release I think Amazon may have earned a spot among the top tier of model providers. Maybe we need a new FAANG acronym that covers OpenAI, Anthropic, Google, Meta and Amazon. I like &lt;strong&gt;GAMOA&lt;/strong&gt;.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/projects"&gt;projects&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/releases"&gt;releases&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openai"&gt;openai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/generative-ai"&gt;generative-ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/llms"&gt;llms&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/llm"&gt;llm&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/anthropic"&gt;anthropic&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gemini"&gt;gemini&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vision-llms"&gt;vision-llms&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/llm-pricing"&gt;llm-pricing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/multi-modal-output"&gt;multi-modal-output&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/llm-release"&gt;llm-release&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="amazon"/><category term="projects"/><category term="releases"/><category term="ai"/><category term="openai"/><category term="generative-ai"/><category term="llms"/><category term="llm"/><category term="anthropic"/><category term="gemini"/><category term="vision-llms"/><category term="llm-pricing"/><category term="multi-modal-output"/><category term="llm-release"/></entry><entry><title>Quoting Andy Jassy</title><link href="https://simonwillison.net/2024/Aug/24/andy-jassy-amazon-ceo/#atom-tag" rel="alternate"/><published>2024-08-24T04:25:06+00:00</published><updated>2024-08-24T04:25:06+00:00</updated><id>https://simonwillison.net/2024/Aug/24/andy-jassy-amazon-ceo/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.linkedin.com/posts/andy-jassy-8b1615_one-of-the-most-tedious-but-critical-tasks-activity-7232374162185461760-AdSz/"&gt;&lt;p&gt;[...] here’s what we found when we integrated [Amazon Q, GenAI assistant for software development] into our internal systems and applied it to our needed Java upgrades:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The average time to upgrade an application to Java 17 plummeted from what’s typically 50 developer-days to just a few hours. We estimate this has saved us the equivalent of 4,500 developer-years of work (yes, that number is crazy but, real).&lt;/li&gt;
&lt;li&gt;In under six months, we've been able to upgrade more than 50% of our production Java systems to modernized Java versions at a fraction of the usual time and effort. And, our developers shipped 79% of the auto-generated code reviews without any additional changes.&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.linkedin.com/posts/andy-jassy-8b1615_one-of-the-most-tedious-but-critical-tasks-activity-7232374162185461760-AdSz/"&gt;Andy Jassy&lt;/a&gt;, Amazon CEO&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ai-assisted-programming"&gt;ai-assisted-programming&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/generative-ai"&gt;generative-ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/llms"&gt;llms&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/java"&gt;java&lt;/a&gt;&lt;/p&gt;



</summary><category term="ai-assisted-programming"/><category term="amazon"/><category term="generative-ai"/><category term="ai"/><category term="llms"/><category term="java"/></entry><entry><title>Quoting Dana Mattioli</title><link href="https://simonwillison.net/2024/Apr/26/dana-mattioli/#atom-tag" rel="alternate"/><published>2024-04-26T17:43:05+00:00</published><updated>2024-04-26T17:43:05+00:00</updated><id>https://simonwillison.net/2024/Apr/26/dana-mattioli/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.vanityfair.com/news/story/inside-amazon-business-practices"&gt;&lt;p&gt;If you’re auditioning for your job every day, and you’re auditioning against every other brilliant employee there, and you know that at the end of the year, 6% of you are going to get cut no matter what, and at the same time, you have access to unrivaled data on partners, sellers, and competitors, you might be tempted to look at that data to get an edge and keep your job and get to your restricted stock units.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.vanityfair.com/news/story/inside-amazon-business-practices"&gt;Dana Mattioli&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ethics"&gt;ethics&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="ethics"/></entry><entry><title>Quoting Constance Grady</title><link href="https://simonwillison.net/2024/Apr/16/constance-grady/#atom-tag" rel="alternate"/><published>2024-04-16T23:31:08+00:00</published><updated>2024-04-16T23:31:08+00:00</updated><id>https://simonwillison.net/2024/Apr/16/constance-grady/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.vox.com/culture/24128560/amazon-trash-ebooks-mikkelsen-twins-ai-publishing-academy-scam"&gt;&lt;p&gt;The saddest part about it, though, is that the garbage books don’t actually make that much money either. It’s even possible to lose money generating your low-quality ebook to sell on Kindle for $0.99. The way people make money these days is by teaching students the process of making a garbage ebook. It’s grift and garbage all the way down — and the people who ultimately lose out are the readers and writers who love books.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.vox.com/culture/24128560/amazon-trash-ebooks-mikkelsen-twins-ai-publishing-academy-scam"&gt;Constance Grady&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ethics"&gt;ethics&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/generative-ai"&gt;generative-ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/llms"&gt;llms&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai-misuse"&gt;ai-misuse&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai-ethics"&gt;ai-ethics&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="ethics"/><category term="generative-ai"/><category term="ai"/><category term="llms"/><category term="ai-misuse"/><category term="ai-ethics"/></entry><entry><title>Quoting Corey Quinn</title><link href="https://simonwillison.net/2021/Mar/31/corey-quinn/#atom-tag" rel="alternate"/><published>2021-03-31T16:47:03+00:00</published><updated>2021-03-31T16:47:03+00:00</updated><id>https://simonwillison.net/2021/Mar/31/corey-quinn/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.lastweekinaws.com/blog/you-cant-trust-amazon-when-it-feels-threatened/"&gt;&lt;p&gt;This teaches us that—when it’s a big enough deal—Amazon will lie to us. And coming from the company that runs the production infrastructure for our companies, stores our data, and has been granted an outsized position of trust based upon having earned it over 15 years, this is a nightmare.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.lastweekinaws.com/blog/you-cant-trust-amazon-when-it-feels-threatened/"&gt;Corey Quinn&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/aws"&gt;aws&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/corey-quinn"&gt;corey-quinn&lt;/a&gt;&lt;/p&gt;



</summary><category term="aws"/><category term="amazon"/><category term="corey-quinn"/></entry><entry><title>Quoting Joe Morrison</title><link href="https://simonwillison.net/2020/Nov/20/joe-morrison/#atom-tag" rel="alternate"/><published>2020-11-20T21:11:36+00:00</published><updated>2020-11-20T21:11:36+00:00</updated><id>https://simonwillison.net/2020/Nov/20/joe-morrison/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://joemorrison.medium.com/openstreetmap-is-having-a-moment-dcc7eef1bb01"&gt;&lt;p&gt;The open secret Jennings filled me in on is that OpenStreetMap (OSM) is now at the center of an unholy alliance of the world’s largest and wealthiest technology companies. The most valuable companies in the world are treating OSM as critical infrastructure for some of the most-used software ever written. The four companies in the inner circle— Facebook, Apple, Amazon, and Microsoft— have a combined market capitalization of over six trillion dollars.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://joemorrison.medium.com/openstreetmap-is-having-a-moment-dcc7eef1bb01"&gt;Joe Morrison&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apple"&gt;apple&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openstreetmap"&gt;openstreetmap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;&lt;/p&gt;



</summary><category term="apple"/><category term="openstreetmap"/><category term="facebook"/><category term="amazon"/><category term="microsoft"/></entry><entry><title>Amazon’s Away Teams laid bare: How AWS's hivemind of engineers develop and maintain their internal tech</title><link href="https://simonwillison.net/2019/May/14/amazons-away-teams/#atom-tag" rel="alternate"/><published>2019-05-14T18:32:36+00:00</published><updated>2019-05-14T18:32:36+00:00</updated><id>https://simonwillison.net/2019/May/14/amazons-away-teams/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.theregister.co.uk/2019/05/14/amazons_away_teams/"&gt;Amazon’s Away Teams laid bare: How AWS&amp;#x27;s hivemind of engineers develop and maintain their internal tech&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Some interesting insights into how Amazon structure their engineering organization to maximize team productivity in a service-oriented environment. Two things that stood out to me: each service is owned by a “home team”, but sometimes features that are needed by other teams can be built by forming an “away team” to build out that functionality. Secondly, Amazon has a concept of “bar raisers” who are engineers across the organization who help approve key design and architectural decisions. It’s possible to go against the recommendation of a bar raiser but “such a move is noted and made visible to higher levels of management”.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/cote/status/1128202812515594240"&gt;@cote&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/service-oriented-architecture"&gt;service-oriented-architecture&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/management"&gt;management&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="service-oriented-architecture"/><category term="management"/></entry><entry><title>Quoting Paul Graydon</title><link href="https://simonwillison.net/2019/Apr/25/paul-graydon/#atom-tag" rel="alternate"/><published>2019-04-25T17:52:44+00:00</published><updated>2019-04-25T17:52:44+00:00</updated><id>https://simonwillison.net/2019/Apr/25/paul-graydon/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://twitter.com/twirrim/status/1121451679642075136"&gt;&lt;p&gt;One of the standards you have to have demonstrated to being able to reach Principle Engineer inside Amazon is "Respect what has gone before".  It's very likely you don't know the why, what or how of it.  Often what was written was the best that could be done to the constraints.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://twitter.com/twirrim/status/1121451679642075136"&gt;Paul Graydon&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/careers"&gt;careers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/management"&gt;management&lt;/a&gt;&lt;/p&gt;



</summary><category term="careers"/><category term="amazon"/><category term="management"/></entry><entry><title>What happens at Amazon once I make an order?</title><link href="https://simonwillison.net/2012/Sep/15/what-happens-at-amazon/#atom-tag" rel="alternate"/><published>2012-09-15T13:09:00+00:00</published><updated>2012-09-15T13:09:00+00:00</updated><id>https://simonwillison.net/2012/Sep/15/what-happens-at-amazon/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;em&gt;My answer to &lt;a href="https://www.quora.com/What-happens-at-Amazon-once-I-make-an-order/answer/Simon-Willison"&gt;What happens at Amazon once I make an order?&lt;/a&gt; on Quora&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here's a fascinating article about Amazon's fulfilment center in Swansea, Wales which gives a glimpse behind the scenes: &lt;span&gt;&lt;a href="http://www.walesonline.co.uk/news/local-news/swansea/2011/11/25/the-10-mile-daily-trek-in-amazon-s-fulfilment-centre-91466-29838609/"&gt;http://www.walesonline.co.uk/new...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/quora"&gt;quora&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ecommerce"&gt;ecommerce&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="amazon"/><category term="quora"/><category term="ecommerce"/></entry><entry><title>Does Amazon have a API for websites to utilize order and delivery fulfillment?</title><link href="https://simonwillison.net/2012/Jul/4/does-amazon-have-a/#atom-tag" rel="alternate"/><published>2012-07-04T17:56:00+00:00</published><updated>2012-07-04T17:56:00+00:00</updated><id>https://simonwillison.net/2012/Jul/4/does-amazon-have-a/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;em&gt;My answer to &lt;a href="https://www.quora.com/Does-Amazon-have-a-API-for-websites-to-utilize-order-and-delivery-fulfillment/answer/Simon-Willison"&gt;Does Amazon have a API for websites to utilize order and delivery fulfillment?&lt;/a&gt; on Quora&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Amazon Fulfillment Web Service used to handle this &lt;span&gt;&lt;a href="http://aws.amazon.com/fws/"&gt;http://aws.amazon.com/fws/&lt;/a&gt;&lt;/span&gt; - but their site now says "&lt;i&gt;Effective June 2012, Amazon Services will no longer support Amazon Fulfillment Web Service (Amazon FWS). All functions and services currently supported by Amazon FWS are currently available through Amazon Marketplace Web Service (Amazon MWS)."&lt;/i&gt; So I guess you want the Amazon Marketplace Web Service: &lt;span&gt;&lt;a href="https://developer.amazonservices.com/index.html/188-4693617-3820029"&gt;https://developer.amazonservices...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/apis"&gt;apis&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/programming"&gt;programming&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-development"&gt;web-development&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/quora"&gt;quora&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ecommerce"&gt;ecommerce&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="amazon"/><category term="apis"/><category term="programming"/><category term="web-development"/><category term="quora"/><category term="ecommerce"/></entry><entry><title>Quoting Werner Vogels</title><link href="https://simonwillison.net/2011/Jan/5/werner/#atom-tag" rel="alternate"/><published>2011-01-05T15:13:00+00:00</published><updated>2011-01-05T15:13:00+00:00</updated><id>https://simonwillison.net/2011/Jan/5/werner/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.quora.com/How-and-why-did-Amazon-get-into-the-cloud-computing-business"&gt;&lt;p&gt;The excess capacity story is a myth. It was never a matter of selling excess capacity, actually within 2 months after launch AWS would have already burned through the excess Amazon.com capacity.  Amazon Web Services was always considered a business by itself, with the expectation that it could even grow as big as the Amazon.com retail operation.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.quora.com/How-and-why-did-Amazon-get-into-the-cloud-computing-business"&gt;Werner Vogels&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon-web-services"&gt;amazon-web-services&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/s3"&gt;s3&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="amazon-web-services"/><category term="ec2"/><category term="s3"/><category term="recovered"/></entry><entry><title>Amazon S3: Versioning Proposal</title><link href="https://simonwillison.net/2010/Jan/24/amazon/#atom-tag" rel="alternate"/><published>2010-01-24T13:38:40+00:00</published><updated>2010-01-24T13:38:40+00:00</updated><id>https://simonwillison.net/2010/Jan/24/amazon/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://doc.s3.amazonaws.com/betadesign/Versioning.html"&gt;Amazon S3: Versioning Proposal&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The us-west-1 S3 bucket region now optionally supports versioning—once enabled on a bucket, all previous versions of keys will be preserved.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazonaws"&gt;amazonaws&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/s3"&gt;s3&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/storage"&gt;storage&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/versioning"&gt;versioning&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="amazonaws"/><category term="s3"/><category term="storage"/><category term="versioning"/></entry><entry><title>Quoting Jeremy from Reddit</title><link href="https://simonwillison.net/2010/Jan/7/ec2/#atom-tag" rel="alternate"/><published>2010-01-07T22:10:37+00:00</published><updated>2010-01-07T22:10:37+00:00</updated><id>https://simonwillison.net/2010/Jan/7/ec2/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://blog.reddit.com/2010/01/why-did-we-take-reddit-down-for-71.html"&gt;&lt;p&gt;Since we moved to EC2, the number of unique users has gone up 50%, and pageviews are up more than 100%. To support this growth, we have added 30% more ram and 50% more CPU, yet because of Amazon's constant price reductions, we are actually paying less per month now than when we started.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://blog.reddit.com/2010/01/why-did-we-take-reddit-down-for-71.html"&gt;Jeremy from Reddit&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/reddit"&gt;reddit&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pricing"&gt;pricing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cloud-computing"&gt;cloud-computing&lt;/a&gt;&lt;/p&gt;



</summary><category term="reddit"/><category term="ec2"/><category term="amazon"/><category term="pricing"/><category term="cloud-computing"/></entry><entry><title>Quoting James Surowiecki</title><link href="https://simonwillison.net/2009/Nov/9/pricewar/#atom-tag" rel="alternate"/><published>2009-11-09T10:06:08+00:00</published><updated>2009-11-09T10:06:08+00:00</updated><id>https://simonwillison.net/2009/Nov/9/pricewar/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.newyorker.com/talk/financial/2009/11/09/091109ta_talk_surowiecki"&gt;&lt;p&gt;One way to establish that peace-preserving threat of mutual assured destruction is to commit yourself beforehand, which helps explain why so many retailers promise to match any competitor's advertised price. Consumers view these guarantees as conducive to lower prices. But in fact offering a price-matching guarantee should make it less likely that competitors will slash prices, since they know that any cuts they make will immediately be matched. It's the retail version of the doomsday machine.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.newyorker.com/talk/financial/2009/11/09/091109ta_talk_surowiecki"&gt;James Surowiecki&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/james-surowiecki"&gt;james-surowiecki&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/new-yorker"&gt;new-yorker&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pricing"&gt;pricing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/walmart"&gt;walmart&lt;/a&gt;&lt;/p&gt;



</summary><category term="james-surowiecki"/><category term="new-yorker"/><category term="pricing"/><category term="amazon"/><category term="walmart"/></entry><entry><title>OpenStreetMap Rendering Database</title><link href="https://simonwillison.net/2009/Oct/10/amazon/#atom-tag" rel="alternate"/><published>2009-10-10T13:05:43+00:00</published><updated>2009-10-10T13:05:43+00:00</updated><id>https://simonwillison.net/2009/Oct/10/amazon/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2844"&gt;OpenStreetMap Rendering Database&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Amazon have added an OpenStreetMap snapshot as a public data set, thanks to some smart prompting by Jeremy Dunck.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeremy-dunck"&gt;jeremy-dunck&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mapping"&gt;mapping&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openstreetmap"&gt;openstreetmap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/publicdatasets"&gt;publicdatasets&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/s3"&gt;s3&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="ec2"/><category term="jeremy-dunck"/><category term="mapping"/><category term="openstreetmap"/><category term="publicdatasets"/><category term="s3"/></entry><entry><title>Quoting Matt Brubeck</title><link href="https://simonwillison.net/2009/Oct/4/sql/#atom-tag" rel="alternate"/><published>2009-10-04T09:50:33+00:00</published><updated>2009-10-04T09:50:33+00:00</updated><id>https://simonwillison.net/2009/Oct/4/sql/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://news.ycombinator.com/item?id=859617"&gt;&lt;p&gt;When I worked at Amazon.com we had a deeply-ingrained hatred for all of the SQL databases in our systems. Now, we knew perfectly well how to scale them through partitioning and other means. But making them highly available was another matter. Replication and failover give you basic reliability, but it's very limited and inflexible compared to a real distributed datastore with master-master replication, partition tolerance, consensus and/or eventual consistency, or other availability-oriented features.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://news.ycombinator.com/item?id=859617"&gt;Matt Brubeck&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/sql"&gt;sql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nosql"&gt;nosql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/replication"&gt;replication&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/reliability"&gt;reliability&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/matt-brubeck"&gt;matt-brubeck&lt;/a&gt;&lt;/p&gt;



</summary><category term="sql"/><category term="nosql"/><category term="replication"/><category term="reliability"/><category term="scaling"/><category term="amazon"/><category term="matt-brubeck"/></entry><entry><title>Tile Drawer</title><link href="https://simonwillison.net/2009/Aug/26/tiledrawer/#atom-tag" rel="alternate"/><published>2009-08-26T09:32:56+00:00</published><updated>2009-08-26T09:32:56+00:00</updated><id>https://simonwillison.net/2009/Aug/26/tiledrawer/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://tiledrawer.com/"&gt;Tile Drawer&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The most inspired use of EC2 I’ve seen yet: center a map on an area, pick a Cascadenik stylesheet URL (or write and link to your own) and Tile Drawer gives you an Amazon EC2 AMI and a short JSON snippet. Launch the AMI with the JSON as the “user data” parameter and you get your own OpenStreetMap tile rendering server, which self-configures on startup and starts rendering and serving tiles using your custom design.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://mike.teczno.com/notes/tile-drawer.html"&gt;Mike Migurski&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cascadenik"&gt;cascadenik&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cloud-computing"&gt;cloud-computing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/json"&gt;json&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mapnik"&gt;mapnik&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mapping"&gt;mapping&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/michal-migurski"&gt;michal-migurski&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openstreetmap"&gt;openstreetmap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/userdata"&gt;userdata&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="cascadenik"/><category term="cloud-computing"/><category term="ec2"/><category term="json"/><category term="mapnik"/><category term="mapping"/><category term="michal-migurski"/><category term="openstreetmap"/><category term="userdata"/></entry><entry><title>Introducing Amazon Virtual Private Cloud (VPC)</title><link href="https://simonwillison.net/2009/Aug/26/amazon/#atom-tag" rel="alternate"/><published>2009-08-26T08:42:24+00:00</published><updated>2009-08-26T08:42:24+00:00</updated><id>https://simonwillison.net/2009/Aug/26/amazon/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://aws.typepad.com/aws/2009/08/introducing-amazon-virtual-private-cloud-vpc.html"&gt;Introducing Amazon Virtual Private Cloud (VPC)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Amazon now let you create a network of private EC2 instances completely isolated from the internet and the rest of the EC2 cloud, then link them back to your home network via a VPN.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/virtualprivatecloud"&gt;virtualprivatecloud&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vpn"&gt;vpn&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="ec2"/><category term="virtualprivatecloud"/><category term="vpn"/></entry><entry><title>Quoting Jeff Bezos</title><link href="https://simonwillison.net/2009/Jul/24/apology/#atom-tag" rel="alternate"/><published>2009-07-24T00:48:59+00:00</published><updated>2009-07-24T00:48:59+00:00</updated><id>https://simonwillison.net/2009/Jul/24/apology/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.amazon.com/tag/kindle/forum/ref=cm_cd_ef_tft_tp?_encoding=UTF8&amp;amp;cdForum=Fx1D7SY3BVSESG&amp;amp;cdThread=Tx1FXQPSF67X1IU&amp;amp;displayType=tagsDetail"&gt;&lt;p&gt;This is an apology for the way we previously handled illegally sold copies of 1984 and other novels on Kindle. Our "solution" to the problem was stupid, thoughtless, and painfully out of line with our principles. It is wholly self-inflicted, and we deserve the criticism we've received. We will use the scar tissue from this painful mistake to help make better decisions going forward, ones that match our mission.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.amazon.com/tag/kindle/forum/ref=cm_cd_ef_tft_tp?_encoding=UTF8&amp;amp;cdForum=Fx1D7SY3BVSESG&amp;amp;cdThread=Tx1FXQPSF67X1IU&amp;amp;displayType=tagsDetail"&gt;Jeff Bezos&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apology"&gt;apology&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeff-bezos"&gt;jeff-bezos&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/kindle"&gt;kindle&lt;/a&gt;&lt;/p&gt;



</summary><category term="apology"/><category term="jeff-bezos"/><category term="amazon"/><category term="kindle"/></entry><entry><title>Evidence of OpenID at Amazon</title><link href="https://simonwillison.net/2009/Jul/6/amazonopenid/#atom-tag" rel="alternate"/><published>2009-07-06T01:25:17+00:00</published><updated>2009-07-06T01:25:17+00:00</updated><id>https://simonwillison.net/2009/Jul/6/amazonopenid/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://bit.ly/amazon-openid-demo"&gt;Evidence of OpenID at Amazon&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
It looks like Amazon are using OpenID for SSO between their different properties—I clicked a link to sign in to AWS and the URL had OpenID query string parameters.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/aws"&gt;aws&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sso"&gt;sso&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="aws"/><category term="openid"/><category term="sso"/></entry><entry><title>Quoting Jared Spool</title><link href="https://simonwillison.net/2009/Jun/22/amazon/#atom-tag" rel="alternate"/><published>2009-06-22T17:13:43+00:00</published><updated>2009-06-22T17:13:43+00:00</updated><id>https://simonwillison.net/2009/Jun/22/amazon/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://adactio.com/journal/1586"&gt;&lt;p&gt;You can buy an iPod nano on Apple, Best Buy, etc. for about $149. Amazon sells it for $134. That’s probably cost price. It turns out that Amazon can sell almost everything at cost price and still make a product because of volume. It’s all down to the Negative Operating Cycle. Amazon turns over its inventory every 20 days whereas Best Buy takes 74 days. Standard retail term payments take 45 days. So Best Buy is in debt between day 45 and day 74. Amazon, on the other hand, are sitting on cash between day 20 and day 45. In that time, they can invest that money. That’s where their profit comes from.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://adactio.com/journal/1586"&gt;Jared Spool&lt;/a&gt;, via Jeremy Keith&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/investing"&gt;investing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jared-spool"&gt;jared-spool&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeremy-keith"&gt;jeremy-keith&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/aneventapart"&gt;aneventapart&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bestbuy"&gt;bestbuy&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="investing"/><category term="jared-spool"/><category term="jeremy-keith"/><category term="aneventapart"/><category term="bestbuy"/></entry><entry><title>AWS Import/Export: Ship Us That Disk!</title><link href="https://simonwillison.net/2009/May/21/awsimport/#atom-tag" rel="alternate"/><published>2009-05-21T11:22:18+00:00</published><updated>2009-05-21T11:22:18+00:00</updated><id>https://simonwillison.net/2009/May/21/awsimport/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://aws.typepad.com/aws/2009/05/send-us-that-data.html"&gt;AWS Import/Export: Ship Us That Disk!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Andrew Tanenbaum said “Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway”, and now you can ship your storage device direct to Amazon and have them load the data in to an S3 bucket for you.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/andrew-tanenbaum"&gt;andrew-tanenbaum&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/aws"&gt;aws&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bandwidth"&gt;bandwidth&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/s3"&gt;s3&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="andrew-tanenbaum"/><category term="aws"/><category term="bandwidth"/><category term="s3"/></entry><entry><title>EC2: Creating an Image</title><link href="https://simonwillison.net/2009/May/19/image/#atom-tag" rel="alternate"/><published>2009-05-19T19:50:55+00:00</published><updated>2009-05-19T19:50:55+00:00</updated><id>https://simonwillison.net/2009/May/19/image/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-10-01/creating-an-image.html"&gt;EC2: Creating an Image&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Here’s the easier way of creating your own AMI: start with a running instance in EC2, then customise it to fit your purposes and create a new bundle (and then AMI) using the ec2-bundle-vol command.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ami"&gt;ami&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cloud-computing"&gt;cloud-computing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="ami"/><category term="cloud-computing"/><category term="ec2"/></entry><entry><title>HOWTO Building a self-bundling Debian AMI</title><link href="https://simonwillison.net/2009/May/19/ami/#atom-tag" rel="alternate"/><published>2009-05-19T19:49:22+00:00</published><updated>2009-05-19T19:49:22+00:00</updated><id>https://simonwillison.net/2009/May/19/ami/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://developer.amazonwebservices.com/connect/thread.jspa?messageID=67819"&gt;HOWTO Building a self-bundling Debian AMI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Not as terrifying as you would have thought. Also contains some neat hints as to how some of the more magical parts of EC2 work (like the way your SSH public key automatically ends up in /root/.ssh/authorized_keys).


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ami"&gt;ami&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cloud-computing"&gt;cloud-computing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/debian"&gt;debian&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="ami"/><category term="cloud-computing"/><category term="debian"/><category term="ec2"/></entry><entry><title>New Features for EC2: Elastic Load Balancing, Auto Scaling, and Amazon CloudWatch</title><link href="https://simonwillison.net/2009/May/18/amazon/#atom-tag" rel="alternate"/><published>2009-05-18T10:07:56+00:00</published><updated>2009-05-18T10:07:56+00:00</updated><id>https://simonwillison.net/2009/May/18/amazon/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://aws.typepad.com/aws/2009/05/new-aws-load-balancing-automatic-scaling-and-cloud-monitoring-services.html"&gt;New Features for EC2: Elastic Load Balancing, Auto Scaling, and Amazon CloudWatch&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
EC2 now fulfils the promise of “magic scaling in the cloud” out of the box—CloudWatch monitors performance of your EC2 instances without needing to install any monitoring software, Auto Scaling allows you to configure “scaling triggers” which start up new instances based on information from CloudWatch, and Elastic Load Balancing balances requests across all available instances.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/autoscaling"&gt;autoscaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cloud-computing"&gt;cloud-computing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cloudwatch"&gt;cloudwatch&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/elasticloadbalancing"&gt;elasticloadbalancing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="autoscaling"/><category term="cloud-computing"/><category term="cloudwatch"/><category term="ec2"/><category term="elasticloadbalancing"/><category term="scaling"/></entry><entry><title>Amazon Says Listing Problem Was an Error, Not a Hack</title><link href="https://simonwillison.net/2009/Apr/14/amazon/#atom-tag" rel="alternate"/><published>2009-04-14T08:32:40+00:00</published><updated>2009-04-14T08:32:40+00:00</updated><id>https://simonwillison.net/2009/Apr/14/amazon/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.pcworld.com/businesscenter/article/163042/amazon_says_listing_problem_was_an_error_not_a_hack.html"&gt;Amazon Says Listing Problem Was an Error, Not a Hack&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“A friend within the company told him that someone working on Amazon’s French site mistagged a number of keyword categories, including the ’Gay and Lesbian’ category, as pornographic, using what’s known internally as the Browse Nodes tool. Soon the mistake affected Amazon sites worldwide.”

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://simonwillison.net/2009/Apr/13/amazonfail/#c44124"&gt;Chris Shiflett&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazonfail"&gt;amazonfail&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/csrf"&gt;csrf&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="amazonfail"/><category term="csrf"/><category term="security"/></entry><entry><title>How to cause moral outrage from the entire Internet in ten lines of code</title><link href="https://simonwillison.net/2009/Apr/13/amazonfail/#atom-tag" rel="alternate"/><published>2009-04-13T19:48:53+00:00</published><updated>2009-04-13T19:48:53+00:00</updated><id>https://simonwillison.net/2009/Apr/13/amazonfail/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://community.livejournal.com/brutal_honesty/3168992.html"&gt;How to cause moral outrage from the entire Internet in ten lines of code&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Looks legit—the author claims to have sparked this weekend’s #amazonfail moral outrage (where Amazon where accused of removing Gay and Lesbian books from their best seller rankings) by exploiting a CSRF hole in Amazon’s “report as inappropriate” feature to trigger automatic takedowns. EDIT: His claim is disputed elsewhere (see comments)


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/amazonfail"&gt;amazonfail&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/csrf"&gt;csrf&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/prdisaster"&gt;prdisaster&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="amazonfail"/><category term="csrf"/><category term="prdisaster"/><category term="security"/></entry><entry><title>Experiences deploying a large-scale infrastructure in Amazon EC2</title><link href="https://simonwillison.net/2009/Apr/10/ec2/#atom-tag" rel="alternate"/><published>2009-04-10T09:43:10+00:00</published><updated>2009-04-10T09:43:10+00:00</updated><id>https://simonwillison.net/2009/Apr/10/ec2/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://agiletesting.blogspot.com/2009/04/experiences-deploying-large-scale.html"&gt;Experiences deploying a large-scale infrastructure in Amazon EC2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“At OpenX we recently completed a large-scale deployment of one of our server farms to Amazon EC2. Here are some lessons learned from that experience.”


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amazon"&gt;amazon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ec2"&gt;ec2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/griggheorghiu"&gt;griggheorghiu&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openx"&gt;openx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;&lt;/p&gt;



</summary><category term="amazon"/><category term="ec2"/><category term="griggheorghiu"/><category term="openx"/><category term="scaling"/></entry></feed>