<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>A Geek with Guns - Technology</title>
    <link rel="self" type="application/atom+xml" href="https://www.christopherburg.com/tags/technology/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://www.christopherburg.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-11-22T12:00:00+00:00</updated>
    <id>https://www.christopherburg.com/tags/technology/atom.xml</id>
    <entry xml:lang="en">
        <title>Why I Don&#x27;t Have A Smart Home</title>
        <published>2025-11-22T12:00:00+00:00</published>
        <updated>2025-11-22T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/why-i-don-t-have-a-smart-home/"/>
        <id>https://www.christopherburg.com/blog/why-i-don-t-have-a-smart-home/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/why-i-don-t-have-a-smart-home/">&lt;p&gt;Based on the title of this post, you probably assume that this post will be a long rant about the privacy nightmare that is smart devices. It&#x27;s not. I&#x27;ve covered that ad nauseam and they don&#x27;t apply if you make use of self-hosted open source projects like &lt;a href=&quot;https:&#x2F;&#x2F;www.home-assistant.io&#x2F;&quot;&gt;Home Assistant&lt;&#x2F;a&gt;. I self-host all of my own services already so I have the technical knowhow to setup a smart home using Home Assistant. I still don&#x27;t though.&lt;&#x2F;p&gt;
&lt;p&gt;My reason can be summed up in a single word: maintenance. The older I get, the more I find myself considering the future maintenance of any project I undertake. I won&#x27;t undertake a project unless the gains outweigh the maintenance that will be required down the road. A dumb home is relatively low maintenance (as far as homes go). Light switches, thermostats, and garage door buttons seldom break. If one of those dumb controls isn&#x27;t working, troubleshooting is pretty straight forward. The first culprit is usually power. Is the breaker off? Is the control on a circuit with a ground fault circuit interrupter? If so, is that tripped? If all else fails, a quick prodding with a multimeter will tell you whether there&#x27;s power at the control. If the control is receiving power and is still not working, there&#x27;s a pretty good chance the control is broken. Swapping out things like light switches, thermostats, and garage door buttons is straight forward.&lt;&#x2F;p&gt;
&lt;p&gt;The devices that those controls control are often more complicated. Troubleshooting your furnace in the dead of winter or your air conditioner in the height of summer can require some knowhow, but that doesn&#x27;t change if you have a smart home. My biggest gripe with smart homes is they add complexity to the troubleshooting and repair process. Troubleshooting a basic electrical circuit is fairly straight forward. If I turn on a light switch and the associated light doesn&#x27;t come on, the first thing I check is the light bulb. Swapping a light bulb takes seconds. If the light still doesn&#x27;t come on, I check the breaker box, which also takes seconds. I&#x27;ve never had a light switch break, but if I get to the point where I discover the switch itself is bad, I go to the hardware store, buy a replacement, and spend a few minutes replacing the bad one of the good one.&lt;&#x2F;p&gt;
&lt;p&gt;When you introduce smart devices, you necessarily introduce networking and software. Both are complicated. Many smart controls and devices are wireless, which adds complexity on top of networking. Anybody who has had to troubleshoot an intermittent Wi-Fi issue knows how much of a pain in the ass it can be. With a dumb home, if my Wi-Fi goes down, my lights, heating, air conditioning, and garage doors still work.&lt;&#x2F;p&gt;
&lt;p&gt;The complexity introduces another problem too. I maintain the entire technology infrastructure in my home because my wife doesn&#x27;t have the technical background I do. I periodically have to travel for work. With a dumb home, if something goes wrong when I&#x27;m away, she can call one of several people we know who can come over and likely figure out the problem. If something is seriously broken, she can call an electrician or plumber. This isn&#x27;t the case with a smart home. An electrician or plumber isn&#x27;t going to troubleshoot a complex networking issue. Even a system administrator won&#x27;t be able to fix it because they don&#x27;t know how the network is setup and even if they did, they don&#x27;t have access to any of the systems.&lt;&#x2F;p&gt;
&lt;p&gt;Smart homes have a lot of interesting capabilities, but none of them are worth the maintenance for me. Were I single and didn&#x27;t have work, shooting competitions, martial arts, and a bunch of other things fighting for my limited time, I&#x27;d be more inclined to explore the idea. But I&#x27;m not single and I&#x27;d much rather spend my time at the gun range and dojo than debugging a networking issue so I can get my lights to turn on again.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>This Blog Is Now Available via IPv6</title>
        <published>2025-10-17T12:00:00+00:00</published>
        <updated>2025-10-17T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/this-blog-is-now-available-via-ipv6/"/>
        <id>https://www.christopherburg.com/blog/this-blog-is-now-available-via-ipv6/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/this-blog-is-now-available-via-ipv6/">&lt;p&gt;Faster speeds are the only benefit I received from &lt;a href=&quot;&#x2F;blog&#x2F;upgrades&#x2F;&quot;&gt;my recent Internet upgrade&lt;&#x2F;a&gt;. One of my biggest gripes with having to use CenturyLink when I bought this house was the complete lack of IPv6 support. Brightspeed, not surprisingly considering their incompetency, didn&#x27;t add IPv6 support when they took over for CenturyLink. Lakeland Communications, however, has full IPv6 support, which means this blog is now available via IPv6.&lt;&#x2F;p&gt;
