<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Jacob Desforges</title><link>https://jacobdesforges.com/</link><atom:link href="https://jacobdesforges.com/" rel="self" type="application/rss+xml"/><description>Jacob Desforges</description><language>en-us</language><lastBuildDate>Mon, 19 Oct 2026 14:37:02 EDT</lastBuildDate><item><title>Is the iPhone Duo Even Meant to Be Used as a Phone?</title><link>https://jacobdesforges.com/iphone-duo/</link><pubDate>Fri, 11 Sep 2026 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/iphone-duo/</guid><description>&lt;p&gt;We&amp;rsquo;ve reached some sort of tipping point. You can watch Apple&amp;rsquo;s entire 25-minute iPhone Duo keynote presentation, as I did, and walk away not knowing how to use a product with &amp;ldquo;phone&amp;rdquo; in the name as a phone.&lt;/p&gt;
&lt;p&gt;I assume you take phone calls with it folded, holding the outer screen to your ear like a traditional smartphone. Putting the camera side to your ear makes no sense. But can you take a phone call with it fully unfolded, holding a tablet up to your ear? Keep it open but partially folded like an old clamshell phone? Or if someone calls you when you have it open, do you need to snap it shut then accept the call?&lt;/p&gt;</description><content:encoded>&lt;p&gt;We&amp;rsquo;ve reached some sort of tipping point. You can watch Apple&amp;rsquo;s entire 25-minute iPhone Duo keynote presentation, as I did, and walk away not knowing how to use a product with &amp;ldquo;phone&amp;rdquo; in the name as a phone.&lt;/p&gt;
&lt;p&gt;I assume you take phone calls with it folded, holding the outer screen to your ear like a traditional smartphone. Putting the camera side to your ear makes no sense. But can you take a phone call with it fully unfolded, holding a tablet up to your ear? Keep it open but partially folded like an old clamshell phone? Or if someone calls you when you have it open, do you need to snap it shut then accept the call?&lt;/p&gt;
&lt;p&gt;I like keeping up with new tech, not that folding phones are &amp;ldquo;new&amp;rdquo; but rather that if Apple finally decided to offer one, it probably means the product has reached a point where the design and manufacturing are reliable enough that they&amp;rsquo;re not worried about replacing a bunch of units with failed displays after a year or two.&lt;/p&gt;
&lt;p&gt;Apple finally bringing a folding phone to market also represents &lt;em&gt;their&lt;/em&gt; biggest evolution in phone design since the original iPhone&amp;rsquo;s release in 2007. And with that, perhaps also an evolution in the marketing. iPhone keynote releases long ago stopped featuring video of people making voice calls, or even background footage or images of someone holding the phone to their ear. We&amp;rsquo;ve all known for a very long time how it looks to make a phone call on a traditional slab-style smartphone, so not including that footage is forgivable.&lt;/p&gt;
&lt;p&gt;How does it look to make a voice call on iPhone Duo, though? The audience does not already know this information at the time of the keynote release. Was it omitted because phone calls are such a boring, standard part of smartphones that they&amp;rsquo;re not even worth a 5-second clip of someone answering their phone? Was it omitted to standardize the marketing with the traditional iPhone 18 Pro segment? Or is it just meeting the average consumer where they are, what they&amp;rsquo;re using their devices for?&lt;/p&gt;
&lt;p&gt;We get to see a couple quick clips of someone sending a text message, or making a FaceTime call. We get several minutes of footage of people using the iPhone Duo camera with some heavily cherry-picked shots and misleading mention of &amp;ldquo;optical quality telephoto&amp;rdquo; which is just rebranded digital zoom, to paper over the fact that this $2,000 device has no telephoto lens and will take significantly worse pictures than an iPhone Pro from several years ago.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a lot more time spent showing footage in the iPhone Duo keynote of people watching videos or playing mobile games on the unfolded tablet-size screen. &amp;ldquo;Multitasking&amp;rdquo; to Apple is apparently the ability to have a YouTube video open and playing on the top half of the screen while viewing the live chat or having some other app open on the bottom.&lt;/p&gt;
&lt;p&gt;Overall, I&amp;rsquo;m left feeling that the marketing for smartphones has reached a tipping point. The way most people use their phones, they are barely &amp;ldquo;communication devices&amp;rdquo; any longer. Phones are content consumption portals for most people, and the marketing has to reflect that. They barely have to reference how you can use the device to be more productive, and the remaining examples are super silly such as seeing your email inbox list and reading a message simultaneously (like one can do on any desktop email client ever).&lt;/p&gt;
&lt;p&gt;The tech-as-productivity-nirvana marketing is lost. Remember when we used to get to hear about how [New Device] would tangibly improve or simplify our lives? And that would provide part of the justification for purchasing it, even if such productivity gains were ultimately never realized after the purchase. In Apple&amp;rsquo;s keynote we don&amp;rsquo;t see anyone pull an iPhone Duo out of their pocket to slap on an external keyboard and use their &amp;ldquo;80% larger than iPhone Pro&amp;rdquo; display to more effectively write something. We don&amp;rsquo;t see an artist use the Duo&amp;rsquo;s Apple Pencil support to make a quick sketch on the go. We don&amp;rsquo;t see anyone use the iPhone Duo as a useful companion tool to do much of anything aside from &amp;ldquo;consume content&amp;rdquo;. But get this, it folds over to display the time on your nightstand!&lt;/p&gt;
&lt;h3 id="the-coolest-potential-features-of-folding-phones"&gt;The coolest potential features of folding phones&lt;/h3&gt;
&lt;p&gt;I don&amp;rsquo;t like perpetual negativity/contrarianism and I&amp;rsquo;m not bandwagoning iPhone Duo hate. I&amp;rsquo;m not even sure what the public consensus on this device is because I haven&amp;rsquo;t read any comment threads about it.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a couple of really cool things about folding phones in general, and they&amp;rsquo;re also noted in the iPhone Duo presentation, but unfortunately they&amp;rsquo;re briefly tossed on the screen as afterthoughts, overshadowed by surrounding clips of yet-more people watching videos and playing mobile games.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/iphone_duo_laptop.png" alt="" width="400"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The first potentially cool feature is being able to use your phone as a mini laptop, cyberdeck-esque. This is certainly not an Apple development, since the Samsung Galaxy Z Fold 2 that came out in 2020 had this functionality. This feature also seems less practical on the iPhone Duo than Android folders, since the iPhone folds along the long edge giving you under 4.5&amp;quot; of width on which to fit an entire keyboard. Obviously this isn&amp;rsquo;t as useful as a real keyboard for typing, but you could probably type much faster on this using four to six fingers than using two on a traditional phone.&lt;/p&gt;
&lt;p&gt;Power users will run straight into the wall of this being a mobile OS and not a full desktop OS, which is probably why they didn&amp;rsquo;t show more footage of the Duo-as-cyberdeck. You&amp;rsquo;re barely allowed to manage your own files in your iPhone&amp;rsquo;s local storage (unrooted Android is only a tad better in this regard) and most mobile app variants are so nerfed I always just question why I didn&amp;rsquo;t drag along my laptop. I&amp;rsquo;ve tried to use both main flavors of mobile OS paired with an external keyboard as a portable productivity setup and they&amp;rsquo;re generally exercises in frustration compared to doing the same tasks on a laptop.&lt;/p&gt;
&lt;p&gt;Making the iPhone Duo shorter and wider than a standard phone when folded also leads to this hilarious contradiction of one-handed usability when folded, given that for most people the length of their thumb is already a limiting factor for screen reach on modern huge smartphones:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/iphone_duo_onehanded.png" alt="" width="400"&gt;
&lt;figcaption class="image-caption"&gt;Image taken from Apple September 9th Keynote, red line added by me.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The second actually cool, interesting thing that iPhone Duo and some other folding phones have is digitizers with stylus support. Being able to open it up to the Duo&amp;rsquo;s 7.6&amp;quot; display (8&amp;quot; for Samsung Galaxy Z Fold 8 Ultra) and use it as a pocket notebook or pocket sketchbook is actually an enticing feature. This is roughly the same size as those common pocket composition notebooks fully opened, and for people that prefer writing to typing for note taking I could see it being an attractive draw.&lt;/p&gt;
&lt;p&gt;Tempering how handy it would be to take handwritten notes on a pocketable tablet with an actual stylus is the price. $2k for the iPhone Duo (plus $79 for the Apple Pencil) or $2,100 for the Z Fold 8 Ultra buys any other iPhone on the market plus a &lt;em&gt;lot&lt;/em&gt; of notebooks and some really nice pens. If you really need a portable digital notetaker, you could get Remarkable Paper Pro Move ($449) and pair it with an iPhone Pro for less than the price of the Duo; of course you then have to carry two devices&amp;hellip; but is this really that big of a deal? Maybe not trying to do everything on a single device is better for us.&lt;/p&gt;
&lt;h3 id="digital-minimalism-via-physical-maximalism"&gt;Digital minimalism via physical maximalism&lt;/h3&gt;
&lt;p&gt;More people than ever use their phone as their primary or only computing device. That doesn&amp;rsquo;t mean that phones are particularly &lt;em&gt;good&lt;/em&gt; at being primary devices, just that they&amp;rsquo;ve cleared the low bar of most peoples&amp;rsquo; technical requirements for a computer, they do a lot of tasks at least to an &lt;em&gt;okay&lt;/em&gt; degree, and they&amp;rsquo;re conveniently pocketable. But they&amp;rsquo;re also insidious time sinks and the easiest gateway to getting trapped in the attention economy.&lt;/p&gt;
&lt;p&gt;This leads to an interesting world where &amp;ldquo;digital minimalism&amp;rdquo; now often means owning more, single-purpose physical devices or items that do their one thing better than an all-purpose smartphone, and also allow one to engage in said things in a more focused fashion.&lt;/p&gt;
&lt;p&gt;I take my Boox Palma 2 pocket e-reader essentially everywhere I think I might want to read, so I&amp;rsquo;m usually carrying the equivalent of two phones if I have my iPhone on me as well. If I&amp;rsquo;m taking my backpack, I have at least an A4 notebook in there and some pens. I made an E-Ink calendar for my fridge that updates with all of my family&amp;rsquo;s events for the week and displays the daily weather, so I don&amp;rsquo;t have to check my phone as part of my morning routine. Most of my recent device purchases or electronics projects have been a way to decentralize functions away from my smartphone and reduce reliance on third parties by self-hosting.&lt;/p&gt;
&lt;p&gt;New Apple CEO John Ternus referred to Apple&amp;rsquo;s devices as an &amp;ldquo;intelligent personal hub&amp;rdquo; during the keynote. Interestingly I&amp;rsquo;ve found that as I&amp;rsquo;ve grown to use my phone less as a &amp;ldquo;hub&amp;rdquo; for everything, I&amp;rsquo;ve become far happier with my digital habits.&lt;/p&gt;</content:encoded></item><item><title>Making My Own NFC "Focus Brick" to Dumb Down my iPhone</title><link>https://jacobdesforges.com/nfc-focus-brick/</link><pubDate>Thu, 11 Jun 2026 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/nfc-focus-brick/</guid><description>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/focus_bricks-1024x566.jpg" alt="" width="500"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="project-overview-why-i-made-this"&gt;Project overview: why I made this&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I have an interest in different methods of creating a &amp;ldquo;dumb smartphone,&amp;rdquo; that is a modern smartphone with only useful tools and apps, but no web browser or time-wasting apps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Built-in screentime tools on both Android and iOS are incredibly low friction and easily bypassed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adding a physical location/action to removing the restrictions introduces an interesting variable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Including taxes and shipping, the &amp;ldquo;Brick&amp;rdquo; product that does this costs $70 for less than a dollar&amp;rsquo;s worth of plastic and magnets, and their app is closed-source. Making my own &amp;ldquo;Focus Brick&amp;rdquo; saves money and lets me use open-source apps like Foqos or Switchly.&lt;/p&gt;</description><content:encoded>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/focus_bricks-1024x566.jpg" alt="" width="500"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="project-overview-why-i-made-this"&gt;Project overview: why I made this&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I have an interest in different methods of creating a &amp;ldquo;dumb smartphone,&amp;rdquo; that is a modern smartphone with only useful tools and apps, but no web browser or time-wasting apps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Built-in screentime tools on both Android and iOS are incredibly low friction and easily bypassed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adding a physical location/action to removing the restrictions introduces an interesting variable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Including taxes and shipping, the &amp;ldquo;Brick&amp;rdquo; product that does this costs $70 for less than a dollar&amp;rsquo;s worth of plastic and magnets, and their app is closed-source. Making my own &amp;ldquo;Focus Brick&amp;rdquo; saves money and lets me use open-source apps like Foqos or Switchly.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plus, research shows we&amp;rsquo;re all better off without the internet in our pocket: a study led by Noah Castelo published in &lt;em&gt;PNAS Nexus&lt;/em&gt; last year finds: &amp;ldquo;correlational research suggests that smartphone use is negatively related to mental health and cognitive functioning. However, few large-scale experiments have tested for causal effects. We report such an experiment, finding that blocking mobile internet for 2 weeks reduces smartphone use and improves subjective well-being (SWB) (including life satisfaction and positive affect), mental health (more than antidepressants), and sustained attention (as much as being 10 years younger). Despite the many benefits mobile internet offers, reducing the constant connection to the digital world can have large positive effects.&amp;rdquo;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;The observed effect of blocking participants from mobile internet on their depression symptoms being larger than the meta-analytic effect of antidepressants is simply astounding; I don&amp;rsquo;t think the ramifications for modern society can be understated if this finding can be replicated.&lt;/p&gt;
&lt;h3 id="3d-printing-my-own-nfc-dumbphone-toggle"&gt;3D printing my own NFC dumbphone toggle&lt;/h3&gt;
&lt;p&gt;My requirements for the make were that it was magnetic (so I can stick it to the fridge at home, and my locker at work), had an internal NFC tag, and was at least a bit visually interesting or hinted at the purpose. Surprisingly there were very few magnetic NFC tag models on Printables that were not Wi-Fi tags.&lt;/p&gt;
&lt;p&gt;Printables user @mediumchongus made a plain magnetic NFC tag styled after the Brick product. I remixed the model to deboss the text &amp;ldquo;FOCUS&amp;rdquo; on it, planning to swap the filament colors right before the text was outlined to add a bit of flair. The only real challenge was getting the slicer to detail the outer bounds of the text nicely; the default settings left gaps between the letters. I had to make several prototypes of the text layer before I was happy with it. All of the slicer tweaks I arrived at to get it looking decent are detailed on the model page.&lt;/p&gt;
&lt;p&gt;If you want to download the model, you can &lt;a href="https://www.printables.com/model/1690416-focus-brick-magnetic-nfc-phone-screentime-tag"&gt;get it here on Printables&lt;/a&gt; along with links to the magnets and NFC tags I used. The total materials cost was about $17 given that the NFC tags and magnets need to be bought in larger quantities than one may ever use, but the per unit cost including filament is around 50 cents.&lt;/p&gt;
&lt;h3 id="alternatives-if-you-dont-have-a-3d-printer"&gt;Alternatives if you don&amp;rsquo;t have a 3D printer&lt;/h3&gt;
&lt;p&gt;&lt;sup&gt;The links in this section are Amazon affiliate links, if you were going to buy the product anyway, you can help support my projects and my site hosting costs at no extra cost to yourself by buying through these.&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/nfc_keychains.jpg" alt="" width="250"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.amazon.com/Keychain-NTAG215-Business-Maker%EF%BC%8C504-Compatible/dp/B0GLY44T1N?th=1&amp;amp;linkCode=ll2&amp;amp;tag=jddc-20&amp;amp;linkId=65c6e4b3019f3f76fb298ed3e9e1f7a1&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_tl"&gt;These NFC keychains&lt;/a&gt; are an interesting option for a pre-assembled programmable NTAG215 NFC chip embedded in a plastic shell. You could remove the keychain and stick an &lt;a href="https://www.amazon.com/DIYMAG-Powerful-Neodymium-Permanent-Scientific/dp/B0CDPJDHP4?th=1&amp;amp;linkCode=ll2&amp;amp;tag=jddc-20&amp;amp;linkId=29fe9853388cd20281535154a64f9da2&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_tl"&gt;adhesive neodymium magnet&lt;/a&gt; to it and replicate the functionality of my NFC focus brick.&lt;/p&gt;
&lt;p&gt;It doesn&amp;rsquo;t look like anywhere is selling a pre-assembled magnetic NFC tag (maybe a potential product market?) but you could easily just buy the same &lt;a href="https://www.amazon.com/dp/B0F24L4GDM?&amp;amp;linkCode=ll2&amp;amp;tag=jddc-20&amp;amp;linkId=b2fcf03f21decc6816f4ebbf14eabf35&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_tl"&gt;pack of 50 NFC stickers I used&lt;/a&gt; and stick them to the back of any existing magnet, a fancy piece of cardstock with a printed design on it, or anything not so thick it would block the signal.&lt;/p&gt;
&lt;p&gt;For a nearly zero cost option, you can also print out a QR code on paper and use that to trigger the toggle!&lt;/p&gt;
&lt;h3 id="setting-up-the-foqos-blocklist"&gt;Setting up the Foqos blocklist&lt;/h3&gt;
&lt;p&gt;Foqos is pretty easy to work with. For Blocking Strategy, I selected NFC tag, and I named my profile &amp;ldquo;Dumbphone&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;My selected apps to restrict list is pretty short, because I don&amp;rsquo;t have a ton of stuff on my phone. I restricted:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Safari and Brave Browser, to lock out the web browsers on my phone&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;App Store, so I cannot install new apps to bypass the restrictions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Shortcuts, so I can&amp;rsquo;t cheese the automation and trigger it with a tap&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that if you&amp;rsquo;re adding Shortcuts to your blocklist before setting up the automation and don&amp;rsquo;t get the automation 100% correct, you could lock yourself out of being able to edit it in Shortcuts, in this case you can just scan the toggle within the Foqos app to disable the restrictions and regain access to Shortcuts to fix it.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t bother setting up any website blocks, since I blocked the browser entirely. Under Physical Unlocks, I scanned my NFC tag (you can add multiple tags here if you plan to use more than one). I also toggled on &amp;ldquo;Prevent App Deletion&amp;rdquo; which prevents the user from deleting Foqos to bypass the restrictions.&lt;/p&gt;
&lt;p&gt;The Live Activity setting seems fairly inconsistent. Sometimes it appears on my lockscreen and in my island bar (whatever the black cutout around the front-facing camera is called), and other times it doesn&amp;rsquo;t appear even when Foqos is active.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s not much else to see in Foqos, aside from your stats:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/foqos_monthly_view-e1781111742510.jpg" alt="" width="300"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The monthly heatmap view is almost hilariously non-granular. You get the deepest color for more than 5 hours of your Foqos profile being active, so it&amp;rsquo;s possible someone could have 12 hours of phone screen time, toggle Foqos before going to bed, and their chart would look just like mine. The weekly view with total hours as a bar chart is a better presentation, but I wish it scrolled back in time more fluidly. The average focus session stat is kind of interesting to get a sense of how often you&amp;rsquo;re toggling the focus mode on or off. But there&amp;rsquo;s probably not much need to open Foqos again once you get it set up how you&amp;rsquo;d like.&lt;/p&gt;
&lt;p&gt;Throw the developer a donation if you like it, because it&amp;rsquo;s a cool FOSS app!&lt;/p&gt;
&lt;h3 id="setting-up-the-ios-shortcuts-automation"&gt;Setting up the iOS Shortcuts automation&lt;/h3&gt;
&lt;p&gt;I set up an automation so I can just scan the NFC tag without opening Foqos and clicking to start/stop the profile. If you just want to download a working shortcut, &lt;a href="https://www.icloud.com/shortcuts/b276ebdcb7bf423e8c48f138662d1235%5D%5C%28https://www.icloud.com/shortcuts/b276ebdcb7bf423e8c48f138662d1235"&gt;here&amp;rsquo;s an iCloud link to the automation flow I made&lt;/a&gt;. If your Foqos profile is named exactly &amp;ldquo;Dumbphone&amp;rdquo; this should work with no tweaks, otherwise change the profile variable. If you want to make it yourself, here&amp;rsquo;s the logic flow, starting with adding the &amp;ldquo;Check if Foqos Session is Active&amp;rdquo; function then adding the If function:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/foqos_shortcut1.jpg" alt="" width="300"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/foqos_shortcut2.jpg" alt="" width="300"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Note that the order here matters if you are restricting access to Shortcuts itself from Foqos. If the profile is active before the &amp;ldquo;Show notification&amp;rdquo; block, the notification will be suppressed by iOS and it might not be obvious you successfully scanned the tag.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s it. Head over to the Automation tab in Shortcuts, add a new automation to run when you scan an NFC tag, click &amp;ldquo;Run Immediately&amp;rdquo; then scan the specific tag you want to trigger it. You can make multiple automations from the same shortcut, for example I have two to trigger the same shortcut, I named them Foqos Toggle Home and Foqos Toggle Work to identify my different NFC tags.&lt;/p&gt;
&lt;h3 id="a-tighter-lockdown"&gt;A tighter lockdown&lt;/h3&gt;
&lt;p&gt;The benefit of restricting access to Shortcuts is that you can&amp;rsquo;t just open the app and manually trigger the automation. It forces you to use the physical NFC tag to toggle the focus mode on your phone.&lt;/p&gt;
&lt;p&gt;A small side benefit of setting it up like that is that you can actually &lt;em&gt;start&lt;/em&gt; the app restrictions from Shortcuts, so if you&amp;rsquo;re not near your NFC tag you can make the decision to lock down your phone, and you&amp;rsquo;re committed to that until you scan the NFC tag to unblock it.&lt;/p&gt;
&lt;p&gt;One final thing I did was lock out access to the Settings app in iOS. Many iOS system apps can&amp;rsquo;t be restricted natively in Foqos, however the Foqos dev, Ali Waseem, has &lt;a href="https://www.foqos.app/blocking-native-apps.html"&gt;another Shortcuts automation you can download here plus a setup guide for blocking apps like Settings&lt;/a&gt;. If you&amp;rsquo;re the type that will poke around with blockers until you figure out how to defeat them, locking yourself out of the Settings app might be a good idea.&lt;/p&gt;
&lt;p&gt;With Shortcuts and Settings blocked, and restricting app deletions through Foqos, I couldn&amp;rsquo;t find any way to bypass the Foqos restrictions. I&amp;rsquo;m locked in to using the NFC tag to toggle my iPhone out of my dumbphone profile.&lt;/p&gt;
&lt;h3 id="a-dumb-smartphone-is-the-best-of-both-worlds"&gt;A dumb smartphone is the best of both worlds&lt;/h3&gt;
&lt;p&gt;I really liked the &lt;em&gt;idea&lt;/em&gt; of something like the Light Phone — I&amp;rsquo;m a sucker for E-Ink displays — and it&amp;rsquo;s marketed as a phone that &amp;ldquo;will never have social media, clickbait news, email, an internet browser, or any other anxiety-inducing infinite feed.&amp;rdquo; In addition to calling and texting there&amp;rsquo;s some basic features like an alarm, calculator, calendar, GPS navigation, and a podcast/music player. But the Light Phone&amp;rsquo;s podcast app looked clunky compared to my beloved FOSS &lt;a href="https://antennapod.org/"&gt;AntennaPod&lt;/a&gt; on Android or the Apple Podcasts app, and it doesn&amp;rsquo;t support Spotify (or any other music streaming service). Additionally, the phone battery is only billed as lasting between 45–90 minutes when on phone calls which could be inconvenient, and seems like a strange feature to nerf. Light designed their phone &amp;ldquo;to be used as little as possible,&amp;rdquo; so perhaps this was intentional, but I&amp;rsquo;d rather have a phone that functions well in the areas it&amp;rsquo;s supposed to be a tool.&lt;/p&gt;
&lt;p&gt;I had the same complaints with missing music streaming on other dumbphones, and the few options that came with Spotify integration like the Qin F21 Pro were ruled out due to being Xiaomi devices that aggressively phone home encrypted packets to Chinese servers.&lt;/p&gt;
&lt;p&gt;Apps that I&amp;rsquo;ve &lt;em&gt;intentionally&lt;/em&gt; chosen to install as a tool are just too convenient. Having Obsidian on my phone to be able to write or jot down notes, having access to my task lists, workout apps, and maps, those are all things that actively make my life easier and more productive.&lt;/p&gt;
&lt;p&gt;I really like the physical location gating behind the NFC dumbphone toggle. There&amp;rsquo;s no opening the web browser on a whim to &amp;ldquo;look up just one thing&amp;rdquo;. I have to get up and walk to the fridge where my magnetic NFC focus brick lives, so I end up toggling my phone out of dumbphone mode far less often than I figured. I set up Foqos in April, and during May I ended up toggling the dumbphone restriction off less than once per day on average.&lt;/p&gt;
&lt;h3 id="previous-efforts-towards-a-browser-lite-or-browser-free-dumb-smartphone"&gt;Previous efforts towards a browser-lite or browser-free &amp;ldquo;dumb smartphone&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;I shared a bit regarding my approach towards smartphones and mastering screen time in Chapter 19 of &lt;em&gt;You Should Quit Reddit&lt;/em&gt;, which was influenced by the realization several years ago that my smartphone was leading the pack among my devices in terms of the total percentage of time spent on it that was wasteful. I therefore haven&amp;rsquo;t had social media apps on my phone in quite some time, and I reported on how I set a fifteen-minute daily timer on my phone&amp;rsquo;s web browser to discourage scrolling the web for entertainment.&lt;/p&gt;
&lt;p&gt;Some days I used my whole fifteen-minute allotment, though most days I did not, and probably a couple times per month I disabled the limit in order to finish a task then got distracted doing something else for an additional half hour or so before reinstating the screen time rules. Digital Wellbeing is Android&amp;rsquo;s built-in app for screen time monitoring, and Screen Time is iOS&amp;rsquo;s version, but neither are going to strongarm you into spending less time on your phone. On Android, the pop-up alerting you that you&amp;rsquo;ve run out your daily timer for an app includes a link to head directly to the Digital Wellbeing settings page where one can decrease or remove the limit! It&amp;rsquo;s incredibly low friction.&lt;/p&gt;
&lt;p&gt;Over a year ago, when I still had an Android phone, I completely disabled the built-in Chrome browser. I told a few people what I had done; each and every one was perplexed. I was quizzed about why I would do such a thing, demonstrating how having access to the World Wide Web in your pocket at all times has become a tacitly accepted part of life — which is interesting given that a sizable majority of humans alive today should still remember a time when this was not the case.&lt;/p&gt;
&lt;p&gt;I followed the same path when I switched to an iPhone last fall, disabling Safari through the system settings. But on both phone platforms it&amp;rsquo;s super easy to reverse. A few clicks, less than 15 seconds, and you have a browser again. This makes it easy to quickly toggle the browser back on to do things like scan the QR code to see the menu at a restaurant; on the other hand this ease of reversing it makes the decision to disable it in the first place mostly inconsequential. Having a &amp;ldquo;dumbphone&amp;rdquo; should cause some discomfort and inconvenience, should require planning and doing things a different way than we&amp;rsquo;ve become accustomed to. If that friction doesn&amp;rsquo;t exist, then whatever method is being used probably isn&amp;rsquo;t nearly as effective as it should be.&lt;/p&gt;
&lt;h3 id="what-if-you-justneeda-web-browser-on-the-go"&gt;What if you just &lt;em&gt;need&lt;/em&gt; a web browser on the go?&lt;/h3&gt;
&lt;p&gt;This is probably the most common challenge I receive to my browser-free smartphone. What if there&amp;rsquo;s just something so important, so critical, that I need a web browser to do it and I simply can&amp;rsquo;t because I&amp;rsquo;m away from home or work where my NFC toggles live and I&amp;rsquo;m locked into an iPhone in dumbphone mode?&lt;/p&gt;
&lt;p&gt;Honestly, it hasn&amp;rsquo;t happened much. There was one time we were on vacation, before I was using the NFC tag, and I had to re-enable the browser on my Android phone to fill out an online form for some activity we had scheduled. This is the only thing I can think of in the past two years where if I was completely locked out of using a web browser like I am now, I probably would have had to borrow my wife&amp;rsquo;s phone to do something I needed to do but physically couldn&amp;rsquo;t. So next time maybe I&amp;rsquo;ll plan ahead and just bring the NFC toggle in my suitcase, or maybe I won&amp;rsquo;t, and just try to adapt to whatever challenges a digital minimalist with a dumbphone will face in the modern world.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re like me and can never remember whether there&amp;rsquo;s three or four teaspoons in a tablespoon (it&amp;rsquo;s three, but I just had to look it up), you can use a voice assistant like Siri. You can install a search engine app like Google on your phone (I specifically use Google as an example because the app has no internal browser, you can search for simple stuff like facts and phone numbers but any links you click will redirect to your phone browser, e.g. they&amp;rsquo;ll be blocked via Foqos). If you&amp;rsquo;re not entirely anti-AI, you can install Gemini on your phone and ask it to fetch the phone number for your town&amp;rsquo;s water department.&lt;/p&gt;
&lt;p&gt;What if you go to a restaurant and they only have QR code menus, and you&amp;rsquo;re alone and can&amp;rsquo;t shoulder surf someone else&amp;rsquo;s phone to view the menu? Well we&amp;rsquo;re then in an interesting position. You can ask the server to recommend a handful of the best items and pick from that, or you can go somewhere else.&lt;/p&gt;
&lt;p&gt;In my experience over the past couple of months I&amp;rsquo;ve been using this NFC focus brick, the benefits of a &amp;ldquo;dumb smartphone&amp;rdquo; on reducing technological distractions far outweigh the costs, which mostly appear to be hypothetical.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Castelo, N., Kushlev, K., Ward, A. F., Esterman, M., &amp;amp; Reiner, P. B. (2025). Blocking mobile internet on smartphones improves sustained attention, mental health, and subjective well-being. PNAS Nexus, 4(2), pgaf017. &lt;a href="https://doi.org/10.1093/pnasnexus/pgaf017"&gt;https://doi.org/10.1093/pnasnexus/pgaf017&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>If You Won't Read At Walden Pond, Will You Read Anywhere?</title><link>https://jacobdesforges.com/walden-pond-reading/</link><pubDate>Sat, 30 May 2026 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/walden-pond-reading/</guid><description>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/walden-1024x768.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;A young woman sets up a blanket to relax on the beach at Walden Pond and pulls out a book. She opens it to the beginning, and takes a picture of the spread pages with her iPhone. She puts the book away and gets absorbed in her phone. For at least the next twenty minutes I was in viewing distance, the book doesn’t re-emerge; perhaps she pulled it out later in the morning, or perhaps it’s sitting in the same beach bag, still unread a week after.&lt;/p&gt;</description><content:encoded>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/walden-1024x768.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;A young woman sets up a blanket to relax on the beach at Walden Pond and pulls out a book. She opens it to the beginning, and takes a picture of the spread pages with her iPhone. She puts the book away and gets absorbed in her phone. For at least the next twenty minutes I was in viewing distance, the book doesn’t re-emerge; perhaps she pulled it out later in the morning, or perhaps it’s sitting in the same beach bag, still unread a week after.&lt;/p&gt;
&lt;p&gt;I would have thought this was a skit or exaggerated retelling if I didn’t observe it myself, or if it was the first time. But it’s a scene I’ve seen before, commonly when on a vacation that involves lounging by a beach or a pool. Where the population commonly consists of a handful of people actively reading, a few more people who &lt;em&gt;intended&lt;/em&gt; to read, and a whole lot more people on their smartphones desperately fighting over the hotel’s limited internet bandwidth to scroll to the next thing in their feeds.&lt;/p&gt;
&lt;p&gt;And what of the photo? Was it a personal keepsake? Sent to a friend or two? Shared widely on social media? I can only speculate. The woman at Walden clearly planned the perfect late morning and early afternoon: a relaxing morning reading a book in the birthplace of American transcendentalism, a promised reprieve of solitude away from the intrusions and demands of modern life, just as Henry David Thoreau sought 181 years ago. Only to have her attention hijacked by the most intrusive and demanding piece of modern technology we’ve invented.&lt;/p&gt;
&lt;p&gt;The social currency of being seen as “someone who reads” is easy enough to acquire. A photo of an open book shared on social media; a couple of books on the coffee table that proclaim one’s interesting and worldly tastes; an Amazon Kindle with a dozen or so books on it that is languishing in a junk drawer somewhere, and used its last gasps of charge to print a critical battery alert on the E-Ink display.&lt;/p&gt;
&lt;p&gt;The act of being a reader requires more investment. Intent. Focus. Time. Perhaps less of them than many people might think; if you have five minutes you can certainly read an article or a few pages of a book, but too many of us squander those small blocks of time on frivolous and unrewarding traps. Just figure how much five minutes at the top of every waking hour spent “killing time” sums up to in the course of a day (and we all know the average person is checking their smartphone far, far more often than that).&lt;/p&gt;
&lt;p&gt;Every passing year I hear more and more people say something like “I need to read more.” There’s really only one solution to that and it starts one page at a time.&lt;/p&gt;
&lt;p&gt;I’ve found a pocketable e-reader invaluable for redirecting these small extra blocks of time towards reading a few more pages here and there. This is a growing product market segment led by Chinese manufacturers like Boox, Bigme, and XTEInk. I can’t fit a book or my Kobo e-reader in my pocket, but I can fit another phone-sized device. I find E-Ink screens far more pleasant to read on than LED screens, and the black-and-white, slow refresh rate is not conducive for using the device for anything except reading or maybe typing with an external keyboard.&lt;/p&gt;
&lt;p&gt;Of course, reading on a phone, if that’s the only device one has on hand, is certainly better than not reading at all if one has aspirations to read more books. But it probably takes a lot more focus and self-discipline to read on a phone, or setting up a shortcut to enable “Do Not Disturb” every time the reading app is opened. And it’s always incredibly obvious from a distance who is using their phone to read versus scrolling or watching something.&lt;/p&gt;
&lt;p&gt;Paul Samuelson, the first American to win the Nobel Prize in economics, pioneered the concept of “revealed preferences” to better measure how individuals’ preferences varied between available choices. Samuelson realized that rather than &lt;em&gt;asking&lt;/em&gt; consumers which good they’d prefer to purchase between two choices, better data could be obtained by simply observing what the consumers actually purchased. There was a gap between what consumers wanted their claimed purchases to say about them as a person, versus what they actually ended up buying. The modern behavioral economics interpretation of this theory would say something like, if a person &lt;em&gt;says&lt;/em&gt; they want to read a book but their actions show they just used their phone, their revealed preference would be that they actually wanted to spend their time scrolling. This is probably too simplistic when comparing a normal activity to a behavior increasingly driven by addiction, but it’s an interesting piece of the picture.&lt;/p&gt;
&lt;p&gt;Data backs up this mismatch between people who claim they want to read and those who do. A joint NPR/Ipsos poll from early 2025 found that “82% of respondents think reading is a useful way to learn about the world, 76% say reading is relaxing and a whopping 98% of respondents with children in their household want their children to ‘develop a love of reading.’” However, only “51% of people read a book in the past month… In comparison, about 80% of people watched streaming services, used social media or watched a short-form video.”&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;A Literary Hub article by Brittany Allen cites another reading poll from 2025, this one run by YouGov, and summarizes self-reported reading metrics for last year: “Four in ten Americans didn’t read a single book during our last spin around the sun… The median American read two books in 2025. The &lt;em&gt;average&lt;/em&gt; reader clocked in with eight. To put it starkly? 19% of American adults did 82% of the country’s reading.”&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;These numbers are almost certainly overestimates; responses to self-reported polls on behaviors have been observed to follow a social-desirability or aspirational bias. Even in anonymous polls, respondents will almost always inflate the estimated time spent performing a “desirable” activity like reading, and underestimate the time they reported spending on less valuable activities like watching television or scrolling the web.&lt;/p&gt;
&lt;p&gt;Smartphones are just one example of the intrusions and demands of modern life, which have only grown more grating and insistent since Thoreau’s time, creeping into Walden Pond. People with nearby books they’re not reading is just one of many modern ironies at Walden.&lt;/p&gt;
&lt;p&gt;There’s the constant drone of the immediately adjacent highway, Route 2, occasionally punctuated with the shrill whine of a motorcycle. Immediately approaching the pond from the main parking lot, there’s a large fenced-off area being clear-cut of trees — certainly not very Thoreauvian — to make room for an expanded bath house. Like most other water sources in Middlesex County, my town’s water included, Walden is contaminated with PFAS “forever chemicals” from paper and textile mill waste dumped into streams decades ago. There are frequent signs reminding fishermen not to eat their catch, because the fish themselves now contain over the recommended concentration of PFAS.&lt;/p&gt;
&lt;p&gt;Approaching the original site of the cabin, there’s a sign with Thoreau’s famous “I went to the woods because I wished to live deliberately” quote, incredibly likely to be the only sentence from &lt;em&gt;Walden&lt;/em&gt; that most adult visitors to the pond have ever read. More importantly perhaps, how many will read &lt;em&gt;Walden&lt;/em&gt; after visiting the pond, then return later with a fresh perspective? It’s a rite of passage for southern New England schoolchildren, as I once was, to be forced to read some excerpts and chapters from &lt;em&gt;Walden&lt;/em&gt;, take a field trip to the pond, and question why they had to read a few chapters from the boring old book anyway. Hopefully it doesn’t sour too many of them on giving it another fair shot at a read once they’re an adult.&lt;/p&gt;
&lt;p&gt;Yet there are still occasional hints of Walden’s former state. The MBTA trains run by a few times an hour on the tracks directly next to the western side of the pond; they’re diesel-electric trains now instead of steam locomotives, but it’s the exact same Fitchburg Railroad line built a few years before Thoreau went to live at Walden. For him it was a symbol of rapid industrialization, the unending spread of commerce, and an auditory invasion into the natural sounds of his woods that he recorded in the Sounds chapter. In the modern day, it’s one of the few almost completely preserved experiences about Walden as Thoreau would have lived it.&lt;/p&gt;
&lt;p&gt;Despite all of these encroachments on the serenity of the place, despite that there are multiple other quieter, less busy ponds within an hour’s drive, let alone several still within Concord itself, Walden’s allure remains. If you head to the southwestern side of Walden Pond, roughly as far as one can get from all nearby roadways, you might just be able to experience it if you’re patient. The highway will quiet enough for the wind to carry the sound away, there will be no private jets or prop planes flying overhead, and for a minute or two here and there you can experience Walden Pond as Thoreau did. That is, if you’re not too busy looking at your phone.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Limbong, Andrew. “Most Americans Want to Read More Books. We Just Don’t.” &lt;em&gt;NPR&lt;/em&gt;, NPR, 7 Apr. 2025, &lt;a href="https://www.npr.org/2025/04/07/nx-s1-5333652/books-reading-poll"&gt;https://www.npr.org/2025/04/07/nx-s1-5333652/books-reading-poll&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Allen, Brittany. “In 2025, Most Americans Read Fewer than Four Books.” &lt;em&gt;Literary Hub&lt;/em&gt;, 5 Jan. 2026, &lt;a href="https://www.lithub.com/in-2025-most-americans-read-fewer-than-four-books/"&gt;https://www.lithub.com/in-2025-most-americans-read-fewer-than-four-books/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>Recipe Blogs Are A Test Bed for Aggressive Ad-Blocker Defeating Techniques</title><link>https://jacobdesforges.com/adshield-ad-reinsertion/</link><pubDate>Sun, 12 Apr 2026 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/adshield-ad-reinsertion/</guid><description>&lt;h3 id="or-why-ad-reinsertion-companies-like-ad-shield-should-be-considered-as-threat-actors"&gt;Or, why ad-reinsertion companies like Ad-Shield should be considered as threat actors&lt;/h3&gt;
&lt;p&gt;It’s an oft-expressed sentiment of people who use ad blockers that they have no idea how people who don’t use them even navigate the modern internet. And it’s not hyperbolic. I mean, look at this recipe blog “GimmeSomeOven”! And every recipe site using the same Raptive ad management engine (read: most of them) looks exactly like this to most web surfers:&lt;/p&gt;</description><content:encoded>&lt;h3 id="or-why-ad-reinsertion-companies-like-ad-shield-should-be-considered-as-threat-actors"&gt;Or, why ad-reinsertion companies like Ad-Shield should be considered as threat actors&lt;/h3&gt;
&lt;p&gt;It’s an oft-expressed sentiment of people who use ad blockers that they have no idea how people who don’t use them even navigate the modern internet. And it’s not hyperbolic. I mean, look at this recipe blog “GimmeSomeOven”! And every recipe site using the same Raptive ad management engine (read: most of them) looks exactly like this to most web surfers:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/GimmeSomeCancer-1024x562.png" alt="" &gt;
&lt;figcaption class="image-caption"&gt;&amp;lsquo;Ad ends in 2 seconds&amp;rsquo; is a trick and a lie, this page element just kept looping ads over and over; the actual video player is further down the page! At least the ads are entirely irrelevant to me, indicating my general strategy of robbing trackers of information is working.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;There’s no room for a moral argument against blocking ads robbing the site owner of compensation, when the vast majority of sites that show ads degrade the user experience beyond any reasonable usability.&lt;/p&gt;
&lt;p&gt;Here’s what happens when we load the page &lt;em&gt;without&lt;/em&gt; an ad blocker on the “GimmeSomeOven” recipe blog, and any other site running Raptive:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;User navigates to the recipe blog.&lt;/li&gt;
&lt;li&gt;Recipe website makes over 100 DNS requests, a few for content retrieval but most are advertisement related.&lt;/li&gt;
&lt;li&gt;Domains like &lt;code&gt;id.crwdcntrl.net&lt;/code&gt; and &lt;code&gt;id5-sync.com&lt;/code&gt; are called first to set cookies, track user behavior across websites, and sync data for targeted advertising.&lt;/li&gt;
&lt;li&gt;Now that they know who or what you are, real-time ad bidding takes place: domains including &lt;code&gt;prebid.sv.rkdms.com&lt;/code&gt;, &lt;code&gt;config.aps.amazon-adsystem.com&lt;/code&gt;, &lt;code&gt;prebid-server.rubiconproject.com&lt;/code&gt;, and &lt;code&gt;pbs-raptive-us.ay.delivery&lt;/code&gt; are contacted to auction ad space to multiple marketplace networks.&lt;/li&gt;
&lt;li&gt;I then see a dozen requests to &lt;code&gt;googleadservices.com&lt;/code&gt;, indicating that for my session, someone in the Google Ads pool won the bid, which of course they did: Google has the largest pool of advertisers and the most data on users. After winning the bid, Google prepares the web environment to track if and how the user interacts with the ad.&lt;/li&gt;
&lt;li&gt;Requests to &lt;code&gt;gstatic.com&lt;/code&gt; load the static ads, while &lt;code&gt;imasdk.googleapis.com&lt;/code&gt; loads the (ultra annoying) video ads. The video ads ping back to &lt;code&gt;adtrafficquality.google.com&lt;/code&gt; every 25% of progress played to verify the ad actually played.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All of that is pretty transparent; Google’s advertising domains are pretty easily identified and blocked, and with enough persistence most of the companies offering tracking services, ad bidding, and ad content delivery will be identified and blocked by those assembling ad blocker blacklists. I had to disable my blocker just to see the network requests above that happen when a user not blocking ads ventures to this recipe blog.&lt;/p&gt;
&lt;p&gt;What happens when we’re using a DNS-level ad blocker?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The blog pings &lt;code&gt;google-analytics.com&lt;/code&gt; and &lt;code&gt;ads.adthrive.com&lt;/code&gt; a couple times, seeing that they’re blocked it pivots to the ad recovery strategy.&lt;/li&gt;
&lt;li&gt;The site pings &lt;code&gt;html-load.com&lt;/code&gt; to check if the advertisement “backdoor” is open. If it is, we then see a flurry of activity to domains like &lt;code&gt;1.s.html-load.com&lt;/code&gt;, &lt;code&gt;3.s.html-load.com&lt;/code&gt;, &lt;code&gt;8.s.html-load.com&lt;/code&gt; conducting the pre-bid and then advertisement delivery. During delivery, the ads are wrapped in a layer of Javascript that only unpacks once it’s in the user’s session, bypassing static filters.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Super interesting. &lt;code&gt;html-load.com&lt;/code&gt; is clearly named to make the network admin think it’s pretty innocuous. I even saw a subdomain iteration named &lt;code&gt;fb.html-load.com&lt;/code&gt;, which from my research does not appear to be associated in any way with Meta’s ad network, but &lt;em&gt;may be&lt;/em&gt; intentionally named to deceive network admins into thinking this is traffic related to scripts loading generic Facebook HTML structure.&lt;/p&gt;
&lt;h3 id="the-russian-nesting-doll-of-deception"&gt;The Russian nesting doll of deception&lt;/h3&gt;
&lt;p&gt;What happens if I wildcard blacklist &lt;code&gt;html-load.com&lt;/code&gt; and reload these recipe blogs? The ads are still there! A check of my DNS logs reveals the domains have just shifted to another innocuous sounding collection of domains… &lt;code&gt;1.content-loader.com&lt;/code&gt;, &lt;code&gt;2.content-loader.com&lt;/code&gt;, etc.&lt;/p&gt;
&lt;p&gt;I then wildcard blacklist &lt;code&gt;content-loader.com&lt;/code&gt; and the ads &lt;strong&gt;still&lt;/strong&gt; slip through! This time brought in on the coattails of subdomains of &lt;code&gt;js-loader.com&lt;/code&gt; and &lt;code&gt;css-load.com&lt;/code&gt;! Similar strategy to &lt;code&gt;html-load.com&lt;/code&gt;, where the domains sound generic, harmless, and essential. Let’s block those too. How deep does this go?&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/html-loader_lockout.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Ah yes, the &amp;ldquo;respectful&amp;rdquo; advertising method of covering 50-80% of the active window in video ads at any given time.&lt;/p&gt;
&lt;p&gt;Apparently I’m close to the end of the tunnel here. Hmm, well the above popup is served by &lt;code&gt;error-report.com&lt;/code&gt;, let’s blacklist that too!&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/browser-popup_lockout-1024x498.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;We now get this browser window popup, unfortunately it’s a bit of a hostage situation. “Cancel” just causes the window to pop up repeatedly. “Okay” takes us to an &lt;code&gt;error-report.com&lt;/code&gt; page which doesn’t load because I just blacklisted it. I can only defeat the popup by disabling Javascript on the page. Finally, the recipe!&lt;/p&gt;
&lt;h3 id="undeniably-linking-this-back-to-ad-shield-an-ad-recovery-business"&gt;Undeniably linking this back to Ad-Shield, an “ad recovery” business&lt;/h3&gt;
&lt;p&gt;The WHOIS records for the domains like html-load.com are private, masked by GoDaddy.&lt;/p&gt;
&lt;p&gt;Google’s AI Overview claims there’s nothing to see here:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/adshield_google.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;A couple GitHub threads claim these domains are owned by Ad-Shield, but let’s prove it beyond any doubt. We can query the name servers to see everything is masked behind Cloudflare DNS proxies:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/adshield_NS_cloudflare.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Similarly, the A and AAAA records all resolve to Cloudflare IPs. The TXT records are empty. The CNAME records for most of the subdomains coming up in my DNS logs are completely empty. They’ve done an okay job hiding themselves. However, the CNAME resolution for the fb.content-loader.com subdomain is perfectly incriminating:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/adshield_gottem.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Caught them! &lt;code&gt;adshield-fallback-dev-wskxz.b-cdn.net&lt;/code&gt; points back to the Ad-Shield mothership via one of their obfuscation domains.&lt;/p&gt;
&lt;h3 id="what-is-ad-shield"&gt;What is Ad-Shield?&lt;/h3&gt;
&lt;p&gt;I’ll admit that I had never heard of this company. Ad-Shield (ad-shield.io) has the tagline “Measure &amp;amp; Monetize Dark Traffic.” Their home page further claims: “79% of adblocking traffic isn’t captured by existing analytics, Acceptable Ads, and adblock walls — dark traffic. Address it with an adblock recovery solution built for this new era.”&lt;/p&gt;
&lt;p&gt;They claim they can recover 80% of the revenue lost to users using ad blocking solutions, which may not be that outlandish, since it worked on what I thought was my fairly aggressive pi-hole setup with many blocklists, 2.5 million blocked domains, and which sometimes was so block-happy that it broke websites for me — a price I’m generally willing to pay for increased privacy.&lt;/p&gt;
&lt;p&gt;Ad-Shield has a free “Dark Traffic Report” gated behind a name and business email input field. The field rejects Gmail and other common consumer email domains, but you can put pretty much any other gibberish email and domain that doesn’t even need to exist, since the download will trigger in your browser once it’s satisfied you’re cool enough to have a totally real business email like &lt;a href="mailto:nobody@nothing.com"&gt;nobody@nothing.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It’s a lot of marketing fluff, but here’s the interesting keynotes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They claim nearly a billion web users are “dark traffic,” which has grown by 49% in 3 years.&lt;/li&gt;
&lt;li&gt;They separate “soft adblockers” like AdBlock and AdBlock Plus because those allow “acceptable ads” and often still allow webmasters to collect analytics. Essentially everything else including uBlock, pi-hole, NextDNS, browsers like Brave and VPNs such as ProtonVPN with built-in blockers are classified as “brutal blockers.”&lt;/li&gt;
&lt;li&gt;They have a particular interest in &lt;strong&gt;bypassing ad blockers instituted by workplace IT departments and enterprise security providers&lt;/strong&gt;, because the end users “didn’t make a conscious decision to block ads.”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Slide 15 is titled “Why organizations use brutal adblockers” with the admission that “as cybersecurity threats from digital advertising increase, organizations are responding by deploying adblocking tools to protect their networks, devices, and users.” Nowhere in the presentation does it discuss how Ad-Shield vets advertisers that they’re enabling to bypass ad blockers.&lt;/p&gt;
&lt;p&gt;That seals it by their own admission: network admins of both home and corporate networks should consider Ad-Shield a &lt;strong&gt;threat actor&lt;/strong&gt; using evasion techniques and obfuscation to open threat vectors inside their networks.&lt;/p&gt;
&lt;h3 id="why-are-recipe-blogs-ground-zero-for-ad-reinsertion"&gt;Why are recipe blogs ground zero for ad-reinsertion?&lt;/h3&gt;
&lt;p&gt;As far as I can tell, this is because Raptive (formerly AdThrive) is the undisputed king of ad delivery in this web niche. They’ve had the largest audience in the “food and family” niche for 7 years in a row&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;. Mediavine, their main competitor, still appears to be focusing on “acceptable ads” rather than ad recovery. Since all websites using Raptive now have ad recovery enabled by default, the result is that a lot of recipe blogs are using this.&lt;/p&gt;
&lt;p&gt;I’d bet there’s also an element that most visitors to recipe websites are single visit users rather than returning readers, therefore the webmasters are less concerned with overwhelming the visitors with a deluge of ads; you’ll probably never be back, and all the other top web search results for recipes are similarly filled with ads.&lt;/p&gt;
&lt;p&gt;Back to my french onion soup recipe: I opened the top 10 webpage results Google returned. 7 of them were using Raptive; a script tried to block me from viewing the recipe at all after blacklisting all of Ad-Shield’s domains.&lt;/p&gt;
&lt;p&gt;AdGuard wrote an article in 2017 about ad recovery and reinsertion&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;. Why have I not noticed it until a few days ago? I think it went from a fringe experiment to mainstream now that Raptive has waded into the fray and partnered with Ad-Shield. In an article from late February 2026, Raptive states that “Ad Block recovery is on by default” in the latest version of their WordPress plugin.&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt; In a little over a month, many of these sites running Raptive have updated and implemented it.&lt;/p&gt;
&lt;p&gt;So this is still the tip of the iceberg in testing a rollout of this technology in a single web niche, and we’ll likely only see it spread across the web in months and years to come.&lt;/p&gt;
&lt;h3 id="defeating-ad-shield-and-other-ad-reinsertion-technologies"&gt;Defeating Ad-Shield and other ad-reinsertion technologies&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Blacklisting the domains&lt;/strong&gt;: Ad-Shield really doesn’t look to have that many domains right now, and uses the same pattern for all of them. Most of them end in .com, but I saw a couple ending in .cc. We can regex blacklist their current naming pattern that they use for ad-reinsertion with the following regex:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;^(.+\.)?(html|js|css|content)-(load|loader)\.[a-z0-9-]+$&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;We’ll also wildcard blacklist &lt;code&gt;error-report.com&lt;/code&gt; to kill their first-level popup. Note that this will entirely break the recipe sites as discussed earlier, unless one disables Javascript. Also note that I couldn’t find these domains even in the aggressive public blocklists I use, probably because most list maintainers try to avoid breaking sites.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use uBlock Origin on Firefox, or at least Brave browser:&lt;/strong&gt; Nobody who cares about privacy should be using Google Chrome in 2026. Both uBlock Origin and Brave currently work to kill Ad-Shield’s techniques, as well as the page lockout script. Amusingly the entire reason I noticed these Ad-Shield techniques was that my pi-hole was previously so effective, I hadn’t even bothered installing uBlock on any of my newer devices for the past couple of years! I’ll definitely add back the extra layer to my home setup moving forward.&lt;/p&gt;
&lt;p&gt;On smaller enterprise networks I’ve seen uBlock Origin deployed to all browsers as a Group Policy plugin. On larger enterprise networks the CNAME cloaking and other techniques Ad-Shield uses will fall flat against SSL Decryption and Deep Packet Inspection on an enterprise firewall, and most Next-Gen Firewalls will flag these domains trying to pull encrypted blobs of data at high frequency as suspicious.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;(Recipes only) Use &lt;a href="https://www.justtherecipe.com/"&gt;JustTheRecipe&lt;/a&gt; or &lt;a href="https://www.drizzlelemons.com/"&gt;DrizzleLemons&lt;/a&gt;:&lt;/strong&gt; Both of these sites strip away all the ads and fluff from online recipes, with slightly different monetization methods. These seem like great alternatives for people who don’t want to self-host something like Mealie, but as with all hosted web apps they’ll probably be prone to enshittification at some point.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;(Recipes only) Buy some cookbooks&lt;/strong&gt;: Sometimes analog is the best solution. Any recipe book published prior to 2023 is guaranteed not to have any AI-generated recipes in it. I recently found &lt;em&gt;Bread&lt;/em&gt; by Christine Ingram and Jennie Shapter for $3 at a book sale at my local library; I will never need to use the internet to look up a bread recipe ever again.&lt;/p&gt;
&lt;h3 id="where-is-ad-recovery-and-reinsertion-heading"&gt;Where is ad recovery and reinsertion heading?&lt;/h3&gt;
&lt;p&gt;It seems obvious that this technology will become much more widespread. Ad blocker usage is increasing (for good reason), and billions of dollars are at stake.&lt;/p&gt;
&lt;p&gt;We can easily imagine a future where Ad-Shield and similar players use scripting, AI agents, and offensive strategies to create batches of new domains to serve ads from, pre-warm them through several resolvers to get them on and off the Newly Seen Domain (NSD) list, then rotate through using them to reinsert ads faster than they can be flagged by blocklist maintainers while using LLMs to mutate the fingerprints for Ad-Shield’s behavior and try to slip past heuristic-based firewalls.&lt;/p&gt;
&lt;p&gt;In my opinion, the current enterprise gold standard for zero-trust browsing is Menlo Security. Menlo spins up hardened, disposable browser containers in their cloud, neutering trackers. It then sanitizes the output by transcoding only the safe/desired parts of the webpage, rebuilding it with their patented Document Object Model (DOM) logic.&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; The page is entirely rebuilt using their DOM logic, sending the user the text, images, and formatting while stripping out all the active scripts; active scripts never leave the Menlo cloud and are not allowed to interact with the user, and since nearly all modern web ads require Javascript, those are never sent to the user. The only ads I’ve ever seen slip through my workplace’s Menlo instantiation are first-party server-side ads, but all of their tracking ability is stripped away.&lt;/p&gt;
&lt;p&gt;At home, BrowserBox or Kasm may be the start of interesting options, but for now while we wait for this ad-reinsertion battle to heat up it’s probably best to just lean back on the old reliable DNS sinkholing and uBlock Origin combination until some eventual point when such methods stop reliably working. As the offense continues to ramp up their efforts to steal our data, there will always be continuing escalations in the privacy war.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://www.prnewswire.com/news-releases/raptive-ranks-1-for-food-and-family-for-the-7th-year-in-a-row-302373619.html"&gt;https://www.prnewswire.com/news-releases/raptive-ranks-1-for-food-and-family-for-the-7th-year-in-a-row-302373619.html&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;&lt;a href="https://adguard.com/en/blog/ad-reinsertion.html"&gt;https://adguard.com/en/blog/ad-reinsertion.html&lt;/a&gt;&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;&lt;a href="https://help.raptive.com/hc/en-us/articles/360039737371-What-is-Ad-Block-Recovery"&gt;https://help.raptive.com/hc/en-us/articles/360039737371-What-is-Ad-Block-Recovery&lt;/a&gt;&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;&lt;a href="https://www.menlosecurity.com/product/remote-browser-isolation"&gt;https://www.menlosecurity.com/product/remote-browser-isolation&lt;/a&gt;&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>How Rowing Almost Every Day for a Month Impacted My Fitness</title><link>https://jacobdesforges.com/mud-season-madness/</link><pubDate>Mon, 06 Apr 2026 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/mud-season-madness/</guid><description>&lt;p&gt;I recently completed Concept2’s “Mud Season Madness” challenge which requires participants to row at least 5,000 meters per day for 25 or more days in March. I figured it would be a fun exercise to collect and graph my data to see if I was benefiting from the challenge metrics-wise, or if it would lead to burnout and fatigue.&lt;/p&gt;
&lt;p&gt;I rowed a total of 163,322 meters (101.5 miles!) during March on 27 days, for an active day average of 6,049 meters. I originally intended to hit the erg every single day in March, however our son was born early in the month which is as good a reason as any to miss a few days of exercise! My general approach was to alternate days of hard workouts with zone 2/3 steady state rowing to try and manage fatigue.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I recently completed Concept2’s “Mud Season Madness” challenge which requires participants to row at least 5,000 meters per day for 25 or more days in March. I figured it would be a fun exercise to collect and graph my data to see if I was benefiting from the challenge metrics-wise, or if it would lead to burnout and fatigue.&lt;/p&gt;
&lt;p&gt;I rowed a total of 163,322 meters (101.5 miles!) during March on 27 days, for an active day average of 6,049 meters. I originally intended to hit the erg every single day in March, however our son was born early in the month which is as good a reason as any to miss a few days of exercise! My general approach was to alternate days of hard workouts with zone 2/3 steady state rowing to try and manage fatigue.&lt;/p&gt;
&lt;p&gt;I was primarily interested in tracking my total meters rowed, pace, and average heart rate. This was easy to collect since I use the Concept2 online logbook and occasionally Peloton rowing classes, and always work out with a fitness band. Since I got the flu in February I didn’t have a ton of data points from the prior month to compare to after filtering out interval work and only considering steady-state workouts, but what I did have was a good representative sample of 5k, 30 minute, and 10k efforts.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/mud_season_graph.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Python made quick work of the data after I organized it into a CSV. Initially I didn’t have a trendline on the graph and wasn’t even sure if I could see a pattern to the data. Once I added a linear regression on both rowing pace and heart rate they show some obvious trends though.&lt;/p&gt;
&lt;p&gt;My average heart rate trended from 142.9 BPM to 137.6 BPM, a reduction of 5.3 BPM. Simultaneously my average pace trended from 2:25/500m, to 2:17/500m, shaving 8 seconds off my average split over a variety of distances.&lt;/p&gt;
&lt;p&gt;Measuring rowing gains by pace is not very impressive, because pace in rowing is an inverse cubic root function of power. Concept2 uses the following formula which tends to be the gold standard for erg machines:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;watts = 2.80/pace³&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Consequentially, the faster one rows, exponentially more power is required to reduce one’s split time by the same number of seconds. A 2:25/500m split is equivalent to 114.8 watts, and a 2:17/500m pace is equivalent to 136.1 watts. Therefore I was able to increase the amount of power I was putting into the machine by 18.5% compared to the prior month, all while my average heart rate dropped slightly.&lt;/p&gt;
&lt;p&gt;Both those being true simultaneously must mean I got more efficient. Either I got stronger, my VO2max increased, my form improved resulting in less wasted energy, or most likely some combination of all these factors.&lt;/p&gt;
&lt;p&gt;I made a table summarizing metrics of interest and how they changed during this challenge:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Metric&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Previous&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Current&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Delta&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Avg Heart Rate&lt;/td&gt;
&lt;td&gt;142.9 BPM&lt;/td&gt;
&lt;td&gt;137.6 BPM&lt;/td&gt;
&lt;td&gt;- 5.3 BPM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Avg Pace&lt;/td&gt;
&lt;td&gt;2:25/500m&lt;/td&gt;
&lt;td&gt;2:17/500m&lt;/td&gt;
&lt;td&gt;- 0:08/500m&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Avg Stroke Power&lt;/td&gt;
&lt;td&gt;114.8 W&lt;/td&gt;
&lt;td&gt;136.1 W&lt;/td&gt;
&lt;td&gt;+ 21.3 W&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5k Personal Best&lt;/td&gt;
&lt;td&gt;22:16&lt;/td&gt;
&lt;td&gt;21:37&lt;/td&gt;
&lt;td&gt;- 39 seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 min PB&lt;/td&gt;
&lt;td&gt;6,650 meters&lt;/td&gt;
&lt;td&gt;6,833 m&lt;/td&gt;
&lt;td&gt;+ 183 meters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10k PB&lt;/td&gt;
&lt;td&gt;47:16&lt;/td&gt;
&lt;td&gt;45:14&lt;/td&gt;
&lt;td&gt;- 2:02&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I still have a long way to go to hit my next goal of a sub-20 minute 5k row; I need to cut 9.3 seconds off each split from my personal best time to attain this, or increase my sustained stroke power over 20 minutes from 161.9 watts to 202.5 watts, nearly exactly a 25% increase in sustained output.&lt;/p&gt;
&lt;p&gt;I will be curious to continue tracking my stats and see whether I can make comparable progress rowing every other day in April, or if a near-daily frequency is truly beneficial for seeing tangible improvements month-over-month. Given that my current 5k time puts me at just the 35th percentile among male rowers using the Concept2 logbook rankings, it’s likely that I can continue to improve without the crazy dedication of a daily rowing session as long as I train consistently.&lt;/p&gt;</content:encoded></item><item><title>I Don't Want To Read Your LLM Output</title><link>https://jacobdesforges.com/i-dont-want-to-read-your-llm-output/</link><pubDate>Sun, 18 Jan 2026 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/i-dont-want-to-read-your-llm-output/</guid><description>&lt;p&gt;There&amp;rsquo;s something uncannily disrespectful about opening an email that I suspect was generated by a Large Language Model, especially when that email is asking for a reply or an action. An exchange of my very human effort for your AI tool&amp;rsquo;s output? I don&amp;rsquo;t think so.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been thinking about this quite frequently as the number of probably-AI emails in my work and personal inboxes has slowly ticked up since the first public release of these tools in late 2022. I won&amp;rsquo;t claim to be able to identify LLM text with perfect accuracy, but I think I&amp;rsquo;m pretty decent at it. I&amp;rsquo;ve also been struggling to verbalize &lt;em&gt;why&lt;/em&gt; I find AI in my inboxes so much more offensive than clicking onto an AI-generated blogspam article from internet search results — and I think it has a lot to do with the implied personal nature of email.&lt;/p&gt;</description><content:encoded>&lt;p&gt;There&amp;rsquo;s something uncannily disrespectful about opening an email that I suspect was generated by a Large Language Model, especially when that email is asking for a reply or an action. An exchange of my very human effort for your AI tool&amp;rsquo;s output? I don&amp;rsquo;t think so.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been thinking about this quite frequently as the number of probably-AI emails in my work and personal inboxes has slowly ticked up since the first public release of these tools in late 2022. I won&amp;rsquo;t claim to be able to identify LLM text with perfect accuracy, but I think I&amp;rsquo;m pretty decent at it. I&amp;rsquo;ve also been struggling to verbalize &lt;em&gt;why&lt;/em&gt; I find AI in my inboxes so much more offensive than clicking onto an AI-generated blogspam article from internet search results — and I think it has a lot to do with the implied personal nature of email.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s something even more disrespectful about reaching out to someone whose opinion, advice, or expertise one values, and their response starts with &amp;ldquo;Here&amp;rsquo;s what [AI Model] thinks…&amp;rdquo; Please just tell me that you don&amp;rsquo;t have the time, or ignore the email entirely. I&amp;rsquo;d be less insulted. What does copy/pasting an LLM&amp;rsquo;s output as a response even accomplish? After all if I have access to the same AI tool I could have input my own email as a prompt and gotten a roughly similar response. Obviously nobody is obligated to invest their time on behalf of anybody else soliciting it, but using AI for a response is essentially saying &amp;ldquo;I feel socially or professionally compelled to respond to this email, but I truly could not care any less beyond that. My perceived obligation is fulfilled and this interaction is concluded with only a handful of seconds lost on my part.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s additionally a clear delineation between emails from a person versus a business, and among these corporate emails a further divide between promotional emails (most of which I have aggressively unsubscribed from) and automated account notices such as &amp;ldquo;your credit card payment will be processed soon.&amp;rdquo; The latter you expect to be machine-generated, cobbled together nearly instantly by a script, that gets glanced at for three seconds (if that) by the recipient and discarded. To nobody&amp;rsquo;s surprise, we probably all expect email from a person, that we &lt;em&gt;know&lt;/em&gt; is a real-life existing human we&amp;rsquo;ve seen with our own eyes, to be written by said human. But it&amp;rsquo;s no longer the case.&lt;/p&gt;
&lt;p&gt;Like hundreds of millions of other people, I have a Gmail account. I don&amp;rsquo;t normally visit the web client, so I have no idea when Google started adding Gemini to offer to &amp;ldquo;help&amp;rdquo; drafting emails. I got a pop-up about it the other day when clicking to compose a new email. Gemini offered to write &amp;ldquo;an apology to my child&amp;rsquo;s teacher for their absence.&amp;rdquo; I don&amp;rsquo;t know why it made that specific offer, but I clicked okay and the email body pre-filled with a template for me to swap out some names. I opened another blank email, and Gemini then offered to write &amp;ldquo;a thank you letter for my job interview.&amp;rdquo; I haven&amp;rsquo;t interviewed for any jobs recently, but I accepted its offer once again, and got the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dear [Interviewer Name],&lt;/p&gt;
&lt;p&gt;Thank you for the opportunity to interview for the [Job Title] position earlier today. I enjoyed learning more about the team and the goals for the [Department Name] department.&lt;/p&gt;
&lt;p&gt;Our conversation further confirmed my interest in the role and my enthusiasm for the work being done at [Company Name]. I am confident that my background and skills would allow me to contribute effectively to your team.&lt;/p&gt;
&lt;p&gt;Please let me know if you have any additional questions or require any further information from my side. I look forward to hearing from you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jacob Desforges&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Email templates are nothing new. You&amp;rsquo;ve been able to find them on the internet for about as long as email has existed. So with that in mind, this probably isn&amp;rsquo;t &amp;ldquo;AI,&amp;rdquo; not even by the very low standard of LLMs. Gemini offers to recreate the template. It swaps a few words around. Is it actually &lt;strong&gt;doing&lt;/strong&gt; anything in real-time, or does Google just have a few pre-drafted emails for common contexts the user might input? Does the line between simple computer code: if context = &amp;ldquo;job interview&amp;rdquo; and &amp;ldquo;thank you&amp;rdquo; retrieve random.choice(interview_thanks), versus a statistical inference model operating on the same context window and generating the text in real time even make any difference? Does it make it any less soulless?&lt;/p&gt;
&lt;p&gt;If I use Gemini to draft an apology email, am I &lt;em&gt;truly&lt;/em&gt; sorry? If I use it for a thank you letter, am I &lt;em&gt;actually&lt;/em&gt; thankful?&lt;/p&gt;
&lt;p&gt;If there was a theoretically unremovable &amp;ldquo;generated with AI&amp;rdquo; tag at the bottom of that email, would you still send it? Or would you then write it yourself, worried that the stamp of using an LLM tool makes it look like you&amp;rsquo;re trying to fulfill a social expectation to extract the maximum value from the exchange with minimal investment of any real effort on your own part? Behavioral psychologists would probably argue that&amp;rsquo;s what we were all trying to do in most social interactions prior to AI anyway.&lt;/p&gt;
&lt;p&gt;This all amplifies unfairness, however. Anyone who has used LLM models has observed how happily verbose they are, easily expanding a three or four sentence prompt into three or four paragraphs of textual fluff. If I receive such an email from a superior at work, I&amp;rsquo;m then obligated to read and respond to it by the terms and expectations of my employment.&lt;/p&gt;
&lt;p&gt;Clearly the only content they care about is in the prompt that was provided to the LLM. So if just the prompt was sent to me via email, regardless of formatting, I&amp;rsquo;d spend less time reading and parsing it. Sending the LLM email might appear more structured and formal but by definition probably doesn&amp;rsquo;t contain much more actual information than the original prompt.&lt;/p&gt;
&lt;p&gt;And the ultimate irony is that in the extra wasted time for a human to read the LLM fluff, was there even any net savings? Like what if this is all a zero-sum game (or worse): the original author of the LLM email saves some time on formatting, but the recipient spends the same (or more) amount of &lt;em&gt;extra&lt;/em&gt; time sorting through the fluff to extract the actual important points and action items?&lt;/p&gt;
&lt;p&gt;The logical conclusion is a race to the bottom, in order to even out the unfairness of investing human effort to respond to a bot&amp;rsquo;s output when a response is obligated by the social contract. &amp;ldquo;You wrote me an LLM email, so I&amp;rsquo;m going to use an LLM to respond to your email because you clearly don&amp;rsquo;t value my time.&amp;rdquo; I&amp;rsquo;ve already seen this developing in the real world. A coworker drafted a seven page guidance document, which though not explicitly admitted as AI-generated, had all the common hallmarks of LLM text: excessive verbosity, a wandering-yet-linear structure, frequent insertion of bulleted lists, bolded &amp;ldquo;topic introductions&amp;rdquo; followed by a colon at the start of each paragraph, and so many em dashes that even R.A. Salvatore would question if it were a few too many.&lt;/p&gt;
&lt;p&gt;We got another email a few hours later. A different coworker had used AI to summarize the probably-AI document into a dozen or so bullet points. Amusingly, the output probably resembled something very similar to the original prompt that the document&amp;rsquo;s &amp;ldquo;author&amp;rdquo; had inserted into the LLM.&lt;/p&gt;
&lt;p&gt;Algorithms talking to algorithms, via human proxies, and nearly nobody stops to ask if anything is being &lt;strong&gt;gained&lt;/strong&gt; in the process, let alone examining what is being lost. Use the AI for basic research or troubleshooting your code if you really want. But if you want to communicate with me, do it in your own words.&lt;/p&gt;</content:encoded></item><item><title>Stopping Apple Bonjour from Overwhelming My Pi-Holed Home Network (800k Queries Per Day)</title><link>https://jacobdesforges.com/apple-bonjour-pi-hole-dns-loop/</link><pubDate>Thu, 16 Oct 2025 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/apple-bonjour-pi-hole-dns-loop/</guid><description>&lt;p&gt;I recently set up a redundant pi-hole in Docker on my home server to alleviate the single point of failure from my original pi-hole which runs on bare metal on a Raspberry Pi 4B. I&amp;rsquo;ve been using a single pi-hole for about six years to block advertisements, tracking links, and time-wasting websites across my home network. During that time my pi-hole has gone down 3 or 4 times. A couple were due to corrupted microSD cards (all that logging is pretty rough), and most recently the major version update to pi-hole v6 bricked my install beyond repair, requiring a fresh reimage.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I recently set up a redundant pi-hole in Docker on my home server to alleviate the single point of failure from my original pi-hole which runs on bare metal on a Raspberry Pi 4B. I&amp;rsquo;ve been using a single pi-hole for about six years to block advertisements, tracking links, and time-wasting websites across my home network. During that time my pi-hole has gone down 3 or 4 times. A couple were due to corrupted microSD cards (all that logging is pretty rough), and most recently the major version update to pi-hole v6 bricked my install beyond repair, requiring a fresh reimage.&lt;/p&gt;
&lt;p&gt;My router doesn&amp;rsquo;t support scripting, so if the pi-hole dies the home network loses all connectivity until I can get into the router and manually switch back to public DNS. Not a great event if my wife is working from home and I&amp;rsquo;m away. Hence the redundant pi-hole, and with the router configured to use both as DNS servers, I should have plenty of notice to repair one if it goes down while the network continues humming along on the surviving pi-hole.&lt;/p&gt;
&lt;p&gt;I monitor both pi-holes from my Homepage dashboard, and since setting up Pi-Hole2 I&amp;rsquo;ve noticed an abnormally large number of queries (per 24 hours) that never settled out after several days:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/dual_piholes.png" alt="" width="400"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Both pi-hole dashboards show an outsized number of pointer (PTR) requests, which are used for reverse DNS lookups:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/pihole1_ptr.png" alt="" width="400"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;A quick check of my top permitted domains shows some very blatant suspects:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/top_permitted_domains.png" alt="" width="400"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Over 400,000 requests per day on &lt;em&gt;each&lt;/em&gt; pi-hole to &lt;code&gt;lb._dns-sd._udp.0.1.168.192.in-addr.arpa&lt;/code&gt;, &lt;code&gt;db._dns-sd._udp.0.1.168.192.in-addr.arpa&lt;/code&gt;, and &lt;code&gt;b._dns-sd._udp.0.1.168.192.in-addr.arpa&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A quick internet search reveals these to be Multicast DNS (mDNS) requests for DNS Service Discovery (DNS-SD), frequently associated with Apple&amp;rsquo;s Bonjour protocol, which allows Apple devices to automatically find and advertise services on a local network independent of a central DNS server. Bad Apple! If I want to connect two devices on my network, I&amp;rsquo;ll assign them static configurations and do it myself.&lt;/p&gt;
&lt;p&gt;Further investigation of my pi-hole logs revealed these PTR requests to be coming in batches of 1000, which conveniently enough is the default rate limit that pi-hole applies to devices making more than a threshold amount of queries per minute. Without that rate limit, Apple Bonjour would have likely brought my home network to its knees.&lt;/p&gt;
&lt;p&gt;Developers on the official pi-hole forums proposed a number of solutions, none of which were satisfactory to me:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Set the router&amp;rsquo;s WAN DNS to a public DNS resolver.&lt;/strong&gt; I can&amp;rsquo;t do this as my router doesn&amp;rsquo;t allow separate LAN and WAN DNS resolvers; even if I could I truly don&amp;rsquo;t think this would solve the issue as mDNS is a local network protocol and is not forwarded to the internet. Plus this would just lead to DNS leakage defeating the purpose of pi-hole.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Use pi-hole as the DHCP server&lt;/strong&gt;. I&amp;rsquo;m already doing this, it works fine to make Apple Bonjour behave but only if the user has &lt;em&gt;one&lt;/em&gt; pi-hole on their network. I have two pi-holes, and I split my subnet so they can both act as DHCP servers on non-overlapping ranges for maximum redundancy.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Disable conditional forwarding.&lt;/strong&gt; I don&amp;rsquo;t want to do this if I don&amp;rsquo;t have to. I like the client/device names showing in the pi-hole logs, and without conditional forwarding pihole2 has no knowledge of DHCP leases from pihole1, so the logs just fill with IP addresses. The only workaround would be to statically configure every client in my network and share that across both pi-holes, but I&amp;rsquo;d rather not.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="why-pi-hole-explodes-with-apple-bonjour-when-conditional-forwarding-is-enabled"&gt;Why pi-hole explodes with Apple Bonjour when conditional forwarding is enabled&lt;/h3&gt;
&lt;p&gt;As far as I understand it, here&amp;rsquo;s the network flow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;An Apple device sends a multicast DNS packet to all devices on the local network. This is structured as a reverse query (in this case, 0.1.168.192, a rarp for my private IP subnet 192.168.1.0/24) to the whole subnet. mDNS operates on the local network using multicast out of UDP port 5353, which pi-hole is blind to as it&amp;rsquo;s listening for unicast DNS on port 53.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All devices on the network listening on port 5353 receive the mDNS broadcast packets, learning things from the sender like hostname, type, and A/AAAA records to map hostnames to IPs. Any device supporting Service Discovery responds in kind with its own info. Again, we can&amp;rsquo;t see any of this in pi-hole.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There&amp;rsquo;s another protocol of Apple Bonjour running on UDP port 53. This is unicast traffic for DNS Service Discovery, and it&amp;rsquo;s Bonjour trying to query if any DNS server handles service discovery for the network. But it&amp;rsquo;s using the same naming conventions mDNS uses. This request being unicast goes out on port 53 to pi-hole, our DNS server, and it&amp;rsquo;s the queries I see taking over my pi-hole logs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pi-hole &lt;em&gt;should&lt;/em&gt; reply &amp;ldquo;no such domain&amp;rdquo;, indicating no special DNS-SD records are published, and the Apple Bonjour client should then fall back to the answers it collected from the port 5353 multicast. Pi-hole does &lt;strong&gt;not&lt;/strong&gt; do this which is where the trouble starts when the user has conditional forwarding enabled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pi-hole has no capability to resolve the unicast DNS-SD request; with conditional forwarding enabled pi-hole1 then forwards all the &lt;code&gt;lb._dns-sd._udp.&lt;/code&gt;, &lt;code&gt;db._dns-sd._udp.&lt;/code&gt;, and &lt;code&gt;b._dns-sd._udp.&lt;/code&gt; queries to pi-hole2. Pi-hole2 cannot resolve the request and sends it back to pi-hole1. Repeat back and forth on port 53 until the rate limit is hit. Over and over, 1000 requests every time an Apple device tries to discover if there&amp;rsquo;s an authoritative DNS-SD server on the network.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="what-didnt-work"&gt;What didn&amp;rsquo;t work&lt;/h3&gt;
&lt;p&gt;I tried modifying misc.dnsmasq_lines to inject a custom configuration into dnsmasq on the pi-holes. First I tried pointing these addresses to 0.0.0.0 and then restarting the DNS resolver service:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;address=/lb._dns-sd._udp.0.1.168.192.in-addr.arpa/0.0.0.0
address=/db._dns-sd._udp.0.1.168.192.in-addr.arpa/0.0.0.0
address=/b._dns-sd._udp.0.1.168.192.in-addr.arpa/0.0.0.0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When that didn&amp;rsquo;t work, I tried pointing them to NXDOMAIN:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;address=/lb._dns-sd._udp.0.1.168.192.in-addr.arpa/#
address=/db._dns-sd._udp.0.1.168.192.in-addr.arpa/#
address=/b._dns-sd._udp.0.1.168.192.in-addr.arpa/#
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Neither of those seemed to do anything at all, because I was using the wrong tool for the job. &lt;code&gt;address=&lt;/code&gt; is for A records (forward DNS); if a client asks for a name, it provides the IP.&lt;/p&gt;
&lt;h3 id="ending-the-apple-bonjour-dns-sd-loop"&gt;Ending the Apple Bonjour DNS-SD loop&lt;/h3&gt;
&lt;p&gt;In this case these are reverse DNS requests, which as I learned cannot be resolved from the inverse logic of a forward lookup entry. The proper tool for the job is &lt;code&gt;ptr-record=&lt;/code&gt;, which provides a hostname in response to an IP or string:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Syntax: ptr-record=&amp;lt;reverse lookup&amp;gt;,&amp;lt;target&amp;gt;
ptr-record=lb._dns-sd._udp.0.1.168.192.in-addr.arpa,pihole2.local
ptr-record=db._dns-sd._udp.0.93.86.10.in-addr.arpa,pihole2.local
ptr-record=b._dns-sd._udp.0.93.86.10.in-addr.arpa,pihole2.local
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I pasted that into misc.dnsmasq_lines on both piholes and the loop was solved. Interestingly, to stop the loop Apple Bonjour does not have to receive a &lt;em&gt;correct&lt;/em&gt; answer, (pihole2.local is not an authoritative DNS-SD server, it’s just the hostname of one of my pi-holes). There just has to be &lt;em&gt;an&lt;/em&gt; answer so the pi-holes aren’t bouncing the request they cannot resolve out of the box back and forth.&lt;/p&gt;
&lt;p&gt;What &lt;em&gt;also&lt;/em&gt; worked and was far more simple to figure out was making a simple regex blacklist in pi-hole to nicely wrap up all these domains in one entry and blacklist them. I came up with the following regex deny filter to blacklist all three flavors of offending PTR requests on both pi-holes:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; ^[a-z]?b\._dns-sd\._udp\.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Verifying it works next time we see Apple Bonjour trying to look for a DNS-SD server:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/regex_deny_results.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Nice. One blacklisted query and it&amp;rsquo;s done, I don&amp;rsquo;t get 1000 echoed queries back and forth between the two pi-holes as I did five minutes previously. Note that if you ever &amp;ldquo;disable blocking&amp;rdquo; in pi-hole the regex blacklist will also be disabled, so the pointer records in misc.dnsmaq_lines are the more elegant, proper solution.&lt;/p&gt;
&lt;h3 id="ending-the-apple-bonjour-local-loop"&gt;Ending the Apple Bonjour local loop&lt;/h3&gt;
&lt;p&gt;I also discovered a bunch of requests to &amp;ldquo;local&amp;rdquo; stuck in a DNS loop until hitting the rate limit, though a small fraction compared to the above offenders. I go back in my logs to check the origin of the request and big surprise, it&amp;rsquo;s an Apple device again!&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/surprise_apple_again.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;These &lt;code&gt;.local&lt;/code&gt; queries are also a part of the multicast DNS network discovery process of Apple Bonjour. Easily eliminated in pi-hole by going to Settings &amp;ndash;&amp;gt; DNS and checking the box to &amp;ldquo;Never forward non-FQDN A and AAAA queries&amp;rdquo;. From the description of the toggle we learn that this setting &amp;ldquo;Tells Pi-hole to never forward A or AAAA queries for plain names, without dots or domain parts, to upstream nameservers. If the name is not known from &lt;code&gt;/etc/hosts&lt;/code&gt; or DHCP then a &amp;rsquo;not found&amp;rsquo; answer is returned.&amp;rdquo; Sure enough this setting works as advertised and the local queries are whittled down to a handful per hour after a restart of pi-hole&amp;rsquo;s DNS resolver.&lt;/p&gt;
&lt;h3 id="why-dead-ending-or-blacklisting-these-queries-is-fine-and-doesnt-even-break-apple-bonjours-local-network-discovery"&gt;Why dead-ending or blacklisting these queries is fine, and doesn&amp;rsquo;t even break Apple Bonjour&amp;rsquo;s local network discovery!&lt;/h3&gt;
&lt;p&gt;As I explained earlier, these DNS Service Discovery requests on port 53 aren&amp;rsquo;t providing any essential information to Apple Bonjour. All they&amp;rsquo;re looking for is an authoritative server on the network that is already handling service discovery. We don&amp;rsquo;t have one of those (at least I don&amp;rsquo;t at home), and since pi-hole lacks the ability to properly resolve these DNS-SD requests, sinkholing them is the closest we can get to responding &amp;ldquo;no such domain&amp;rdquo;. And we get to keep conditional forwarding enabled!&lt;/p&gt;
&lt;p&gt;Apple Bonjour already got all of the information it needs to discover other devices from the multicast DNS it also sent out on port 5353 that pi-hole can&amp;rsquo;t see. We can easily verify that with an app like &lt;a href="https://apps.apple.com/us/app/discovery-dns-sd-browser/id1381004916?mt=12"&gt;Discovery – DNS-SD Browser by Lily Ballard&lt;/a&gt; on the App Store.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s all the local devices Apple Bonjour discovered over Wi-Fi on my iPhone, including my Vizio TV:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/DNS-SD_iphone-scaled.png" alt="" width="350"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;And from my Mac Mini over ethernet I can run in the terminal &lt;code&gt;dns-sd -B _services._dns-sd._udp.&lt;/code&gt; to see the same information, verifying I can see the same devices, though a couple are duplicated in the terminal output compared to the app.&lt;/p&gt;
&lt;h3 id="before-and-after-my-pi-hole-dashboard-is-useful-again"&gt;Before and after, my pi-hole dashboard is useful again&lt;/h3&gt;
&lt;p&gt;Silencing the DNS loops caused by Apple Bonjour and pi-hole&amp;rsquo;s conditional forwarding yielded some immediate and obvious results on my primary pi-hole:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/pihole1_after.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;On the secondary pi-hole, an even more drastic reduction:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/pihole2_after.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Pi-hole2 is used far less frequently, I assume because most devices on my network had existing DHCP leases on pi-hole1 and prefer to use the first listed DNS in my router.&lt;/p&gt;
&lt;p&gt;The red on both pi-holes are queries from its partner pi-hole. Hundreds of thousands of looped queries per day. Tomorrow when this data falls off and the scales readjust, I&amp;rsquo;ll actually be able to use these charts to once again get a visual representation of how chatty different devices are.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m happy to have resolved this and now I can leave my redundant pi-hole setup alone to hum along smoothly without DOSing my own network or polluting the logs with thousands of repeated queries.&lt;/p&gt;
&lt;p&gt;It’s relatively niche to run multiple pi-holes, but maybe the Pihole team could implement a toggle setting to “silence Apple Bonjour conditional forwarding loops” that implements the misc.dnsmasq_lines logic on the backend? This may be difficult given &lt;code&gt;ptr-record=&lt;/code&gt; does not support wildcards, however the user already needs to know and enter their subnet when they enable conditional forwarding, so there’s a possible link there.&lt;/p&gt;</content:encoded></item><item><title>Fooled by Intellectuals</title><link>https://jacobdesforges.com/fooled-by-intellectuals/</link><pubDate>Tue, 22 Jul 2025 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/fooled-by-intellectuals/</guid><description>&lt;p&gt;I have finally gotten around to beginning to read Nassim Taleb despite having his books on my reading list for years. I decided to start in chronological order, beginning with &lt;em&gt;Fooled by Randomness&lt;/em&gt;. I highlighted the following passage at the end of Chapter 7, which I marked to do follow-up research on:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The composition of Part I made me even more confident in my withdrawal from the media and my distancing myself from other members of the business community, mostly other investors and traders for whom I am developing more and more contempt. I believe that I cannot have power over myself as I have an ingrained desire to integrate among people and cultures and would end up resembling them; by withdrawing myself entirely I can have a better control of my fate… I am now thinking of the next step: to recreate a low-information, more deterministic ancient time, say in the nineteenth century, all the while benefiting from some of the technical gains (such as the Monte Carlo engine), all of the medical breakthroughs, and all the gains of social justice of our age. I would then have the best of everything.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description><content:encoded>&lt;p&gt;I have finally gotten around to beginning to read Nassim Taleb despite having his books on my reading list for years. I decided to start in chronological order, beginning with &lt;em&gt;Fooled by Randomness&lt;/em&gt;. I highlighted the following passage at the end of Chapter 7, which I marked to do follow-up research on:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The composition of Part I made me even more confident in my withdrawal from the media and my distancing myself from other members of the business community, mostly other investors and traders for whom I am developing more and more contempt. I believe that I cannot have power over myself as I have an ingrained desire to integrate among people and cultures and would end up resembling them; by withdrawing myself entirely I can have a better control of my fate… I am now thinking of the next step: to recreate a low-information, more deterministic ancient time, say in the nineteenth century, all the while benefiting from some of the technical gains (such as the Monte Carlo engine), all of the medical breakthroughs, and all the gains of social justice of our age. I would then have the best of everything.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For context, my interest was due to this passage being written sometime between 2001 and 2004 — my edition of the book is from 2004; I don’t have a first edition to compare against, and the exact year is ultimately irrelevant to this point. That being, the internet back then was not nearly as it is today, a Lovecraftian Shoggoth devouring any attention sent in its general direction. The first iPhone wasn’t released until 2007, marking a time period most smartphone skeptics look back on fondly, perhaps still a few years before these devices would peak as tools and communication devices, rather than entertainment portals. Practicing a low-information diet in the early aughts would certainly be a precursor for someone to evolve into a modern-day digital minimalist.&lt;/p&gt;
&lt;p&gt;I was quickly disappointed when I went to research Taleb’s thoughts on current-day social media platforms and the internet in general, to instead find his X (née Twitter) account. I was unable to view much without logging in, but the posts I could see were fairly unimpressive juxtaposed against the voice, content, and clearly thoughtful rigor that I had read thus far in his first book. Perhaps it’s just the nature of the medium; nobody (reputable) has ever claimed Twitter to be a place for serious exchanges of intellectual ideas. However with his book’s emphasis on signal versus noise, I would have expected Taleb to write off social media just as he did the news media.&lt;/p&gt;
&lt;p&gt;Instead I found someone who uses social media no differently than the most active users of these platforms — sharing his Very Correct Opinion on current events, and launching verbal eviscerations against those who had publicly thrown shade at him or some topic he cared about. Using nitter.net I was able to bypass X’s login wall to count that user @nntaleb had made 72 posts and retweets in the past week.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; Many of these are about the Israel/Palestine conflict, the current Very Important Event, naturally following the societal memory-holing of every previous Very Important Event. Remember China’s internment of Uyghurs, the Sudanese civil war, the Libyan crisis? Probably now that I mentioned them, but most people wouldn’t without prompting, despite that these issues are all still ongoing and the scale of consequence has not changed.&lt;/p&gt;
&lt;p&gt;I shouldn’t have to caveat that this is not a criticism borne from which side Taleb supports in the Israel/Palestine conflict; this is also irrelevant to my point. Someone as steeped in Stoicism as Taleb, who references Seneca’s &lt;em&gt;Letters on Ethics&lt;/em&gt;, should no doubt recognize war in a foreign country as &lt;em&gt;apoproêgmena&lt;/em&gt;, a dispreferred indifferent. Yet still, being of Lebanese origin, he has more justification and background for having an opinion on this topic than the average American (the vast majority of whom pick a side determined by their respective left or right branch on the political dichotomy). Have you ever heard someone say anything like, “this is a complex and nuanced topic with a long history which I am not intimately familiar enough with to make a judgment”?&lt;/p&gt;
&lt;p&gt;Unlikely. For decades, the media has worked themselves into a position of societal indispensability by conflating the simple &lt;em&gt;possessing&lt;/em&gt; of information with characteristics like intelligence, worldliness, and good citizenship. Having an opinion on a topic became a shorthand signal for possessing information — and thus also the prior traits — even if no reasoned judgments were made by the individual and the information is inactionable rubbish. Conversely, to have no opinion is to publicly “admit” to being uninformed and ignorant (even if one possesses the exact same set of information as his opinionated fellow). So pervasively effective is this campaign, often having no opinion on something is itself viewed as being an opinionated position, rather than a simple deference to intellectual humility.&lt;/p&gt;
&lt;p&gt;My carping about Taleb’s X use does not mean that I discount his ideas (or worse, reject them entirely) due to finding disagreement or distaste with one single thing he says or does. That’s characteristic of an inherently terminally online mindset; the wholesale rejection of a person and their body of work due to one single (perceived) behavioral, moral, or intellectual failing. If one finds the words said by another to be true and valuable, then they are, regardless of whether he who said them is imperfect at implementing them. As Seneca said, “whatever is said well by anyone belongs to me.”&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Amusingly, Taleb himself makes a similar point just a handful of paragraphs prior to the first excerpt I quoted. Reflecting on Karl Popper’s personal life allegedly being at odds with his professed philosophies, Taleb writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I will refrain from commonplace discourse about the divorce between those who have ideas and those who carry them in practice, except to bring out the interesting behavioral problem; we like to emit logical and rational ideas but we do not necessarily &lt;em&gt;enjoy&lt;/em&gt; this execution.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ideally, we would all like to have &lt;em&gt;and&lt;/em&gt; to flawlessly implement ideas. But it’s clear these are not always concurrent traits; this more than anything is perhaps the source of many post-Socratic philosophers’ admiration for Socrates, that he truly lived a life in accordance with his professed ideals. However, if a choice must be made between these two traits, I’m unequivocally positive that the second of the two is far superior. There’s an infinite pile of ideas already out there to engage with, some of which have stood the test of several millennia. However the intrinsic nature of self-discipline means it cannot generally be outsourced. What good would knowing the answers to all of life’s questions be if one lacked the tenacity to put them into practice?&lt;/p&gt;
&lt;p&gt;Perhaps Taleb doesn’t view the amount of time he spends on Twitter as a problem. Or maybe nearly everybody is just addicted to the internet now, even those smart enough to work through a line of reasoning about how pointless and temporally wasteful most things that happen here are. Heck, look at me, futilely spending my human effort adding text to the internet, while during the time I took to write this it’s certain that tens or hundreds of thousands of pages worth of unadulterated LLM slop flooded out onto the web.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Nassim Taleb, &lt;em&gt;Fooled By Randomness&lt;/em&gt;, Random House, 2004.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;My default assumption is that making 10 posts and retweets per day correlates to a large amount of time spent on the platform, however it’s also possible Taleb simply quickly tweets things as a brain dump and immediately logs off, but this seems unlikely given his level of engagement with posts by other users on the platform, which indicates a significant amount of time spent scrolling in order to discover these posts.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Seneca’s &lt;em&gt;Letters on Ethics to Lucilius&lt;/em&gt;, 16.7, trans. Graver and Long.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>Amazfit's Bip 6 Smartwatch: First Week Impressions, Comparison to Original Bip</title><link>https://jacobdesforges.com/amazfit-bip-6-review/</link><pubDate>Thu, 17 Apr 2025 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/amazfit-bip-6-review/</guid><description>&lt;p&gt;I&amp;rsquo;ve spent a full week with Amazfit&amp;rsquo;s newest budget smartwatch. For only $80 the Bip 6 claims to have a 14 day battery life, sleep and fitness tracking with over 140 workout modes, Bluetooth phone notifications, GPS and offline maps, and more. The Bip 6 also features Amazfit&amp;rsquo;s latest BioTracker 6.0 sensor, so the data should be the same fidelity as their more expensive models that share this sensor.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m particularly interested in the basic time function, fitness and step tracking, and sleep tracking. It think there&amp;rsquo;s room for a smartwatch to fit into a digital minimalist&amp;rsquo;s life, and lead to less total times picking up one&amp;rsquo;s smartphone. I&amp;rsquo;m really enjoying setting an alarm on my Bip 6 and checking the weather for that day from the watch, enabling me to leave the house in the morning without ever unlocking my phone!&lt;/p&gt;</description><content:encoded>&lt;p&gt;I&amp;rsquo;ve spent a full week with Amazfit&amp;rsquo;s newest budget smartwatch. For only $80 the Bip 6 claims to have a 14 day battery life, sleep and fitness tracking with over 140 workout modes, Bluetooth phone notifications, GPS and offline maps, and more. The Bip 6 also features Amazfit&amp;rsquo;s latest BioTracker 6.0 sensor, so the data should be the same fidelity as their more expensive models that share this sensor.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m particularly interested in the basic time function, fitness and step tracking, and sleep tracking. It think there&amp;rsquo;s room for a smartwatch to fit into a digital minimalist&amp;rsquo;s life, and lead to less total times picking up one&amp;rsquo;s smartphone. I&amp;rsquo;m really enjoying setting an alarm on my Bip 6 and checking the weather for that day from the watch, enabling me to leave the house in the morning without ever unlocking my phone!&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s my thoughts on the Bip 6, broken down into my major use cases for this watch, as well as a comparison to the most prominent features of the original Amazfit Bip from 2018.&lt;/p&gt;
&lt;h3 id="fitness-tracking"&gt;&lt;strong&gt;Fitness tracking&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Bip 6 offers far more workout tracking options than the half-dozen on the original Bip. With 140 different exercises to choose from, I couldn&amp;rsquo;t think of something that&amp;rsquo;s not available, and it&amp;rsquo;s clear they&amp;rsquo;re mostly inflating numbers at this point by adding a few silly things like &amp;ldquo;chess&amp;rdquo; and &amp;ldquo;esports&amp;rdquo; to the activities. Workout history is automatically synced to the Zepp app.&lt;/p&gt;
&lt;p&gt;Strength training is a welcome addition. It allows the user to comprehensively keep track of a weight lifting or calisthenics workout, including entering the weight lifted, number of reps, and the option to set a handy rest timer. All while tracking sets so the user will never forget what set number they are on. Bip 6 attempts to identify the exercise being performed, but I didn&amp;rsquo;t find this very accurate. It got close in one case, identify chin-ups as pull-ups, but didn&amp;rsquo;t even attempt to guess at push-ups or dips. Exercise type can be fixed or updated in the app after, if the user cares about this data. Bip 6 also tracks heart rate and calories burned when working out.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/bip6_peloton.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I also took the indoor cycling mode for a spin on the Peloton. For a 717 kJ output, Bip 6 estimates that I burned 822 kcal. This is solely based off heart rate data — the watch is not linked to my Peloton bike in any way. Interestingly the Bip appears to have calculated a more accurate energy expenditure than the Peloton, even completely isolated from its metrics. Peloton estimated 1,029 kcal burned, a 1.44:1 kcal:kJ ratio; Peloton is fairly notorious for overestimating. The Bip 6&amp;rsquo;s ratio of 1.15:1 is closer to within a reasonable range as suggested by the cycling literature.&lt;/p&gt;
&lt;p&gt;Finally, I compared both the step tracker and heart rate to manual measurements. In about a dozen tests the heart rate measurement was always within ±2 BPM from my manual measurements. I counted 200–300 steps manually four or five times and the Bip 6 was spot on with adding the exact same number of steps to my total. The algorithm appears to wait for around 15 seconds of movement to reduce false readings, then after that time has elapsed and the user is still moving, it adds the steps taken during the buffer period and begins counting as normal. Bip 6 counted zero steps when driving my normal commute.&lt;/p&gt;
&lt;h3 id="battery-life"&gt;&lt;strong&gt;Battery life&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;I fully charged my Bip 6 when receiving it. After exactly a week (down to the hour) I had 47% battery remaining, extrapolating to an expected 13.2 days for my use case. It&amp;rsquo;s easy to see how disabling features like the blood oxygen monitor or stress monitor, or increasing the time between heart rate measurements from the default five minute interval could certainly push the battery life up to or slightly past Amazfit&amp;rsquo;s claimed two weeks.&lt;/p&gt;
&lt;p&gt;Unfortunately, the original Bip still reigns supreme with its one month battery life, which I proved out many times over several years of actively using that watch. Despite Bip 6 boasting a much larger battery than Bip (340 vs 200 mAh), the AMOLED display and additional features on the Bip 6 end up using that capacity at a much higher discharge rate.&lt;/p&gt;
&lt;p&gt;The recently revived Pebble brand, with original founder Eric Migicovsky&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; once again heading up the project, is launching two E-Ink smartwatch models, the Core 2 Duo and the Core Time 2, both of which claim they will offer a 30 day battery life.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Personally, nightly charging à la Apple or Samsung watches is a complete non-starter for me. Charging twice a month instead of once on the other hand, is not a big deal. When Bip 6 gets to 30% battery, the user still has a whole four days to remember to charge it at some point.&lt;/p&gt;
&lt;h3 id="amoled-bip-6-vs-transflective-lcd-bip"&gt;AMOLED (Bip 6) vs transflective LCD (Bip)&lt;/h3&gt;
&lt;p&gt;The major draw of many users including myself to the original Bip was the transflective LCD display, which enabled its month-long battery life. The technology is the same used in the Gameboy Color screen, and relies on reflecting enough ambient light to be read in most situations, with the Bip adding a backlight for use when ambient lighting is too dim. After E-Ink watch maker Pebble shut down in late 2016, Bip&amp;rsquo;s launch in 2018 meant it was the only smartwatch on the market with a low-power, always-on display.&lt;/p&gt;
&lt;p&gt;The launch of the Bip 3 brought a controversial decision to move to a traditional LCD screen, halving the battery life, reducing outdoor visibility, and users lost the always-on display unless they were willing to cut the battery life even further to less than a week.&lt;/p&gt;
&lt;p&gt;Bip 6 once again switches up the display, this time to AMOLED, so how does it stack up to the original? First, it&amp;rsquo;s clear from the specs alone that Bip 6&amp;rsquo;s screen is larger, with a much higher pixel density. In-person, colors on the Bip 6 are unsurprisingly more vibrant:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/ogbip_vs_bip6_colors.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;A moderate, indirect lighting situation such as indoors really highlights the differences of the displays. The Bip&amp;rsquo;s transflective display is legible with the backlight off (see below, top image) but text on the Bip 6&amp;rsquo;s AMOLED display is far clearer, even with the backlight on the lowest setting. Enabling the backlight on the original Bip is a great example of how differently LCD and AMOLED displays show true blacks. The blacks on the Bip&amp;rsquo;s transflective display are washed out by the backlight, whereas the Bip 6&amp;rsquo;s AMOLED display can selectively leave these pixels off, achieving the infinite contrast these displays are coveted for.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/ogbip_vs_bip6_lowlight.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Finally, it&amp;rsquo;s only fair to compare the displays in a harsh direct lighting situation with glare, such as the display would present outdoors in direct sunlight:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/ogbip_vs_bip6_glare.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The transflective LCD does what it is designed to do, and requires no backlight for legibility. However, the glossy screen coating causes some glare to get in the way, clearly reminding us that this is &lt;em&gt;not&lt;/em&gt; an E-Ink display. Personally, I forgot how glossy the Bip&amp;rsquo;s screen was, and I think I might have been misremembering and overstating the readability in direct light until I pulled it out of my drawer.&lt;/p&gt;
&lt;p&gt;On the lowest backlight setting, Bip 6&amp;rsquo;s AMOLED screen struggles a bit, and similarly the glossy coating reflects glare from light sources, but it&amp;rsquo;s still readable. Turning it up to the highest backlight setting, the AMOLED unsurprisingly becomes more visible, and the information is perceptible with a quick glance. One related note, aside from the hour number and the cloud icon, all of the text on this watch face is a light gray color, so using a watch face with pure whites and blacks would offer the maximum amount of contrast for harsh lighting situations. Either way, Bip 6&amp;rsquo;s display is far more legible outdoors than my Google Pixel 7a phone&amp;rsquo;s AMOLED display, which is nearly useless on a sunny day even at maximum brightness.&lt;/p&gt;
&lt;p&gt;Auto-brightness on the Bip 6 works excellently and I&amp;rsquo;ve left that setting on after testing it and finding it seamlessly adjusts the watch face for all lighting scenarios.&lt;/p&gt;
&lt;h3 id="bip-6-phones-home-to-china"&gt;&lt;strong&gt;Bip 6 phones home (to China)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;It shouldn&amp;rsquo;t be news to anybody that with most pieces of modern tech we are trading our data away as part of the exchange. Amazfit (and their parent company Zepp) claim in their privacy policy not to &lt;em&gt;sell&lt;/em&gt; any personal information, however they do disclose a number of vague circumstances where they &lt;em&gt;share&lt;/em&gt; personal information including to &amp;ldquo;service providers&amp;rdquo; and third-party advertisers.&lt;/p&gt;
&lt;p&gt;Investigating the web traffic generated by the Zepp app on my Android phone shows requests to around a half-dozen subdomains of zepp.com and a couple to huami.com (Huami is the former name of Zepp Health Corporation, which owns the Amazfit brand). I sinkholed the traffic to these domains on my Pi-Hole and tested whether any features of my Bip 6 or the Zepp app broke. Most domains negatively impacted the function in some way when blacklisted, such as not allowing watch face images to load in the Zepp store, or killing the weather API. The following two domains however did not perceptibly break any functions of my watch or app after being sinkholed for several days:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;api-analytics.zepp.com
api-analytics-us.zepp.com
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It&amp;rsquo;s possible these are the domains Amazfit is using for data harvesting, so I&amp;rsquo;ll be keeping them in my blacklist.&lt;/p&gt;
&lt;h3 id="a-minor-complaint"&gt;&lt;strong&gt;A minor complaint&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;My biggest issue isn&amp;rsquo;t even exclusive to the Bip 6 but rather the Zepp app itself, and thus all Amazfit watches. The watch face store has no search function and only a few preset filter categories. If I tell you I&amp;rsquo;m using the &amp;ldquo;Battery Saving&amp;rdquo; watch face by &amp;ldquo;bannite&amp;rdquo; you&amp;rsquo;d either need to scroll through every single watch face, or also know that it&amp;rsquo;s in the &amp;ldquo;BizStyle&amp;rdquo; category, which you&amp;rsquo;ll still have to scroll through that one category until stumbling upon it. It&amp;rsquo;s unclear how the Zepp app sorts watch faces in a category, whether it&amp;rsquo;s by popularity, date added, or something else.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t a huge deal, and I imagine most users will grab a few watch faces they like, try them out, and end up sticking with one or two for the long haul. Watch faces in the Zepp app range anywhere from free, to $3.99 with the most common price point seeming to be $1.99.&lt;/p&gt;
&lt;h3 id="final-thoughts"&gt;&lt;strong&gt;Final thoughts&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;For $80 I am definitely pleased with the Bip 6, and I think it&amp;rsquo;s a winner for the title of best value for the money in the smartwatch market. For my primary use cases of telling time, fitness and sleep tracking, and quick-glance weather conditions, Bip 6 has met or exceeded my expectations, and it&amp;rsquo;s also helped me pull out my phone even less.&lt;/p&gt;
&lt;p&gt;Wearable tech is undeniably disposable, which is why I have such an interest in budget smartwatches. You could spend 10x as much on an Apple Watch Ultra (or more on some Garmin models) but it will meet the same eventual fate as every other smartwatch — death via battery failure, screen breakage, or reaching end of life on firmware or software. These devices are not generational heirlooms like a mechanical watch could be. The Bip 6 is cheap enough that I&amp;rsquo;m not too concerned with letting it suffer the bumps and bruises of everyday life.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://ericmigi.com"&gt;https://ericmigi.com&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;&lt;a href="https://store.repebble.com"&gt;https://store.repebble.com&lt;/a&gt;&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>Back to the Office Blues</title><link>https://jacobdesforges.com/back-to-the-office-blues/</link><pubDate>Mon, 14 Apr 2025 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/back-to-the-office-blues/</guid><description>&lt;p&gt;It’s now been over two months of being back in the office full-time for me, which has certainly provided a large enough sample size of days for me to ineloquently conclude that it sucks. The contrast is made all the more plain after five years of working from home most days, a great example of the endowment effect in action (had I never experienced a hybrid work model, I would not have valued it nearly as much).&lt;/p&gt;</description><content:encoded>&lt;p&gt;It’s now been over two months of being back in the office full-time for me, which has certainly provided a large enough sample size of days for me to ineloquently conclude that it sucks. The contrast is made all the more plain after five years of working from home most days, a great example of the endowment effect in action (had I never experienced a hybrid work model, I would not have valued it nearly as much).&lt;/p&gt;
&lt;p&gt;President Trump has termed this as a “return to work” for federal employees like myself, and most media has run with that phrasing. I take issue with this, as it implies that people were not working, not getting their jobs done at home, and I have observed the exact opposite across multiple organizations over the past five years. I will therefore never refer to this as anything other than a “return to the office” or “return to in-person work.” There is little point in making counter-arguments about efficiency or morale, neither of which appear to be truly held concerns of those empowered to revoke telework in both the public and private sectors. How many other accurate descriptors exist, I wonder?&lt;/p&gt;
&lt;p&gt;How about a “return to distractions”? Simultaneously overhearing multiple conversations about projects I’m not involved with and oddball watercooler chats has decimated my focus and productivity. As has the time lost wondering about the handful of nearby people who shout so loudly into their PC headset that it penetrates not only a set of earplugs with a 26dB noise reduction rating, but also a pair of headphones with music playing &lt;em&gt;and&lt;/em&gt; active noise cancellation on. I would be remiss not to mention the insane hindrances from a slew of emails (and avalanche of follow-up clarifications) generated whenever unelected oligarch Elon Musk decides to harass and waste the time of civil servants from his bootleg .gov email account.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Maybe a “return to disgusting workplace bathrooms”? Even a “return to the germ factory,” featuring the usual suspects who have banked weeks worth of sick leave but inexplicably show up to cough on everyone and everything. Just like the good old days. I had previously thought (while working from home) that David Graeber’s 2018 book &lt;em&gt;Bullshit Jobs&lt;/em&gt; had lost some of its potency, but for anyone forced to drive to an office every day in order to dial into virtual meetings, Graeber will once again ring as relevant as he did prior to the pandemic.&lt;/p&gt;
&lt;p&gt;Sarcasm aside, the most evident impact of returning to the office has been dealt to my free time. The cost of commuting is not only that of the drive itself. On top of a thirty-minute drive each way, I’ve lost the ability to exercise on my lunch break, forcing me to do that in the evenings after getting home. This pushes my total time lost to at least ninety minutes per day, and I’m sure I could find a few more minutes if I wanted to be pedantic about it. I make the best of my commute time by listening to podcasts, but audio entertainment is typically something that I would multitask and combine with a physical chore, so it’s no surprise that productivity in my personal life has declined.&lt;/p&gt;
&lt;p&gt;Over the past several years I’ve cut an increasing majority of wasted time from my daily schedule. I no longer sit there and browse the internet without a purpose or intention; there’s not ninety minutes of phone scrolling to cut from my schedule to offset the temporal cost of commuting. The sacrifice must thus be selected from something I actively want to be doing, and throwing the work/life balance I had become accustomed to into disarray. Do I choose to read less? Write less? Exercise less frequently? Slow down even further on home improvement projects? It’s an unpalatable decision, and one that — for the first several weeks of returning to the office — ironically led to further wasted time from analysis paralysis.&lt;/p&gt;
&lt;p&gt;I have primarily focused my thoughts on personal impacts, and not work-related efficiency impacts, because it’s abundantly clear to me that if my employer and other employers do not care about the latter, it is only fair that I don’t either. I am paid to be working in the office a set number of hours. It’s simple reasoning that my total maximum daily output will be reduced if it takes me longer to do each individual task due to the mental pollution of simultaneously overhearing a conversation about skiing while cubicle neighbors on either side of me are shouting at a far louder than required volume into their headsets. So simple and apparent to any reasonable person, that I consider it fair to conclude this is not my burden to bear. At least private companies will see any hit from a return to office affect their profitability. The costs of the government’s return to office will be left to the taxpayers. Either in the form of increased labor costs to achieve the same output, reduced service quality, a less capable military, or less progress towards whatever the mission of a particular agency is.&lt;/p&gt;
&lt;p&gt;I do believe that certain types of meetings or collaboration are best done face to face. So I was quite happy to go into the office when needed to support those particular tasks, if it meant that my individual work and virtual meetings could be done at home. This is of course driven by my personal preferences, and the arrangement that functions best for how I work, but according to a survey by &lt;em&gt;Gallup&lt;/em&gt; of U.S. workers whose jobs were deemed remote-capable, as of January 2025 60% of them preferred hybrid arrangements. Only 7% preferred full-time on-site work. The same survey had previously found in 2023 that “spending three days in the office, or working exclusively remotely, was associated with somewhat higher levels of employee engagement for remote-capable workers.”&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;I am certainly free to seek out other roles that offer the working arrangement that I desire and functions best for me. It’s clear that being in the office 100% of the time is not conducive to my well-being. However, I wonder with a lead from the current administration and a softening job market if some employers will use the leverage they regain to enforce further return to office mandates. The hybrid model will be more likely to stick around if employees actually leave when it is revoked, which requires both effort on their part and enough demand for their labor. Maybe I’m just wishing after a world that was too good to be true; the last tangible foothold of the coronavirus pandemic in my life, evaporating with the rest of it and feeling more like a fever dream with time’s passage. I hope not, because I barely have three months of tolerance for commuting into an office on the daily — let alone thirty more years.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Dayen, David. “Elon Musk Offers Federal Workers an Unauthorized Buyout.” &lt;em&gt;The American Prospect&lt;/em&gt;, 29 Jan. 2025, &lt;a href="https://prospect.org/politics/2025-01-29-elon-musk-offers-federal-workers-unauthorized-buyout/"&gt;https://prospect.org/politics/2025-01-29-elon-musk-offers-federal-workers-unauthorized-buyout/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Pilutik, Scott. “The True Purpose of Elon Musk’s Weekend Email Ultimatum to Federal Workers.” &lt;em&gt;Slate Magazine&lt;/em&gt;, Slate, 24 Feb. 2025, &lt;a href="https://slate.com/news-and-politics/2025/02/elon-musk-weekend-email-ultimatum-doge.html"&gt;https://slate.com/news-and-politics/2025/02/elon-musk-weekend-email-ultimatum-doge.html&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;“Indicator: Hybrid Work.” &lt;em&gt;Gallup.Com&lt;/em&gt;, Gallup, 4 Apr. 2025, &lt;a href="https://gallup.com/401384/indicator-hybrid-work.aspx"&gt;https://gallup.com/401384/indicator-hybrid-work.aspx&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>A Brief Eulogy for a Toyota Prius</title><link>https://jacobdesforges.com/a-brief-eulogy-for-a-toyota-prius/</link><pubDate>Mon, 23 Dec 2024 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/a-brief-eulogy-for-a-toyota-prius/</guid><description>&lt;p&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; It wasn’t a fast car. Certainly not luxurious. Unique among car designs and immediately recognizable, but also completely unremarkable because it was so common. Most automotive enthusiasts seemed to find it unattractive. But they weren’t the target market.&lt;/p&gt;
&lt;p&gt;It’s rare to see a product in any segment where engineers are able to blatantly optimize a single variable at the expense of several others, without being reeled back in and compromising on their vision in a trade space. The car will get better fuel economy than any existing gas-powered vehicle, but it’s ugly, slow, and is only a 2 seater. Okay, that was actually the first generation Honda Insight, which beat the Toyota Prius to the US market by seven months and launched in December 1999.&lt;/p&gt;</description><content:encoded>&lt;p&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; It wasn’t a fast car. Certainly not luxurious. Unique among car designs and immediately recognizable, but also completely unremarkable because it was so common. Most automotive enthusiasts seemed to find it unattractive. But they weren’t the target market.&lt;/p&gt;
&lt;p&gt;It’s rare to see a product in any segment where engineers are able to blatantly optimize a single variable at the expense of several others, without being reeled back in and compromising on their vision in a trade space. The car will get better fuel economy than any existing gas-powered vehicle, but it’s ugly, slow, and is only a 2 seater. Okay, that was actually the first generation Honda Insight, which beat the Toyota Prius to the US market by seven months and launched in December 1999.&lt;/p&gt;
&lt;p&gt;Prius was visibly less eccentric compared to the Insight, which had wheel well covers over the rear wheels to further reduce drag. Prius was also a bigger, heavier vehicle with four seats, more cargo room, and better crash ratings, all of which provided an advantage in the American market. The Insight’s engine was an electric motor assisted always-on gas engine, whereas the Prius could actually shut its gasoline engine off entirely and drive around solely under the power of its quiet electric motor at low speeds, which was a much cooler engineering trick. Despite being second to market and having worse fuel economy, the Prius repeatedly crushed the Insight in sales to the point that Honda discontinued the Insight in 2006, revived the model in 2010, discontinued it in 2014, redesigned it yet again for 2019 then pulled the plug again in 2022.&lt;/p&gt;
&lt;p&gt;Back in 2015 I was driving about 35,000 miles per year and there were far less hybrids in the market than today. Prius had the market longevity, demonstrated reliability and best fuel economy so that’s what I went with. Since then my Prius logged 190,000 miles, carried me to the corners of every New England state, never failed to start when I wanted it to, and asked for no maintenance beyond fluid changes and replacing basic wear items. I will forever nerd out over the regenerative braking technology of hybrid and electric vehicles: the original set of brake pads on my Prius lasted 158,214 miles.&lt;/p&gt;
&lt;p&gt;Unfortunately my Prius will never roll over 200,000 miles on the odometer. Recently I was rear-ended by an elderly woman who probably shouldn’t have been on the road. She slammed into me going about 35–40 MPH while I was stopped at a crosswalk waiting for a woman with a stroller to cross the street. Luckily my car didn’t move too much from the impact and no pedestrians were injured.&lt;/p&gt;
&lt;p&gt;I figured my car had frame damage since the rear door wouldn’t open no matter how hard I pulled on it, which I guessed would total it due to the age and mileage. It took my insurance over a month to figure that out though. The repair estimate kept getting revised and climbing: $2,600, then $7,000, then $13,000 before they finally decided my Prius was totaled.&lt;/p&gt;
&lt;p&gt;An irritating quirk of most car insurance policies I have learned is that totaled vehicles are paid out as “Actual Cash Value” which isn’t necessarily equivalent to the replacement cost. There was zero chance that the payout I received would purchase a used Prius in as good a condition as I kept mine, with meticulous maintenance records. And you can absolutely forget about the unrealized savings from continuing to drive your paid-off car around for several more years, because this just isn’t something car insurance covers or cares about. Ironically enough about a week before the accident my wife and I were discussing how I should get at least three more trouble-free years out of my Prius. Sometimes life does not go as planned.&lt;/p&gt;
&lt;p&gt;After getting hit, I thought a lot about the vehicular arms race out there on the roads, with seemingly so many people buying SUVs and pickup trucks, especially in New England. Intuitively one would think sedans are at a disadvantage in crashes with larger vehicles, but just how much? Research led by Jehle Dietrich from the University of Buffalo analyzing a database of over 80,000 vehicles involved in head-on crashes found that when a sedan and an SUV have a head-on collision, on average the odds of death are 7.64 times higher for the sedan driver. Even in cases where the sedan involved has a higher crash test rating than the SUV involved, the odds of death for the sedan driver are 4.52 times higher. But flip that to giving the SUV the superior crash test rating, and the sedan driver is nearly &lt;strong&gt;ten times&lt;/strong&gt; more likely to die in a head-on collision!&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Those are some staggering and sobering figures. And looking at the data definitely pushed me towards wanting a bigger vehicle of my own, given that I’m not going to single-handedly change car culture, and can’t control what others are purchasing or doing on the road. I ended up buying a RAV4 Hybrid. I keep thinking of it as a taller, bloated Prius, given that all of Toyota’s hybrids are getting the same technology they developed with the Prius. The hybridization of other models, moderate gas prices, and desire for larger vehicles has certainly eaten into Prius sales. In the US, Toyota has only been selling about 20% as many 5th generation Priuses as they sold on an annual basis from 2007–2015.&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;At the end of the day, it’s just a car. They’re consumable items over any long period of time, especially living in an area with road salt. But I suspect everyone has a similar attachment and fond memories of the first car they bought new, paid off, and got many years of dedicated service out of.&lt;/p&gt;
&lt;p&gt;I’m finally able to gradually return to regularly working out and other physical activities after nursing a very slowly healing shoulder injury for the past couple of months since the accident. To me, that’s the most important part. Cars are replaceable, health and wellness isn’t. Turns out that most of my hobbies and pastimes require consistent use of my dominant arm or lifting heavy things, so I had been feeling (only somewhat dramatically) like I was atrophying into a useless pile of goo. I’m glad to be strongly back on the upswing heading into the new year.&lt;/p&gt;
&lt;p&gt;Here’s to hoping this new car makes it past the decade-old milestone that my Prius wasn’t allowed to reach!&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;The title of this piece is inspired by “&lt;a href="https://thememorypalace.us/a-brief-eulogy-for-a-commercial-radio-station/"&gt;A Brief Eulogy for a Commercial Radio Station&lt;/a&gt;,” a 2017 episode of Nate DiMeo’s excellent podcast, &lt;em&gt;The Memory Palace.&lt;/em&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Jehle, Dietrich, et al. “Car ratings take a back seat to vehicle type: Outcomes of SUV versus passenger car crashes.” &lt;em&gt;HCA Healthcare Journal of Medicine&lt;/em&gt;, vol. 2, no. 4, 31 Aug. 2021, &lt;a href="https://doi.org/10.36518/2689-0216.1181"&gt;https://doi.org/10.36518/2689-0216.1181&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;“Toyota Prius.” &lt;em&gt;Wikipedia&lt;/em&gt;, Wikimedia Foundation, 6 Dec. 2024, &lt;a href="https://en.wikipedia.org/wiki/Toyota"&gt;https://en.wikipedia.org/wiki/Toyota&lt;/a&gt;_Prius#Liftback_sales.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>I'm Daily Driving a Raspberry Pi 5 As My Main PC</title><link>https://jacobdesforges.com/rpi-5-daily-driver/</link><pubDate>Sun, 29 Sep 2024 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/rpi-5-daily-driver/</guid><description>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/pi5.jpg" alt="" width="500"&gt;
&lt;figcaption class="image-caption"&gt;The 3D model I printed for the case is by &amp;lsquo;CatPadThai&amp;rsquo; and can be found &lt;a href="https://www.printables.com/model/796192-raspberry-pi-5-nvme-hat-case-snap-fit"&gt;here on Printables.&lt;/a&gt; It accommodates a top-mounted HAT and any size NVMe SSD.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I’m several months in with using the tiny Raspberry Pi 5 to accomplish essentially all of my computing tasks, and I have no plans of giving it up. The $60 single-board computer slots perfectly into a tech-conscious, digital minimalist lifestyle.&lt;/p&gt;
&lt;p&gt;I recently built myself a standing desk to replace the cheap $30 IKEA table I had been using as a desk for the past six or seven years. This spurred a wholesale cleaning and reorganization of my home office. As I was unplugging the cords to my Windows desktop PC to move everything out of the way and swap out my desk, I thought about just not setting it back up again. When we moved into this house a little over a year ago, I was so busy with renovation projects and getting settled that I didn’t unpack my desktop for about six or seven weeks, and instead did everything on my Chromebook.&lt;/p&gt;</description><content:encoded>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/pi5.jpg" alt="" width="500"&gt;
&lt;figcaption class="image-caption"&gt;The 3D model I printed for the case is by &amp;lsquo;CatPadThai&amp;rsquo; and can be found &lt;a href="https://www.printables.com/model/796192-raspberry-pi-5-nvme-hat-case-snap-fit"&gt;here on Printables.&lt;/a&gt; It accommodates a top-mounted HAT and any size NVMe SSD.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I’m several months in with using the tiny Raspberry Pi 5 to accomplish essentially all of my computing tasks, and I have no plans of giving it up. The $60 single-board computer slots perfectly into a tech-conscious, digital minimalist lifestyle.&lt;/p&gt;
&lt;p&gt;I recently built myself a standing desk to replace the cheap $30 IKEA table I had been using as a desk for the past six or seven years. This spurred a wholesale cleaning and reorganization of my home office. As I was unplugging the cords to my Windows desktop PC to move everything out of the way and swap out my desk, I thought about just not setting it back up again. When we moved into this house a little over a year ago, I was so busy with renovation projects and getting settled that I didn’t unpack my desktop for about six or seven weeks, and instead did everything on my Chromebook.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/desk.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Clearly the Pi doesn’t take up much desk space, and in my case it freed a bunch of under-desk leg room by substituting out for my full desktop tower.&lt;/p&gt;
&lt;p&gt;I’ve tried using a Raspberry Pi as a desktop daily driver twice in the past. The first attempt was with a previous model, the Pi 4B, which lasted about five days. It felt just a bit too slow, and at that time in my life I didn’t have a ton of free time to figure out how to do everything I needed in Linux. The second attempt was with the Pi 5 about eight months ago when I received one after the product’s launch. Still I found it just a &lt;em&gt;bit&lt;/em&gt; slower than I’d like, especially when launching applications.&lt;/p&gt;
&lt;p&gt;This go around, the killer feature that boosted the Pi 5’s responsiveness to an acceptable level for me was adding an NVMe SSD. Read/write speeds were about 20x faster than using a microSD card, and application launch times were significantly and noticeably reduced. I am using a GeekWorm X1001 M.2 HAT for the Pi 5, and a Crucial PCIe Gen3 NVMe SSD — though only PCIe Gen2 is fully supported on the Pi 5 at this time, it is still plenty fast.&lt;/p&gt;
&lt;p&gt;The Pi 5 is also a power efficiency champ, idling around 3.8 Watts and averaging 5 Watts during my typical usage. My Windows desktop (with a 4th gen i7 and a GTX 1070) idled around 40 Watts and averaged about 80 Watts during typical use. For those interested in min/maxing, the Pi presents a compelling case for itself. Running a computer for the same power draw as a typical overhead LED lightbulb is quite the achievement.&lt;/p&gt;
&lt;p&gt;Here’s an incomplete list of computing tasks I have successfully (and smoothly!) used the Raspberry Pi 5 for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web browsing/email&lt;/li&gt;
&lt;li&gt;Writing in Obsidian, my favorite Markdown text editor&lt;/li&gt;
&lt;li&gt;Managing my book library in Calibre, including syncing to my Kobo eReader&lt;/li&gt;
&lt;li&gt;Editing images in GIMP&lt;/li&gt;
&lt;li&gt;Using PrusaSlicer to process a model to print on my 3D printer&lt;/li&gt;
&lt;li&gt;Mounting my Google Drive account to be visible to the local file system, and setting up two-way file sync using rclone&lt;/li&gt;
&lt;li&gt;Adding content to my websites&lt;/li&gt;
&lt;li&gt;Password management via KeePassXC&lt;/li&gt;
&lt;li&gt;Printing to my Brother laser printer via CUPS&lt;/li&gt;
&lt;li&gt;Following along with online guitar lessons hosted on YouTube (1080p60 playback is about the Pi’s limit, and may require popping out the video into its own window to prevent frame drops)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That’s essentially everything that I was using my Windows desktop for, so I can truthfully say that I’ve replicated my entire workflow for my personal computer on the Pi 5. I do have a Windows laptop provided by my employer that I am required to do my work tasks on, so I don’t have to worry about things like getting Microsoft Teams running on the Pi (although many people have done so).&lt;/p&gt;
&lt;p&gt;Due to this success with using the Pi 5 as my main PC, I’ve packed up my Windows desktop and put it in the closet. There it will stay, until (and if) I have to do something that absolutely requires Windows. So far, I’ve only pulled it out once, for a more involved 3D model that I knew I could breeze through in Fusion 360. FreeCAD on the Pi is certainly usable and I’ve made some basic things in there, but I haven’t spent enough time to become as proficient with it.&lt;/p&gt;
&lt;h3 id="4gb-vs-8gb-of-ram-for-the-pi-5"&gt;4GB vs 8GB of RAM for the Pi 5&lt;/h3&gt;
&lt;p&gt;In general, the world of PC enthusiasts is filled with people who recommend to buy more and better specs whenever possible, for future-proofing if nothing else. The best GPU one can afford, the fastest CPU, and of course more RAM. I used to be in that camp too, back when I was building gaming PCs. The nature of my Raspberry Pi 5 daily driver experiment obviously runs contrary to the internet’s established advice, instead calling into question what is enough.&lt;/p&gt;
&lt;p&gt;The general consensus on the official Raspberry Pi forum is that 8 GB of RAM is the only way to go for most Pi purchases, and especially a desktop replacement. One user claims:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Even web browsing with Chromium is enough to fill the 4GB RAM (and have crashes).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let’s test that claim.&lt;/p&gt;
&lt;p&gt;Amazon’s homepage uses 126 MB of RAM. Gmail’s web client uses 200 MB. YouTube playing a 1080p video consumes about 450 MB of RAM. Text-dense webpages like blogs, forum threads, and Wikipedia articles typically use under 100 MB. One can answer for themselves whether their typical use case involves having two dozen typical web pages, and several YouTube videos, all open at once and not unloading any of them from RAM, because that’s about what it would take to start getting into swap space, let alone crashing a web browser. Personally, I am not a compulsive web browser tab hoarder, and don’t really consider that a reasonable behavior.&lt;/p&gt;
&lt;p&gt;For fun and testing I tried to overload my Pi 5 4GB by multitasking everything I might possibly do at once. I opened Chromium with a Google Earth tab zoomed into a detailed area, a 1080p Youtube video playing, and a few typical webpages. I additionally launched Obsidian (editing this post), KeePassXC, Calibre with a book open, multiple file manager windows, PrusaSlicer with a .stl model loaded, and GIMP with an image loaded and ready to edit. Checking my RAM usage in Task Manager: 2777 MB of 4041 MB used. I still had over 30% of my RAM free.&lt;/p&gt;
&lt;p&gt;In this case the GPU appeared to be the bottleneck, as it would reach 100% when rapidly switching between the Google Earth and YouTube tabs. My Pi reached 64C during this test and the active cooler fan held it steady there.&lt;/p&gt;
&lt;p&gt;My conclusion is that 4GB of RAM is more than enough for the majority of people using a Raspberry Pi 5 as a desktop replacement for general computing and productivity tasks, even when multitasking. 8GB of RAM is unnecessary other than in very specific edge cases. Raspberry Pi OS (and Linux in general) is far more efficient with memory than Windows.&lt;/p&gt;
&lt;h3 id="final-thoughts-and-future-plans"&gt;Final thoughts and future plans&lt;/h3&gt;
&lt;p&gt;I figured this would be an interesting piece to write, mostly because when one searches the web for information about using a Raspberry Pi as their main computer the top results are articles where a tech journalist used it for one or two weeks as a challenge, then gave it up. Another top result? A thread that I started on the official Raspberry Pi forum, which received 500 replies, maybe a half dozen of which were value-added. The rest of the posts were off-topic, baseless conjecture, or typical internet arguments. Like most things on the web these days, that thread is a waste of time to read.&lt;/p&gt;
&lt;p&gt;I think for what &lt;em&gt;most&lt;/em&gt; people use computers for, the Pi 5 with an NVMe SSD is a viable desktop replacement, if one is up to the task of learning Linux.&lt;/p&gt;
&lt;p&gt;So allow me to pose the counterpoint to the common conclusion of this experiment; I’ve been loving using the Raspberry Pi as my main computer, and I have every intention of continuing to do so. I don’t care if it can’t play modern games or stream Netflix in 4k. In fact, I enjoy it partially because it &lt;em&gt;can’t&lt;/em&gt; do those things.&lt;/p&gt;
&lt;p&gt;The Pi’s little ARM processor doesn’t have the computing power to do everything, yet it has enough to do all the basic things that most people need, and in that way it’s refreshing. It’s “just enough” computer; its limitations a self-imposed constant reminder that these machines should primarily be tools rather than entertainment devices.&lt;/p&gt;</content:encoded></item><item><title>What’s Even the Point of Online Games Anymore?</title><link>https://jacobdesforges.com/online-games-suck/</link><pubDate>Fri, 21 Jun 2024 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/online-games-suck/</guid><description>&lt;p&gt;This title could invite some predictably pedantic replies like “To have fun! What’s wrong with you?” On the other hand, fending those off with an assertion like “Online Games Aren’t Really Fun Anymore” is far too simplistic to begin to grapple with the true breadth of the issue.&lt;/p&gt;
&lt;p&gt;Like most facets of the digital attention economy, online gaming has transformed (and continues to) under the dual pressures of an expectation for exponential, ever-increasing profit growth combined with industry consolidation. Gamers are well familiar with the microtransaction-laden free-to-play pricing strategy, that in some cases can produce incredible profits, and at the very least provide continuous funding to justify keeping servers running for several years. It has also led to the gaming industry adopting a similar model of hyper-optimization for user “engagement” above all else that slowly made social media feel anything but social.&lt;/p&gt;</description><content:encoded>&lt;p&gt;This title could invite some predictably pedantic replies like “To have fun! What’s wrong with you?” On the other hand, fending those off with an assertion like “Online Games Aren’t Really Fun Anymore” is far too simplistic to begin to grapple with the true breadth of the issue.&lt;/p&gt;
&lt;p&gt;Like most facets of the digital attention economy, online gaming has transformed (and continues to) under the dual pressures of an expectation for exponential, ever-increasing profit growth combined with industry consolidation. Gamers are well familiar with the microtransaction-laden free-to-play pricing strategy, that in some cases can produce incredible profits, and at the very least provide continuous funding to justify keeping servers running for several years. It has also led to the gaming industry adopting a similar model of hyper-optimization for user “engagement” above all else that slowly made social media feel anything but social.&lt;/p&gt;
&lt;p&gt;If games were purely boring, if all the fun had truly been sucked out by the corporate overlords, it seems logical that nobody would play. So it’s more accurate to say that modern online games sporadically trickle &lt;em&gt;just enough&lt;/em&gt; fun to the user such that they continue to engage with an otherwise hostile environment. A digital Skinner Box, just like Reddit and other modern social media platforms.&lt;/p&gt;
&lt;p&gt;I already suspected this, which is why I quit competitive online video games even before I had ever first considered quitting Reddit. However, the idea and temptation of returning to online games has crossed my mind several times, whereas after definitively breaking my Reddit addiction I have had zero desire to return to the site as a regular user. There had to be some unique aspects of video games as a digital habit — at least for me and, probably, others like me — that could lead to a stickier addiction. During the peak of my time as a “gamer,” especially summers between college semesters, I spent far more hours per week playing online games than I ever spent on Reddit.&lt;/p&gt;
&lt;p&gt;The primary aspect that sets gaming apart from other digital habits is that the player is, at almost all times, an active participant. Social media and television put one in the seat of a passive observer, mostly or entirely just along for the ride that the show or algorithm takes them on. But gamers get to have an impact on the virtual world with every action; they get to &lt;em&gt;be&lt;/em&gt; the hero; their actions can change the outcome and directly lead to a victory for themselves or their team. All wrapped up with the convincing allure of a social and competitive experience when playing online, either with real world friends or strangers, but that in most cases is no less of a hollow illusion than other forms of online interaction.&lt;/p&gt;
&lt;p&gt;I have been exploring topics for my next book, and video game addiction is making a compelling case for itself. There are many books and resources with a scientific look at the underlying mechanisms of video game addiction, and a few that are written based on personal experiences. But none that I have seen combine those with an exposé-style look at the modern gaming industry and all the techniques that have been developed to keep players addicted. There’s a bunch of video essays online with discussions about dopamine, but these are oversimplified and superficial.&lt;/p&gt;
&lt;p&gt;I haven’t played competitive online games in several years, and it’s been even longer since I played seriously and considered myself a “gamer.” Besides a brief stint as a colorful bean-shaped dude in the ultra casual party game &lt;em&gt;Fall Guys&lt;/em&gt; that became an overnight cult sensation in August 2020 due to collective lockdown boredom, I had quit playing competitive online shooters some time in 2019, swearing off games like &lt;em&gt;Counter-Strike&lt;/em&gt; and &lt;em&gt;Overwatch&lt;/em&gt;. Prior to that, it wouldn’t have been uncommon for me to log twenty or even thirty hours per week in whatever my current favorite game was.&lt;/p&gt;
&lt;p&gt;My experiences were outdated by about five years; to get a pulse on the current state of online games I would have to dive back into the virtual world to see if and how the state of it had changed and record my experiences. That’s a more professional way of justifying playing video games as “research.” In the process I expected to affirm my previous decision to quit and quickly press the eject button to return to a life in the real world.&lt;/p&gt;
&lt;p&gt;A couple of months ago I downloaded &lt;em&gt;Overwatch 2&lt;/em&gt;, and I spent some of my free time between home renovation projects playing it. There are some minor changes from &lt;em&gt;Overwatch&lt;/em&gt;, and the game is now free-to-play. Upon logging in, I’m offered nothing for paying $40 for the original game back in 2016. All the silly cosmetic items that I earned by playing are still there, including several golden weapons which collectively show off that I wasted hundreds of hours playing the game’s ranked competitive mode. I decide to play a few rounds of Quick Play (the game’s casual mode) to learn what has changed since my departure in a low-stakes environment.&lt;/p&gt;
&lt;p&gt;I pick Roadhog, a tank hero that I previously had a lot of playtime on. They’ve changed how he plays. I miss a lot of shots; my aim is much worse than it used to be. One of my teammates addresses me over the microphone; he informs me that I suck and suggests a different character to play. I don’t respond. My team loses, and a dramatic red “DEFEAT” appears on my screen. The same teammate that previously spoke out, as well as another teammate type in the chat, “report our tank.” This has been typical behavior in competitive game modes for a while, where players report teammates whom they feel performed poorly in the hopes that it will get them banned from the game. It’s interesting to see it in the game’s casual matchmaking mode.&lt;/p&gt;
&lt;p&gt;The match ends and I am automatically inserted back into the queue to play again. I remember having to specifically click to queue again several years ago. This is that thing referred to as “reducing friction” in terms of optimizing for engagement. If I was more intelligent, I would have uninstalled &lt;em&gt;Overwatch 2&lt;/em&gt; right then and there. But I didn’t, instead my interest was piqued. Were those upset teammates an outlier? Did they only have fun if they won the game? Did they &lt;em&gt;ever&lt;/em&gt; have fun? The answers to those questions as I would find out were respectively: no, probably, and maybe sometimes.&lt;/p&gt;
&lt;p&gt;As I continued my “research” I quickly wandered over to the game’s ranked competitive mode, which I used to play obsessively. I am promised the ability to “work my way up the ladder in reworked competitive and earn exclusive rewards and bragging rights” or something like that. I’m not good at the game anymore. After some placement matches my rank is revealed to be gold, which seems to be slightly below average in terms of skill rating compared to other players. In competitive, I encounter more hostile teammates, as well as enemy players with overly aggressive banter after they lock in a win. I minimize &lt;em&gt;Overwatch 2&lt;/em&gt; between matches and take some notes on my experience.&lt;/p&gt;
&lt;p&gt;Most players who used the game’s communication tools seemed pleasant at the start of the game. But as soon as the match looked like it wasn’t going in our favor it was common for people to start playing the blame game. Usually the tank role would be targeted for blame by teammates (there is a single tank among a five player team, making them the odd man out), or whichever player had egregiously low damage or healing output for their respective roles. Not infrequently, a player would be seen typing “gg” (short for good game) a minute or two into the match, indicating that they had already mentally accepted that their team was going to lose the match.&lt;/p&gt;
&lt;p&gt;I would note “fun” as a comment if a match was truly enjoyable. Only about 20% of the competitive matches of &lt;em&gt;Overwatch 2&lt;/em&gt; that I played received this description. The rest of the matches were somewhere between boring (too one-sided) or an absurdly toxic environment (regardless of a win or loss). I can have fun losing if the match itself is competitive and the interactions are neutral or pleasant.&lt;/p&gt;
&lt;p&gt;I tried to verbalize what made a match of a competitive shooting game like &lt;em&gt;Overwatch 2&lt;/em&gt; fun. In the end, I realized it’s far easier to list out all the different things that make a match &lt;em&gt;unfun&lt;/em&gt;, then subtract those out to get the small percentage of matches that remain. The two biggest contributors to enjoyment were match quality (did a match feel relatively fair and balanced) and the interactions between fellow players.&lt;/p&gt;
&lt;p&gt;A close back-and-forth match, win or lose? Fun. Matches that end with two or more teammates screaming at each other over their microphones? Unfun. A game where a player gives up and sits inactive waiting for the game to end? Also unfun.&lt;/p&gt;
&lt;p&gt;Unfortunately, gamers make the culture of argument, insulting quips, and discourse on sites like Reddit look like a classy dinner party. I was called (or witnessed a teammate being called) many different slurs, racial and otherwise, most of which were not even accurate to me when considering their intended recipients. I experimented with being sympathetic: “Hey, sorry I’m not playing well today, I’ll swap characters and try to play better.” Occasionally this helped and they apologized; often it made the abuse worse because they knew that I had heard the original comment. Anecdotally, most of these players using voice communication to hurl abuse sounded like adults, not the teenagers one might expect.&lt;/p&gt;
&lt;p&gt;Some trolls, upset that their verbal abuse garnered no response, would simply choose to stop playing and “throw” the game to punish their teammates and all but guarantee a loss. This has been a typical learned behavior in online competitive games for years, as it deflects personal responsibility for the game outcome from the thrower, as well as offers an additional avenue of frustrating their teammates.&lt;/p&gt;
&lt;p&gt;Most of the biggest issues with player interactions in &lt;em&gt;Overwatch 2&lt;/em&gt; ― and really, every online game — are enumerated by the parent categories in the game’s reporting system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abusive chat&lt;/li&gt;
&lt;li&gt;Gamethrowing/griefing&lt;/li&gt;
&lt;li&gt;Cheating&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Which clearly aren’t enforced very well, as I encountered behavior against Blizzard’s “Code of Conduct” in the majority of matches I played. There’s a joke in there somewhere about the game servers being empty if they actually enforced those rules. But, it’s a good place to start for a list of what variables make a match of an online shooting game unfun when a player on either team is engaging in one of the above behaviors. To this list I would add:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The match is overly one-sided and does not feel like a competition among two teams of similar skill&lt;/li&gt;
&lt;li&gt;A player on either team abandons the game (which directly results in the above outcome)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s worth noting that players can mute all forms of communication and play the game silently. Which may improve enjoyment for those who get upset having blame, abuse, and namecalling directed at them. At least for &lt;em&gt;Overwatch 2&lt;/em&gt;, however, I don’t think this takes the percent of enjoyable matches anywhere near half. Aggrieved players have other methods of attempting to punish teammates who cannot hear them.&lt;/p&gt;
&lt;p&gt;After that very first match of &lt;em&gt;Overwatch 2&lt;/em&gt; I had enough content to write an essay. After twenty hours I had enough observations to realize little had changed since I left online games, and all of my past experiences were as valid as ever. Despite that I felt a slight pull to keep playing, and slip back into old habits. I had to ask myself:&lt;/p&gt;
&lt;p&gt;If I’m not having fun most of the time, and well aware of all the psychological and design tricks to get me to keep playing this game, why do I want to keep playing?&lt;/p&gt;
&lt;p&gt;The fun matches of a game are incredibly fun. But as noted, these are a minority and the remainder of matches are unremarkable at best. The (not infrequent) bad matches are really quite terrible, possibly downright hostile to one’s mental health. This leads to a variable reinforcement schedule as proposed by B.F. Skinner in his research on the resilience of learned behavior in rats. Gamers subconsciously recognize that if they keep queuing into matches, they will eventually get an incredibly fun match. One where they participate in making winning plays, get praised by friendly teammates, and (at least for a brief moment) demonstrate a level of skill possibly on par with the professional players. Every other match in between is simply filler; a hole in a punch card to earn a ticket towards that experience.&lt;/p&gt;
&lt;p&gt;The result is that the &lt;em&gt;idea&lt;/em&gt; of online gaming is always better than the reality. I think it has something to do with the selective memories we form from our time playing games. You remember your best moments, best plays, the most cooperative and friendly teams you’ve played on, the humble yet deserved losses. These are the things that stand out amidst a pile of hundreds of hours of time playing on autopilot, getting berated by teammates, failing to hit the shots you feel you should have, getting stomped on by players much better than you who don’t belong at your rank but are abusing the system, or realizing that whether your rank in the game stays the same or goes up or down it doesn’t really mean anything at all when you exit the game.&lt;/p&gt;
&lt;p&gt;What is the point of modern online games? Ideally you’ll participate in the microtransaction economy and buy the cosmetic items or whatever. If, like me, you don’t care about that stuff and refuse to spend money on it, you still have value. You’re a number in a column on a report of “Monthly Active Players” to show the shareholders. You keep the game populated and the queue times reasonable for the players that do spend.&lt;/p&gt;
&lt;p&gt;In return, you’ll get an occasional controlled dose of fun injected through your eyeballs and directly into your brain. Whether this pattern comes about through happenstance or intentional rigging, does it really even matter? You close the game and you’re exactly the same as you were when you opened it. You were too distracted to work out, again. You still have to do the dishes. You still have to go to work or school tomorrow. Escapism is a loan, and debts must be paid back.&lt;/p&gt;
&lt;p&gt;There are few moments of studied self-reflection deeper than what is experienced after spending one’s evening losing five matches in a row of an online video game while getting called every name under the sun by strangers on the internet. Yet some people return the very next day for more. As for me, I knew my experiment had to end at the point where I could have instead read three or four books during the total time I had spent playing.&lt;/p&gt;
&lt;p&gt;I uninstalled &lt;em&gt;Overwatch 2&lt;/em&gt; from my computer a couple of weeks ago. I won’t be going back, to that game or any other online game. I had learned what I set out to learn, which was mostly what I expected. Had online gaming gotten worse since I left? Or was it roughly the same, and it was my perspective that had shifted? In any case, the fun seemed harder to find and the toxicity far too easy.&lt;/p&gt;
&lt;p&gt;Perhaps so many players online are upset precisely because they understand the diminishing value proposition and the opportunity costs in front of them. As the fun in online gaming gets harder to find, the search for it becomes ever more desperate, leading to frustration boiling over.&lt;/p&gt;
&lt;p&gt;I’ve got many more thoughts about this topic, and thus far have only scratched the surface. If you have a personal experience with gaming addiction or quitting video games that you’d like to share to contribute to my future work, please reach out via email.&lt;/p&gt;</content:encoded></item><item><title>Is Reddit Really Worth $6.4B+? Should You Short RDDT?</title><link>https://jacobdesforges.com/reddit-ipo/</link><pubDate>Thu, 21 Mar 2024 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/reddit-ipo/</guid><description>&lt;p&gt;Reddit finally goes public today, March 21 on the NYSE under the ticker symbol RDDT. As Reddit prepares to offer its shares to the public following years of speculation and rumors, the sentiments of some site users and investors could not be more opposed.&lt;/p&gt;
&lt;p&gt;The top comment in an /r/investing thread&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; with over 600 upvotes by user “carsonthecarsinogen” claims to have not seen “a single bullish argument” for Reddit’s IPO. Another highly-upvoted comment states that the IPO will be “a dumpster fire.” The first comment I can find by a user claiming that they will actually participate in the IPO has only 10 upvotes, far down the page under a dozen comment threads filled with mostly negative sentiment.&lt;/p&gt;</description><content:encoded>&lt;p&gt;Reddit finally goes public today, March 21 on the NYSE under the ticker symbol RDDT. As Reddit prepares to offer its shares to the public following years of speculation and rumors, the sentiments of some site users and investors could not be more opposed.&lt;/p&gt;
&lt;p&gt;The top comment in an /r/investing thread&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; with over 600 upvotes by user “carsonthecarsinogen” claims to have not seen “a single bullish argument” for Reddit’s IPO. Another highly-upvoted comment states that the IPO will be “a dumpster fire.” The first comment I can find by a user claiming that they will actually participate in the IPO has only 10 upvotes, far down the page under a dozen comment threads filled with mostly negative sentiment.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;CNBC&lt;/em&gt; reported that “Reddit Power Users Balk at Chance to Participate in IPO as Wall Street Debut Nears”&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;, referring to the “Directed Share Program” setting aside 8% of pre-IPO shares mostly for Reddit users and moderators who have contributed to the site over the years, as well as family and friends of employees. The DSP has different priority tiers depending on how much karma a user has amassed or how many moderator actions they have performed. Perhaps &lt;em&gt;The Verge&lt;/em&gt; was most succinct in summarizing user sentiment with an article titled, “A Lot of Redditors Hate the Reddit IPO.”&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;But, Redditors don’t have to buy — or like — the Reddit IPO for it to be successful (at least initially). In an exclusive story citing confidential sources, &lt;em&gt;Reuters&lt;/em&gt; claims the Reddit IPO is “currently between four and five times oversubscribed,”&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; indicating that there are that many times more applications to purchase shares of RDDT than exist, which could be a bullish signal for Reddit’s initial trading.&lt;/p&gt;
&lt;p&gt;However, this could simply be investors who are interested in investing in &lt;em&gt;any&lt;/em&gt; IPO, not specifically Reddit, and playing the numbers for an “IPO pop.” Data from the Nasdaq exchange of companies’ initial listings between 2008—2020 show that only 31% of IPOs declined in price on their first trading day.&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt; Statistically, swing trading an IPO for its first day on the market has historically been a winning proposition on average. We don’t know what percentage of investors who have subscribed to the Reddit IPO are just looking to try and get allocated some shares in the hopes of making a quick buck off day one price action, and who otherwise have no interest in the company’s prospects as a long-term investment.&lt;/p&gt;
&lt;p&gt;Reddit’s Form S-1 filed with the US Securities and Exchange Commission&lt;sup id="fnref:6"&gt;&lt;a href="#fn:6" class="footnote-ref" role="doc-noteref"&gt;6&lt;/a&gt;&lt;/sup&gt; is the primary source for all information related to their IPO. From it, we can determine that Reddit is offering 22 million shares to the public. About 2/3 of these shares (15,276,527 to be precise) are being sold by Reddit, Inc. and another 6,723,473 shares are coming from existing shareholders.&lt;/p&gt;
&lt;p&gt;Of those selling stockholders, it’s clear that Reddit CEO Steve Huffman and COO Jen Wong are the biggest individual beneficiaries. Huffman will sell 500,000 shares, and Wong will sell 514,000 shares. At the top of the expected IPO price range of $31–34 per share, this would be $17 million for Huffman, a nice paycheck nineteen years after he co-founded Reddit. Huffman is cashing out 10.7% of his stake in Reddit, and Wong 24.2% of her stake. Huffman directly retains just 3.3% of voting power in the company that he co-founded nearly two decades ago.&lt;/p&gt;
&lt;p&gt;Interestingly, none of the entities or individuals identified in the S-1 as owning more than 5% of Reddit (a mandatory disclosure threshold to the SEC and the public) are offering any shares for sale. These include Advance Magazine Publishers Inc. (the parent company of Condé Nast, which purchased Reddit in 2006), FMR LLC, entities affiliated with Quiet Capital and Tacit Capital, entities affiliated with Sam Altman (CEO of OpenAI), entities associated with Tencent, and entities associated with Vy Capital. This makes some sense as many of these entities acquired shares in Reddit’s 2021 Series E and Series F filings for $42.47 per share and $61.79 per share respectively, therefore selling at the IPO price would mean realizing a loss on this investment.&lt;/p&gt;
&lt;p&gt;There will potentially be 189,109,905 shares of RDDT outstanding, if the underwriters exercise their over-allotment option in full, and including issuable stock options and RSUs. (Many articles claim 188.7 million shares, which I cannot replicate and seems like a copy and paste error from some initial outlet that forgot to add in the unissued RSUs — modern journalism sure is impressive.) At the top of the $34 per share IPO range, Reddit would thus have a valuation of over $6.4 billion. This would currently put it in 826th position among American companies when ranked by market capitalization&lt;sup id="fnref:7"&gt;&lt;a href="#fn:7" class="footnote-ref" role="doc-noteref"&gt;7&lt;/a&gt;&lt;/sup&gt;, hanging out between Post Holdings (the cereal company) and Choice Hotels International.&lt;/p&gt;
&lt;p&gt;A $6.4 billion market cap is a significant downgrade from Reddit’s estimated $10 billion post-money valuation in the August 2021 private fundraising round led by Fidelity Management&lt;sup id="fnref:8"&gt;&lt;a href="#fn:8" class="footnote-ref" role="doc-noteref"&gt;8&lt;/a&gt;&lt;/sup&gt;. In fact we first saw Reddit submit for a confidential IPO with the SEC in December 2021, likely riding high on their Series F valuation, but the IPO obviously did not happen until now. It’s probable that Reddit got skittish due to the widespread talk of a recession and general decline of around 25% in the S&amp;amp;P 500 between January and October of 2022. With major market indices now back at all-time highs, investors are clearly optimistic about the US economy once again, providing a more comfortable environment for a speculative technology firm to go public in.&lt;/p&gt;
&lt;p&gt;I asserted in &lt;em&gt;You Should Quit Reddit&lt;/em&gt; that Reddit’s value generated per user in 2020 was among the lowest of any social media platforms. And it reflects on their valuation, despite being one of the most-visited websites in the world. As of today, Meta (NASDAQ: META) has a valuation of $1.28 trillion. Twitter/X although now privately owned by Elon Musk was valued at $12.5 billion by major shareholder Fidelity just a few months ago.&lt;sup id="fnref:9"&gt;&lt;a href="#fn:9" class="footnote-ref" role="doc-noteref"&gt;9&lt;/a&gt;&lt;/sup&gt; Snapchat (NYSE:SNAP) has a valuation of $18.39 billion. Hell, Pinterest (NYSE: PINS) has a valuation of $23.07 billion.&lt;/p&gt;
&lt;p&gt;Globally, Reddit’s annual Average Revenue Per User (ARPU) was $12.31 in 2023, $11.65 in 2022, and $8.98 in 2021 as they revealed in their S-1 filing. My estimate for 2020 based on the little public data Reddit released was $2.67, so perhaps this was a bit low, but then again the Q1 2021 data they released was a quarterly ARPU of $1.44 per user, the lowest by far in the three years of data shown in this filing, and it’s possible that most or all of the quarters in 2020 were lower than this.&lt;/p&gt;
&lt;p&gt;Of the major social media companies only Pinterest is worse at monetizing their users than Reddit; in 2023 Pinterest’s global annual ARPU was $6.46.&lt;sup id="fnref:10"&gt;&lt;a href="#fn:10" class="footnote-ref" role="doc-noteref"&gt;10&lt;/a&gt;&lt;/sup&gt; Pinterest claimed 498 million monthly active users in Q4 2023, whereas Reddit claimed 73.1 million daily active uniques and 267.5 million weekly active uniques in their S-1 filing. Pinterest lost $35 million in 2023, and only once made an annual profit in 2021. PINS is down over 60% from its all-time-high in 2021.&lt;/p&gt;
&lt;p&gt;We also learn from the filing that Reddit has still never made an annual profit in nearly 2 decades of existence, although their net losses do appear to be decreasing. In 2022, Reddit lost a total of $158.5 million; in 2023 their losses declined to $87 million. Additionally, it was recently announced in February 2024 that Reddit has entered into a $60 million per year deal with Google to sell user comment data for the purposes of Artificial Intelligence model training,&lt;sup id="fnref:11"&gt;&lt;a href="#fn:11" class="footnote-ref" role="doc-noteref"&gt;11&lt;/a&gt;&lt;/sup&gt; which would get them most of the way towards net zero profit for 2024. If they’re able to grow their advertising income just a little bit on top of this, it’s conceivable that Reddit could report their first annual profit in 2024. To achieve a price-to-earnings ratio of 50, which is still quite high but reasonable for a growing technology company, Reddit would need to make an annual profit of $128 million at a per-share price of $34.&lt;/p&gt;
&lt;p&gt;So at the very least, I’d conclude that Reddit is a less worse investment than Pinterest. It could even signal that Reddit is undervalued, relative to what market participants are willing to pay for a non-profitable social media company that primarily makes money on serving advertisements to users.&lt;/p&gt;
&lt;p&gt;In pre-market trading on IPO day, we indeed see that Reddit has targeted the top of their IPO range and will be opening at $34 per share:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/RDDT_IPO.png" alt="" &gt;
&lt;/figure&gt;
 &lt;/p&gt;
