<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Peter Briggs</title>
  <subtitle>Peter thinks about technology, humanity, the small web, etc., and might write some of it down.</subtitle>
  <link href="https://peter.briggs.seattle.wa.us/feed.xml" rel="self" />
  <link href="https://peter.briggs.seattle.wa.us/" />
  <updated>2026-06-09T17:51:11Z</updated>
  <id>https://peter.briggs.seattle.wa.us/</id>
  <author>
    <name>Peter Briggs</name>
    <email>contact@email.peter.briggs.seattle.wa.us</email>
  </author>
  <entry>
    <title>App Defaults</title>
    <link href="https://peter.briggs.seattle.wa.us/page/app-defaults/" />
    <updated>2026-06-09T17:51:11Z</updated>
    <id>https://peter.briggs.seattle.wa.us/page/app-defaults/</id>
    <content type="html">&lt;p&gt;&lt;em&gt;Inspired by &lt;a href=&quot;https://www.lkhrs.com/blog/app-defaults-2025/&quot;&gt;Luke Harris&lt;/a&gt; and Robb Knight&#39;s &lt;a href=&quot;https://defaults.rknight.me/&quot;&gt;App Defaults&lt;/a&gt; project, but admittedly more verbose!&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;📬 Communication&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mail Server:&lt;/strong&gt; &lt;a href=&quot;https://purelymail.com/&quot;&gt;Purelymail&lt;/a&gt;. They&#39;re awesome.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mail Client:&lt;/strong&gt; &lt;a href=&quot;https://www.betterbird.eu/&quot;&gt;Betterbird&lt;/a&gt;. A few months I switched from using Gmail as my inbox to using Purelymail as my inbox. It was a simple matter of swapping who forwards to whom, and I haven&#39;t looked back. It&#39;s so nice to have a &amp;quot;real&amp;quot; desktop email client, one that can show me a status bar indicator, and be more competent offline.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Text Chat:&lt;/strong&gt; Well, I use Google Voice for MMS (and occasional voice calls). I&#39;m also in a couple Slack workspaces. I&#39;ve dabbled with running a Matrix server, but I didn&#39;t have a use for it so I took it down.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contacts:&lt;/strong&gt; Google contacts.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🌐 Web&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Browser:&lt;/strong&gt; Long story. I originally used Chrome, but then I switched to a Raspberry Pi as my main computer for a few months, and Firefox was the default. I would have installed Chrome (for familiarity, password sync, DevTools, etc.) but Google didn&#39;t seem to build Chrome for ARM64 (Chromium was available but, if I remember correctly, it didn&#39;t sync passwords &lt;a href=&quot;https://blog.chromium.org/2024/08/seamlessly-use-your-passwords-and.html&quot;&gt;at the time&lt;/a&gt;—and might have felt a little slower than Firefox on the RPi5). So I stuck with Firefox and used Firefox&#39;s sync feature across my devices for bookmarks, passwords, etc. Then, recently (November 2025?), I happened to be introduced to &lt;a href=&quot;https://zen-browser.app/&quot;&gt;Zen Browser&lt;/a&gt; when reading through Alex White&#39;s &lt;a href=&quot;https://thatalexguy.dev/posts/bring-back-shareware/bring-back-share/&quot;&gt;&amp;quot;Software I Love&amp;quot; list&lt;/a&gt;. It works with Firefox sync but feels more polished and less clunky than Firefox, so I&#39;ve been enjoying it. When I do need Chromium (mainly for the DevTools, especially that one CSS Flex attribute editor menu), I also have &lt;a href=&quot;https://ungoogled-software.github.io/about/&quot;&gt;Ungoogled Chromium&lt;/a&gt; installed—not so much to avoid Google as that it was packaged in a way that made it the fastest and easiest to install on my system.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bookmarks:&lt;/strong&gt; Firefox bookmarks. Zen Browser lets you set a keyword you can type to call up a bookmark from the new tab pane, which is nice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password Management:&lt;/strong&gt; Firefox passwords.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Read It Later:&lt;/strong&gt; I fear that if I make it too easy to dump stuff somewhere, I&#39;ll never get around to actually reading it. I have a reading list in Obsidian, which adds just enough friction to make me decide whether to read something now, add it to the list, or drop it and do more important things.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🗃️ Organization&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Notes:&lt;/strong&gt; &lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian&lt;/a&gt;. I&#39;m not into the whole thing of having the perfect notes setup and all. One day, I installed it on a whim, hoping it would be better than a plain text editor at managing multiple files with easier navigation. It is, so I use it now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Photo Management:&lt;/strong&gt; Google photos and/or one of my Syncthing folders. I&#39;ve also tried out &lt;a href=&quot;https://www.photoprism.app/&quot;&gt;PhotoPrism&lt;/a&gt; as a more specialized self-hosted app, but have not set up a more permanent installation (yet?).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Document Management:&lt;/strong&gt; I&#39;ve tried self-hosting &lt;a href=&quot;https://papra.app/&quot;&gt;Papra&lt;/a&gt;, but it&#39;s not very feature rich—the extra hoops aren&#39;t worth the tagging and search capabilities it does offer. Instead, I use a good ol&#39; filesystem with a nice directory structure that I&#39;ve settled on over the years.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;To-Do:&lt;/strong&gt; If I make a list digitally, my go-to is Home Assistant, mostly for convenience.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Calendar:&lt;/strong&gt; Several different calendars on Google Calendar sorted roughly by event category. Then Home Assistant pulls the calendars and turns on appropriate status LEDs around the house (built with &lt;a href=&quot;https://esphome.io/&quot;&gt;ESPHome&lt;/a&gt;) to remind me.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud File Storage:&lt;/strong&gt; Not in the cloud. I vehemently despise OneDrive despite it being shoved down my throat at every opportunity by Windows (which I rarely use). I sync most of my files with Syncthing, between my various home directories and an instance running as a Home Assistant add-on.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;📎 Office Suite&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Word Processing:&lt;/strong&gt; LibreOffice. The only viable alternative I know of is Microsoft Word, which doesn&#39;t run on Linux (&amp;quot;Word on the Web&amp;quot; is unpleasant and impractical for other reasons I won&#39;t get into here). Recently, I&#39;ve been experimenting with writing the bulk of my content in Obsidian, because it feels cleaner and easier. Then, if I really do need proper word-processor formatting, I reluctantly dump that text into LibreOffice, or (&lt;em&gt;gag&lt;/em&gt;) MS Word on the Web.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spreadsheets:&lt;/strong&gt; I use LibreOffice or Google Sheets. Google Sheets is generally nicer because it&#39;s better about crunching large amounts of data without freezing up (lots of work going on server-side at Google to support my smooth experience). Also Google Sheets feels more well-rounded for the stuff I use it for, and is generally easier to use. Easy conditional formatting, loading rows from Google Forms, usually enough functions for what I need, and good integration with Apps Script if I need to squeeze a little more juice out of it (once I wrote a script to do some custom filtering of data so it was intuitive and easy for both the spreadsheet user and the one filling out the Google Form).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Presentations:&lt;/strong&gt; I don&#39;t do them much, at least not with visuals. I&#39;ve had to give a few speeches recently, which I draft and write in Obsidian. When I do need slides, I use LibreOffice Impress in lieu of PowerPoint (Linux). But I had a slip-up recently where I saved my slides in OpenDocument format (instead of &lt;code&gt;Save As&lt;/code&gt; &amp;gt; &lt;code&gt;.pptx&lt;/code&gt;) when sending my presentation to the presenter device (it wasn&#39;t an option to just plug in my own laptop). PowerPoint had a compatibility issue, causing it to strip my nice background colors, completely changing the mood of the slides—oops! That was not a fun presentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🗞️ Media&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RSS:&lt;/strong&gt; Self-hosted instance of &lt;a href=&quot;https://github.com/Athou/commafeed/&quot;&gt;CommaFeed&lt;/a&gt;. I used to use Newsflash to connect to CommaFeed, but now I usually just check the web UI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;News:&lt;/strong&gt; Almost exclusively the Sunday paper. I&#39;ll look an event up if it sounds major and I&#39;m interested, otherwise I let the world do its thing and hear about it at a more gradual pace.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Music:&lt;/strong&gt; 70% of the music I listen to (mostly classical) is either ripped from CDs or downloaded from Wikimedia Commons / Internet Archive. I use &lt;a href=&quot;https://www.strawberrymusicplayer.org/&quot;&gt;Strawberry Music Player&lt;/a&gt; on my computer, and I also Syncthing the music folder to a Samba server on the LAN, from which Music Assistant (running as a Home Assistant add-on) pulls the audio. Perhaps more complicated than necessary. The other 30% (mostly &lt;em&gt;Hamilton&lt;/em&gt; and random one-off songs that get sent to me) I stream with ads using Spotify.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Podcasts:&lt;/strong&gt; I don&#39;t listen to podcasts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audiobooks:&lt;/strong&gt; I&#39;ve recently discovered that online services at many libraries are really cool and have tons of resources. So I can use BiblioCommons / &lt;a href=&quot;https://www.overdrive.com/apps/libby&quot;&gt;Libby&lt;/a&gt; to borrow audiobooks from several local libraries on a short-term basis. I am around the library a lot, yet the ability to get library content remotely somehow makes it a lot more convenient.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;❓ Misc&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Operating System:&lt;/strong&gt; Stretching the definition of an &amp;quot;app,&amp;quot; but for context, I use plain out-of-the-box desktop Ubuntu. It&#39;s not great, but it works. Linux Mint would have been a better choice because in my experience it&#39;s more performant. However, next time I install a desktop OS, I&#39;ll probably spend the time setting up Arch Linux, because people keep recommending that I try it out.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenStreetMap Editor:&lt;/strong&gt; I use &lt;a href=&quot;https://wiki.openstreetmap.org/wiki/ID&quot;&gt;iD&lt;/a&gt; by default because it&#39;s easier to make quick edits. &lt;a href=&quot;https://wiki.openstreetmap.org/wiki/JOSM&quot;&gt;JOSM&lt;/a&gt; is much more powerful in almost all areas though, when I need to use a &amp;quot;real&amp;quot; editor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Document Scanning:&lt;/strong&gt; &lt;a href=&quot;https://launchpad.net/ubuntu/trusty/+package/gscan2pdf&quot;&gt;gscan2pdf&lt;/a&gt; has lots of features that I always wanted, like being able to scan double-sided documents in a smart way without any hassle or manual rearranging of pages.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Microsoft Domains</title>
    <link href="https://peter.briggs.seattle.wa.us/page/microsoft-domains/" />
    <updated>2026-06-09T06:29:13Z</updated>
    <id>https://peter.briggs.seattle.wa.us/page/microsoft-domains/</id>
    <content type="html">&lt;p&gt;I have I pretty strong bias against Microsoft&#39;s software products. Almost everything feels so &lt;em&gt;crufty&lt;/em&gt;! When I have the misfortune of using Windows, for example, some parts don&#39;t seem to have been touched in many years. You also see evidence, historical artifacts, of handfuls of failed attempts to &amp;quot;bring everything up to date.&amp;quot; For example, the Settings app in Windows 10 tries to give a more polished layer for modifying basic system settings in one app. But the moment you try to do anything more than surface-level, the Settings app redirects you to a page in the classic Control Panel. Personally, I prefer Control Panel over Settings because it allows me as a more advanced user to find what I want more quickly, but I get that they wanted to make settings more accessible to the average user. But how hard could it be to just complete the job, get it over with, and implement the remaining few dozen Control Panel settings in the new Settings app?&lt;/p&gt;