&lt;p&gt;I consider this a major milestone. It&#x27;s something I&#x27;ve wanted for many years now. I always envied people who had an IPv6 enabled Internet connection. I also hate network administrators who have an IPv6 enabled Internet connection and refuse to utilize it. Therefore, I&#x27;m going to use this occasion to rant about those network administrators and explain why their refusal is laziness at best and idiocy at worst.&lt;&#x2F;p&gt;
&lt;p&gt;Even though IPv6 has been formalized by the &lt;abbr title=&quot;Internet Engineering Task Force&quot;&gt;IETF&lt;&#x2F;abbr&gt; since 1998, there remains a lot of misconceptions about the protocol. The biggest misconception is that the only major difference between IPv6 and IPv4 is that the former has a significantly larger address space. This misconception leads to some stupid objections to implementing it. The first is that IPv6 addresses can&#x27;t be memorized like IPv4 addresses. Anybody who has worked with large networks knows that IPv4 address can&#x27;t typically be memorized for very long either. This is why &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;&#x2F;abbr&gt; exists. You shouldn&#x27;t refer to your systems by their IP addresses regardless of the version you&#x27;re using. You should have a DNS server that provides memorable names to your systems.&lt;&#x2F;p&gt;
&lt;p&gt;Another objection to implementing IPv6 is that it&#x27;s complicated to setup. It&#x27;s actually much easier to setup an IPv6 network than an IPv4 network. My home network is a good example. IPv4 interfaces don&#x27;t generate their own addresses (technically they can, but those addresses aren&#x27;t useful in most cases) so you need to either statically assign an address to each device or use a &lt;abbr title=&quot;Dynamic Host Configuration Protocol&quot;&gt;DHCP&lt;&#x2F;abbr&gt; server. I use DHCP to assign addresses to my devices. I operate two Kea DHCP servers configured in high availability mode for redundancy. Meanwhile, IPv6 can utilize protocols like &lt;abbr title=&quot;Stateless Address Autoconfiguration&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;IPv6#Stateless_address_autoconfiguration_(SLAAC)&quot;&gt;SLAAC&lt;&#x2F;a&gt;&lt;&#x2F;abbr&gt; to automatically generate their own addresses. My ISP provides me an IPv6 prefix, which my router automatically receives and advertises. Every IPv6 client can then generate an IPv6 address for itself based on that prefix. The addresses they generate are also globally routable.&lt;&#x2F;p&gt;
&lt;p&gt;The last part is important. There are no more unclaimed IPv4 addresses, which makes them a scarce commodity. Not every ISP is willing to provide a static IPv4 address. Those that do typically charge a monthly fee per static IPv4 address. I rent my single static IPv4 address and have no interest in paying for more. I need to play tricks to provide all of my services via that single IPv4 address. When you connect to this blog via IPv4, several things happen. First my router uses port forwarding to connect your browser to my reverse proxy server. My reverse proxy server then uses &amp;lt;abbr=&quot;Server Name Indication&quot;&amp;gt;&lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Server_Name_Indication&quot;&gt;SNI&lt;&#x2F;a&gt;&lt;&#x2F;abbr&gt; to determine where to route the connection. The connection is then proxied to the server that actually hosts this blog. This tower of redirection is necessary to host multiple websites and other servers via a single IPv4 address.&lt;&#x2F;p&gt;
&lt;p&gt;There are effectively (obviously not literally) unlimited IPv6 addresses. My ISP provides me a &#x2F;48 prefix. This gives me more IPv6 address than I could ever use. I could dole out 10 IPv6 addresses to every network enabled device in my house and still not make a dent in the number of addresses available to me. And all of those addresses are globally routable. This means when you connect to this blog via IPv6, you&#x27;re connecting directly to the server hosting it.&lt;&#x2F;p&gt;
&lt;p&gt;This fact frightens a lot of network administrators because they have this false concept that their local network is trustworthy whereas the Internet isn&#x27;t. They like all of the redirection and games IPv4 requires because they believe it establishes are strong barrier between their trustworthy network and the untrustworthy Internet. Anybody who has read the news about network exploits knows this is false. Local networks aren&#x27;t trustworthy. Every system you setup should be setup as if it were connected directly to the Internet. This is how I design my network.&lt;&#x2F;p&gt;
&lt;p&gt;Even though my router has a firewall, every system I setup also has a firewall. Those firewalls are configured with the minimum number of open ports necessary. I also ensure SELinux is enabled on all of my systems (many network administrators disable SELinux rather than learn how to use it). I minimize the amount of unencrypted traffic on my local network. For example, my reverse proxy has a dedicated WireGuard connection to each of my servers is proxies. All traffic between it and the proxied servers goes through those WireGuard connections. The main sources of unencrypted traffic are my DHCP servers and that&#x27;s because DHCP can&#x27;t be secured. My networking equipment does use DHCP Guard to ensure only my DHCP servers can provide leases through. IPv6 eliminates the need for those WireGuard connections by eliminating the need for the reverse proxy. It also eliminates the need for DHCP since devices can configure their own IPv6 addresses.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve heard a few network administrators complain that providing websites via IPv4 and IPv6 complicates setting up TLS. This might have been the case when getting signed certificates was largely a manual task, but it&#x27;s no longer the case now that getting signed certificates is largely automated. I&#x27;ve automated the task of getting signed certificates ever since Let&#x27;s Encrypt&#x27;s signing certificate was added to every major browser. Originally I did this via certbot, but now that &lt;a href=&quot;&#x2F;blog&#x2F;if-you-re-reading-this&#x2F;&quot;&gt;I use Caddy&lt;&#x2F;a&gt;, my HTTPS servers do it automatically (a few of my servers like my e-mail server still use certbot). Certbot and Caddy both operate perfectly well via IPv6. In fact this blog is secured by separate TLS certificates depending on if you connect via IPv4 or IPv6. If you connect via IPv4, you use the certificate obtained by Caddy on my reverse proxy. If you connect via IPv6, you use the certificate obtained by Caddy on the server hosting my blog.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll end my rant here since this post is getting longer than I anticipated. In summary, IPv6 is better than IPv4 in every way. Every objection to implementing IPv6 is dumb. Network administrators who have the option to implement IPv6 but don&#x27;t are wrong.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Upgrades</title>
        <published>2025-10-15T12:00:00+00:00</published>
        <updated>2025-10-15T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/upgrades/"/>
        <id>https://www.christopherburg.com/blog/upgrades/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/upgrades/">&lt;p&gt;I&#x27;ve been more silent as of late than usual. This is because I&#x27;ve been spending a lot of my free time upgrading my network infrastructure in anticipation of a major Internet upgrade. Most of this involved backend work that you readers won&#x27;t notice. Suffice to say that I made major edits to my Ansible playbooks and redid several parts of my home network.&lt;&#x2F;p&gt;
