Tools for Online Speechhttps://tfos.co/feed.xml2024-01-21T00:15:26.000Zhttps://platypub.sfo3.cdn.digitaloceanspaces.com/f0f4201f-d870-42dc-9e05-0801885e7df7https://platypub.sfo3.cdn.digitaloceanspaces.com/f0f4201f-d870-42dc-9e05-0801885e7df7I am still alivehttps://tfos.co/p/i-am-still-alive/2024-01-21T00:15:26.000Z<p><em>Welcome to my sporadic newsletter about improving the information environment... and whatever else I happen to be thinking about. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>Hey! It's been a while. My weekly writing habit didn't survive my <a href="https://tfos.co/p/i-got-a-job/">getting a job</a>; on the bright side, my bank account has been faring much better. I've decided to start drafting posts on my phone while my kids take their bath in the evening.<br><br>So my tools-for-online-speech work has been on hold. It turns out I have time for exactly one side project, and that's been <a href="https://biffweb.com" target="_blank" rel="noopener">Biff</a>. In the mean time I've been mulling over various schemes for how to make progress on all my projects. I thought about <a href="https://forum.tfos.co/t/a-micro-fund-for-biff-tfos-projects/94">paying other people</a> to work on my apps, but ultimately decided to wait until after I have a paid-off house before I go into that territory.<br><br>Currently I'm hoping to be able to work on <a href="https://yakread.com/">Yakread</a> and other apps in tandem with Biff. Since Yakread is built with Biff, it would make a pretty good real-world example/showcase project for people learning Biff. On top of that, since my full-time occupation no longer consists of working on my own apps, I think it's important that I find some time to keep building things with Biff instead of just working on Biff itself, for the sake of dogfooding. And besides, what's the point of making a sweet web framework if you never build anything with it?<br><br>So I'm confident that sooner or later I'll be able to squeeze in some time at least for Yakread. And of course there's always the wait-until-your-kids-are-slightly-older-so-you-have-more-time strategy, which I am pursuing in tandem. (They're 1 and 3 currently).</p>
<hr>
<p>Having already written a handful of think pieces on <a href="https://tfos.co/unbundling-social-media/">unbundling social media</a>, I haven't yet felt much need to write more. I still like the vision I've already outlined—I'd just like to spend more time on implementation, as discussed above. I think about this from two angles: what do I want for myself, and what do I think has the best chance of actually growing? What do other people need?<br><br>Yakread is certainly in the first category. I use it every day and love it, even though there are still a bunch of improvements I'd like to make. However, while I'm not the only user[1], I no longer think that a better reader app is the best next step towards bringing an unbundled social media ecosystem to the masses.<br><br>Instead, I think a better discussion app is the way to go. It's 2024, and all the options for setting up an online community still seem... not great? The one I like the most is Discourse, but it still doesn't match up super well with all my needs.<br><br>First of all, there's no free version (its single-tenant architecture makes that impractical), and it has a ton of knobs and dials. Maybe not a big deal for my own community—I've already set it up—but I also want lots of other people to start communities that I can join, so the ideal discussion platform has to have an easy-to-set-up free plan.<br><br>On top of that, it feels a bit "heavy"—creating a post on Discourse feels like a more significant action than it does on most chat apps, and that limits the number of posts that get written. Same goes for the sign-up process.<br><br>Ultimately, I want something that:</p>
<ul>
<li>is lightweight enough to be used as an alternative to posting on social media, yet powerful enough to handle large communities</li>
<li>encourages any type of communication, whether it's quick back-and-forth chat or ongoing async discussion</li>
<li>works great with email: sends out automatic email digests like Discourse, and lets new members sign up and leave their first comment at the same time by putting in their email address</li>
<li>lets you export a list of your members' email addresses, same as you can do with any newsletter platform</li>
</ul>
<p>Will I start building this in the foreseeable future? No. But it's fun to think about!</p>
<p><em>Thanks for reading. <a href="mailto:hello@tfos.co?subject=Re:I am still alive">Hit reply</a> or <a href="https://forum.tfos.co/t/i-am-still-alive/118">chat with me</a> on the forum.</em></p>
<p> </p>
<p><strong>Footnotes</strong></p>
<p>[1] One of my favorite pieces of feedback I've received: "I love Yakread. So much better than the old Google reader, and it was good."</p>Jacob O'BryantI'm resurrecting the Discourse forumhttps://tfos.co/p/resurrecting-discourse/2023-09-07T05:35:16.000Z<p><em>Welcome to my (weekly? monthly? whenever-I-feel-like-it-ly?) newsletter about improving the information environment. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>For a few months back in '22, I was running a Discourse forum as a sidekick to this newsletter. I ended up switching over to Discord because I discovered they had released <a href="https://support.discord.com/hc/en-us/articles/6208479917079-Forum-Channels-FAQ">forum channels</a>, which gave me the structure I liked from Discourse without feeling quite as heavyweight. So I backed up my Discourse instance and shut it down.</p>
<p>I have now brought <a href="https://forum.tfos.co">the old forum</a> back to life and have spiffed it up a bit. The main reason is that I’ve been thinking about how to keep up a regular writing habit now that I have a job, and I think Discourse fits with that better. I don’t want to commit to sitting down for two hours each week to write up the newsletter, so instead my plan is to post in small chunks to the forum throughout the week. Sending my newsletter(s)* will become a mechanical process: copy and paste stuff from the forum, do a little formatting, hit send. At some point I could automate it, maybe.</p>
<p>*This forum will double as a community for Biff in addition to Tools for Online Speech—it’d be fun to get a bit more overlap going there.</p>
<p>I could have done a similar process while still posting to Discord instead of here, <em>but</em>, if the forum is to become so central to my publishing flow, I’d really like to have the posts be public—an aspect of Discord about which I have complained many times. With Discourse, I can include in the newsletter below each copied-and-pasted post a “View discussion” link which will let you actually see the comments without being signed in already. It’s a tiny yet crucial thing, and the fact that Discord doesn’t handle that use-case is a testament to the fact that it <em>really</em> was not designed to be used the way I wanted to use it.</p>
<p>Another cool thing about Discourse is that they’ve added real-time chat! Discord is becoming Discourse and Discourse is becoming Discord…</p>
<div class="lightbox-wrapper"><a class="lightbox" title="image" href="https://tfos-forum.nyc3.cdn.digitaloceanspaces.com/original/1X/4784dd20839075d67b9522eb274a49787f843098.png" data-download-href="/uploads/short-url/acGyHBP8kaCjZI2sQOap1t2K9rq.png?dl=1"><img style="aspect-ratio: 379 / 500;" src="https://tfos-forum.nyc3.cdn.digitaloceanspaces.com/optimized/1X/4784dd20839075d67b9522eb274a49787f843098_2_379x500.png" srcset="https://tfos-forum.nyc3.cdn.digitaloceanspaces.com/optimized/1X/4784dd20839075d67b9522eb274a49787f843098_2_379x500.png, https://tfos-forum.nyc3.cdn.digitaloceanspaces.com/optimized/1X/4784dd20839075d67b9522eb274a49787f843098_2_568x750.png 1.5x, https://tfos-forum.nyc3.cdn.digitaloceanspaces.com/optimized/1X/4784dd20839075d67b9522eb274a49787f843098_2_758x1000.png 2x" alt="image" width="379" height="500" loading="lazy" data-base62-sha1="acGyHBP8kaCjZI2sQOap1t2K9rq" data-dominant-color="262626"></a></div>
<p><a href="https://forum.tfos.co/t/im-resurrecting-the-discourse-forum">Discussion >></a></p>
<hr>
<p><strong>Yakread latest features and roadmap</strong></p>
<div class="cooked">
<p>I made a few tweaks to Yakread a month or so ago:</p>
<ul>
<li>The “For You”/“In case you missed it” algorithm now takes your pinned subs into account. If you pin subs on the subscriptions page, they get boosted substantially in the algorithm.</li>
<li>Made some improvements to Yakread’s feed parsing so that it works with Mastodon RSS feeds.</li>
<li>Improved the unsubscribe feature/flow so that it can handle all newsletters, not just ones that support automatic unsubscribe.</li>
</ul>
<p>Next on the docket:</p>
<p><strong>Open-sourcing the codebase.</strong> I’d like to get this out of the way before I move on to adding more features. The codebase won’t be polished or anything, but I’ll at least have instructions so potential contributors can run it locally and deploy it. It will likely require some code work as well, like cleaning up/nuking the commit history (ahem) and making sure I’m not hardcoding “yakread.com” anywhere.</p>
<p><strong>Dark mode!</strong> And typography settings. Font size at least.</p>
<p>Better experience for <strong>short-form/high-frequency RSS feeds</strong> (like Mastodon feeds). I’d like to batch the posts in some way, but there are some implementation details to figure out. I’ll also be able to easily add support for Substack Notes and even Twitter, thanks to <a href="https://openrss.org">openrss.org</a>. Hopefully Substack gets their act together and adds native RSS support at some point.</p>
<p><strong>Tags for subscriptions and bookmarks</strong>, so you can organize them by topic. I’ll probably also add a filter to the For You page so you can view algorithmically-selected posts from a particular tag. Maybe let you choose how much each tag should be weighted, e.g. “50% of my feed should be content tagged as ‘butterflies’, 30% should be …”</p>
<p><a href="https://forum.tfos.co/t/yakread-latest-features-and-roadmap/">Discussion >></a></p>
<hr>
<p><strong>Open source as software dev career prep</strong></p>
<div class="cooked">
<p>Someone solicited some advice from me recently on the topic of how to pivot into a career as a software developer and I wrote up a fairly verbose email response. The main suggestion I gave was to spend time tinkering with an open-source project, in addition to working on your own projects and whatever else you might be doing to learn programming. I thought it’d be worthwhile to rewrite that up here.</p>
<p>First is a caveat: I’ve never pivoted into a software dev career; it’s the career I’ve started with. The best advice will probably come from people who have had personal experience making the pivot. My advice will tend to lean more towards “what will help you prepare to do the work of a software engineer” and less towards “how do you get a first job as a software engineer without a CS degree.” The two questions have some overlap, but how much, I don’t know.</p>
<p>Back to open source. In my experience, the most significant difference between coding on your own and coding in a job is that in the latter, you have to learn a pre-existing codebase. At least in the first few months, it’s normal in my experience to spend the vast majority of your time studying the existing code and learning how it works. After many hours of that, you write 20 lines of code, then repeat.</p>
<p>Tinkering with open-source projects is a great complement to working on your own projects because it gives you experience in working with someone else’s codebase. You don’t even have to submit your changes back to the project; you can just mess around at first. As a start for one of my projects, one time I took an open-source Android music player and modified it so that if you hit the skip button within the first 30 seconds of a song, the next song would be the theme song for Bill Nye the Science Guy.</p>
<p>After doing some of that, if you <em>are</em> able to start writing pull requests that get accepted into open-source projects, that will be even better preparation for a job. Besides learning how an existing codebase works, you’ll get practice taking a feature request/bug report description and translating it into working code, and it’ll force you to be more rigorous—you have to make reasonably sure you’re not introducing any bugs, and you have to write code that’s easy for others to understand and maintain. You’ll also likely have to make changes to your code based on feedback.</p>
<p>You can Google around to find an open-source project you’re interested in. Think about what apps/websites you use yourself, then see if there are any open-source alternatives. e.g. if you write on Substack, you might enjoy hacking on <a href="https://github.com/TryGhost/Ghost">Ghost</a>.</p>
<p>A final note: different projects have different stances/policies/instructions on contributing. You don’t need permission to tinker around with the project on your own, but if you want to try submitting a pull request, look for a link/section on the GitHub page titled “contributing.” For example, the Ghost GitHub page links to <a href="https://github.com/TryGhost/Ghost/blob/main/.github/CONTRIBUTING.md">this document</a>. In general, just be aware that getting a pull request merged into a project creates work for the maintainer (they have to review your code, they have to fix any bugs that pop up later, etc), so try to minimize that burden.</p>
<p>Some other assorted things I mentioned:</p>
<ul>
<li>
<p>It’s never too early to start looking at job postings and talking to people who work there. Even if you aren’t ready to start applying yet, you can still build relationships and learn more about what it’s like working there, what they look for in new hires, and any other questions you might have.</p>
</li>
<li>
<p>Don’t get too hung up on which language to learn. Pick one and stick with it for a while. If you’ve found an open-source project you’re interested in, perhaps pick whatever language it’s written in. It’s probably best to pick a fairly mainstream language so that there will be plenty of learning resources.</p>
</li>
<li>
<p>I don’t know anyone who’s tried <a href="https://launchschool.com/">Launch School</a>, but based on the website it looks promising to me. In particular, the pricing ($200/month for as long as you need) seems ideal for a company that wants to support mastery-based learning. (In contrast, I used to be excited about Lambda School–now BloomTech–which professed to use mastery-based learning, until my wife tried it in 2019. The quality of education was extremely low.)</p>
</li>
</ul>
<p><a href="https://forum.tfos.co/t/open-source-as-software-dev-career-prep">Discussion >></a></p>
</div>
</div>Jacob O'BryantI got a jobhttps://tfos.co/p/i-got-a-job/2023-07-29T00:19:40.000Z<p><em>Welcome to my <s>weekly</s> newsletter about <s>practical ways to improve the information environment</s> stuff. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>Well, it finally happened: I have escaped from entrepreneurship. It was a fun 4.5 years, for some definition of fun. I successfully tricked the fine folks over at <a href="https://www.tyba.ai/">Tyba</a> into hiring me as a software engineer, and from now on I'll be spending my weekdays saving polar bears/helping renewable power plant operators be more efficient. If any of you are planning to start up a solar plant, HMU. In seriousness, I am looking forward to building up some <a href="https://www.ferc.gov/media/2020-energy-primer-handbook-energy-market-basics">domain expertise</a> in the energy industry—seems like not a bad thing to specialize in.</p>
<p>Today was my third day; I've mostly been poking around the codebase and doing some simple bugfixes as I find my way around. It's a bit like moving into a big city you've never been to before. I assume. I've never moved to a big city, unless you count that one stint in Malaysia, but I digress.</p>
<p>I guess I should say it's like moving into a big city <em>where every two weeks they give you <strong>money</strong>.</em> Heck yeah, it's been way too long since that's been a thing for me.</p>
<p>(For the Clojurists, our codebase is written with <a href="https://fulcro.fulcrologic.com/">Fulcro</a>. I did some Fulcro about three years ago, an experience that is now coming extremely in handy. Also, while I have your attention, I'll mention that I found out about Tyba after the CTO saw my message in #available-for-jobs on Clojurians Slack and DMed me—that channel actually works!)</p>
<p>As for all my projects—<a href="https://yakread.com">Yakread</a>, <a href="https://thesample.ai">The Sample</a> (lol tear), <a href="https://biffweb.com">Biff</a>, this newsletter, <em>et cetera</em>—thankfully they're all fairly mature and don't need to be actively worked on all the time. I should have at least four hours of side project time each week, and maybe a bit more every now and then. I'm going to put all the projects in rotation, the order of which currently looks like so:</p>
<ol>
<li>Yakread</li>
<li>Biff</li>
<li>Write essay(s)</li>
<li>Platypub</li>
<li>"Biff from scratch" (a mini book/series of guides I'm planning to write)</li>
</ol>
<p>I'm now in the middle of doing some Yakread updates. When I'm done with that, I'll send out a newsletter and then switch to the next project for a while, repeat. Then I can still write the newsletter at a regular cadence but not have to worry about it taking too much time away from coding etc. I made a "write essays" project so that every once in a while I can sit down and write something more substantial.</p>
<p>I am also pretty much decided in favor of open-sourcing Yakread. That way it can have more overlap with Biff, since people who use Biff might be interested in contributing to Yakread and vice-versa. The more I can consolidate my projects, the better. After the current batch of Yakread updates, I'll put it back in the queue right behind Platypub, and then when I get to it next I'll open-source it.</p>
<p>Although I'll no longer be working full-time on tools for online speech, I don't see that as a step backward. I'll be able to explore different paths than I had to previously now that my personal income is no longer a concern. In the best case scenario, I see Biff and TFOS slowly growing as both a set of projects and as a community over the next five years. At some point around the 5-7 year mark—after I have a house paid off, hopefully—I may be in a position to accelerate things more, e.g. by providing seed funding for <a href="https://tfos.co/p/what-if-i-started-a-nonprofit/">a nonprofit</a>.</p>
<p>But mostly, I'm excited to just see where the winds take us.</p>
<hr>
<p>Stuff I've been reading:</p>
<ul>
<li>⭐ Let The Internet Be Grimy [<a href="https://tedium.co/2023/07/08/threads-social-media-brand-safety/">Tedium</a>]</li>
<li>⭐ Building personal and organizational prestige [<a href="https://lethain.com/building-prestige/">Irrational Exuberance</a>]</li>
<li>⭐ The Learning System [<a href="https://www.henrikkarlsson.xyz/p/learningsystem">Escaping Flatland</a>]</li>
<li>Social RSS [<a href="https://chriscoyier.net/2023/07/01/social-rss/">Chris Coyier</a>]</li>
<li>Who killed Google Reader? [<a href="https://www.theverge.com/23778253/google-reader-death-2013-rss-social">The Verge</a>]</li>
<li>Spaced Repetition Through Newsletters [<a href="https://www.atvbt.com/spaced-repetition-through-newsletters/">Atoms vs Bits</a>]</li>
<li>Postmodernism to Poastmodernism [<a href="https://economistwritingeveryday.com/2022/10/08/postmodernism-to-poastmodernism/">Economist Writing Every Day</a>]</li>
<li>The World’s Most Important App (For Now) [<a href="https://www.theatlantic.com/technology/archive/2023/06/telegram-app-encrypted-messaging-russia/674558/">The Atlantic</a>]</li>
<li>Bespoke misinformation as solution to targeted disinformation [<a href="https://economistwritingeveryday.com/2023/07/03/what-if-the-solution-to-disinformation-is-more-disinformation/">Economist Writing Every Day</a>]</li>
<li>How to own the butt rock conversation [<a href="https://www.content-technologist.com/butt-rock-seo/">The Content Technologist</a>]</li>
<li>The dance of the naked emperors [<a href="https://www.experimental-history.com/p/the-dance-of-the-naked-emperors">Experimental History</a>]</li>
</ul>
<p>Outside interests:</p>
<ul>
<li>The World China Is Building [<a href="https://www.noemamag.com/the-world-china-is-building/">NOEMA</a>]</li>
<li>People need to hear the good news about climate change [<a href="https://www.slowboring.com/p/people-need-to-hear-the-good-news">Slow Boring</a>]</li>
<li>No, NEPA really is a problem for clean energy [<a href="https://www.noahpinion.blog/p/no-nepa-really-is-a-problem-for-clean">Noahpinion</a>]</li>
<li>“Demand Commitment Mechanisms” Can Jumpstart Long-Duration Energy Storage [<a href="https://progress.institute/demand-commitment-mechanisms-can-jumpstart-long-term-energy-storage/">Institute for Progress</a>]</li>
</ul>Jacob O'BryantExperimenting with Mastodonhttps://tfos.co/p/experimenting-with-mastodon/2023-07-17T20:03:35.000Z<p>Lots of exciting stuff has been happening lately:</p>
<ul>
<li>I pulled a muscle in my back on Saturday and took two days to recover.</li>
<li>Everyone in my household got sick over the course of a week or so.</li>
<li>I got a second job offer and have entered the negotiation phase as I pick which company to join.</li>
</ul>
<p>Apart from some other <a href="https://en.wikipedia.org/wiki/The_Legend_of_Zelda:_Breath_of_the_Wild">important work</a> I've been doing, I did at least manage to make <a href="https://yakread.com/?noredirect=true">a new landing page</a> for Yakread:</p>
<p><img src="https://platypub.sfo3.cdn.digitaloceanspaces.com/2b49f34b-a671-4bfb-b01b-aa44f2a490f6" alt=""></p>
<p>I am for I believe the third time giving Mastodon <a href="https://social.linux.pizza/@obryant666">another shot</a>. Last time I made a single post announcing "I'm going to try posting on Mastodon again," and then didn't make another post for a few months. (I think. I'm not going to bother checking.) So this time I'm foregoing the announcement (except for this paragraph...) and just posting.</p>
<p>I'm interested in Mastodon/the fediverse for a few reasons:</p>
<ul>
<li>I'm concerned that the Discord server just isn't a great fit: I'd like to have a <em>public</em> place for comments/discussion so people reading my newsletter can click the links and see the content.</li>
<li>I suspect that a decent chunk of people who would be interested in my writing are already on Mastodon (or would be open to joining), so posting there would make it easier for them to follow my work. (Discord is also lacking here since it doesn't offer much/anything in the way of aggregation.)</li>
<li>I want to experiment with semi-automatically generating this newsletter from my Mastodon posts, so that I can write the newsletter in little chunks throughout the week without needing to have a block of time. That'll be especially helpful after I start having a job.</li>
</ul>
<p>I'm not a huge fan of Mastodon's chronological timeline, but I will probably add back support for following Mastodon accounts with Yakread. Instead of adding an integration that uses the Mastodon API (like Yakread used to have), I'm going to do it through RSS:</p>
<ol>
<li>I'll improve Yakread's support for RSS feeds with lots of short posts, e.g. maybe batch them up into fewer, larger posts.</li>
<li>Then I'll improve Yakread's RSS feed detection so that if you paste in a link for a Mastodon account, Yakread will add the associated RSS feed to your subscriptions. (e.g. here's <a href="https://social.linux.pizza/@obryant666.rss">my feed</a>.)</li>
</ol>
<p>Plus, then it's easy to extend to any other platform like Bluesky or Substack Notes if they happen to add RSS feeds. And if they don't, well, would you really want to engage with a platform that doesn't even support RSS 😉?</p>
<p>(I guess it would also work if someone made an RSS bridge, e.g. if you paste in a link to someone's Substack Notes page, Yakread could lookup the associated RSS feed on some 3rd party service instead of from Substack.)</p>
<p>This train of thought has me also wondering about if I should make my own fediverse client, like a mix between Yakread, <a href="https://github.com/jacobobryant/platypub#platypub">Platypub</a>, and Mastodon. Imagine an app that looks like a standard Twitter clone, but if someone clicks "Follow" on your profile, it shows a popup with several options:</p>
<ul>
<li>An email signup box</li>
<li>A click-to-copy button for your Mastodon URL</li>
<li>A click-to-copy button for the RSS feed</li>
<li>Whatever the equivalent for Bluesky if that ever stops being invite-only</li>
</ul>
<p>If someone signs up via email, they get an automated digest of your posts, perhaps ranked by number of comments/likes.</p>
<p>The timeline would basically be Yakread: algorithmically ranked, and made up from various content sources like newsletters and RSS feeds, along with your regular fediverse follows. For posting, you can post regular short-form posts as expected, but you could also write long-form posts as well as "pages" a la WordPress and friends, to give structure to your profile/website. i.e. on the publishing side, I'd be merging my Mastodon account with <a href="https://tfos.co/">my website</a>.</p>
<p>Just a thought!</p>Jacob O'BryantA few planned Yakread updateshttps://tfos.co/p/a-few-planned-yakread-updates/2023-07-01T22:31:29.000Z<p><em>Welcome to my weekly newsletter about practical ways to improve the information environment. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p> <a href="https://tfos.co/p/exploring-reddit-essays/">I mentioned</a> a month ago that I decided to finally get a job and do my tools-for-online-speech work mostly in the form of open-source. (If you missed that—surprise!) I have a compelling offer from one company (a 6-person startup in the renewable energy space) and I'm in the middle of interviews for two other larger startups. I'm hoping to have a contract signed within a couple weeks.</p>
<p>In the mean time I've been enjoying a semi-vacation for the past week or two. I don't need to look for more jobs to apply for, so while I wait for my scheduled interviews to roll around I've been spending more time with the offspring. We went to Home Depot's kid workshop today and made a nice bean bag toss thing.</p>
<hr>
<p>This upcoming week I might actually get around to doing some more Yakread updates. A few things on the top of my mind:</p>
<p><strong>Add an "in case you missed it" section</strong> to the emails again, which will resurface old articles from your subscriptions and bookmarks that you haven't read yet. Then you can get the Full Yakread Experience® just from skimming the daily emails every day.</p>
<p>I've actually stopped using the feed on the Yakread web app myself. During my morning routine, I skim the email on my phone and open any links I want to read. Throughout the day, any reading time I have goes into those articles. If I get through all of those and I have more reading time, then instead of opening my Yakread feed, I just read a book. And if I don't get to all the articles and they're starting to pile up in my open tabs, then I bookmark them in Yakread and trust that they'll come up in the future, once I add the in-case-you-missed-it section.</p>
<p><strong>Make a landing</strong> <strong>page</strong>, again. I removed the landing page a while ago, <a href="https://yakread.com">opting instead</a> to put new visitors immediately on a feed of articles. But the vibes are off (not to mention the signup conversion rate. I think it'd do better with a more traditional landing page that gives some quick context, accompanied by a nice big email signup form. I'll include a "try it out first" button that takes you to the article feed without needing to create an account first.</p>
<p><strong>Typography settings and dark mode</strong>, if the latter isn't too much work. The main complication is that newsletter posts come with their own styling, and overriding that may be tricky (or not; I won't know until I try).</p>
<p>It's amazing how many items in a product backlog you can cross off as "eh, doesn't seem that important anymore" if you just give them a month or two to simmer.</p>
<p>I'm feeling pretty good about open-sourcing Yakread. I'd like to wait until I'm settled into my new job first. So if you're a coder and you want to hack on Yakread, that might be an option in a month or so.</p>
<hr>
<p>Some things I read this week:</p>
<p>Private Comments, or Why I’m Down On Webmentions [<a href="https://havenweb.org/2023/04/10/private-comments.html">havenweb.org</a>]. The creator of <a href="https://havenweb.org/index.html">Haven</a> (and a fellow TFOS reader!) writes about some fundamental problems with the IndieWeb approach of trying to host all your comments on your own website: you still need to have a filtering/moderation layer somewhere.</p>
<p>The Twenty-Six Words That Created the Internet [<a href="https://www.goodreads.com/en/book/show/42170844">www.goodreads.com</a>]. A deep dive on Section 230 by law professor Jeff Kosseff. See also <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3351323">Why Section 230 Is </a><a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3351323">Better Than the First Amendment</a>.</p>
<p>Spaced Repetition Through Newsletters [<a href="https://www.atvbt.com/spaced-repetition-through-newsletters/">www.atvbt.com</a>]</p>
<p>Supreme Court Clarifies "True Threats" First Amendment Exception [<a href="https://popehat.substack.com/p/supreme-court-clarifies-true-threats">popehat.substack.com</a>]</p>
<p>The Economics of Engineering Blogs [<a href="https://www.thediff.co/archive/the-economics-of-engineering-blogs/">www.thediff.co</a>]. "Allegedly, the multi-armed bandit problem was so time-consuming to Allied researchers in the Second World War that they looked into ways to get the Germans to try to solve it specifically to waste their time."<br><br></p>Jacob O'BryantDiscussion apps > reading apps?https://tfos.co/p/discussion-reading/2023-06-24T19:17:34.000Z<p><em>Welcome to my weekly newsletter about practical ways to improve the information environment, focused on my own work in that space. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>A few days ago I read an article that caused me to question one of my fundamental assumptions: what if discussion apps are more important than reading apps?</p>
<p>The article was <a href="https://publicinfrastructure.org/2023/03/29/the-three-legged-stool/">this manifesto</a> from the Initiative for Digital Public Infrastructure (iDPI). In a nutshell their recommendation is that:</p>
<ul>
<li>There should be more emphasis on small community/discussion apps instead of stuffing everyone into a few giant platforms.</li>
<li>There should be "loyal clients" which let users interact with multiple communities from one place, and which are designed to prioritize users' interests over platforms' interests.</li>
<li>There should be a bunch of 3rd party algorithm services which can be used by loyal clients to provide ranking, filtering, discovery etc.</li>
</ul>
<p>I've been following iDPI for a little while; their recommendations come closer to <a href="https://tfos.co/unbundling-social-media/">my own scheme</a> than any other initiative I'm aware of.</p>
<p>The main point where I disagree with them is that I think having "full" loyal clients—3rd party apps that can read posts from and publish posts to a bunch of different community apps—would introduce too much coordination cost and would slow down innovation. Community apps wouldn't be able to release new functionality to all their users immediately; they would have to wait for 3rd party clients to add support as well.</p>
<p>Instead I think that the <em>reading</em> of posts should be aggregated into 3rd party clients, but <em>publishing</em> posts doesn't need to be. You want a single feed of content so that you don't have to check a bunch of different communities regularly, but if you want to reply to one of those posts, it's acceptable if you have to click on the post and switch to the app it came from.</p>
<p>I could be wrong though, and either way I'm interested to watch their progress.</p>
<p>As I was pondering the differences between our approaches and my <a href="https://tfos.co/p/reneging-on-reddit/">ongoing dissatisfaction</a> with the community software available to me, I started to have a small epiphany: what if there was an app that looked like Discord/Slack, and one of its main features was that you could subscribe to RSS feeds from within the channels, <em>and</em> it published an RSS feed for each channel?</p>
<p>Think of it like a community-focused RSS reader. Moderators can add subscriptions to a channel. When a subscription publishes a new post, it'll show up in the channel. Members can comment on it, or make their own top-level post in the channel. The outbound RSS feed for that channel includes all the top-level posts, including posts from members and posts from that channel's subscribed RSS feeds. You could have a channel where you subscribe to other channels.</p>
<p>Similar to how Discord and Slack have 3rd-party bots for doing various stuff, there could be bots for ranking and filtering content from the incoming RSS feeds. Maybe some bots would be sources of content on their own—a Yakread bot might recommend articles and keep track of which recommendations get the most comments/emoji responses.</p>
<p>I'm still fleshing this idea out—there are a lot of UX details that would need to be handled—but in general I'm mostly convinced of at least two things:</p>
<ul>
<li>I would definitely benefit from having a new type of community app. Discord, Reddit, Discourse and everything else I've looked at just don't quite fit my needs. (High confidence.)</li>
<li>A discussion app that emphasized subscribing to and publishing RSS feeds might be useful to more people than a reading app like Yakread. (Medium confidence.)</li>
</ul>
<p>We'll see if that idea goes anywhere 🙂.</p>
<p>A few other things I read last week:</p>
<ul>
<li>Podcasts Could Unleash a New Age of Enlightenment [<a href="https://www.wired.com/story/podcasts-speech-thought-history-enlightenment/">www.wired.com</a>]</li>
<li>Why it's so hard to fix the information ecosystem [<a href="https://www.noahpinion.blog/p/why-its-so-hard-to-fix-the-information">www.noahpinion.blog</a>]</li>
<li>How to Prepare for the Deluge of Generative AI on Social Media [<a href="https://knightcolumbia.org/content/how-to-prepare-for-the-deluge-of-generative-ai-on-social-media">knightcolumbia.org</a>]</li>
</ul>Jacob O'BryantReneging on the subreddithttps://tfos.co/p/reneging-on-reddit/2023-06-18T06:36:24.000Z<p><em>Welcome to my weekly newsletter about <a href="https://tfos.co/p/you-can-unbundle-social-media/">practical ways</a> to improve our <a href="https://tfos.co/p/tfos/">information environment</a>, focused on <a href="https://yakread.com">my own work</a> in that space. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>So last time I mentioned that I was starting up a TFOS subreddit. However, recent events have made me lose confidence in Reddit's stability. In addition, even though Reddit technically does have support for synchronous chat, realistically I don't think anyone would ever use it, myself included. In contrast, Discord remains a great place for both sync and async discussion, and it doesn't appear to be in danger of implosion, so I think I'll stay put over there. Not having public links for discussions is annoying, but I can always polish up the <a href="https://discord.tfos.co">Discord forum publisher</a> to fix that... at some point.</p>
<p>I've been stewing over what fundamentalish changes, if any, I should make to Yakread. One of Yakread's core features is that it resurfaces old articles from your subscriptions and bookmarks that you haven't read yet; however that only happens on the web app. I think I should put an "In case you missed it" section back into the daily emails, so you can benefit from that resurfacing even if you only interact with Yakread via the emails. Someone brought that up several weeks ago, and I've been noticing myself lately that some days I prefer using my extra reading time to just read books instead of scrolling Yakread. I like the idea of being able to get the full Yakread experience just from the daily emails.</p>
<p>In other Yakread news, I'm also leaning towards making it open-source. I'm going to wait until I've started a new job and have settled into that before I make a decision. But so far I am thinking that putting all my non-job projects under a single umbrella (open-source) would make them easier to manage. The main benefit of keeping Yakread closed-source would be if I really want it to become a full-time business down the road... but honestly, as of right now I'm feeling much more attracted to just making money the normal way, via employment. And I think there's a good chance Yakread would have higher impact as an open-source project.</p>
<p>For similar reasons, I'll probably abandon my <a href="https://substack.yakread.com/p/dont-subscribe">Yakstack</a> initiative. I have no energy for growth hacking, as humorous as Yakstack would've been.</p>
<p>My wife and I went to a few open houses today for recently built homes that are on sale. It'll be a couple years at least before we're ready to take on a mortgage (it wouldn't hurt if interest rates go down at some point...), but we thought it'd be a fun date. Those things sure are expensive!</p>
<p>Stuff I've read recently:</p>
<ul>
<li>Rereading “Editorial Discretion” [<a href="https://knightcolumbia.org/blog/rereading-editorial-discretion">knightcolumbia.org</a>]</li>
<li>Snowden Ten Years Later [<a href="https://www.schneier.com/blog/archives/2023/06/snowden-ten-years-later.html">www.schneier.com</a>]</li>
<li>Shirky: Situated Software [<a href="https://gwern.net/doc/technology/2004-03-30-shirky-situatedsoftware.html">gwern.net</a>]</li>
<li>A Natural History of Trust & Safety [<a href="https://feerst.medium.com/a-natural-history-of-trust-safety-c73066d04b86">feerst.medium.com</a>]</li>
<li>Nextdoor Has an Election-Misinformation Problem [<a href="https://www.theatlantic.com/technology/archive/2023/05/nextdoor-local-election-misinformation-volunteer-moderation/674152/">www.theatlantic.com</a>]</li>
<li>Journalistic Lessons for the Algorithmic Age [<a href="https://themarkup.org/hello-world/2023/02/04/journalistic-lessons-for-the-algorithmic-age">themarkup.org</a>]</li>
<li>The Surprising Power of Documentation [<a href="https://vadimkravcenko.com/shorts/proper-documentation/">vadimkravcenko.com</a>]</li>
</ul>Jacob O'BryantHello Seattle I am a manta rayhttps://tfos.co/p/hello-seattle/2023-06-05T23:47:23.000Z<p><em>Welcome to my weekly newsletter about practical steps towards a better Internet, focused on <a href="https://yakread.com">my own work</a> in that space. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>It's been a slow week for me in terms of my software projects because I was selected for federal jury service on Wednesday 🙂. We just finished day 4; looks like it'll continue until at least Thursday. Can't say much else until after the trial is over. I've had a chance to walk around downtown Seattle a bit—if any of you are nearby and want to get lunch sometime in the next couple days, let me know.</p>
<p>(I'm just glad my hotel expenses are getting reimbursed!)</p>
<p>I've had a bit of FOMO over the years from not being located in a big tech/startup hub, the bay area in particular. I actually once had plane tickets to visit San Francisco for a week and try to do some networking, but they were scheduled for—wait for it—April 2020. You know what happened next.</p>
<p>I've hardly done anything for the past several days I've been in Seattle, other than walk a few blocks to Jimmy John's for lunch every day. (One of my super powers is that I'm a repetitive eater and have no need to try out new restaurants once I find one I like). But I've been absorbing the "city vibes" a bit, and... I don't think I'm much of a city person anyway.</p>
<p>This is perhaps a typical feeling among people with kids, but I wouldn't mind setting up base in suburbia somewhere. You're close to grocery stores and doctor's offices, you have fast internet, the roads get plowed, the electricity rarely goes out in the winter as far as I'm aware... (all in comparison to living out in the woods as I do now). But you can still live somewhere relatively cheap without a ton of traffic. There may not be any networking opportunities, but hey, there's always the internet + remote work.</p>
<p>I read a few good articles this week. A few of them are technical (I've placed those links at the end):</p>
<p>The Open Source Business Model is Under Siege [<a href="https://www.influxdata.com/blog/the-open-source-database-business-model-is-under-siege/">www.influxdata.com</a>]</p>
<p>Optimizing impact: why I will not start an Envoy platform company [<a href="https://medium.com/@mattklein123/optimizing-impact-why-i-will-not-start-an-envoy-platform-company-8904286658cb">medium.com</a>]</p>
<p>Why America Needs Moderates [<a href="https://www.discoursemagazine.com/politics/2023/05/04/why-america-needs-moderates/">www.discoursemagazine.com</a>]</p>
<p>Reluctance To Process Contributions, and Tips from InnerSource [<a href="https://www.harihareswara.net/posts/2022/reluctance-to-process-contributions-and-tips-from-innersource/">www.harihareswara.net</a>]</p>
<p>The Gemini protocol seen by this HTTP client person [<a href="https://daniel.haxx.se/blog/2023/05/28/the-gemini-protocol-seen-by-this-http-client-person/">daniel.haxx.se</a>]</p>
<p>Humble Chronicles: State Management [<a href="https://tonsky.me/blog/humble-state/">tonsky.me</a>]</p>
<p>And from the TFOS subreddit: Structuring yakread more like a newsletter [<a href="https://www.reddit.com/r/tfos/comments/141q54p/structuring_yakread_more_like_a_newsletter/">reddit.com/r/tfos</a>]</p>Jacob O'BryantExploring Reddit essayshttps://tfos.co/p/exploring-reddit-essays/2023-05-30T20:07:33.000Z<p><em>Welcome to my weekly newsletter about practical ways to make the Internet better, focused on <a href="https://yakread.com">my own work</a> in that space. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>Quick announcement: after four years of entrepreneurship, I've finally decided it's time to rejoin the land of the employed. See <a href="https://tfos.co/resume/">my resume</a> if your workplace needs someone with codin' experience.</p>
<p>I guess I should also say that my work on this newsletter, Yakread, and tools for online speech in general will continue without interruption; it'll just happen a bit slower 🙂. I'll continue to grow Yakread organically on the side, and maybe down the road it'll get to the point where I can resume working on it full-time.</p>
<p>That being said, I also like the idea of finding ways to continue my TFOS work without even trying to structure it as a full-time business. For example, last month I mused about starting some kind of <a href="https://tfos.co/p/what-if-i-started-a-nonprofit/">nonprofit</a>; yesterday I had an "oh duh" moment and realized that I could start out by looking for existing projects/organizations to donate to and write about.</p>
<p>Over the next four years, I'd like to do more of the <em>exploration for exploration's sake</em> that I spent so much time on as a teenager.</p>
<hr>
<p>I've been thinking recently, as one does, about how to do marketing for my work and ideas. <a href="https://tfos.co/p/into-the-shell/">I don't need lots of subscribers</a>. At the same time, I don't want to be a <em>complete</em> digital hermit. I want to keep meeting new people and be part of a community that I can contribute to.</p>
<p>My current plan is to just write really good essays, somewhere between once a month and once a quarter. At the same time, I'll continue to read a lot and search for other people who are interested in the same things as me. Then I can always just send them links to my essays and ask for feedback directly<span class="fe5nidar khvhiq1o r5qsrrlp i5tg98hk f9ovudaz przvwfww gx1rr48f gfz4du6o r7fjleex nz2484kf svot0ezm dcnh1tix sxl192xd t3g6t33p" style="background-image: url('../../../img/c5a15be93e425dcb8a26b06645ad4574_w_2552-40.png');"><span class="mpj7bzys xzlurrtv">. No need to overthink it 🤷‍♂️.<br></span></span></p>
<p><span class="fe5nidar khvhiq1o r5qsrrlp i5tg98hk f9ovudaz przvwfww gx1rr48f gfz4du6o r7fjleex nz2484kf svot0ezm dcnh1tix sxl192xd t3g6t33p" style="background-image: url('../../../img/c5a15be93e425dcb8a26b06645ad4574_w_2552-40.png');"><span class="mpj7bzys xzlurrtv">As such, I'm giving myself permission to not even try to get into the habit of posting regularly on Substack Notes or what-have-you. Tweets just aren't my thing. I did go through all the trouble of setting up <a href="https://substack.yakread.com/">a Substack account</a> for that purpose, but instead of posting there often I'll probably just use it as a place to host any Substack-focused essays I write.</span></span></p>
<hr>
<p><a href="https://reddit.com/r/tfos">I made a TFOS subreddit</a>. I haven't posted much there yet; I just wanted to play around with it a bit and see if I might like it more than Discord. I was actually pleasantly surprised. I think Reddit's history of <a href="https://twitter.com/obryant666/status/1334617358694895616">doing user-hostile things</a> blinded me somewhat. But, I mean, it's got pretty much everything I want—asynchronous structured discussion, <a href="https://www.reddit.com/r/tfos/comments/13snlrf/rtfos_lounge/">chat</a>, easy to set up, public (no need for invite links!), there's even RSS—and I'm <em>guessing</em> that of the people who read this newsletter, more are familiar with Reddit than are familiar with Discord. Also Reddit has better moderation tools.</p>
<p>So yeah, if you're thinking about places to host a community/places to host comments for your newsletter, maybe give Reddit some consideration. I'll start writing my "lab notes" on Reddit next time I'm in a thinking mood, and after that maybe I'll transition from Discord to Reddit more generally.</p>
<p>Might as well throw in <a href="https://www.reddit.com/r/tfos/comments/13w3m8a/exploring_reddit_essays/">a Reddit link</a> for this post!</p>
<hr>
<p>Links now presented in purely random order 🙂.</p>
<p>Product-Led Anxiety [<a href="https://mattschaar.substack.com/p/product-led-anxiety">Skeptocapital</a>]</p>
<p>Looking for Alice [<a href="https://www.henrikkarlsson.xyz/p/looking-for-alice">Escaping Flatland</a>]</p>
<p>ReadWriteWeb Turns 20 [<a href="https://www.cybercultural.com/p/readwriteweb-20">Cybercultural</a>]</p>
<p>The Value Of Links In 2016 [<a href="https://ricmac.org/2016/07/14/the-value-of-links/">Richard MacManus</a>]</p>
<p>Remembering GitHub’s Office, a Monument to Tech Culture [<a href="https://www.wired.com/story/github-tech-values/">Nadia Asparouhova</a>]</p>
<p>Scraping training data for your mind [<a href="https://www.henrikkarlsson.xyz/p/training-data">Escaping Flatland</a>]</p>
<p>ICSI: changing lives (but not a VC’s) [<a href="https://mattschaar.substack.com/p/icsi">Skeptocapital</a>]</p>
<p>“Where have all the hackers gone?” + a way to discuss programming languages [<a href="https://morepablo.com/2023/05/where-have-all-the-hackers-gone.html">More Pablo</a>]</p>
<p>How we Build Platforms [<a href="https://www.mnot.net/blog/2023/02/19/platforms">Mark Nottingham</a>]</p>
<p>“Boring” is just one strategy [<a href="https://morepablo.com/2022/04/against-boring.html">More Pablo</a>]</p>
<p>Social Networking — Past, Present and Future [<a href="https://www.cybercultural.com/p/social-networking-past-present-and">Cybercultural</a>]</p>
<p>Building new cultures [<a href="https://www.henrikkarlsson.xyz/p/building-new-cultures">Escaping Flatland</a>]</p>
<p> </p>Jacob O'BryantComplaining about Substack for fun and profithttps://tfos.co/p/complaining-about-substack/2023-05-22T18:08:58.000Z<p><em>Welcome to my weekly newsletter about practical ways to make the Internet better, focused on <a href="https://yakread.com">my own work</a> in that space. I'm <a href="https://tfos.co/">Jacob O'Bryant</a>.</em></p>
<p>The <a href="https://yakread.com">new version of Yakread</a> has been officially released. Phew. I have a number of additional improvements to make (backlogs are never finished), such as ongoing improvements to the recommendation algorithm, typography settings, dark mode... I'll be working on all that on the side.</p>
<p>A higher priority for me now is <em>marketing</em> Yakread. As an overly technical founder, this has never been one of my strengths. Yesterday I was thinking about various channels I might focus on, and I was struck with inspiration: perhaps I might try my hand at some good old <a href="https://twitter.com/paulg/status/1273233413261209600">beef marketing</a><em>.</em> In the same way that Substack has relentlessly criticized Twitter while simultaneously using it to grow their own business, maybe I can use Substack to find an audience for Yakread. Substack has a habit of proclaiming their own moral superiority over their competitors while being blind (whether intentionally or not) to their own shortcomings, which makes them an easy target.</p>
<p>This will all be done with a heavy dose of humor—I find genuine beef marketers like DHH and the Substack founders to be fairly irritating, so I'd prefer to dilute my own beef marketing with satire, making it clear that I'm not taking myself too seriously. Besides, I don't think Substack is <em>bad</em> per se—just annoying. Less good than they could be, I guess.</p>
<p>In the best case, this will not only help get some visibility for Yakread, it will package up my ideas about the <a href="https://tfos.co/unbundling-social-media/">unbundled web</a> in a format that's likelier to reach a broad audience. The ultimate goal here is to help the tech/(social) media landscape become more competitive: lots of small-and-medium-sized businesses, with constant death, birth, and evolution; instead of a few VC-funded monoliths that only get replaced twice a decade. I intend Yakread to simply become one those medium-sized businesses.</p>
<p>So stay tuned. I'll start up a separate publication for this. It'll be on Substack, both because it will be funnier that way, and because the whole point is I'm trying to target readers (and to a less immediate extent, writers) who are in the Substack ecosystem. <em>This</em> newsletter—Tools for Online Speech—will remain relatively beef-free.</p>
<p>We'll see how it goes. Maybe I'll lose interest after a few weeks and it'll fizzle out.</p>Jacob O'Bryant