<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: streaks</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/streaks.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2025-03-20T04:12:32+00:00</updated><author><name>Simon Willison</name></author><entry><title>Calling a wrap on my weeknotes</title><link href="https://simonwillison.net/2025/Mar/20/calling-a-wrap-on-my-weeknotes/#atom-tag" rel="alternate"/><published>2025-03-20T04:12:32+00:00</published><updated>2025-03-20T04:12:32+00:00</updated><id>https://simonwillison.net/2025/Mar/20/calling-a-wrap-on-my-weeknotes/#atom-tag</id><summary type="html">
    &lt;p&gt;After &lt;a href="https://simonwillison.net/tags/weeknotes/"&gt;192 posts&lt;/a&gt; that ranged from weekly to roughly once-a-month, I've decided to call a wrap on my weeknotes habit. The &lt;a href="https://simonwillison.net/2019/Sep/13/weeknotestwitter-sqlite-datasette-rure/"&gt;original goal&lt;/a&gt; was to stay transparent during my 2019-2020 JSK fellowship, and I kept them up after that as an accountability mechanism and to get into a habit of writing regularly.&lt;/p&gt;
&lt;p&gt;Over the past two years I've adopted new posting habits which are solving those problems in other ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I post something here almost every day. I actually maintained a daily posting streak throughout 2024, which I &lt;a href="https://simonwillison.net/2025/Jan/2/ending-a-year-long-posting-streak/"&gt;ended in January&lt;/a&gt;, but I'm still posting most days and plan to keep that up.&lt;/li&gt;
&lt;li&gt;Every time I ship a new release of one of my projects I link to it from here. This replaces the "recent releases" section of my weeknotes.&lt;/li&gt;
&lt;li&gt;I try to have a longer form piece of writing that's suitable for inclusion in &lt;a href="https://simonw.substack.com/"&gt;my newsletter&lt;/a&gt; at least once every two weeks. That's another accountability mechanism that's working well for me.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One downside of weeknotes is that I'd sometimes save something to include in them, which could lead to several items getting bundled together in a way that reduced their potential impact as standalone posts.&lt;/p&gt;
&lt;p&gt;I got to the point with weeknotes where I was feeling guilty about not keeping them up. Given the volume of content I'm publishing already that felt like a sign that they were no longer providing the value they once did!&lt;/p&gt;
&lt;p&gt;I still think weeknotes are an excellent habit for anyone who wants to write more frequently and be more transparent about their work. It feels healthy to be able to end a habit that's finished serving its purpose.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blogging"&gt;blogging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/weeknotes"&gt;weeknotes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/streaks"&gt;streaks&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="blogging"/><category term="weeknotes"/><category term="streaks"/></entry><entry><title>Friday Squid Blogging: Anniversary Post</title><link href="https://simonwillison.net/2025/Jan/4/friday-squid-blogging-anniversary-post/#atom-tag" rel="alternate"/><published>2025-01-04T16:21:51+00:00</published><updated>2025-01-04T16:21:51+00:00</updated><id>https://simonwillison.net/2025/Jan/4/friday-squid-blogging-anniversary-post/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.schneier.com/blog/archives/2025/01/friday-squid-blogging-anniversary-post.html"&gt;Friday Squid Blogging: Anniversary Post&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Bruce Schneier:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I made my &lt;a href="https://www.schneier.com/blog/archives/2006/01/friday_squid_bl.html"&gt;first squid post&lt;/a&gt; nineteen years ago this week. Between then and now, I posted something about squid every week (with maybe only a few exceptions). There is a &lt;em&gt;lot&lt;/em&gt; out there about squid, even more if you count the other meanings of the word.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think that's &lt;a href="https://www.schneier.com/tag/squid/"&gt;1,004 posts about squid&lt;/a&gt; in 19 years. Talk about a &lt;a href="https://simonwillison.net/2024/Jan/2/escalating-streaks/"&gt;legendary streak&lt;/a&gt;!


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blogging"&gt;blogging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bruce-schneier"&gt;bruce-schneier&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/streaks"&gt;streaks&lt;/a&gt;&lt;/p&gt;



