<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>bryant</title>
  <link>https://bryant.dreamwidth.org/</link>
  <description>bryant - Dreamwidth Studios</description>
  <lastBuildDate>Sat, 03 Dec 2022 02:13:13 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>bryant</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/10913881/105186</url>
    <title>bryant</title>
    <link>https://bryant.dreamwidth.org/</link>
    <width>70</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>https://bryant.dreamwidth.org/848280.html</guid>
  <pubDate>Sat, 03 Dec 2022 02:13:13 GMT</pubDate>
  <title>AI Oracle Part 2</title>
  <link>https://bryant.dreamwidth.org/848280.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;https://popone.innocence.com/archives/2022/11/08/ai-as-oracle.php&quot;&gt;New text AI&lt;/a&gt;! Let&amp;#8217;s try it on some tabletop RPG work. Bold is my prompts; I&amp;#8217;ve snipped the polite banter out of most of the AI&amp;#8217;s answers.&lt;/p&gt;



&lt;p&gt;Spoiler: this is way better than the &lt;a href=&quot;https://popone.innocence.com/archives/2022/11/08/ai-as-oracle.php&quot;&gt;last one I tried&lt;/a&gt;. If I repeat the same prompt it gets a little repetitive, but still not bad. &lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://popone.innocence.com/archives/2022/12/02/ai-oracle-part-2.php#more-11755&quot;&gt;Read the rest of this entry &amp;raquo;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;[Crossposted from Population: One; go &lt;a href=&quot;https://popone.innocence.com/archives/2022/12/02/ai-oracle-part-2.php&quot;&gt;here&lt;/a&gt; for the original post.]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=bryant&amp;ditemid=848280&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://bryant.dreamwidth.org/848280.html</comments>
  <category>gaming</category>
  <category>ai</category>
  <category>chatgpt</category>
  <category>technology</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://bryant.dreamwidth.org/843787.html</guid>
  <pubDate>Wed, 09 Nov 2022 02:07:41 GMT</pubDate>
  <title>Notes: 2022-11-08</title>
  <link>https://bryant.dreamwidth.org/843787.html</link>
  <description>&lt;p&gt;Phew. No big Paxlovid bounce, thankfully.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://forums.somethingawful.com/showthread.php?threadid=3862643&amp;amp;userid=20544&quot;&gt;This&lt;/a&gt; is what I thought of when I heard about Tesla engineers coming over to validate Twitter code. It&amp;#8217;s both true that the author seems pretty savvy and that the culture over at Tesla is focused on velocity over anything. Good times. &lt;/p&gt;



&lt;p&gt;Let&amp;#8217;s get all the Twitter stuff out of the way!&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Evelyn Douek has smart things to say about Twitter&amp;#8217;s &lt;a href=&quot;https://www.theatlantic.com/ideas/archive/2022/11/elon-musk-twitter-regulations-legal-battles/671946/&quot;&gt;regulatory challenges&lt;/a&gt;. Not just in the US, not just in the EU &amp;#8212; India&amp;#8217;s going to be a huge headache. &lt;/li&gt;



&lt;li&gt;This &lt;a href=&quot;https://collectiveaction.tech/2022/a-layoff-guide-for-tweeps&quot;&gt;layoff guide&lt;/a&gt; for Twitter employees is worth reading for anyone who&amp;#8217;s nervous about their job. Or anyone, really. Use your work laptop in a way which will enable you to execute on those precautions quickly.&lt;/li&gt;