&lt;p&gt;But Windows is far from the worst; my pet peeve is Microsoft&#39;s online services. They seem to rebrand everything every other year, going from Office 365 to Office to CoPilot 365 or whatever. And every time they change their logo... and all the logos for their online versions of their office products. But what I find particularly dumb is the way they seem to use every possible Microsoft-tangential domain name to run their services. So this page is an attempt to collect and list the domain names I&#39;ve seen Microsoft use when I&#39;m being bounced around their eighty-redirect login flow, or stuck in a refresh loop trying to access OneNote / OneDrive / SharePoint, or on one of their app pages. Maybe this will help me quantify my dislike.&lt;/p&gt;
&lt;h2&gt;The domains&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Work in progress! And I&#39;m sure they roll out a new one every week anyway. Last updated June 2026.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;outlook.cloud.microsoft&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;office.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;office.net&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;office365.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;live.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;microsoft.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;msftauth.net&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;login.microsoftonline.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;s-microsoft.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;static.microsoft&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1drv.ms&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;onedrive.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gfx.ms&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;m365.cloud.microsoft&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;msn.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;storage.googleapis.com&lt;/code&gt;, of all things, on one of the Outlook web portals&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This list has got to be incomplete, so I&#39;ll keep adding to it as I see ever more. Email me if I missed one.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Shuffler</title>
    <link href="https://peter.briggs.seattle.wa.us/tools/shuffle/" />
    <updated>2026-05-06T06:11:38Z</updated>
    <id>https://peter.briggs.seattle.wa.us/tools/shuffle/</id>
    <content type="html">&lt;p&gt;Need to randomize things? I did too. Here&#39;s a tool that&#39;s helpful to me and might be helpful to you.&lt;/p&gt;