&lt;h2 id="cashing-in-and-selling-out-on-authenticity"&gt;Cashing in and selling out on authenticity&lt;/h2&gt;
&lt;p&gt;Some variation of the word “authentic” appears 39 times in Reddit’s SEC S-1 filing. For example, “Reddit content provides authentic, human perspectives across almost any topic imaginable.”&lt;/p&gt;
&lt;p&gt;I wrote in Chapter 22 of &lt;em&gt;You Should Quit Reddit&lt;/em&gt; on continuing to use the site for the few places it still provides value, such as a crowdsourcing tool for product reviews and opinions, and technical troubleshooting. Several readers sent me emails reporting that they had stopped browsing Reddit completely, only occasionally navigating in via a search engine when the Reddit page appeared to be the only result that contained a discussion between actual humans.&lt;/p&gt;
&lt;p&gt;Taking advantage of that presumed authenticity provides ripe opportunities for many different actors, be they profit-seeking individuals, motivated nation states, or simply trolls looking to get their kicks in. Anyone who has played with OpenAI’s GPT models has seen how quickly LLM’s are improving over time, and although text generated by the models often has certain “tells” to those who are familiar with it, it’s not hard to imagine their output becoming indistinguishable from most human-generated text in the near future.&lt;/p&gt;
&lt;p&gt;Reddit’s deal with Google to sell user-generated text for AI training has an ironic undertone in that the goal of improving AI directly degrades authenticity on Reddit. I postulate that in the short-term this income stream will decline to zero — Reddit will be flooded with increasing volumes of AI-generated content, and as the two become increasingly indistinguishable it will become more computationally intensive and eventually impossible to filter down to solely human-generated content.&lt;/p&gt;
&lt;p&gt;The income stream of selling user-generated data was only made available by Reddit restricting their API with the changes that went into effect on June 30, 2023. Companies like OpenAI had already made off with a bunch of Reddit data to train their models on under the previously free and open Reddit API policy. At the time, Redditors launched their failed “protest” primarily motivated by losing out on their 3rd party smartphone applications (many of which were forced to shut down due to claims that Reddit’s API pricing was prohibitive). It’s clear that Reddit, Inc. was able to kill two birds with one stone in that move. The “protest” was quantitatively a complete failure anyway; Reddit’s ARPU rose each quarter in 2023. Clearly, an insignificant number of users actually ended up quitting the site.&lt;/p&gt;
&lt;p&gt;Beyond AI, it seems more and more humans are attempting to use Reddit to turn a profit. Here’s a screenshot I took a few weeks ago of the top result after Googling “best grill reddit”:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/reddit_affiliatespam.png" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;We see that the original post was made over one year ago, however a red flag is that the top comment is only 11 days old. Cleverly, the user doesn’t directly drop an affiliate link to Amazon (which are quite easily identified by Reddit’s AutoModerator), but links to a LinkedIn blog review which hosts the Amazon affiliate link. Nobody is hanging out in an over one year old Reddit thread and voting on comments, so that user clearly controls many bots, or purchased upvotes from an upvote seller to ensure that their comment ended up on top. A non-critical reader would be funneled from a search engine right to that user’s affiliate link page, and potentially purchase the product due to manufactured consensus.&lt;/p&gt;
&lt;p&gt;I looked for Reddit threads ranking highly in Google search results for several other products out of curiosity and a good portion of them contained similar behavior by affiliate marketers. They are cashing in on the presumed authenticity of Reddit threads in search results, and undermining it in the process. Reddit’s inability (or disinterest) to detect and prevent behavior like this does not bode well for the company keeping its reputation of hosting authentic discussions, which it clearly identifies as a core aspect of its appeal in the S-1 filing.&lt;/p&gt;
&lt;p&gt;On March 8, Reddit also unveiled a new suite of tools for businesses advertising on Reddit, called Reddit Pro. It’s described as “a free suite of tools for businesses to also establish and grow a meaningful organic presence on Reddit. These tools will transform the way businesses engage on our platform, and in turn, connect people with the businesses they are most interested in.”&lt;a href="https://jacobdesforges.com/reddit-ipo/#fn12"&gt;[12]&lt;/a&gt; The tool suite is further described as containing AI-driven (there’s the buzzword) insights that will help businesses find content relevant to their specific category, as well as allow specific brands to see where they’re mentioned on the platform.&lt;/p&gt;
&lt;p&gt;Reddit Pro is still in beta, but I’m imagining that if a user mentions Doritos in a comment, a Frito-Lay controlled account would get a ping to engage with the content. My gut feeling is that Reddit Pro will increase the visibility of big brands especially in comment sections, and the eventual pricing will determine whether smaller brands see it as a worthwhile expenditure or will continue astroturfing on the platform.&lt;/p&gt;
&lt;p&gt;If you thought Reddit was done selling out leading up to the IPO, here’s a whopper: “Free Form Ads” were announced on March 14, billed as letting advertisers “advertise like a Redditor.” The new ad type will allow combining multiple media types such as text, image, and video. “As our most native ad format yet, free-form ads are designed to look and feel similar to the type of content Redditors share with each other, inviting maximum engagement from the community.”&lt;sup id="fnref:12"&gt;&lt;a href="#fn:12" class="footnote-ref" role="doc-noteref"&gt;12&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;I wrote in my book how Reddit’s 2018 redesign was done primarily with the focus of increasing advertising revenue, by increasing the number of ads that users would encounter, as well as making the advertisements look more like content created by genuine users. There’s nothing to extrapolate here with Free Form Ads; Reddit, Inc. comes right out and says they’re designed to blend in with user-created content more than ever before. Reddit boasts their results from early testing: “we’ve seen free-form ads outperform all other ad types in average click through rate (CTR) by 28%, as well as increased community engagement when comments are enabled.”&lt;/p&gt;
&lt;p&gt;I’m curious whether these new ads will be on old Reddit, or only served to new Reddit users. I’m not hanging out on Reddit to find out, so if any readers see a Free Form Ad, please email a link to it my way.&lt;/p&gt;
&lt;p&gt;From a business perspective, these are some big announcements from Reddit that could be the boost in advertisement revenue they need to get over the threshold of profitability in 2024. But as already pointed out, there’s a potential downside here in that Reddit is further selling out its reputation for authentic discussion by increasing the penetration and integration of advertisements into users’ feeds. Perhaps they’re confident in the addictiveness of their product. After all, Reddit has the backend metrics to point to what an utter failure the API change protests were. If most users didn’t go anywhere after staging a principled stand against the site, chances are they’ll stick around when there’s a couple more ads in their feed.&lt;/p&gt;
&lt;h2 id="will-i-be-shorting-rddt"&gt;Will I be shorting RDDT?&lt;/h2&gt;
&lt;p&gt;I’m a boring, straightforward index fund investor and I almost never dabble in investing in individual companies. Given all the research and thought about Reddit I’ve done, I feel like I have a decent amount of knowledge about the company which at least warrants a look.&lt;/p&gt;
&lt;p&gt;I will say that naked shorting is incredibly foolish and probably shouldn’t be done by most retail investors. If the stock doubles in price, your position is liquidated. If the stock goes to zero, you double the money you bet on it. It’s really just a terrible deal when one considers how much capital they’d need to risk in order to make an impactful profit from a stock declining.&lt;/p&gt;
&lt;p&gt;In the near future I would consider some put options on Reddit, especially if the stock price climbs substantially following the IPO and volatility dies down. However, I do think 2024 is going to be a good year for Reddit, Inc. financially, and it shouldn’t be underestimated how much a tech darling stock might rally once it has passed the bar of no longer bleeding money on an annual basis.&lt;/p&gt;
&lt;p&gt;My big takeaway here is that it doesn’t matter if I &lt;em&gt;personally&lt;/em&gt; think Reddit sucks and hosts little more than shallow entertainment, ragebait, and argumentative misanthropes. Clearly, more people than ever before are still using the site. It wouldn’t be the first example of a company that makes a profit on a product that is detrimental to its consumers.&lt;/p&gt;
&lt;p&gt;A reader named Greg wrote in to tell me that he found my book after being driven to his wit’s end by seeing what looked like GPT-generated stories getting to the front page of Reddit on a daily basis. Greg writes in part, “It seemed like someone was prompting ChatGPT to write them a story from the perspective of a Redditor experiencing cheating in their relationship and users were eating them up. I was being driven insane by being the only sane person exclaiming at my monitor that the story was fake while seeing thousands of people collectively waste hundreds of hours of their life typing providing the OP advice and dishing out judgement as if it were real.”&lt;/p&gt;
&lt;p&gt;As distasteful as I find this current state of Reddit and the World Wide Web in general, it may signal that there is indeed a market of hundreds of millions of people who will happily spend their hours engaging with a saccharine, repetitive, AI-generated hellhole filled to the brim with ads.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;“Reddit Is Offering Redditors the Chance to Purchase Stock at the Same Price as Institutional Investors When They IPO. Is There Any Chance This Is a Good Investment?” &lt;em&gt;Reddit&lt;/em&gt;, &lt;a href="https://old.reddit.com/r/investing/comments/1b0n2eo/reddit_is_offering_redditors_the_chance_to/"&gt;https://old.reddit.com/r/investing/comments/1b0n2eo/reddit_is_offering_redditors_the_chance_to/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Vanian, Jonathan. “Reddit Power Users Balk at Chance to Participate in IPO as Wall Street Debut Nears.” &lt;em&gt;CNBC&lt;/em&gt;, CNBC, 20 Mar. 2024, &lt;a href="https://cnbc.com/2024/03/20/reddit-power-users-balk-at-chance-to-participate-in-ipo-as-debut-nears.html"&gt;https://cnbc.com/2024/03/20/reddit-power-users-balk-at-chance-to-participate-in-ipo-as-debut-nears.html&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Lopatto, Elizabeth. “A Lot of Redditors Hate the Reddit IPO.” &lt;em&gt;The Verge&lt;/em&gt;, 24 Feb. 2024, &lt;a href="https://theverge.com/2024/2/24/24081441/reddit-shares-redditor-ipo-user-risk"&gt;https://theverge.com/2024/2/24/24081441/reddit-shares-redditor-ipo-user-risk&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Wang, Echo. “Exclusive: Reddit’s IPO as Much as Five Times Oversubscribed, Sources Say.” &lt;em&gt;Reuters&lt;/em&gt;, 17 Mar. 2024, &lt;a href="https://reuters.com/markets/deals/reddits-ipo-much-five-times-oversubscribed-sources-say-2024-03-17/"&gt;https://reuters.com/markets/deals/reddits-ipo-much-five-times-oversubscribed-sources-say-2024-03-17/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;Mackintosh, Phil. “Trends in IPO Pops.” &lt;em&gt;Nasdaq&lt;/em&gt;, 4 Mar. 2021, &lt;a href="https://nasdaq.com/articles/trends-in-ipo-pops-2021-03-04"&gt;https://nasdaq.com/articles/trends-in-ipo-pops-2021-03-04&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:6"&gt;
&lt;p&gt;Reddit, Inc (2024). &lt;em&gt;Unites States Securities and Exchange Commission Form S-1, Amendment 3&lt;/em&gt;. Retrieved from  Securities and Exchange Commission website: &lt;a href="https://sec.gov/Archives/edgar/data/1713445/000162828024011789/reddit-sx1a3.htm#i1b9a579e78a34dfa99f7f26daeec195b"&gt;https://sec.gov/Archives/edgar/data/1713445/000162828024011789/reddit-sx1a3.htm#i1b9a579e78a34dfa99f7f26daeec195b&lt;/a&gt;_106.&amp;#160;&lt;a href="#fnref:6" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:7"&gt;
&lt;p&gt;“Largest American Companies by Market Capitalization.” &lt;em&gt;CompaniesMarketCap.Com&lt;/em&gt;, &lt;a href="https://companiesmarketcap.com/usa/largest-companies-in-the-usa-by-market-cap/"&gt;https://companiesmarketcap.com/usa/largest-companies-in-the-usa-by-market-cap/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:7" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:8"&gt;
&lt;p&gt;“Series F - Reddit - 2021-08-12.” &lt;em&gt;Crunchbase&lt;/em&gt;, &lt;a href="https://crunchbase.com/funding"&gt;https://crunchbase.com/funding&lt;/a&gt;_round/reddit-series-f–1adb717d.&amp;#160;&lt;a href="#fnref:8" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:9"&gt;
&lt;p&gt;Brodkin, Jon. “Since Elon Musk’s Twitter Purchase, Firm Reportedly Lost 72% of Its Value.” &lt;em&gt;Ars Technica&lt;/em&gt;, 2 Jan. 2024, &lt;a href="https://arstechnica.com/tech-policy/2024/01/since-elon-musks-twitter-purchase-firm-reportedly-lost-72-of-its-value/"&gt;https://arstechnica.com/tech-policy/2024/01/since-elon-musks-twitter-purchase-firm-reportedly-lost-72-of-its-value/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:9" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:10"&gt;
&lt;p&gt;“Pinterest Announces Fourth Quarter and Full Year 2023 Results.” &lt;em&gt;Pinterest — Investor Relations&lt;/em&gt;, &lt;a href="https://s23.q4cdn.com/958601754/files/doc_earnings/2023/q4/earnings-result/Q423-PressRelease.pdf"&gt;https://s23.q4cdn.com/958601754/files/doc_earnings/2023/q4/earnings-result/Q423-PressRelease.pdf&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:10" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:11"&gt;
&lt;p&gt;Tong, Anna, et al. “Exclusive: Reddit in AI Content Licensing Deal with Google | Reuters.” &lt;em&gt;Reuters&lt;/em&gt;, 21 Feb. 2024, &lt;a href="https://reuters.com/technology/reddit-ai-content-licensing-deal-with-google-sources-say-2024-02-22/"&gt;https://reuters.com/technology/reddit-ai-content-licensing-deal-with-google-sources-say-2024-02-22/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:11" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:12"&gt;
&lt;p&gt;“Advertise like a Redditor with Our All-New, Completely Unique Ad Format: Free-Form Ads.” &lt;em&gt;Reddit, Inc.&lt;/em&gt;, 14 Mar. 2024, &lt;a href="https://redditinc.com/blog/advertise-like-a-redditor-with-our-all-new-completely-unique-ad-format-free-form-ads"&gt;https://redditinc.com/blog/advertise-like-a-redditor-with-our-all-new-completely-unique-ad-format-free-form-ads&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:12" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>4 Tap Keezer Build Using A Hisense Chest Freezer</title><link>https://jacobdesforges.com/keezer-build/</link><pubDate>Sat, 13 Jan 2024 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/keezer-build/</guid><description>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer1-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;In between home renovation projects this fall, I slipped in a little personal project. I was tired of bottling five gallon batches of beer and figured I deserved to have some homebrew on draft. We&amp;rsquo;re also big seltzer drinkers so I was certainly drawn to the possibility of force carbonating non-alcoholic drinks at home as well.&lt;/p&gt;
&lt;p&gt;In the decision between a kegerator (a portmanteau of keg and refrigerator) versus a keezer (keg/freezer) I ultimately decided on the keezer due to the lower cost per cubic foot, the ability to complete the project without drilling through or otherwise permanently modifying the unit (thus keeping the warranty), and the ease of keeping the CO2 tank on the compressor hump inside for neatness.&lt;/p&gt;</description><content:encoded>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer1-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;In between home renovation projects this fall, I slipped in a little personal project. I was tired of bottling five gallon batches of beer and figured I deserved to have some homebrew on draft. We&amp;rsquo;re also big seltzer drinkers so I was certainly drawn to the possibility of force carbonating non-alcoholic drinks at home as well.&lt;/p&gt;
&lt;p&gt;In the decision between a kegerator (a portmanteau of keg and refrigerator) versus a keezer (keg/freezer) I ultimately decided on the keezer due to the lower cost per cubic foot, the ability to complete the project without drilling through or otherwise permanently modifying the unit (thus keeping the warranty), and the ease of keeping the CO2 tank on the compressor hump inside for neatness.&lt;/p&gt;
&lt;p&gt;Most of the online guides I found were lacking in detail especially at key decision points so here&amp;rsquo;s what I worked out. This is not a cheap project, the chest freezer and all the hardware to convert it cost me about $800, which is significantly less expensive than commercial options. The CO2 tank and kegs are an additional cost, but those don&amp;rsquo;t come with the commercial units either.&lt;/p&gt;
&lt;h3 id="parts-list-and-tools"&gt;&lt;strong&gt;Parts list and tools&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Here&amp;rsquo;s a complete list of what I purchased:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Item&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Purchase Location&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hisense 7 cu ft chest freezer (LFC070N6AWE)&lt;/td&gt;
&lt;td&gt;Lowe&amp;rsquo;s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Taprite 12218 dual-gauge CO2 regulator&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(4x) Kegco SH316NA-518-ASC Beer Shank, 5 1/8&amp;quot;, Stainless Steel&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ferroday 4-way 5/16&amp;quot; gas manifold&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5/16&amp;quot; ID red gas tubing, 25 feet&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EVABarrier 4mm ID tubing, 39 feet&lt;/td&gt;
&lt;td&gt;MoreBeer.com&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(4x) Ferroday flared swivel connectors for ball lock kegs&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inkbird ITC-308 Digital Temperature Controller &lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(4x) MrBrew 304 stainless steel &amp;ldquo;upgraded&amp;rdquo; beer faucet&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MrBrew plastic tap handles, 5 pack&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Yaebrew 19&amp;quot; stainless steel drip tray&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(20x) Adjustable 6–12mm stainless steel hose clamps&lt;/td&gt;
&lt;td&gt;Amazon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(2x) 8 foot 2x4&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R5 (or higher) foam insulation board&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(4x) Inside corner bracket w/ screws&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liquid nails adhesive&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Silicone caulk&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Teflon tape&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expanding spray foam&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wood glue&lt;/td&gt;
&lt;td&gt;Hardware Store&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Tools required:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Miter saw&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Screwdrivers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Drill&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Utility knife&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;7/8&amp;quot; spade bit&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adjustable wrench&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ratchet strap or corner clamps&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Caulk gun&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="starting-the-build"&gt;&lt;strong&gt;Starting the build&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;First, I unscrewed the hinges from the lid in preparation for removing it. One of the hinges is spring-loaded to keep the lid open. If it folds shut it will be difficult to open again. I ran a zip tie through it to hold it in the open position, which will come in handy later:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer2-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The other hinge without a spring can be removed and easily folds out of the way:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer3-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;On the back of the freezer is a wire going into a little plastic cover, unscrew the cover, there should be enough slack to raise the lid up 4&amp;quot;, as well as to turn the lid and leave it leaning against the freezer while you work on it. I&amp;rsquo;m pretty sure this only powers the light in the lid, so if you want a collar taller than 4&amp;quot; you could almost certainly disconnect this:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer4-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The core of any keezer build is the collar, a wood layer added between the freezer and lid through which the taps are passed and all mounted hardware is attached. I measured the outside of the lid mating surface at 31.5&amp;quot; by 21 and 5/16&amp;quot;. These would need to be the outer dimensions of my collar. A 45 degree bevel cut looks nicer than a butt joint.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer5-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Next up was to drill the shank holes out of the front of the collar. A 7/8&amp;quot; hole is a perfect fit for the Kegco brand stainless steel shanks. I spaced the holes 4 and 3/8&amp;quot; center-to-center, keeping in mind that they all needed to fit over my 19&amp;quot; drip tray:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer6-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Time to glue up. I used a ratchet strap to hold the collar pieces together while the glue dried, and put some cardboard in between the hardware to prevent it from digging into the wood:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer7-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I waited overnight for the wood glue to dry, then attached the corner brackets before removing the ratchet strap:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer8-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I applied 2 coats of stain, let it dry, and did a test fit of the collar on the freezer. Looking good. You can screw the upper hinge into the wood collar at this point. I used a 1/8&amp;quot; bit to pre-drill the holes which worked well for the screws that this freezer came with.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer9-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Next, I cut the R5 foam board to line the inside of the collar and attached it to the wood with Liquid Nails. The foam board wasn&amp;rsquo;t wide enough, so I taped 2 pieces together for the longer sides. Wood is a poor insulator and the 2x4 has an R-value around 2, so adding the R5 foam takes the collar up to around R7 which will save some money on electricity and help prevent the compressor cycling on as often.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer10-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Of course, the wood and foam together is too thick and the lid will no longer seat properly. So I had to cut out a little inset for the lid to seat into. Luckily we can just take the measurements of the lid seating surface from the freezer, then cut that size into the foam.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer11-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not exactly pretty, but nobody will see it. I actually messed up here and cut too deep, I cut 1/2&amp;quot; deep which I measured off the protrusion on the freezer lid, but I forgot to account for the gasket around the freezer lid offsetting some of that. Probably 1/4&amp;quot; deep would have been more appropriate.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer12-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I used the 7/8&amp;quot; spade bit to drill out the foam through the shank holes I had already made. Then I centered the shank washer over the hole and traced it to determine how much of the foam to cut away so the washer could seat against the wood.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer13-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;You can buy some sort of tap wrench to tighten the shanks down, but I was able to crank them pretty tight using only my hands with a grippy pair of gloves. I also screwed on the faucets at this point, but forgot to take a picture of that. Make sure not to loosen the shank nut as you tighten the faucet on.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer15-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I mounted the gas manifold inside the collar using 2.5&amp;quot; carpenter screws:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer16-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I put a deposit on a 10 pound CO2 tank at my local homebrewing store, so I can just head over and swap it when it runs out. Note that there are grades of CO2, food grade CO2 is 99.9% pure whereas industrial CO2 for welding can contain 0.5% impurities, so where you&amp;rsquo;re sourcing it from does matter, contrary to what random people on Reddit or brewing forums claim.&lt;/p&gt;
&lt;p&gt;I wrapped the tank connector threads in teflon tape then wrenched the regulator onto the CO2 tank outlet. The red gas tubing was very easy to cut and connect up with the hose clamps for extra security.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer17-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Now that the hardest of the interior work was done, the lid can be re-attached. GE brand silicone caulk has a tensile strength of over 200 psi. I put a healthy bead around the lid sealing surface I cut from the foam.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer18-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Five gallons of beer in primary fermentation makes a good weight to hold the lid on while the caulk cures. I left it for 24 hours.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer19-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The lid seems pretty secure, and the caulk easily holds the weight of the collar when using the indented handle on the lid to pull it open. Expanding spray foam came to the rescue to fill in the gap between the lid and the foam board that I cut too deep earlier.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer20-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I also put some spray foam around the shanks, to replace the foam I had to cut away to make holes big enough for the shank washers.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer21-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I had this weather stripping laying around, and I used it to make a better sealing surface between the wooden collar and the freezer.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer22-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s time to start carbonating. I filled a keg with cold filtered water and ran some more red gas tubing from one of the manifold valves, connecting it to one of the ball lock connectors with a 5/16&amp;quot; barb. I opened the CO2 and set the regulator to 25 psi. It should carbonate in a few days. Now is a good time to put some soapy water on the connections and check for any gas leaks.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer23-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The temperature controller will ensure that the liquids don&amp;rsquo;t freeze. I set up the Inkbird ITC-308 according to the provided instructions with a 38F setpoint and a 4F cooling differential. For equipment longevity, you generally want the compressor to cycle on less frequently, and to run longer when it does.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer24-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I ran the temperature probe of the Inkbird in under the collar by the hinge and over the gasket, and taped it to a can of beer. The thermal mass of the beer helps to lower the volatility of the probe measurements compared to just leaving it sitting in air. This further reduces compressor cycle frequency and is a more appropriate approximation of the temperature of the liquid in the kegs, which is what I care about maintaining anyway.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer25-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Getting the EVABarrier tubing over the liquid-side flare connections is a bear. I had to heat it by dipping it into boiling water for 30 seconds, then slowly stretched it out by inserting a couple different sized drill bits into it until it could fit over the 3/16&amp;quot; flares. A swaging tool would have come in handy here. The hose clamps that I bought were pretty aggressive with digging into tubing, so I wrapped the EVABarrier tubing a couple times in electrical tape to give the hose clamp a sacrificial layer to bite into.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer29-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I designed and 3D printed a magnetic holder to attach my drip tray to the outside of the keezer. I really can&amp;rsquo;t recommend drilling into the front face of the freezer — when the compressor runs the front face gets a little warm, suggesting the coolant lines are running behind there. If you have a 3D printer and the same 19&amp;quot; standard drip tray, &lt;a href="https://www.printables.com/model/644095-magnetic-drip-tray-holder-for-keezerkegerator"&gt;you can download my model for free from Printables&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer27-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;All done!&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/keezer28-scaled.jpg" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="lessons-learned-and-general-tips"&gt;&lt;strong&gt;Lessons learned and general tips&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Don&amp;rsquo;t waste your time or money with silicone beverage tubing. Even the FDA and USDA compliant (supposedly) tubing imparted a plasticky taste to my beverages. The EVABarrier brand tubing is a far superior product and you can leave liquid sitting in the lines for days or weeks without it taking on any flavor or even losing carbonation. I will never use anything else when it comes time to replace the lines.&lt;/p&gt;
&lt;p&gt;I also recommend spending a little bit extra up front and getting stainless steel shanks and faucets as opposed to the chromed brass ones. Beer and sparkling water are acidic and the chrome plating will eventually flake off, so starting with the stainless steel will avoid a headache in a few years.&lt;/p&gt;
&lt;p&gt;I have found that 25 psi is an enjoyable level of carbonation for seltzer.&lt;/p&gt;
&lt;h3 id="some-notes-on-co2"&gt;&lt;strong&gt;Some notes on CO2&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/co2pressure.gif" alt="" &gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Most of the contents of a CO2 tank are in the liquid phase. The vapor pressure of a full tank is solely dependent on temperature and (at room temperature or below) will stay constant until the tank is nearly empty.&lt;/p&gt;
&lt;p&gt;If the tank is stored inside the keezer say at 38 F, the pressure gauge will read around 550 psi until the tank has only about 15% of the initial fill volume remaining, and only then will the pressure begin dropping. It&amp;rsquo;s a good indication to start watching closely as the tank will need to be refilled soon.&lt;/p&gt;
&lt;p&gt;The only way to get a precise measurement of how much CO2 remains in the tank is to weigh it and subtract the tare weight stamped on the side of the tank.&lt;/p&gt;
&lt;h3 id="electricity-cost-to-run-a-keezer"&gt;&lt;strong&gt;Electricity cost to run a keezer&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The keezer is surprisingly cheap to operate. Using my PN-1500 electricity meter, I measured its power consumption over a period of nearly two weeks. My keezer used on average 0.18 kW per day. Even with the high electricity prices in Massachusetts, my keezer will cost me only about $20 per year to run.&lt;/p&gt;
&lt;h3 id="stacking-up-the-savings--a-worthy-investment"&gt;&lt;strong&gt;Stacking up the savings — a worthy investment?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;For beer, kegging is more expensive than bottling, assuming one is recycling glass bottles. 4 lb of dextrose is $10 at my local homebrew store, which will carbonate about 13 five gallon batches. By comparison, I paid $38 for 10 lbs of CO2 which I was told I could expect to carbonate 16 to 20 five gallon kegs. Saving the time and hassle of sanitizing and filling fifty bottles of beer is certainly worth something though.&lt;/p&gt;
&lt;p&gt;For seltzer, DIY carbonation is significantly cheaper. I have found that herbal teas work great for flavoring water. My favorite is Celestial Seasonings Lemon Ginger. I steep an entire box in cold filtered water for 24 hours and then remove the teabags. The total cost per keg including the tea and CO2 is around $5.&lt;/p&gt;
&lt;p&gt;Five gallons of store bought seltzer costs between $10 to $30 depending on the brand and container volume, with generic 2 liter bottles of seltzer being the cheapest and cans of name brand seltzer being the most expensive per unit volume.&lt;/p&gt;
&lt;p&gt;Comparing to one liter bottles of Polar brand seltzer, I save at least $10 per keg (based on 75 cents per bottle sale price plus a 5 cent bottle deposit). So at an average of $2 per gallon cost savings, it is certainly possible for an avid seltzer drinker to save money over time with home carbonation, but we&amp;rsquo;re talking in the range of 400+ gallons consumed just to break even with the initial equipment cost.&lt;/p&gt;</content:encoded></item><item><title>11 Days in Airplane Mode</title><link>https://jacobdesforges.com/11-days-in-airplane-mode/</link><pubDate>Sun, 17 Sep 2023 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/11-days-in-airplane-mode/</guid><description>&lt;p&gt;I’ve long relished international vacations as a time to completely disconnect. It’s far more socially acceptable to say that you can’t receive calls or texts for an extended period of time because you’re traveling with no cell service, than to completely drop off the connectivity grid for a week or more spent at home.&lt;/p&gt;
&lt;p&gt;We recently returned from our eleven-day honeymoon to Greece, during which my phone spent the entirety of the trip in airplane mode. I prepared by downloading “offline maps” in Google Maps for the areas that we’d be visiting. Since GPS connects to satellites and not cell phone towers, offline maps work fine for navigation without a data connection.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I’ve long relished international vacations as a time to completely disconnect. It’s far more socially acceptable to say that you can’t receive calls or texts for an extended period of time because you’re traveling with no cell service, than to completely drop off the connectivity grid for a week or more spent at home.&lt;/p&gt;
&lt;p&gt;We recently returned from our eleven-day honeymoon to Greece, during which my phone spent the entirety of the trip in airplane mode. I prepared by downloading “offline maps” in Google Maps for the areas that we’d be visiting. Since GPS connects to satellites and not cell phone towers, offline maps work fine for navigation without a data connection.&lt;/p&gt;
&lt;p&gt;I’m using the application StayFree to monitor screen time on my Android phone, because I find that it has a couple more useful features and retains data for longer than the built-in Digital Wellbeing app.&lt;/p&gt;
&lt;p&gt;My hunch of the need for navigation when walking around dense and unfamiliar cities and islands was correct; around 40% of my total screen time was consumed by Google Maps — which isn’t true “screen time” as you’re not staring at the map the whole time when having it open. But I like to keep Maps in the usage totals to get a relative idea of what I’m using my phone for.&lt;/p&gt;
&lt;p&gt;16% of my screen time went towards camera and photos. 15% was messaging apps and email used when on hotel Wi-Fi, and 10% was consumed by my Android’s launcher (i.e. “in between” time when the screen is on but one is not actively using an application). The remaining 19% was split many ways between various apps such as weather, notes, and my podcast player.&lt;/p&gt;
&lt;h3 id="hardly-a-phone-free-paradise"&gt;Hardly a Phone-Free Paradise&lt;/h3&gt;
&lt;p&gt;While I’m satisfied with minimizing my own smartphone use on vacation to mostly utilitarian tasks, the contrast makes others’ heavy use more apparent. I’m not talking about things like taking pictures or videos. Being able to take decent photos without carrying around a separate digital camera is one of the best features of modern smartphones.&lt;/p&gt;
&lt;p&gt;There were certainly several curious cases such as people scrolling through Instagram Reels or TikTok at the beach or restaurants — giving themselves away by having their phone speakers on in public, spewing that strange disjointed audio that rapidly scrolling through short-form video content produces.&lt;/p&gt;
&lt;p&gt;At dinner on a rooftop restaurant in Santorini, a middle-aged man seated next to us spent the whole time waiting for his food to arrive, and a full five minutes &lt;strong&gt;after&lt;/strong&gt; his meal had been placed in front of him, furiously swiping and pecking away at his phone. His wife looked miserable.&lt;/p&gt;
&lt;p&gt;Here was the sunset view on offer from the restaurant:&lt;/p&gt;
&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="images/santorini.jpg" alt="" &gt;
&lt;figcaption class="image-caption"&gt;View of the towns of Fira and Imerovigli, and the island of Thirasia from the restaurant &amp;lsquo;To Briki&amp;rsquo; in Santorini. We liked it so much we went twice.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Obviously everyone is free to use their devices as much as they wish, and my observations come more from a place of empathy than judgement. A good view with an ocean breeze, great food and wine, some jazz piano… that was certainly the most thoroughly relaxed I have felt in recent memory. It would have been a shame to miss out on the full weight of that experience for whatever is happening on a screen.&lt;/p&gt;
&lt;h3 id="vacation-reading"&gt;Vacation Reading&lt;/h3&gt;
&lt;p&gt;I always strive to get some deep reading done when on vacation. My e-reader is one device that I have no qualms about maximizing my usage of.&lt;/p&gt;
&lt;h4 id="senecas-letters-on-ethics-to-lucilius-trans-graver-and-long"&gt;Seneca’s Letters on Ethics to Lucilius (trans. Graver and Long)&lt;/h4&gt;
&lt;p&gt;This is a book I’ve been reading for a while, very slowly. I find it most valuable to read one letter at a time while trying to digest it. This is an excellent and approachable modern translation. I figured it would be appropriate to try and read some ancient literature while surrounded by all of that history. Since no complete works from the Greek Stoics survived to this day, those of the Roman Stoics like Seneca are the next best thing. The ebook is an absolute steal at just $2 for anybody interested in reading a cornerstone work of Stoic philosophy.&lt;/p&gt;
&lt;h4 id="the-shallows-what-the-internet-is-doing-to-our-brains-by-nicholas-carr"&gt;The Shallows: What the Internet is Doing to Our Brains by Nicholas Carr&lt;/h4&gt;
&lt;p&gt;This is an excellent book that, despite being written in 2010, is still very relevant today, and certain passages are quite prescient in terms of how negative effects of the net on our functions and mental states have intensified. I already knew most of the overarching conclusions from my own reflections and research, however Carr presents a fun narrative, relevant studies, and frequent hard-hitting “so what” moments that I felt expanded my understanding.&lt;/p&gt;
&lt;p&gt;It’s a deep look at the linear mind of the reader versus the mind of the internet browser and ever-connected multitasker. I found the sections on neuroplasticity to be a hopeful answer to the question of whether we as individuals can reverse the detriments of too much exposure to the internet on our brains, although Carr acknowledges that it’s almost certain society as a whole will not be turning back.&lt;/p&gt;
&lt;p&gt;This book is purely investigative, and does not offer anything in the way of solutions to this issue in the way one will find in Cal Newport’s &lt;em&gt;Digital Minimalism&lt;/em&gt; or in Part II of my own book. I reached the end and found myself wishing that Carr had provided some practical advice and personal experiences with disconnecting. He does admit to the reader:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As for me, I’m already backsliding. With the end of this book in sight, I’ve gone back to keeping my e-mail running all the time and I’ve jacked into my RSS feed again. I’ve been playing around with a few new social-networking services and have been posting some new entries to my blog.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don’t let that fault this book too much as I got some wonderful value out of it; perhaps Carr didn’t feel as if he was in a position to offer an antidote. I think &lt;em&gt;The Shallows&lt;/em&gt; easily ranks among the “must reads” for anyone in the early to middling stages of questioning their use of the internet and technology.&lt;/p&gt;
&lt;h4 id="this-naked-mind-by-annie-grace"&gt;This Naked Mind by Annie Grace&lt;/h4&gt;
&lt;p&gt;Utter drivel, and the worst book that I’ve read in years. This is a book marketed as helping anyone question the role of alcohol in their life, where Grace “presents the psychological and neurological components of alcohol use based on the latest science, and reveals the cultural, social, and industry factors that support alcohol dependence in all of us.” I’m always open to questioning my attitudes and assumptions, and I had already decided to take a 30 day break from alcohol upon returning from vacation to see if it made an impact on my life, so I decided to give it a shot on those grounds.&lt;/p&gt;
&lt;p&gt;Very shortly into starting this book, I realized that it is not a book for moderate drinkers to open their mind and question the value of alcohol. It’s a preachy gospel for an alcoholic to attempt to use in order to demonize alcohol at any cost to attempt to save themselves from addiction. I’m shocked at how highly-rated &lt;em&gt;This Naked Mind&lt;/em&gt; is.&lt;/p&gt;
&lt;p&gt;On its surface this gives the impression of being a thoroughly-cited and researched book, however it quickly becomes clear that Grace has no understanding of the scientific method (her background is in marketing/advertising) or of basic concepts such as sampling bias that affect the significance of data. Multiple times in the book she makes the outrageous claim that alcohol is more dangerous and harmful than heroin. Grace asserts that because alcohol can be addictive, we’re all precipitously close to ending up drinking two bottles of wine per night and beers with lunch just like her, and anyone who says they drink in moderation is either lying or will increase their consumption over time. There’s an entire chapter where she claims that nobody actually enjoys the taste of alcoholic beverages, based on the premise that she didn’t like drinking non-alcoholic beer because it was the alcohol she was after. Some of the non-alcoholic beers are pretty good, and I’ve been perfectly content to sip on those.&lt;/p&gt;
&lt;p&gt;I was barely able to get halfway through the book and skimmed the rest, which seemed mostly like repetition of the same concepts over and over, and opinion-as-universal-fact worldview one finds all over Reddit. It’s incredibly rare that I chalk a book up as having zero value, but at least I got some other good reading done on vacation.&lt;/p&gt;
&lt;h3 id="back-in-the-real-world-or-back-from-the-real-world"&gt;Back in the real world, or back from the real world?&lt;/h3&gt;
&lt;p&gt;As our plane descended towards the US to conclude the twelve hour flight, a woman behind us took her phone out of airplane mode around 5,000 feet and began scrolling through TikTok or Reels with her phone volume on. I wondered if she felt a similar relief that a smoker must when they’re finally able to get off the plane and light up that first cigarette.&lt;/p&gt;
&lt;p&gt;Most people waited until landing, as demonstrated by notification sounds chirping out all around the plane. I hesitated for a few minutes. I wasn’t ready to reconnect, despite being fully aware of how impractical that would be long-term. Eventually I followed suit, and my phone buzzed with several text messages and notifications.&lt;/p&gt;
&lt;p&gt;Our first morning back home, I was punished with five different spam calls that didn’t get flagged as such. Almost like they were awaiting my reconnecting. It’s, uh, good to be back?&lt;/p&gt;</content:encoded></item><item><title>In Pursuit of Being Extremely Offline</title><link>https://jacobdesforges.com/in-pursuit-of-being-extremely-offline/</link><pubDate>Mon, 28 Aug 2023 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/in-pursuit-of-being-extremely-offline/</guid><description>&lt;p&gt;I have loved the artful aptness of the phrase “terminally online” for many years, and I used it several times in &lt;em&gt;You Should Quit Reddit&lt;/em&gt; to describe the behaviors of the heaviest users and moderators of the site. However, it wasn’t until I began to step back from over-engaging with the internet that it took on a deeper nuance. There’s some irony added by the fact that people who don’t spend time hanging out in online spaces like Reddit or Twitter have probably never even heard this term.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I have loved the artful aptness of the phrase “terminally online” for many years, and I used it several times in &lt;em&gt;You Should Quit Reddit&lt;/em&gt; to describe the behaviors of the heaviest users and moderators of the site. However, it wasn’t until I began to step back from over-engaging with the internet that it took on a deeper nuance. There’s some irony added by the fact that people who don’t spend time hanging out in online spaces like Reddit or Twitter have probably never even heard this term.&lt;/p&gt;
&lt;p&gt;According to &lt;em&gt;The Daily Dot&lt;/em&gt;’s Jay Hathaway, the similar phrase “Extremely Online” was first used as a descriptor in 2014.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; It was typically capitalized in the style of proper nouns, as if it were some sort of official title, and used in a self-deprecating manner. Some time in the latter half of the 2010s, the synonyms “terminally online” and “chronically online” arose, and soon after also began to be used as dismissive insults.&lt;/p&gt;
&lt;p&gt;Spending a lot of time on the internet is not the sole component of being terminally online. The user also always seems to have their finger on the pulse of current events in internet culture, and likely considers what happens in internet spaces to be of high importance. They either explicitly rank browsing the internet among their hobbies, or at least imply as much by using it as their default way to fill time in their day.&lt;/p&gt;
&lt;p&gt;I am about four years into the journey of reforming my technology habits, the timeline of which I prefer to begin with my first attempt at quitting Reddit in the summer of 2019. As I wrote in my book, it took me over two years of relapses with internet addiction to actually arrive at a successful strategy for leaving Reddit behind for good. And since then, I’ve continued to slowly chip away at the presence of technology anywhere that it does not add value in my life.&lt;/p&gt;
&lt;p&gt;I’m clearly no longer a terminally online person, and I think that I can crown myself as a fairly successful, middle-of-the-road digital minimalist at this point. But can I cut away even more technology, not miss it all, and reclaim more time in my day? I’ve continuously found that the answer is yes. I don’t use the web browser at all on my smartphone anymore. A couple weekends ago, I set the parental controls on my router to completely block all of my devices from the internet between 7 AM and 5 PM on Saturday and Sunday. It was a test of complete disconnection, and it was a huge success in terms of productivity.&lt;/p&gt;
&lt;p&gt;Whatever the next big step in this journey is, I’ve been feeling that there’s some sort of bold, dividing line between it and where I’m at now. That the act of slowly chipping away isn’t revolutionary enough.&lt;/p&gt;
&lt;p&gt;It seems to me that the default state of most digital minimalists is still that of being &lt;em&gt;connected&lt;/em&gt;. They use self-control, practiced habits, and mental fortitude to reform their behaviors in order to resist the pull of addictive technologies and the online world. But surely there’s some mental bandwidth being used to resist always-on technological distractions that could be repurposed for more useful ends if we simply flipped the script, toggled a setting, and kept our devices offline for most of the day.&lt;/p&gt;
&lt;p&gt;I went back to check Cal Newport’s definition in Chapter 2 of &lt;em&gt;Digital Minimalism&lt;/em&gt; to verify that I was not crazy:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A philosophy of technology use in which you focus your online time on a small number of carefully selected and optimized activities that strongly support things you value, and then happily miss out on everything else.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Maybe I’m overfocused on semantics, and what I’m describing is simply a deeper level on a spectrum of digital minimalism, an “extreme digital minimalist” if you will. Or perhaps there’s truly something different here if we start from “a philosophy of technology &lt;strong&gt;disuse&lt;/strong&gt;” that splits the difference between digital minimalism and Luddism.&lt;/p&gt;
&lt;p&gt;It’s the pursuit of progress via perspective shift. Is the glass half-empty (I am a former internet addict who needs to resist the allure of being online), or is it half-full (by maximizing my offline time and using technology only when required, I can live a more productive, meaningful, and present life)?&lt;/p&gt;
&lt;p&gt;I thought that I was clever coming up with the phrase “Extremely Offline” to describe the latter state of being, however it’s already been in use for years. The earliest use of the term that I can find is from 2018. Well, it’s new to me at least, and I like it.&lt;/p&gt;
&lt;p&gt;Precious little things of value that I do in a day outside of work actually require my devices to have an omnipresent internet connection. For example, I wrote this entire post locally on my PC; aside from five minutes of background research and the act of posting it, no internet connection was required. As an experiment, I unplugged my ethernet cable for most of the time spent writing this article, and it felt like I went right into a zone of focus.&lt;/p&gt;
&lt;p&gt;It’s time for me to take the next step. In the near future I’ll be experimenting with and reporting on several practices in pursuit of becoming an Extremely Offline person, which don’t require escaping to the woods or cancelling one’s home internet package.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Hathaway, Jay. “What Does It Mean to Be Extremely Online?” &lt;em&gt;The Daily Dot&lt;/em&gt;, 20 Aug. 2020, &lt;a href="https://www.dailydot.com/unclick/what-does-it-mean-to-be-extremely-online/"&gt;https://www.dailydot.com/unclick/what-does-it-mean-to-be-extremely-online/&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>Why I Ditched Hugo and Went Back to WordPress</title><link>https://jacobdesforges.com/why-i-ditched-hugo-and-went-back-to-wordpress/</link><pubDate>Mon, 14 Aug 2023 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/why-i-ditched-hugo-and-went-back-to-wordpress/</guid><description>&lt;p&gt;Funnily enough, querying this article&amp;rsquo;s title in any search engine generates a flood of results for the exact opposite case — webmasters abandoning WordPress in favor of the static site generator Hugo. I did the same about six months ago to refresh my personal website right before publishing my book.&lt;/p&gt;
&lt;p&gt;My main motivations in switching to Hugo were:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;To improve resource efficiency. My website&amp;rsquo;s home page shrank by over 80%, from around 1 MB of resources to just 187 kB.&lt;/p&gt;</description><content:encoded>&lt;p&gt;Funnily enough, querying this article&amp;rsquo;s title in any search engine generates a flood of results for the exact opposite case — webmasters abandoning WordPress in favor of the static site generator Hugo. I did the same about six months ago to refresh my personal website right before publishing my book.&lt;/p&gt;
&lt;p&gt;My main motivations in switching to Hugo were:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;To improve resource efficiency. My website&amp;rsquo;s home page shrank by over 80%, from around 1 MB of resources to just 187 kB.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To be able to write and publish posts natively in Markdown. I love Markdown, and in fact I wrote my entire book using it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To host a website for dirt cheap; Cloudflare Pages allows one to host a static website for free. I was only paying $1 per month to register my domain.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;My Hugo site achieved all of these goals. What was there to dislike?&lt;/p&gt;
&lt;p&gt;When I started my personal website, I never really planned to do much writing on it. The first iteration of my site was essentially just an online résumé built in WordPress. The second iteration (the Hugo site) I planned to post on two to three times per year, essentially only when I had some sort of announcement related to one of my personal projects.&lt;/p&gt;
&lt;p&gt;Recently though, I started getting ideas for things that I&amp;rsquo;d like to blog about. My continuing journey of digital minimalism, the ever-worsening state of the internet, or whatever eclectic topic that I care about that month. I&amp;rsquo;m not ready to start writing another book yet, these topics don&amp;rsquo;t really work on my finance blog, and I don&amp;rsquo;t need a third website. So I might as well use this one. Expect one or two posts per month moving forward.&lt;/p&gt;
&lt;p&gt;This is where the start of my issues with Hugo began. That phrasing of &amp;ldquo;my issues&amp;rdquo; was intentional, because these really aren&amp;rsquo;t any faults of Hugo&amp;rsquo;s. I am not a programmer. I have a general technical aptitude and I understand the basic fundamentals of coding, so I can figure out how to get CSS to output something looking how I want given enough time and an internet search engine.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;If I&amp;rsquo;m going to use my blog more, it sure would be cool to add a comment section!&amp;rdquo; I thought. And Hugo had several options. Disqus was disqualified immediately due to being bloated and slow.&lt;/p&gt;
&lt;p&gt;Cactus Comments installed relatively painlessly but offered no option of automatic spam filtering. This was a no-go since my other site gets dozens of spam comments per week that are caught by Akismet.&lt;/p&gt;
&lt;p&gt;I then tried Staticman which &lt;em&gt;does&lt;/em&gt; offer spam detection and actually integrates with Akismet&amp;rsquo;s API. After three hours of trying to edit my theme&amp;rsquo;s HTML files to add the comment partials, I had to admit that I had fallen flat on my face.&lt;/p&gt;
&lt;p&gt;Commento actually seemed really neat and easy to integrate with Hugo, but $10 per month for a commenting tool that I wasn&amp;rsquo;t even sure if anybody would use seemed steep. I could upgrade my WordPress hosting to an unlimited number of domains for cheaper. Which gave me an idea born out of frustration&amp;hellip;&lt;/p&gt;
&lt;p&gt;I began messing around with re-building my website in WordPress locally on my machine. 90 minutes later, I had a nicer-looking yet still-minimal site that came with a commenting feature out of the box (this site uses the wpOcean theme). And I finally got the sidebar that I had been struggling on-and-off to add to my Hugo site.&lt;/p&gt;
&lt;p&gt;My home page is currently 958 kB instead of 187 kB, but that still seems reasonable — recently, looking up pizza dough recipes brought me to a blog with a homepage weight of 12 MB! One can still fight against web bloat in WordPress via image optimization, tactful choice of theme, and avoiding an over-reliance on plugins.&lt;/p&gt;
&lt;p&gt;Why did I ditch Hugo for WordPress? Because I&amp;rsquo;m not competent enough at coding, and I&amp;rsquo;d rather be writing than messing around with CSS and HTML.&lt;/p&gt;</content:encoded></item><item><title>"You Should Quit Reddit" Now on Kobo, Google Play, B&amp;N, OverDrive, and More!</title><link>https://jacobdesforges.com/you-should-quit-reddit-distribution-wide/</link><pubDate>Thu, 08 Jun 2023 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/you-should-quit-reddit-distribution-wide/</guid><description>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="https://jacobdesforges.com/images/you_should_quit_reddit_cover.jpg" alt="" width="300"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Thank you to everyone who has purchased and read &lt;em&gt;You Should Quit Reddit&lt;/em&gt;! I&amp;rsquo;ve enjoyed hearing from those of you who have sent me an email to share the impact that my book has had on helping you spend less time online.&lt;/p&gt;
&lt;p&gt;Over the past few months I also received several messages from people who wanted to read &lt;em&gt;You Should Quit Reddit&lt;/em&gt; but didn&amp;rsquo;t want to give money to Amazon for philosophical reasons, as well as a couple people with Kobo e-readers.&lt;/p&gt;</description><content:encoded>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="https://jacobdesforges.com/images/you_should_quit_reddit_cover.jpg" alt="" width="300"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Thank you to everyone who has purchased and read &lt;em&gt;You Should Quit Reddit&lt;/em&gt;! I&amp;rsquo;ve enjoyed hearing from those of you who have sent me an email to share the impact that my book has had on helping you spend less time online.&lt;/p&gt;
&lt;p&gt;Over the past few months I also received several messages from people who wanted to read &lt;em&gt;You Should Quit Reddit&lt;/em&gt; but didn&amp;rsquo;t want to give money to Amazon for philosophical reasons, as well as a couple people with Kobo e-readers.&lt;/p&gt;
&lt;p&gt;Amazon demands 90 days of exclusivity from authors in order to do promotions, or longer-term exclusivity to offer a book on Kindle Unlimited. While those promotions definitely helped &lt;em&gt;You Should Quit Reddit&lt;/em&gt; (and myself as a self-published author) gain some initial traction, it&amp;rsquo;s time to expand distribution! As of today, &lt;em&gt;You Should Quit Reddit&lt;/em&gt; is now available in several more places:&lt;/p&gt;
&lt;h2 id="-ebook"&gt;📖 &lt;strong&gt;eBook:&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="-amazon"&gt;• &lt;a href="https://www.amazon.com/dp/B0BWLCPQ7G"&gt;Amazon&lt;/a&gt;&lt;/h4&gt;
&lt;h4 id="-kobo-also-available-to-kobo-plus-subscribers"&gt;&lt;strong&gt;&lt;a href="https://www.kobo.com/us/en/ebook/you-should-quit-reddit"&gt;• Kobo (also available to Kobo Plus subscribers)&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-google-play"&gt;&lt;strong&gt;&lt;a href="https://play.google.com/store/books/details?id=QC7CEAAAQBAJ"&gt;• Google Play&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-overdrivelibby"&gt;&lt;strong&gt;• OverDrive/Libby&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Note: while I have enabled distribution on OverDrive/Libby, this requires a library participating within your lending network to actually purchase the title before they can lend it, so if you&amp;rsquo;re not seeing &lt;em&gt;You Should Quit Reddit&lt;/em&gt; available, try asking your library to purchase a license for the eBook!&lt;/p&gt;
&lt;h2 id="-paperback"&gt;📖 &lt;strong&gt;Paperback:&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="-amazon-1"&gt;&lt;strong&gt;&lt;a href="https://www.amazon.com/dp/B0BW2RY4FZ"&gt;• Amazon&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-barnes--noble"&gt;&lt;strong&gt;&lt;a href="https://www.barnesandnoble.com/w/you-should-quit-reddit-jacob-desforges/1143581621?ean=9781088145623"&gt;• Barnes &amp;amp; Noble&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-your-local-bookstore"&gt;&lt;strong&gt;• Your Local Bookstore!&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;My book is now listed on Ingram Spark, a massive book distributor. While it&amp;rsquo;s unlikely that your local bookstore will have a copy of &lt;em&gt;You Should Quit Reddit&lt;/em&gt; sitting on the shelf, they almost certainly have a relationship with Ingram and will be able to order a copy for you. The bookstore will get a cut of the royalties, so this is a good way to support your local businesses.&lt;/p&gt;</content:encoded></item><item><title>"You Should Quit Reddit" is Now Published!</title><link>https://jacobdesforges.com/you-should-quit-reddit-published/</link><pubDate>Thu, 23 Feb 2023 00:00:00 UTC</pubDate><guid>https://jacobdesforges.com/you-should-quit-reddit-published/</guid><description>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="https://jacobdesforges.com/images/you_should_quit_reddit_cover.jpg" alt="" width="300"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I have self-published my first book! The back cover blurb describes what &lt;em&gt;You Should Quit Reddit&lt;/em&gt; is all about:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In recent years, countless books, articles, and documentaries have addressed the negative effects that social media platforms have wrought on their users and society. However, these former works are incomplete — nearly no attention has been paid to Reddit, one of the most popular websites in the world. Reddit is certainly unique among social platforms, but its potential for addiction and darker side of nefarious activity should absolutely not be understated.&lt;/p&gt;</description><content:encoded>&lt;p&gt;
&lt;figure class="image-wrapper align-center"&gt;
&lt;img src="https://jacobdesforges.com/images/you_should_quit_reddit_cover.jpg" alt="" width="300"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I have self-published my first book! The back cover blurb describes what &lt;em&gt;You Should Quit Reddit&lt;/em&gt; is all about:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In recent years, countless books, articles, and documentaries have addressed the negative effects that social media platforms have wrought on their users and society. However, these former works are incomplete — nearly no attention has been paid to Reddit, one of the most popular websites in the world. Reddit is certainly unique among social platforms, but its potential for addiction and darker side of nefarious activity should absolutely not be understated.&lt;/p&gt;
&lt;p&gt;Additionally, nearly no actionable advice has been provided to users of these platforms. The audience is told that these websites and apps are harming their mental health, wasting their time, and that they are addictive (which would logically make the task of quitting rather difficult), but then provided zero guidance on how to disconnect from them. Over 200,000 users gather on Reddit&amp;rsquo;s /r/NoSurf community to discuss reducing their internet use; the forum is filled with reports of people who want to quit Reddit, but find themselves psychologically compelled to return to the site over and over. For moderate to heavy users of these platforms, quitting is clearly not so simple.&lt;/p&gt;
&lt;p&gt;You Should Quit Reddit is a paradigm shift in the genre. Jacob Desforges was a Reddit user of over a decade, and a self-admitted Reddit addict who spent on average around three hours daily on the site. Not only is this the first book investigating Reddit&amp;rsquo;s flaws as a platform, but it is also written from the perspective of someone who experienced firsthand the struggle that comes with quitting these addictive platforms. This book therefore also provides readers with the practical advice, tools, and techniques needed to shatter the cycle of digital addiction, enabling them to quit visiting Reddit and other time-wasting websites for good, so they can effectively reclaim their time to use in a more intentional manner.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My book is currently exclusively being sold on Amazon. As of June 8th, 2023, &lt;em&gt;You Should Quit Reddit&lt;/em&gt; can be purchased at many more locations. You can use the &amp;ldquo;Look Inside&amp;rdquo; feature to read the introduction and first few chapters for free.&lt;/p&gt;
&lt;h2 id="-ebook"&gt;📖 &lt;strong&gt;eBook:&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="-amazon"&gt;• &lt;a href="https://www.amazon.com/dp/B0BWLCPQ7G"&gt;Amazon&lt;/a&gt;&lt;/h4&gt;
&lt;h4 id="-kobo-also-available-to-kobo-plus-subscribers"&gt;• &lt;strong&gt;&lt;a href="https://www.kobo.com/us/en/ebook/you-should-quit-reddit"&gt;Kobo (also available to Kobo Plus subscribers)&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-google-play"&gt;• &lt;strong&gt;&lt;a href="https://play.google.com/store/books/details?id=QC7CEAAAQBAJ"&gt;Google Play&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-overdrivelibby"&gt;• &lt;strong&gt;OverDrive/Libby&lt;/strong&gt;&lt;/h4&gt;
&lt;h2 id="-paperback"&gt;📖 &lt;strong&gt;Paperback:&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="-amazon-1"&gt;• &lt;strong&gt;&lt;a href="https://www.amazon.com/dp/B0BW2RY4FZ"&gt;Amazon&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-barnes--noble"&gt;• &lt;strong&gt;&lt;a href="https://www.barnesandnoble.com/w/you-should-quit-reddit-jacob-desforges/1143581621?ean=9781088145623"&gt;Barnes &amp;amp; Noble&lt;/a&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;h4 id="-your-local-bookstore"&gt;• &lt;strong&gt;Your Local Bookstore!&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;My book is now listed on Ingram Spark, a massive book distributor. While it&amp;rsquo;s unlikely that your local bookstore will have a copy of &lt;em&gt;You Should Quit Reddit&lt;/em&gt; sitting on the shelf, they almost certainly have a relationship with Ingram and will be able to order a copy for you. The bookstore will get a cut of the royalties, so this is a good way to support your local businesses.&lt;/p&gt;</content:encoded></item></channel></rss>