&lt;li&gt;One &lt;em&gt;billion&lt;/em&gt; dollars in &lt;a href=&quot;https://www.reuters.com/technology/musk-orders-twitter-cut-infrastructure-costs-by-1-bln-sources-2022-11-03/&quot;&gt;infrastructure cuts&lt;/a&gt;? This is already working out &lt;a href=&quot;https://nitter.domain.glass/nickrw/status/1589555650832367616&quot;&gt;badly&lt;/a&gt;. Sympathies to the guy who just went on call for a bunch of systems he doesn&amp;#8217;t know. Gergley has a &lt;a href=&quot;https://nitter.domain.glass/gergelyorosz/status/1589711711233134592&quot;&gt;good thread&lt;/a&gt; on the problems ahead. Here&amp;#8217;s another SRE still employed by Twitter, and he thinks it&amp;#8217;s &lt;a href=&quot;https://nitter.domain.glass/jredmond/status/1588675418064039937&quot;&gt;gonna be ugly&lt;/a&gt;. Rakyll is a well-respected principal engineer in the reliability biz; &lt;a href=&quot;https://nitter.domain.glass/rakyll/status/1589350822051459073&quot;&gt;she&amp;#8217;s pessimistic&lt;/a&gt; and thinks people are leaving. &lt;/li&gt;



&lt;li&gt;Tangentially related: Starlink is inevitably having to &lt;a href=&quot;https://www.theverge.com/2022/11/4/23441356/starlink-data-caps-throttling-residential-internet-priority-basic-access&quot;&gt;throttle bandwidth&lt;/a&gt;. Some math: &lt;a href=&quot;https://www.starlink.com/maritime&quot;&gt;Starlink wants&lt;/a&gt; $5K/month for 2 terminals with a total of 350 Mbps download. That&amp;#8217;s cheap and cool but the &lt;a href=&quot;https://www.ses.com/find-service/cruise&quot;&gt;existing mobile solutions&lt;/a&gt; can deliver bandwidth in the Gbps range. &lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;OK, that&amp;#8217;s enough horrified observation of the train wreck. Mastodon is treating &lt;a href=&quot;https://dice.camp/web/@bryantd&quot;&gt;me&lt;/a&gt; OK so far.&lt;/p&gt;