</summary><category term="blogging"/><category term="bruce-schneier"/><category term="streaks"/></entry><entry><title>Ending a year long posting streak</title><link href="https://simonwillison.net/2025/Jan/2/ending-a-year-long-posting-streak/#atom-tag" rel="alternate"/><published>2025-01-02T00:25:34+00:00</published><updated>2025-01-02T00:25:34+00:00</updated><id>https://simonwillison.net/2025/Jan/2/ending-a-year-long-posting-streak/#atom-tag</id><summary type="html">
    &lt;p&gt;A year ago today I wrote about &lt;a href="https://simonwillison.net/2024/Jan/2/escalating-streaks/"&gt;Tom Scott's legendary 10 year YouTube streak&lt;/a&gt;, in which he posted a new video once a week for the next ten years. Inspired by that, I also started my own.&lt;/p&gt;
&lt;p&gt;I set myself the goal of posting something to my blog every day for a year.&lt;/p&gt;
&lt;p&gt;Given how much happened in my chosen field of &lt;a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/"&gt;Large Language Models over the course of 2024&lt;/a&gt; this wasn't as hard as I had expected!&lt;/p&gt;
&lt;p&gt;One of the lessons I learned from Tom is that it's much healthier for a streak to have a predetermined end - that way the streak can act as a goal that doesn't turn into an ongoing imposition.&lt;/p&gt;
&lt;p&gt;I'm calling it: this streak is done. According to &lt;a href="https://simonwillison.net/dashboard/streaks-with-post-count/"&gt;my custom dashboard&lt;/a&gt; I hit 367 days - December 31st 2023 to December 31st 2024, inclusive (it was a leap year) - 1,151 posts in total.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://static.simonwillison.net/static/2025/jan-streak.jpg" style="max-width: 100%" alt="Table of data. Row 1 has duration in days=1, start date=2025-01-02, end date=2025-01-02, num posts=1. Row 2 has duration in days=367, start date=2023-12-31, end date=2024-12-31, num posts=1151. Row 3 has duration in days=1, start date=2023-12-23, end date=2023-12-23, num posts=1. Row 4 has duration in days=4, start date=2023-12-18, end date=2023-12-21, num posts=6." /&gt;&lt;/p&gt;

&lt;p&gt;I'm going to drop back to a much more reasonable target of at least one long-form post per week and at least three days per week with a link or quote - see &lt;a href="https://simonwillison.net/2024/Dec/22/link-blog/"&gt;My approach to running a link blog&lt;/a&gt; for how I think about that kind of content.&lt;/p&gt;
&lt;p&gt;Posting daily has been fun, but it definitely impacted my productivity on my other projects. My blog runs on UTC so it also resulted in a minor panic coming up to 4pm Pacific coast time if I hadn't posted anything yet!&lt;/p&gt;

&lt;p&gt;Almost every post in the streak came out in 2024, so my &lt;a href="https://simonwillison.net/search/?year=2024"&gt;faceted search engine for 2024&lt;/a&gt; provides a way to explore them.&lt;/p&gt;