&lt;p&gt;A bit more than five years ago my wife and I moved to this house located in the rural Wisconsin. We loved everything about the property except for one thing: the only Internet option was DSL. I had DSL when I was in college and wasn&#x27;t looking forward to going back to it after having enjoyed cable Internet for a decade, but the property was good enough that I was willing to make the sacrifice. One upside is the DSL was decent at 20 Mbps down and 1.5 Mbps up. I was also able to get a static IP address so I could continue self-hosting my services.&lt;&#x2F;p&gt;
&lt;p&gt;Eventually Starlink became available in my area so I signed up. It was a significant upgrade. I regularly got 200 Mbps down and between 15 and 20 Mbps up. The two downsides were that my Starlink connection went offline during severe storms and I couldn&#x27;t get a static IP address. Therefore, I kept the DSL so I had a backup when the weather was bad and could continue hosting my services. My home network had two gateways and each client was assigned the appropriate gateway from my DHCP servers. My self-hosted services used the DSL gateway and everything else used the Starlink gateway unless there was severe weather. When there was severe weather, I ran an Ansible script that rebuilt my DHCP servers&#x27; configurations to assign every client the DSL gateway. Each client would start using the DSL connection when their DHCP lease expired and renewed (I use short leases for this reason). I admit it wasn&#x27;t the most elegant solution, but it was good enough for how rarely the Starlink connection went offline.&lt;&#x2F;p&gt;
&lt;p&gt;When I first bought this house, the DLS was provided by CenturyLink. CenturyLink are a shower of bastards. Whenever the DSL went offline, I had to suffer through a minimum of five phone transfers to get to a tech that could actually fix the issue. Eventually CenturyLink sold its DSL business to Brightspeed. Brightspeed somehow managed to be worse.&lt;&#x2F;p&gt;
&lt;p&gt;About a year ago a contractor buried fiber down my road. I expected to receive some notice that an ISP would be providing fiber service in my area but no such notice ever arrived. I searched high and low for the ISP that owned the fiber but found none. A few months ago Brightspeed announced that my static IP address would change. My history with Brightspeed told me that the changeover wouldn&#x27;t go well so I searched for the owner of the buried fiber once again. This time I found the ISP, which is Lakeland Communications. I gave them a call and they confirmed that they provided fiber to my area. The only downside to me was the cost of installing the fiber from the road to my house. My house is far from the road so the cost of connecting my house to the fiber wasn&#x27;t cheap (it was reasonable though considering the distance).&lt;&#x2F;p&gt;
&lt;p&gt;I was able to push off Brightspeed&#x27;s static IP address assignment, which turned out to be a blessing. To say the static IP address change went poorly would be an understatement. They managed to fuck it up completely. I had no Internet connectivity after the change. I spent a total of two hours on the phone with their technical support, all of whom are worthless, to no avail. Fortunately, Lakeland was scheduled to complete the fiber installation two days after that so I was only without my self-hosted services for about 48 hours.&lt;&#x2F;p&gt;
&lt;p&gt;Lakeland Communications proved to be competent and easygoing. Because I self-host services including e-mail, I expected to need to sign up for a business account (what I&#x27;ve always had to do with other ISPs), but was told that I could self-host from a residential connection without any issue. They were also more than happy to let me use my router instead of theirs, which made reconfiguration my network as easy as changing the static IP address in my UniFi Network Controller. The speeds are good enough that I have to upgrade my router since I&#x27;m running an old Ubiquiti Security Gateway 3P and my Wi-Fi access points.&lt;&#x2F;p&gt;
&lt;p&gt;Now when you access this site, it should download significantly faster. I can finally make full use of a number of my self-hosted services too. It&#x27;s nice to have these capabilities again after five years of DSL restricting me to making sparse use of my services when I&#x27;m not home.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The ThinkPad T16 Gen 4 AMD Accepts 96 GB of RAM</title>
        <published>2025-08-28T12:00:00+00:00</published>
        <updated>2025-08-28T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/the-thinkpad-t16-gen-4-amd-accepts-96-gb-of-ram/"/>
        <id>https://www.christopherburg.com/blog/the-thinkpad-t16-gen-4-amd-accepts-96-gb-of-ram/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/the-thinkpad-t16-gen-4-amd-accepts-96-gb-of-ram/">&lt;p&gt;Today my new ThinkPad T16 Gen 4 AMD arrived. This is an upgrade from my &lt;a href=&quot;&#x2F;archive&#x2F;jumping-ship&#x2F;&quot;&gt;ThinkPad P52s that I&#x27;ve been using since 2018&lt;&#x2F;a&gt;. I&#x27;ve been hemming and hawing over which laptop to buy and thought I had it narrowed down to either a System 76 Darter Pro 16&quot; or a Framework 16. I wasn&#x27;t completely happy with either option. The Darter Pro only offers Intel processors and I wanted to go with AMD. The Framework 16 (at least until the updated model that was announced this week) ships with a charger that isn&#x27;t powerful enough to keep the laptop charged when running full tilt. I had written ThinkPads off because Lenovo moved to soldered RAM some years back and I refuse to buy a computer with soldered RAM (that&#x27;s part of the reason I left Apple&#x27;s ecosystem). For shits and giggles I took at a look at the current ThinkPad line up and was happy to see that socketed RAM is back, baby!&lt;&#x2F;p&gt;
&lt;p&gt;If you look at the &lt;a href=&quot;https:&#x2F;&#x2F;www.lenovo.com&#x2F;us&#x2F;en&#x2F;p&#x2F;laptops&#x2F;thinkpad&#x2F;thinkpadt&#x2F;thinkpad-t16-gen-4-16-inch-amd&#x2F;len101t0121#tech_specs&quot;&gt;tech specs&lt;&#x2F;a&gt; for the T16, it can be configured with up to 32 GB of RAM. That&#x27;s a paltry amount consider that&#x27;s what I put in my seven-year-old P52s. The &lt;a href=&quot;https:&#x2F;&#x2F;psref.lenovo.com&#x2F;syspool&#x2F;Sys&#x2F;PDF&#x2F;ThinkPad&#x2F;ThinkPad_T16_Gen_4_AMD&#x2F;ThinkPad_T16_Gen_4_AMD_Spec.pdf&quot;&gt;spec sheet&lt;&#x2F;a&gt; lists a maximum of 64 GB, which is a more respectable amount. However, if you&#x27;re not familiar with the ThinkPad line up, it&#x27;s common that some T-series have corresponding P-series models. My P52s is a good example. It&#x27;s a T580 with a discrete Nvidia GPU. The T16&#x27;s corresponding P-series model is the P16s. If you look at the &lt;a href=&quot;https:&#x2F;&#x2F;www.lenovo.com&#x2F;us&#x2F;en&#x2F;p&#x2F;laptops&#x2F;thinkpad&#x2F;thinkpadp&#x2F;thinkpad-p16s-gen-4-16-inch-amd-mobile-workstation&#x2F;len101t0122#tech_specs&quot;&gt;tech specs for the P16s&lt;&#x2F;a&gt;, you&#x27;ll notice it can accept up to 96 GB of RAM. Knowing that the T16 and P16s were the same hardware, I opted to order 96 GB of memory from Amazon. I installed it when the laptop arrive (the T16, like previous T-series, is very easy to work on) and it works perfectly.&lt;&#x2F;p&gt;
&lt;p&gt;There you have it. If you end up buying a T16 Gen 4 AMD (I don&#x27;t know if this is the same for the Intel model), you can stick up to 96 GB of RAM in it despite what the spec sheet says. As an aside, never buy RAM from Lenovo. They, like every manufacturer, charge an absurd amount. The 96 GB upgrade for the P16s is $599.00. I bought 96 GB of Crucial RAM from Amazon for $213.95.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>20 Minutes into The Future</title>
        <published>2025-08-05T12:00:00+00:00</published>
        <updated>2025-08-05T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/20-minutes-into-the-future/"/>
        <id>https://www.christopherburg.com/blog/20-minutes-into-the-future/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/20-minutes-into-the-future/">&lt;p&gt;Most American who lived through the 1980s are likely familiar with the character Max Headroom. However, that familiarity largely stems from Coke advertisements. This is a real shame because the TV show was excellent. It was one of the few cyberpunk shows to air and like all cyberpunk, the show took place in a dystopian universe. The dystopia in Max Headroom proved to be surprisingly prescient. Episode eight titled &quot;Deities&quot; involves a new religion, the Vu Age Church, promising eternal life by scanning the brains of followers and uploading them into a computer. Loved ones could then go to the church and talk to AI versions of their dead family members. The entire thing ends up being a scam. In light of &lt;a href=&quot;https:&#x2F;&#x2F;www.theguardian.com&#x2F;us-news&#x2F;2025&#x2F;aug&#x2F;04&#x2F;jim-acosta-parkland-shooting-victim-ai-interview&quot;&gt;this story&lt;&#x2F;a&gt;, the episode proved to be an accurate prediction:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Jim Acosta, former chief White House correspondent for CNN, stirred controversy on Monday when he sat for a conversation with a reanimated version of a person who died more than seven years ago. His guest was an avatar of Joaquin Oliver, one of the 17 people killed in the Marjory Stoneman Douglas high school mass shooting in Parkland, Florida, in 2018.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Acosta said in the video segment that Oliver’s parents created the AI version of their son and his father, Manuel Oliver, invited him to be the first reporter to interview the avatar.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Much like the avatars created by the Vu Age Church, the avatar of Joaquin Oliver is nothing more than a program with the virtual face of a dead person. The &quot;AI&quot; that Joaquin&#x27;s parents &quot;created&quot; is nothing more than a large language model that his parents trained with their biases. At least the Vu Age Church could claim to have scanned the brains of followers to create their AI dummies. Such technology existed in the universe of Max Headroom (and was used to create Max). Such technology doesn&#x27;t exist in our universe. Even if it did, Joaquin has been dead since 2018 and large language models have only recently become accessible to the masses so no such thing could&#x27;ve been used to create an AI version of him.&lt;&#x2F;p&gt;
&lt;p&gt;This is honestly one of the most shameful pieces of propaganda that I&#x27;ve seen. It started with two parents exploiting their dead son to push their narrative. It ended with a bone fide reporter (which is now largely synonymous with propagandist) agreeing to interview the large language model. I can only assume he agreed to do so because the model is pushing a narrative with which he agrees. He can&#x27;t possible be stupid enough to believe what he was interviewing was an accurate representative of Joaquin Oliver. Then again, maybe he is.&lt;&#x2F;p&gt;
&lt;p&gt;Now if you&#x27;ll excuse me, I&#x27;m going to go setup my pirate TV station for the night. This is Blank Chris signing off.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Another Smart Device Manufacturer Is Altering The Deal</title>
        <published>2025-07-27T12:00:00+00:00</published>
        <updated>2025-07-27T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/another-smart-device-manufacturer-is-altering-the-deal/"/>
        <id>https://www.christopherburg.com/blog/another-smart-device-manufacturer-is-altering-the-deal/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/another-smart-device-manufacturer-is-altering-the-deal/">&lt;p&gt;Stop me if you&#x27;ve heard this one before. A manufacturer releases a family of smart devices. Rather than lock you into their silo, they provide an API that allows any application to interface with their devices. Buyers are happy because they get to use their preferred applications. Later down the road, the manufacturer decides that they need more revenue and the best way to raise it without developing anything new is to push out a firmware update to their devices that disables API access and forces users into the manufacturer&#x27;s silo. Now the manufacturer can double dip by making revenue off of their devices and selling their users&#x27; data to brokers. The manufacturer wins. The data brokers win. The only person not winning are the schmucks who purchased and used the devices.&lt;&#x2F;p&gt;
&lt;p&gt;My archive is littered with examples of this. It&#x27;s a never ending cycle for smart devices. The latest offender is &lt;a href=&quot;https:&#x2F;&#x2F;arstechnica.com&#x2F;gadgets&#x2F;2025&#x2F;07&#x2F;firmware-update-hinders-echelon-smart-home-gym-equipments-ability-to-work-offline&#x2F;&quot;&gt;Echelon&lt;&#x2F;a&gt;, a manufacturer of smart exercise equipment:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;As explained in a Tuesday &lt;a href=&quot;https:&#x2F;&#x2F;robertoviola.cloud&#x2F;2025&#x2F;07&#x2F;22&#x2F;how-i-built-qz-and-how-echelon-is-now-breaking-it&#x2F;&quot;&gt;blog post&lt;&#x2F;a&gt; by Roberto Viola, who develops the &quot;QZ (qdomyos-zwift)&quot; &lt;a href=&quot;https:&#x2F;&#x2F;www.qzfitness.com&#x2F;&quot;&gt;app&lt;&#x2F;a&gt; that connects Echelon machines to third-party fitness platforms, like Peloton, Strava, and Apple HealthKit, the firmware update forces Echelon machines to connect to Echelon’s servers in order to work properly. A user online &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;cagnulein&#x2F;qdomyos-zwift&#x2F;issues&#x2F;3552#issuecomment-3092440733&quot;&gt;reported&lt;&#x2F;a&gt; that as a result of updating his machine, it is no longer syncing with apps like QZ, and he is unable to view his machine&#x27;s exercise metrics in the Echelon app without an Internet connection.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;img src=&quot;darth-vader-i-am-altering-the-deal.png&quot; &#x2F;&gt;
&lt;p&gt;When you buy a device that the manufacturer can alter remotely whenever they desire, you don&#x27;t own the device. You&#x27;ve simply paid the manufacturer for the privilege of using their device in the manner they see fit. If they decide later down the road that you&#x27;re using it wrong, they can push a firmware update that make you use it &quot;correctly.&quot;&lt;&#x2F;p&gt;
&lt;p&gt;Let me explain the equipment in my home gym. I have 18 Kettlebell Kings kettlebells (I bought them before the company turned to absolute shit, don&#x27;t buy from them), two PowerBlock adjustable dumbbells, a pull up bar, an assortment of Rogue resistance bands, and the bottom of the barrel Sole elliptical. The elliptical is the only thing that has any electronics in it and its electronics are rudimentary. It doesn&#x27;t connect to the Internet. I think it can connect to a phone over Bluetooth so you can play music on its shitty speakers, but I haven&#x27;t tried it. I can confidently say that I own all of this equipment because it can&#x27;t be altered by the manufacturer. If you&#x27;re wondering how I collect and analyze my exercise data, I will point at my notebook. Yes, I record my exercise sessions with a pen in a paper notebook. It also cannot be remotely altered and the data stays local rather than being sucked up by a manufacturer who will sell it to data brokers.&lt;&#x2F;p&gt;
&lt;p&gt;I know my warnings will continue to go unheeded so you can expect posts about smart device manufacturers screwing over their customers for the foreseeable future.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>I Will Not Install Your App</title>
        <published>2025-06-03T12:00:00+00:00</published>
        <updated>2025-06-03T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/i-will-not-install-your-app/"/>
        <id>https://www.christopherburg.com/blog/i-will-not-install-your-app/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/i-will-not-install-your-app/">&lt;p&gt;Due to the infinite wisdom of a city&#x27;s highway department, I had to go to a different gas station today. As far as I can tell, every road to the gas station I frequent is block off by construction. If I were the owner of that gas station, I&#x27;d be uparmoring a Komatsu bulldozer, but I digress. There&#x27;s a reason I frequent this particular gas station. Filling up my gas tank only requires me to pull up to a gas pump, insert my credit card into a slot, select the fuel I want, and start dispensing. It&#x27;s a straightforward process involving no unnecessary actions. Every other gas station in the area has made the straightforward task of filling a gas tank anything but straightforward. It starts the same. I insert my credit card into a slot. But instead of being allowed to select the type of fuel I want, I&#x27;m asked to open an app on my phone to scan a QR code for &quot;rewards.&quot; If you hit the cancel button, it cancels the transaction entirely. The only way to bypass the screen is to choose a much less prominent skip button. The name is in a much smaller font. When you tap that little button, the screen then prompts you for your phone number. Again, for &quot;rewards.&quot; Skipping it requires pressing the cancel button (which doesn&#x27;t cancel the transaction entirely on that screen). Only then are you allowed to choose the type of fuel you want to dispense.&lt;&#x2F;p&gt;
&lt;p&gt;I could ignore this if gas pumps were the only thing prompting me to install an app on my phone. But seemingly every business is doing it. My wife and I went to a new restaurant last month. When we got there, we were prompted to scan a QR code on the table to see the menu. First, scanning a random QR code stuck to a table &lt;a href=&quot;https:&#x2F;&#x2F;www.csoonline.com&#x2F;article&#x2F;569957&#x2F;how-attackers-exploit-qr-codes-and-how-to-mitigate-the-risk.html&quot;&gt;is a stupid idea&lt;&#x2F;a&gt;. Second, we didn&#x27;t have our phones with us because unlike 90% of the world&#x27;s population, we&#x27;re not hopelessly addicted to them. It turns out this restaurant didn&#x27;t have physical menus so the server had to resort to scanning the QR code with her phone to show us the menu. Of course she acted like we did something wrong for daring to leave our voluntary government tracking devices at home. Needless to say, we&#x27;re not going back there.&lt;&#x2F;p&gt;
&lt;p&gt;I traveled for work a few weeks ago. When I got to the hotel, I walked up to the front desk to check in. The first thing the receptionist said to me was, &quot;You can check in using our app.&quot; I told her that I wasn&#x27;t interested. She then said, &quot;With our app, you can use your phone as your room key.&quot; No I can&#x27;t. I don&#x27;t have Google Play Services installed on my phone (because I&#x27;m not stupid) and that functionality almost always requires it. She seemingly couldn&#x27;t comprehend that though because she said, &quot;Our app works on Android and iOS.&quot; Then she tried sweetening the deal by adding, &quot;You can also check out using our app.&quot; Had she started checking me in when I arrived, she would&#x27;ve had me checked in faster than it took her to beg me to install the hotel chain&#x27;s stupid app. It would&#x27;ve been far less annoying too.&lt;&#x2F;p&gt;
&lt;p&gt;From the coffee shop telling customers to order in their app for pick up to the grocery store making their coupons available exclusively through their app, every business seems to be begging customers to install yet another fucking app. If I installed every app for every business I frequent, I&#x27;d likely run out of storage space (these apps are often poorly programmed and bloated to add icing to the cake) on my phone. If I want to order ahead, I&#x27;ll call (quake in fear, young barista, for I know the ancient dark sorcery of dialing a phone number). I&#x27;m certainly not installing an app to save 5¢ on a carton of eggs.&lt;&#x2F;p&gt;
&lt;p&gt;Smartphones have fallen into the same trap as so much other technology. They&#x27;re being shoehorned into everything whether it makes sense or not. I refuse to play this game. I will not install your app. If you don&#x27;t like it, I&#x27;ll find a business that does.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>I Love AI</title>
        <published>2025-05-20T12:00:00+00:00</published>
        <updated>2025-05-20T12:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/i-love-ai/"/>
        <id>https://www.christopherburg.com/blog/i-love-ai/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/i-love-ai/">&lt;p&gt;&lt;abbr title=&quot;Artificial Intelligence&quot;&gt;AI&lt;&#x2F;abbr&gt;, which is a nonsense name since there&#x27;s no intelligence involved, is &lt;em&gt;the&lt;&#x2F;em&gt; hot thing keeping those technology stocks constantly moving up and to the right. Everywhere you turn you see technology companies adding AI to everything. They don&#x27;t care that you&#x27;ve never asked for it. They don&#x27;t care that it isn&#x27;t reliable. All they care about is that adding AI kicks the inevitable economic correction can down the road just a little longer.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m going to age myself with this reference, but AI reminds me of the &lt;a href=&quot;https:&#x2F;&#x2F;babylon5.fandom.com&#x2F;wiki&#x2F;Apocalypse_Box&quot;&gt;Apocalypse Box&lt;&#x2F;a&gt; from Babylon 5: Crusade. The Apocalypse Box was a mysterious alien artifact that provided advice to Captain Gideon and suggested planets for him to explore. However, it lied. Not always. Just enough to be untrustworthy. That&#x27;s AI. If you ask a question to ChatGTP, Gemini, Grok, or any other large language model being dishonestly sold as intelligent, you&#x27;ll get an answer. Always. And the AI will assure you it&#x27;s correct. But the answer might not be correct. In fact it frequently won&#x27;t be. But the answer won&#x27;t necessarily be &lt;em&gt;completely&lt;&#x2F;em&gt; incorrect. The incorrect parts are often subtle and impossible to identify if you&#x27;re not an well educate on the topic. This makes using AI a gamble.&lt;&#x2F;p&gt;
&lt;p&gt;Not only does AI dole out wrong answers, it&#x27;s also a privacy nightmare. Everything you type into an AI prompt is sent to the servers owned by the creator of the AI you&#x27;re using. If you ask ChatGTP an embarrassing question, OpenAI has that question and can rather easily tie it to you as an individual. AI creators are also downright hostile towards online content hosts. Large language models needs training material. The more training material you provide, the more sophisticated the model becomes. This fact has lead AI creators to scrape the Internet for anything and everything. They aren&#x27;t subtle and they &lt;a href=&quot;https:&#x2F;&#x2F;blog.cloudflare.com&#x2F;declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click&#x2F;?utm_campaign=cf_blog&amp;amp;utm_content=20240703&amp;amp;utm_medium=organic_social&amp;amp;utm_source=twitter&#x2F;&quot;&gt;care not one iota about efficiency&lt;&#x2F;a&gt;. If your server bill skyrockets because a bunch of AIs are accessing your site to download everything on it, that&#x27;s not the AI creator&#x27;s problem. They don&#x27;t care about you. Their attitude, much like Heckler and Koch&#x27;s, is &quot;You suck and we hate you.&quot;&lt;&#x2F;p&gt;
&lt;p&gt;If you&#x27;ve read this far, you might be surprised by the title of this post. How could I, a privacy advocate who despises broken technology, love AI? The answer lies in &lt;a href=&quot;https:&#x2F;&#x2F;futurism.com&#x2F;chicago-newspaper-ai-slop&quot;&gt;stories like this&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The &lt;em&gt;Chicago Sun-Times&lt;&#x2F;em&gt;, a daily non-profit newspaper owned by Chicago Public Media, published a &quot;summer reading list&quot; featuring wholly fabricated books — the result of broadcasting unverified AI slop in its pages.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The widespread usage of this broken technology being fraudulently referred to as intelligent is highlighting just how lazy, sloppy, and inept the mainstream is. This story isn&#x27;t unique. It&#x27;s not even rare. There are thousands and possibly millions of stories like this. Every day some dipshit asks an AI to write a story or a piece of code for him because he&#x27;s too lazy or stupid to do it himself. The rewards for his laziness is looking like an ass when he tries to pass off the completely wrong AI generated slop to his readers or employer. An unintended side effect of AI being shoved down our throats by every technology company with a publicly traded stock is that the masses are using it. Those who are too incompetent or lazy to bother double checking the answers they receive from their friendly AI buddy confirm their incompetency to the rest of us when they try to pass off that garbage answer as their own.&lt;&#x2F;p&gt;
&lt;p&gt;AI is highlighting who is stupid in a very public way. It&#x27;s helping us identify the people whose opinions can be completely discarded. I love it!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Our Stupid Smart Future</title>
        <published>2025-02-14T06:00:00+00:00</published>
        <updated>2025-02-14T06:00:00+00:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/our-stupid-smart-future/"/>
        <id>https://www.christopherburg.com/blog/our-stupid-smart-future/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/our-stupid-smart-future/">&lt;p&gt;When my dad was learning to drive, automobiles were purely mechanical. Computer controlled fuel injection didn&#x27;t exist. Either carburetors dumped fuel into the cylinders or, rarely, a mechanical fuel injection system might inject atomized fuel into the cylinders. When I was learning to drive, automobiles were still largely mechanical. Computer controlled fuel injection was the norm but infotainment systems, drive by wire systems, and Bluetooth equipped (and Bluetooth itself) audio systems were still nonexistent (maybe there were some niche or prototype drive by wire systems).&lt;&#x2F;p&gt;
&lt;p&gt;Today automobiles are largely electronic. Many of the old mechanical systems have been replaced by electronic systems. Modern automobiles have a plethora of electronic components on them including drive by wire systems, backup cameras, adaptive cruise control, and touch screens to control it all. This could be cause for celebration since it means our automobiles are more capable. But like so many other smart devices, making automobiles smarter has opened the door to making them &lt;a href=&quot;https:&#x2F;&#x2F;techstory.in&#x2F;stellantis-introduces-pop-up-ads-in-vehicles-sparking-outrage-among-owners&#x2F;&quot;&gt;stupid&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;In a move that has left drivers both frustrated and bewildered, Stellantis has introduced full-screen pop-up ads on its infotainment systems. Specifically, Jeep owners have reported being bombarded with advertisements for Mopar’s extended warranty service. The kicker? These ads appear every time the vehicle comes to a stop.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;In a just world, this story would come as a shock to consumers. But this isn&#x27;t a just world. Stellantis is merely joining the ranks of technology companies pulling bait and switch maneuvers on their customers. They baited their customers into buying an automobile and then switched it to a rolling billboard. Google TV &lt;a href=&quot;https:&#x2F;&#x2F;www.techradar.com&#x2F;televisions&#x2F;theres-no-escaping-smart-tv-ads-as-google-tv-adds-them-into-its-once-ad-free-apps-only-mode&quot;&gt;did this&lt;&#x2F;a&gt;, Netflix &lt;a href=&quot;https:&#x2F;&#x2F;www.adweek.com&#x2F;media&#x2F;netflix-ads-automatically-enroll&#x2F;&quot;&gt;did this&lt;&#x2F;a&gt;, Amazon &lt;a href=&quot;https:&#x2F;&#x2F;www.theverge.com&#x2F;2023&#x2F;12&#x2F;26&#x2F;24015595&#x2F;amazon-prime-video-ads-coming-january-29&quot;&gt;did this&lt;&#x2F;a&gt;, and the list goes on. Cory Doctorow coined the phrase &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Enshittification&quot;&gt;enshittification&lt;&#x2F;a&gt; to describe this all too common trend and I think it&#x27;s a fitting term.&lt;&#x2F;p&gt;
&lt;p&gt;The worst part about this trend is that consumers by and large just roll over and accept it. Most Netflix subscribers who were unceremoniously pushed from the &quot;basic&quot; tier to the ad-supported tier probably didn&#x27;t cancel their subscriptions entirely. Likewise, most owners of these rolling billboards made by Jeep won&#x27;t drive their vehicle to the nearest Stellantis office, light the rolling billboard on fire, and refuse to buy anything made by Stellantis ever again (or, I guess, sell their rolling billboard and buy something that isn&#x27;t made by Stellantis if you want to appear more reasonable). So long as consumers roll over and accept enshittification, it will continue.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m not most consumers. I&#x27;ve been wary of smart devices from the start because I predicted (accurately it turns out) that companies would abuse their always on Internet connections into my home. A simple mandatory firmware updated pushed from a manufacture is the only difference between a smart TV and an always on microphone using the information is collects to display targeted ads in your living room. This is why I never bought smart devices. I&#x27;ve even been doubling down in the last few years by specifically buying the most basic devices I can.&lt;&#x2F;p&gt;
&lt;p&gt;A few recent examples are my newest watch, a Casio G-Shock GW-9500. It&#x27;s not smart. It has no connectivity. The altimeter, compass, and barometer are also useful for long hikes, but it won&#x27;t display messages from my phone or collect health data. I did look at a few smart watch options but they all either require or strongly push you towards an online account. They&#x27;re all black boxes and the manufacturer can change their behavior at any time with a firmware update. Pass.&lt;&#x2F;p&gt;
&lt;p&gt;Another device that I recently purchased was a Garmin Foretrex 801. I like having a GPS unit to track my hikes and give me a breadcrumb trail to follow back if I managed to get lost (I haven&#x27;t yet, but I like the backup plan if I do). I learned my lesson about relying on GPS applications on my phone when the biking application I was using went from a one time payment to a subscription model. During the transition, of which no prior notice was provided via the application, there was no effort put into grandfathering those of us who previous purchased the application. One day an updated locked a bunch of features I was using behind the subscription paywall. Since then, I&#x27;ve been using an open source GPS application, but a recent update broke it. The Foretrex appeals to me because it doesn&#x27;t have any mandatory connectivity so I can choose when or if to install firmware updates. While it can be connected to the Garmin Explore application, doing so it&#x27;s required (and I haven&#x27;t done it) since GPX files can be uploaded to the device from any desktop via the USB connector.&lt;&#x2F;p&gt;
&lt;p&gt;Returning to the start of this post, none of my vehicles have infotainment systems. I prefer older vehicles because I don&#x27;t need or want a touch screen, cellular connectivity, or another smart features in my vehicles. My newest vehicle, a 2014 Ram, has a touch screen, but it&#x27;s the most basic of affairs and I can control the functionality of the vehicle via physical buttons that I can operate without looking at (unlike a touch screen, which has no tactile feedback so you have to take your eyes off of the road to operate). Stellantis can&#x27;t push a firmware update to it because it doesn&#x27;t have any cellular connectivity.&lt;&#x2F;p&gt;
&lt;p&gt;Smart devices baited us with promises of greater capabilities, convenience, and efficiency. More and more the bait is being switched out for greater advertising, surveillance, and mandatory upgrades via discontinuation of required online services or &lt;a href=&quot;https:&#x2F;&#x2F;arstechnica.com&#x2F;gadgets&#x2F;2024&#x2F;05&#x2F;pleas-for-open-sourcing-refunds-as-spotify-plans-to-brick-car-thing-devices&#x2F;&quot;&gt;crippling firmware updates&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