&lt;p&gt;If I had to choose one word to capture the difference between engineering levels, I agree that &lt;a href=&quot;https://wellingtonajo.com/blog/the-biggest-differentiator-between-software-engineering-levels?id=3&quot;&gt;impact&lt;/a&gt; is a good one. But there are a lot of different ways to have an impact. I kind of want to do career progression as a &lt;a href=&quot;https://www.storytellingwithdata.com/blog/2021/8/31/what-is-a-spider-chart&quot;&gt;spider chart&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I like this story about &lt;a href=&quot;https://storymaps.arcgis.com/stories/e927741a6a1c4157a1e3a91a2645f3f8&quot;&gt;enclaves and exclaves&lt;/a&gt; but what really caught my eye is the platform &amp;#8212; this is apparently open to anyone to write this kind of post? In my copious spare time I wanna mess with it.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://filmforum.org/series/new-waves-rediscovering-taiwanese-cinema-of-the-1980s&quot;&gt;This program&lt;/a&gt; looks like a good entrance point to New Taiwan Cinema. I&amp;#8217;ve seen &lt;cite&gt;Rebels of the Neon God&lt;/cite&gt; and I &lt;a href=&quot;https://letterboxd.com/thanlis/film/rebels-of-the-neon-god/reviews/&quot;&gt;liked it&lt;/a&gt;, although I&amp;#8217;m not sure I have the right flavor of patience for this particular cinematic movement.&lt;/p&gt;
&lt;p&gt;[Crossposted from Population: One; go &lt;a href=&quot;https://popone.innocence.com/archives/2022/11/08/notes-2022-11-08.php&quot;&gt;here&lt;/a&gt; for the original post.]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=bryant&amp;ditemid=843787&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://bryant.dreamwidth.org/843787.html</comments>
  <category>maps</category>
  <category>technology</category>
  <category>general</category>
  <category>twitter</category>
  <category>starlink</category>
  <category>new taiwan cinema</category>
  <category>culture</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://bryant.dreamwidth.org/837389.html</guid>
  <pubDate>Sun, 21 Aug 2022 02:21:44 GMT</pubDate>
  <title>Seattle Movie Calendar</title>
  <link>https://bryant.dreamwidth.org/837389.html</link>
  <description>&lt;p&gt;Before the pandemic, I’d been thinking about writing a little aggregator to pull movie times at my favorite local indie theaters into a calendar. I’m bad at remembering to see that cool showing a month from now but if I had a calendar that would theoretically help.&lt;/p&gt;




&lt;p&gt;Obviously I didn’t need it for the last couple of years but the silver lining is that I got better at Python. I spent some time coding over the last week of my sabbatical and voila: the &lt;a href=&quot;https://seattle-movies.innocence.com/&quot;&gt;Seattle Arthouse Movie Calendar&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;The code is &lt;a href=&quot;https://github.com/BryantD/seattle-film-calendar&quot;&gt;here&lt;/a&gt;. I was sort of fiddling around with making it a real library but decided not to chew off too much at once. It was enough fun learning how to use classes to make it super-easy to add a new theater.&lt;/p&gt;




&lt;p&gt;Lots of potential improvements. I am probably going to generate separate calendars for each theater next, for convenience. I’d also like to render maybe three days worth of calendar on the Web page. I feel like doing more than that risks pulling traffic away from the official theater sites, which I’d prefer to avoid, but three days seems reasonable. &lt;/p&gt;




&lt;p&gt;I’m going to write up some notes on using the code for other cities too. If you’re decent with Python you could probably figure it out from reading what’s there but documentation is a good practice anyhow.&lt;/p&gt;
&lt;p&gt;[Crossposted from Population: One; go &lt;a href=&quot;https://popone.innocence.com/archives/2022/08/20/seattle-movie-calendar.php&quot;&gt;here&lt;/a&gt; for the original post.]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=bryant&amp;ditemid=837389&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://bryant.dreamwidth.org/837389.html</comments>
  <category>culture</category>
  <category>technology</category>
  <category>seattle</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://bryant.dreamwidth.org/777197.html</guid>
  <pubDate>Wed, 11 Aug 2021 01:01:14 GMT</pubDate>
  <title>FoundryVTT on Fly.io</title>
  <link>https://bryant.dreamwidth.org/777197.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;https://foundryvtt.com&quot;&gt;FoundryVTT&lt;/a&gt; is a high quality virtual online tabletop platform. Unlike &lt;a href=&quot;https://roll20.net&quot;&gt;Roll20&lt;/a&gt;, however, there&amp;#8217;s not a central server &amp;#8212; once you buy a license, you have to run it someplace. There are &lt;a href=&quot;https://foundryvtt.com/article/partnerships/&quot;&gt;a few services&lt;/a&gt; that will do this for you at a reasonable price, but I&amp;#8217;m a geek, so if I start using FoundryVTT I want to host it myself.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://fly.io&quot;&gt;Fly.io&lt;/a&gt; is a very cool new application hosting cloud. I experimented with it a month ago for hosting an NJPWWorld RSS feed generator and it was awesomely simple. They support persistent disk, so I couldn&amp;#8217;t see any reason why it wouldn&amp;#8217;t work for FoundryVTT. And it did! Details after the cut.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://popone.innocence.com/archives/2021/08/10/foundryvtt-on-fly-io.php#more-11002&quot;&gt;Read the rest of this entry &amp;raquo;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;[Crossposted from Population: One; go &lt;a href=&quot;https://popone.innocence.com/archives/2021/08/10/foundryvtt-on-fly-io.php&quot;&gt;here&lt;/a&gt; for the original post.]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=bryant&amp;ditemid=777197&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://bryant.dreamwidth.org/777197.html</comments>
  <category>technology</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://bryant.dreamwidth.org/774802.html</guid>
  <pubDate>Fri, 04 Dec 2020 03:07:00 GMT</pubDate>
  <title>Weird Instagram Bot Traces</title>
  <link>https://bryant.dreamwidth.org/774802.html</link>
  <description>&lt;p&gt;So far this month I&amp;#8217;ve received a couple hundred email messages from Instagram notifying me that their Terms of Use have been updated. They&amp;#8217;re legitimate emails; it looks like someone signed up hundreds of Instagram accounts using randomized innocence.com email addresses. Since I moved my mail to Fastmail, I&amp;#8217;m now seeing them all. I poked around a couple of the accounts (hi, kurt.clemons78446!) and the ones I spot checked have all been deleted.&lt;/p&gt;



&lt;p&gt;I imagine someone used innocence.com as a domain for non-existent email addresses, and these either date back to before Instagram added a confirmation step (and were later removed for spamming) or they just never confirmed the accounts. You&amp;#8217;d think that deleted accounts would be removed from whatever list of email addresses Facebook is using to generate these emails. Unconfirmed accounts&amp;#8230; I guess those should still see the Terms of Use changes.&lt;/p&gt;



&lt;p&gt;Good times. Finally added a filtering rule for the emails, anyhow.&lt;/p&gt;
&lt;p&gt;[Crossposted from Population: One; go &lt;a href=&quot;https://popone.innocence.com/archives/2020/12/03/weird-instagram-bot-traces.php&quot;&gt;here&lt;/a&gt; for the original post.]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=bryant&amp;ditemid=774802&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://bryant.dreamwidth.org/774802.html</comments>
  <category>technology</category>
  <category>bots</category>
  <category>instagram</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://bryant.dreamwidth.org/774587.html</guid>
  <pubDate>Wed, 02 Dec 2020 01:36:07 GMT</pubDate>
  <title>Auto-Pause for Zoom</title>
  <link>https://bryant.dreamwidth.org/774587.html</link>
  <description>&lt;p&gt;I don&amp;#8217;t like wearing headphones all day and since I&amp;#8217;m lucky enough to have a spare room for an office, I can play music through my Bluetooth speaker. However, I&amp;#8217;m lazy, and I don&amp;#8217;t want to fiddle around with my music player just cause I&amp;#8217;m starting a Zoom meeting. Thus, automation.&lt;/p&gt;



&lt;p&gt;Zoom provides callbacks when meetings start, but that&amp;#8217;s aimed at people writing plugin modules. OK, we can go a bit lower level. I can&amp;#8217;t just watch for a process, cause Zoom is always running on my laptop. But I can watch for open UDP sockets! &lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;$ lsof -i 4UDP | grep zoom
zoom.us 88028 bryantd 83u IPv4 0xa90f1ce03eca5d5 0t0 UDP xx.xx.xx.xx:57275
zoom.us 88028 bryantd 84u IPv4 0xa90f1ce03eca2ed 0t0 UDP xx.xx.xx.xx:52612
zoom.us 88028 bryantd 90u IPv4 0xa90f1ce09340175 0t0 UDP *:65048
zoom.us 88028 bryantd 91u IPv4 0xa90f1ce0939ce8d 0t0 UDP *:60088
zoom.us 88028 bryantd 95u IPv4 0xa90f1ce0939c8bd 0t0 UDP *:50594&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;That&amp;#8217;ll do, pig. &lt;a href=&quot;https://www.youtube.com/watch?v=JWTjsiXrOOQ&quot; data-rel=&quot;lightbox-video-0&quot;&gt;That&amp;#8217;ll do&lt;/a&gt;.&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;#!/bin/bash

trap ctrl_c INT

function ctrl_c() {
        stop_music
        exit
}

function stop_music() {
        /usr/bin/osascript -e &apos;tell application &quot;Music&quot; to pause&apos;
}

while true; do
        zoom_status=$( /usr/sbin/lsof -i UDP | /usr/bin/grep zoom | wc -l )

        if (( $zoom_status &amp;gt; 0 )); then
                stop_music
        fi

        sleep 30
done&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I&amp;#8217;m catching interrupts because I want a quick keyboard method to stop the music just in case. Right now I don&amp;#8217;t think I want it to restart music when I leave a Zoom call, but easy enough to add that if I do. &lt;/p&gt;
&lt;p&gt;[Crossposted from Population: One; go &lt;a href=&quot;https://popone.innocence.com/archives/2020/12/01/auto-pause-for-zoom.php&quot;&gt;here&lt;/a&gt; for the original post.]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=bryant&amp;ditemid=774587&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://bryant.dreamwidth.org/774587.html</comments>
  <category>technology</category>
  <category>automation</category>
  <category>zoom</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