&lt;p&gt;&lt;noscript&gt;&lt;b&gt;🔷 These tools aren&#39;t server-side, so they probably won&#39;t work without JavaScript enabled.&lt;/b&gt;&lt;/noscript&gt;&lt;/p&gt;
&lt;h2&gt;Shuffle&lt;/h2&gt;
&lt;p&gt;&lt;label for=&quot;shuffle-input&quot;&gt;Insert a list to shuffle:&lt;/label&gt;&lt;/p&gt;
&lt;textarea id=&quot;shuffle-input&quot; autofocus=&quot;&quot; rows=&quot;8&quot; placeholder=&quot;Alice
Bob
...&quot;&gt;&lt;/textarea&gt;
&lt;p&gt;&lt;button onclick=&quot;javascript:shuffle()&quot;&gt;Shuffle!&lt;/button&gt;&lt;/p&gt;
&lt;pre id=&quot;shuffle-output&quot; hidden=&quot;&quot;&gt;&lt;/pre&gt;
&lt;script&gt;
function shuffle_array(array) {
    let current_index = array.length;
    while (current_index != 0) {
        let random_index = Math.floor(Math.random() * current_index);
	    current_index--;
	    [array[current_index], array[random_index]] = [array[random_index], array[current_index]];
    }
}
function shuffle() {
     const input = document.getElementById(&quot;shuffle-input&quot;).value.split(/&#92;r?&#92;n/);
     shuffle_array(input);
	 const output = document.getElementById(&quot;shuffle-output&quot;);
     output.innerText = input.join(&quot;&#92;r&#92;n&quot;);
     output.hidden = false;
}
&lt;/script&gt;</content>
  </entry>
  <entry>
    <title>Locality Domains</title>
    <link href="https://peter.briggs.seattle.wa.us/page/locality-domains/" />
    <updated>2026-02-03T19:07:30Z</updated>
    <id>https://peter.briggs.seattle.wa.us/page/locality-domains/</id>
    <content type="html">&lt;p&gt;I have &lt;code&gt;briggs.seattle.wa.us&lt;/code&gt;, and you might be able to get one for yourself, with your own city and state, if you&#39;re in the US! They&#39;re free, too. I had success following &lt;a href=&quot;https://fredchan.org/blog/locality-domains-guide/&quot;&gt;Frederick Chan&#39;s great guide&lt;/a&gt;, but your mileage may vary, especially depending on what city you want your domain to contain.&lt;/p&gt;
&lt;h2&gt;Services&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt;: I went with AWS Lightsail but I regret it. It&#39;s free because of a sort of pricing loophole, but it&#39;s a bit of a pain to work with. The input validator is very cryptic, and I still haven&#39;t found a way to point stuff at a CloudFront distribution or other AWS endpoint. I intend to switch to Route 53 (which Lightsail DNS seems to use, but doesn&#39;t let you manage the zone in the Route 53 dashboard) if I ever have the need for a more competent DNS nameserver.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CloudFlare&lt;/strong&gt;: Not. I&#39;ve tried and researched, but CloudFlare seems to insist that I can&#39;t use their services, even without their DNS, on what they see as a subdomain. Without an enterprise account, that is. I wonder if it&#39;s worth getting &lt;code&gt;.seattle.wa.us&lt;/code&gt; on the &lt;a href=&quot;https://en.wikipedia.org/wiki/Public_Suffix_List&quot;&gt;Public Suffix List&lt;/a&gt; (PSL) so it gets recognized as an effective top-level domain (eTLD). I guess &lt;code&gt;.wa.us&lt;/code&gt; is already a recognized eTLD in the PSL.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt;: I use &lt;a href=&quot;https://purelymail.com&quot;&gt;Purelymail&lt;/a&gt; and they&#39;re awesome. Nothing special about the locality domain for registering with them. I&#39;m remembering some issue I had, possibly with a different email provider, where one of the email authentication DNS records was too long for Lightsail so I had to re-split the string onto different lines? I think the record I was instructed to add was already split at 256 characters, but Lightsail had some arbitrary limit that&#39;s just a little less than that, like 240 characters. So I concatenated and re-split the authentication record at 240 or whatever and it worked fine.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>