&lt;p&gt;My &lt;a href="https://simonwillison.net/2024/"&gt;2024 archive page&lt;/a&gt; also serves up this illustrative tag cloud:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://static.simonwillison.net/static/2025/2024-tag-cloud.jpg" style="max-width: 100%" alt="A tag cloud with llms and ai as the central largest terms, surrounded by technology-related words: nomic, datasette, security, rag, projects, llama, openai, gemini, edge-llms, psf, sql, open-source, json, javascript, ethics, python, google, plugins, gis, django, apple, sqlite, aws, tools, rust, golang, c, uv, s3, css, git, ocr" /&gt;&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blogging"&gt;blogging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tom-scott"&gt;tom-scott&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/streaks"&gt;streaks&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="blogging"/><category term="tom-scott"/><category term="streaks"/></entry><entry><title>Tom Scott, and the formidable power of escalating streaks</title><link href="https://simonwillison.net/2024/Jan/2/escalating-streaks/#atom-tag" rel="alternate"/><published>2024-01-02T20:32:08+00:00</published><updated>2024-01-02T20:32:08+00:00</updated><id>https://simonwillison.net/2024/Jan/2/escalating-streaks/#atom-tag</id><summary type="html">
    &lt;p&gt;Ten years ago yesterday, Tom Scott &lt;a href="https://www.youtube.com/watch?v=X5V45wYwrkY"&gt;posted this video&lt;/a&gt; to YouTube about "Special Crossings For Horses In Britain". It was the first in his &lt;a href="https://www.youtube.com/playlist?list=PL96C35uN7xGI9HGKHsArwxiOejecVyNem"&gt;Things You Might Not Know&lt;/a&gt; series, but more importantly it was the start of a streak.&lt;/p&gt;
&lt;p&gt;Tom maintained a streak of posting a video approximately once a week for the next ten years.&lt;/p&gt;
&lt;p&gt;Yesterday, he ended that streak with &lt;a href="https://www.youtube.com/watch?v=7DKv5H5Frt0"&gt;After ten years, it's time to stop making videos&lt;/a&gt;. He's not done with YouTube, but he's no longer holding himself to that intimidating weekly schedule.&lt;/p&gt;

&lt;iframe style="max-width: 100%" width="560" height="315" src="https://www.youtube-nocookie.com/embed/7DKv5H5Frt0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen="allowfullscreen"&gt; &lt;/iframe&gt;

&lt;p&gt;I strongly recommend watching his final video. There's a moment when you realize what he's up to in it which is quite delightful.&lt;/p&gt;
&lt;p&gt;I've known Tom for a long time. I made an appearance in the 11th "Things You Might Not Know" video, &lt;a href="https://www.youtube.com/watch?v=DNUhKkNY6x0"&gt; A Zeppelin, A Cat, and The World's First In-Flight Radio Message&lt;/a&gt;, two weeks into his streak (he was doing one a day at first), filmed at our leaving-the-UK-for-the-USA party in January 2014.&lt;/p&gt;
&lt;p&gt;Watching from afar has been somewhat surreal. I didn't watch every video, but every now and then I'd see that Tom was &lt;a href="https://www.youtube.com/watch?v=RYGFczNMAMk"&gt;flying with the Red Arrows&lt;/a&gt;, or visiting &lt;a href="https://www.youtube.com/watch?v=WUVZbBBHrI4"&gt;yet another nuclear reactor site&lt;/a&gt;, or &lt;a href="https://www.youtube.com/watch?v=-BdZPFzH2JY"&gt;overcoming his fear of rollercoasters&lt;/a&gt;. And then I'd notice that he'd picked up another million subscribers.&lt;/p&gt;
&lt;p&gt;Hanging out with Tom was fun because he would inevitably be recognised by someone. 6.3 million subscribers is a lot of people!&lt;/p&gt;
&lt;p&gt;Tom's success on YouTube comes down to a whole bunch of different factors. He was already &lt;a href="https://www.youtube.com/watch?v=zYd_8-Ps_kw"&gt;a talented public speaker&lt;/a&gt;, a skilled researcher, had &lt;a href="https://en.wikipedia.org/wiki/Gadget_Geeks"&gt;a brief stint as TV presenter&lt;/a&gt; and &lt;a href="https://www.tomscott.com/usvsth3m/"&gt;deep understanding of the viral internet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Experienced YouTubers will tell you that frequency is key to success on that platform. YouTube's audience (and maybe their opaque algorithm) rewards consistency: publishing regularly is a crucial part of building an audience.&lt;/p&gt;
&lt;p&gt;Tom is also incredibly conscientious about the content he produces. Take a look at his &lt;a href="https://www.tomscott.com/corrections/"&gt;corrections and clarifications&lt;/a&gt; page to see how much effort he puts into getting things right: 25 detailed corrections across over 500 videos. See also his recent video &lt;a href="https://www.youtube.com/watch?v=lIbfMjZ0ME4"&gt; Every mistake I've made since 2014&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;His most significant correction became &lt;a href="https://www.youtube.com/watch?v=Wif1EAgEQKI"&gt;a whole new video&lt;/a&gt; clarifying how London fire brigades handled uninsured buildings in the 18th century, backed by &lt;a href="https://www.tomscott.com/corrections/firemarks/"&gt;two weeks of paid research&lt;/a&gt; by an archives and heritage research consultant. His &lt;a href="https://www.youtube.com/watch?v=m__OZ3ZsO4Y&amp;amp;t=335s"&gt;commitment to accessibility&lt;/a&gt; is inspiring as well.&lt;/p&gt;
&lt;p&gt;And then there was the streak.&lt;/p&gt;
&lt;h4 id="escalating-streaks"&gt;Escalating streaks&lt;/h4&gt;
&lt;p&gt;The best way to get really good at anything is to do that thing on a regular basis, thoughtfully, and with the goal of doing it slightly better every time.&lt;/p&gt;
&lt;p&gt;Tom's streak publishing a video to YouTube once a week for ten years is the single best illustration I've ever seen of that principle in action.&lt;/p&gt;
&lt;p&gt;His initial videos were interesting, educational and had his signature enthusiastic energy, but they weren't exactly high budget affairs.&lt;/p&gt;
&lt;p&gt;As he iterated on the format, he started to figure out what worked. His scripts got tighter, his research deeper and he started working with professionals to improve his production values.&lt;/p&gt;
&lt;p&gt;He also learned to use his growing audience to gain access to a dizzying array of fascinating locations, experts and experiences.&lt;/p&gt;
&lt;p&gt;The amount of work he invested in this project is staggering. The research, logistics, travel, writing, filming, editing and community management involved are hard for me to even comprehend.&lt;/p&gt;
&lt;p&gt;The end result is something truly extraordinary. What a legacy! That final video has over 42,000 comments already, overwhelmingly thankful and positive.&lt;/p&gt;
&lt;h4 id="streaks-insidious"&gt;Streaks can be insidious&lt;/h4&gt;
&lt;p&gt;In Tom's closing video he says:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So now it’s time to take a breather. I can’t keep this up. This is my dream job, and I have a lot of fun doing it. I know I’m incredibly lucky. But a dream job is still a job. And it’s a job that keeps getting bigger and more complicated and I am &lt;em&gt;so tired&lt;/em&gt;! There’s nothing in my life right now except work. I did get close to burning out, but fortunately I always knew when to step back from the brink.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Streaks are a powerful psychological tool. Once Tom got to nine years, there was no way he wasn't going to push through to ten. I'm glad for his sake that in hitting that final milestone he's finally able to take a break!&lt;/p&gt;
&lt;h4 id="my-streaks"&gt;My own experience with streaks&lt;/h4&gt;
&lt;p&gt;I've found great benefit from streaks myself. I'm on day 1,826 (that's 5 years yesterday) of a &lt;a href="https://duolingo.com/"&gt;Duolingo&lt;/a&gt; streak, primarily learning Spanish. It's kind of working - from an investment of less than 15 minutes a day I'm now able to understand ~90% of news articles written in that language.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://static.simonwillison.net/static/2024/duolingo-streak-1826.jpg" alt="Duolingo screenshot: Streak Society - 1826 day streak! You've extended your streak 2 more times before noon this week" style="max-width: 100%;" /&gt;&lt;/p&gt;
&lt;p&gt;There are certainly more effective ways to learn a language, but I've tried different approaches in the past and nothing ever stuck for me to the point that I made real progress.&lt;/p&gt;
&lt;p&gt;It turns out the streak mechanism was exactly what I needed. That tiny piece of effort, repeated every day over multiple years, really does add up.&lt;/p&gt;
&lt;p&gt;I'm also &lt;a href="https://simonwillison.net/tags/weeknotes/"&gt;172 entries&lt;/a&gt; into my streak of publishing weeknotes - not-quite-weekly (more at-least-monthly) posts about what I've been doing, which I use mainly as an accountability tool to keep myself on track despite working independently without any form of boss.&lt;/p&gt;
&lt;p&gt;A few years ago I started a website about &lt;a href="https://www.niche-museums.com/"&gt;tiny museums I have been to&lt;/a&gt;. I used streak pressure to bootstrap the site: I added a museum once a day for a hundred days, digging through old photos and memories.&lt;/p&gt;
&lt;p&gt;My streaks are noway near the same league as Tom's. That's why I introduced the term &lt;strong&gt;escalating streaks&lt;/strong&gt; earlier in this post - to emphasize that the true magic comes when you mindfully improve with every iteration.&lt;/p&gt;
&lt;p&gt;I did however notice that by the end of my 100 day museum streak I was writing &lt;a href="https://www.niche-museums.com/100"&gt;significantly higher quality&lt;/a&gt; articles than &lt;a href="https://www.niche-museums.com/1"&gt;when I first started&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="flexibility-and-forgiveness"&gt;Flexibility and forgiveness is crucial&lt;/h4&gt;
&lt;p&gt;Streaks have multiple dangers. At one extreme, they can take over your life, forcing you to leave home behind and spend a decade traveling the world making increasingly brilliant YouTube videos.&lt;/p&gt;
&lt;p&gt;The other challenge is what happens when you accidentally break them.&lt;/p&gt;
&lt;p&gt;In the past, I've tried my hand at strict streaks... and then found that 100 days in I miss a day, and suddenly I'm reset to zero and I lose &lt;em&gt;all motivation&lt;/em&gt; to continue.&lt;/p&gt;
&lt;p&gt;The solution here is to build in some flexibility. I started a new streak recently to reply to at least one email every day, to encourage me to spend more time in my inbox. My goal for this is four out of seven days, so I can miss three days a week and still keep the streak going.&lt;/p&gt;
&lt;p&gt;Duolingo has a "streak freeze" mechanism which can be used to forgive the occasional mishap, which I'm happy to take advantage of.&lt;/p&gt;
&lt;p&gt;Initially I felt like this was "cheating", but it really isn't. Streaks are a powerful motivational tool if you figure out the best way to apply them.&lt;/p&gt;
&lt;h4 id="tom-scott-streak"&gt;The Tom Scott Streak&lt;/h4&gt;
&lt;p&gt;Three of my biggest inspirations in life are these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The movie &lt;a href="https://en.wikipedia.org/wiki/Spider-Man:_Into_the_Spider-Verse"&gt;Into the Spider-Verse&lt;/a&gt;, demonstrating what happens when a group of creative people get together, rewrite the rules and elevate the quality bar for an entire industry.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=Brq-exSvB7Q"&gt;Tom Holland's "Umbrella"&lt;/a&gt; performance on Lip Sync Battle, showing what happens when someone takes an opportunity and executes it with such skill, enthusiasm and panache that people are still talking about it six years later.&lt;/li&gt;
&lt;li&gt;Ray Bandar's &lt;a href="https://www.niche-museums.com/100"&gt;Basement Full of Skulls&lt;/a&gt;, a 60-year project resulting in 7,000+ meticulously preserved animal skulls, leading me to ask "what's MY basement full of skulls going to be?"&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Today I'm adding a fourth thing to that list: the Tom Scott Streak.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/inspiring"&gt;inspiring&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/productivity"&gt;productivity&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tom-scott"&gt;tom-scott&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/youtube"&gt;youtube&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/streaks"&gt;streaks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/duolingo"&gt;duolingo&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="inspiring"/><category term="productivity"/><category term="tom-scott"/><category term="youtube"/><category term="streaks"/><category term="duolingo"/></entry><entry><title>After ten years, it's time to stop making videos.</title><link href="https://simonwillison.net/2024/Jan/1/after-ten-years/#atom-tag" rel="alternate"/><published>2024-01-01T22:59:23+00:00</published><updated>2024-01-01T22:59:23+00:00</updated><id>https://simonwillison.net/2024/Jan/1/after-ten-years/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.youtube.com/watch?v=7DKv5H5Frt0"&gt;After ten years, it&amp;#x27;s time to stop making videos.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Ten years ago, my friend Tom Scott started a deliberate streak of posting YouTube videos - initially about one a day before settling into a cadence of one a week. He kept that up for the full ten years, growing his subscribers to over 6 million in the process.&lt;/p&gt;
&lt;p&gt;Today he's ending that streak, in unparalleled style.&lt;/p&gt;
&lt;p&gt;(I'm proud to have made an appearance in &lt;a href="https://www.youtube.com/watch?v=DNUhKkNY6x0"&gt;video number 13&lt;/a&gt;, talking about Zeppelins.)


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/tom-scott"&gt;tom-scott&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/youtube"&gt;youtube&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zeppelins"&gt;zeppelins&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/streaks"&gt;streaks&lt;/a&gt;&lt;/p&gt;



</summary><category term="tom-scott"/><category term="youtube"/><category term="zeppelins"/><category term="streaks"/></entry><entry><title>15 rules for blogging, and my current streak</title><link href="https://simonwillison.net/2020/Sep/10/15-rules-blogging-and-my-current-streak/#atom-tag" rel="alternate"/><published>2020-09-10T18:09:44+00:00</published><updated>2020-09-10T18:09:44+00:00</updated><id>https://simonwillison.net/2020/Sep/10/15-rules-blogging-and-my-current-streak/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://interconnected.org/home/2020/09/10/streak"&gt;15 rules for blogging, and my current streak&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Matt Webb is on a 24 week streak of blogging multiple posts a week and shares his rules on how he’s doing this. These are really good rules. A rule of thumb that has helped me a lot is to fight back against the temptation to make a post as good as I can before I publish it— because that way lies a giant drafts folder and no actual published content. “Perfect is the enemy of shipped”.

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


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blogging"&gt;blogging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/matt-webb"&gt;matt-webb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/streaks"&gt;streaks&lt;/a&gt;&lt;/p&gt;



</summary><category term="blogging"/><category term="matt-webb"/><category term="streaks"/></entry><entry><title>Weeknotes: Niche Museums, Kepler, Trees and Streaks</title><link href="https://simonwillison.net/2019/Oct/28/niche-museums-kepler/#atom-tag" rel="alternate"/><published>2019-10-28T22:42:10+00:00</published><updated>2019-10-28T22:42:10+00:00</updated><id>https://simonwillison.net/2019/Oct/28/niche-museums-kepler/#atom-tag</id><summary type="html">
    &lt;h3 id="Niche_Museums_4"&gt;Niche Museums&lt;/h3&gt;

&lt;p&gt;Every now and then someone will ask “so when are you going to build Museums Near Me then?”, based on &lt;a href="https://twitter.com/simonw/status/1171159213436997633"&gt;my obsession with niche museums&lt;/a&gt; and websites like &lt;a href="https://www.owlsnearme.com/"&gt;www.owlsnearme.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For my Strategic Communications course at Stanford last week I had to perform a midterm presentation - a six minute talk to convince my audience of something, accompanied by slides and a handout.&lt;/p&gt;
&lt;p&gt;I chose “you should seek out and explore tiny museums” as my topic, and used it as an excuse to finally start the website!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.niche-museums.com/"&gt;www.niche-museums.com&lt;/a&gt; is the result. It’s a small but growing collection of niche museums (17 so far, mostly in the San Francisco Bay Area) complete with the all important blue “Use my location” button to see museums near you.&lt;/p&gt;
&lt;p&gt;Naturally I built it on &lt;a href="https://github.com/simonw/datasette"&gt;Datasette&lt;/a&gt;. I’ll be writing more about the implementation (and releasing the underlying code) soon. I also built a new plugin for it, &lt;a href="https://github.com/simonw/datasette-haversine "&gt;datasette-haversine&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id="Mapping_museums_against_Starbucks_16"&gt;Mapping museums against Starbucks&lt;/h3&gt;

&lt;p&gt;I needed a way to emphasize quite how many tiny museums there are in the USA. I decided to do this with a visualization.&lt;/p&gt;
&lt;p&gt;It turns out there are 15,891 branches of Starbucks in the USA… and at least 30,132 museums!&lt;/p&gt;

&lt;p&gt;&lt;img src="https://static.simonwillison.net/static/2019/starbucks.png" alt="15,891 Starbucks" style="max-width: 100%" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://static.simonwillison.net/static/2019/museums.png" alt="At least 30.132 museums!" style="max-width: 100%" /&gt;&lt;/p&gt;

&lt;p&gt;I made these maps using a couple of sources.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.alltheplaces.xyz/"&gt;All The Places&lt;/a&gt; is a crowdsourced scraper project which aims to build scrapers for every company that has a “store locator” area of their website. Starbucks has &lt;a href="https://www.starbucks.com/store-locator"&gt;a store locator&lt;/a&gt; and All The Places have &lt;a href="https://github.com/alltheplaces/alltheplaces/blob/master/locations/spiders/starbucks.py"&gt;a scraper for it&lt;/a&gt;, so you can download GeoJSON of every Starbucks. I wrote a quick script to import that GeoJSON into Datasette using sqlite-utils.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://www.imls.gov/"&gt;Institute of Museum and Library Services&lt;/a&gt; is an independent agency of the federal government that supports museums and libraries across the country. They publish a &lt;a href="https://www.imls.gov/research-evaluation/data-collection/museum-data-files"&gt;dataset of Museums in the USA&lt;/a&gt; as a set of CSV files. I used &lt;a href="https://github.com/simonw/csvs-to-sqlite"&gt;csvs-to-sqlite&lt;/a&gt; to load those into Datasette, than ran a union query to combine the three files together.&lt;/p&gt;
&lt;p&gt;So I have Datasette instances (with a CSV export feature) for both Starbucks and USA museums, with altitudes and longitudes for each.&lt;/p&gt;
&lt;p&gt;Now how to turn that into a map?&lt;/p&gt;
&lt;p&gt;I turned to my new favourite GIS tool, &lt;a href="https://kepler.gl/"&gt;Kepler&lt;/a&gt;. Kepler is an open source GIS visualization tool released by Uber, based on WebGL. It’s astonishingly powerful and can be used directly in your browser by clicking the “Get Started” button on their website (which I assumed would take you to installation instructions, but no, it loads up the entire tool in your browser).&lt;/p&gt;
&lt;p&gt;You can import millions of points of data into Kepler and it will visualize them for you directly. I used a Datasette query to export the CSVs, then loaded in my Starbucks CSV, exported an image, loaded in the Museums CSV as a separate colour and exported a second image. The whole project ended up taking about 15 minutes. Kepler is a great addition to the toolbelt!&lt;/p&gt;

&lt;h3 id="Animating_the_PGE_outages_40"&gt;Animating the PG&amp;amp;E outages&lt;/h3&gt;

&lt;p&gt;My &lt;a href="https://simonwillison.net/2019/Oct/10/pge-outages/"&gt;PG&amp;amp;E outages scraper&lt;/a&gt; continues to record a snapshot of the PG&amp;amp;E outage map JSON every ten minutes. I’m posting updates to &lt;a href="https://twitter.com/simonw/status/1182440312590848001"&gt;a thread on Twitter&lt;/a&gt;, but discovering Kepler inspired me to look at more sophisticated visualization options.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://medium.com/vis-gl/animating-40-years-of-california-earthquakes-e4ffcdd4a289"&gt;This tutorial&lt;/a&gt; by Giuseppe Macrì tipped me off the the fact that you can use Kepler to animate points against timestamps!&lt;/p&gt;
&lt;p&gt;Here’s the result: a video animation showing how PG&amp;amp;E’s outages have evolved since the 5th of October:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Here&amp;#39;s a video animation of PG&amp;amp;E&amp;#39;s outages from October 5th up until just a few minutes ago &lt;a href="https://t.co/50K3BrROZR"&gt;pic.twitter.com/50K3BrROZR&lt;/a&gt;&lt;/p&gt;- Simon Willison (@simonw) &lt;a href="https://twitter.com/simonw/status/1188612004572880896?ref_src=twsrc%5Etfw"&gt;October 28, 2019&lt;/a&gt;&lt;/blockquote&gt;

&lt;h3 id="Hayes_Valley_Trees_50"&gt;Hayes Valley Trees&lt;/h3&gt;

&lt;p&gt;The city announced plans to cut down 27 ficus trees in our neighborhood in San Francisco. I’ve been working with Natalie to help a small group of citizens organize an appeal, and this weekend I helped run a survey of the affected trees (recording their exact locations in a CSV file) and then built &lt;a href="https://www.hayes-valley-trees.com/"&gt;www.hayes-valley-trees.com&lt;/a&gt; (&lt;a href="https://github.com/simonw/hayes-valley-trees"&gt;source on GitHub&lt;/a&gt;) to link to from fliers attached to each affected tree.&lt;/p&gt;
&lt;p&gt;It started out as &lt;a href="https://glitch.com/~hayes-valley-trees"&gt;a Datasette&lt;/a&gt; (running on Glitch) but since it’s only 27 data points I ended up freezing the data in a static JSON file to avoid having to tolerate any cold start times. The site is deployed as static assets on Zeit Now using their handy &lt;a href="https://zeit.co/github"&gt;GitHub continuous deployment tool&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="Streaks_56"&gt;Streaks&lt;/h3&gt;
&lt;p&gt;It turns out I’m very motivated by streaks: I’m at 342 days for Duolingo Spanish and 603 days for an Apple Watch move streak. Could I apply this to other things in my life?&lt;/p&gt;
&lt;p&gt;I &lt;a href="https://twitter.com/simonw/status/1186824721280593920"&gt;asked on Twitter&lt;/a&gt; and was recommended the &lt;a href="https://streaks.app/"&gt;Streaks iOS app&lt;/a&gt;. It’s beautiful! I’m now tracking streaks for guitar practice, Duolingo, checking email, checking Slack, reading some books and adding a new museum to &lt;a href="http://www.niche-museums.com"&gt;www.niche-museums.com&lt;/a&gt; (if I add one a day I can get from 17 museums today to 382 in a year!)&lt;/p&gt;
&lt;p&gt;It seems to be working pretty well so far. I particularly like their iPhone widget.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://static.simonwillison.net/static/2019/streaks-widget.jpg" alt="Streaks widget" style="max-width: 100%" /&gt;&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/museums"&gt;museums&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/productivity"&gt;productivity&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/projects"&gt;projects&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/visualization"&gt;visualization&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/weeknotes"&gt;weeknotes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/baked-data"&gt;baked-data&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/streaks"&gt;streaks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/duolingo"&gt;duolingo&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="museums"/><category term="productivity"/><category term="projects"/><category term="visualization"/><category term="weeknotes"/><category term="baked-data"/><category term="streaks"/><category term="duolingo"/></entry></feed>