<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Anson Biggs</title>
    <description>The latest articles on Forem by Anson Biggs (@misterbiggs).</description>
    <link>https://forem.com/misterbiggs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F685359%2Fbb6ea6e1-2e10-4ce7-ab2e-5c081fca2279.jpg</url>
      <title>Forem: Anson Biggs</title>
      <link>https://forem.com/misterbiggs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/misterbiggs"/>
    <language>en</language>
    <item>
      <title>Simplifying Fusion 360 for Beginners</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Tue, 24 Feb 2026 06:40:33 +0000</pubDate>
      <link>https://forem.com/misterbiggs/simplifying-fusion-360-for-beginners-3od4</link>
      <guid>https://forem.com/misterbiggs/simplifying-fusion-360-for-beginners-3od4</guid>
      <description>&lt;p&gt;Fusion 360 is a widely used 3D modeling software, but it often presents a steep learning curve for beginners. This guide aims to demystify some of the less intuitive aspects and enhance your Fusion 360 experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Set Z-Axis as Up
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxusnewl72fm449v2pez2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxusnewl72fm449v2pez2.png" alt="Fusion 360 settings menu where the default modeling orientation is being changed to Z up" width="800" height="555"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Fusion 360 settings menu where the default modeling orientation is being changed to Z up&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In the 3D modeling world, orientation matters. Fusion 360, by default, uses Y-Up, which is at odds with the Z-Up configuration used by most other 3D software. This difference can lead to confusing and time-consuming orientation issues when importing models into other platforms. Changing this setting at the start of your project can save you from significant headaches and rework later on. Z up might be an aerospace convention.&lt;/p&gt;

&lt;h3&gt;
  
  
  Start Every Project with a New Component
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiehd7ra582sen8uqvmlu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiehd7ra582sen8uqvmlu.png" alt="New Component button from Fusion 360" width="337" height="187"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;New Component button from Fusion 360&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In Fusion 360, components are akin to individual chapters in a book, helping you organize and manage complex projects. Starting each project with a new component is crucial for maintaining an organized timeline. This practice facilitates easier modifications and troubleshooting, as you can pinpoint and adjust specific elements without sifting through a cluttered timeline. Given Fusion 360's occasional quirks with modifiers, this organization can be a lifesaver.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use Parameters for Large Projects
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tbt2n76g9xo9pukq9lk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tbt2n76g9xo9pukq9lk.png" alt="Fusion 360 parameters value editor" width="529" height="284"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Fusion 360 parameters value editor&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Think of parameters in Fusion 360 as strategic annotations in your model, similar to comments in coding. They serve as crucial references, allowing you to quickly locate and modify specific aspects of your model. This practice is particularly valuable when revisiting old models or making repetitive changes. By naming you create a roadmap for both your future self and anyone else who might need to work on the model, ensuring a smoother and more efficient workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Master the Browser and Hide Unnecessary Items
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fefxwt3dtu9xt3u4dv4o2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fefxwt3dtu9xt3u4dv4o2.png" alt="Fusion 360 browser tree" width="306" height="272"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Fusion 360 browser tree&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Browser in Fusion 360 is a powerful organizational tool that often goes underutilized. It acts as a control panel, allowing you to manage what's visible and accessible at any given time. Learning to effectively use the Browser can significantly streamline your modeling process, reducing visual clutter and focusing your attention on the relevant parts of your project. This feature is especially useful when dealing with complex models with multiple components and sketches.&lt;/p&gt;

&lt;h3&gt;
  
  
  Leverage Offset Planes and the Loft Tool
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm2cp0vbl5gzvzg2tq7v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm2cp0vbl5gzvzg2tq7v.png" alt="Example of a loft between a circle and a square" width="486" height="731"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Example of a loft between a circle and a square&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Moving beyond basic shapes in parametric modeling opens up a world of design possibilities. Fusion 360's loft tool is a prime example of this. It allows you to create sophisticated and intricate designs by defining shapes on different planes and seamlessly blending them together. This method can be more efficient and creative than the traditional approach of starting with basic geometries and modifying them. Exploring tools like the loft tool can elevate your designs and introduce you to new modeling techniques.&lt;/p&gt;

&lt;h3&gt;
  
  
  Utilize McMaster-Carr Integration
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkopxl4ngg48n1fl83eug.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkopxl4ngg48n1fl83eug.png" alt="Screenshot of the McMaster-Carr download page" width="800" height="359"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Screenshot of the McMaster-Carr download page&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The integration of McMaster-Carr's comprehensive hardware library in Fusion 360 is a standout feature. It provides access to a vast array of pre-modeled parts, saving you the time and effort of creating these components from scratch. This integration ensures accuracy and compatibility in your designs, particularly when incorporating hardware elements like screws, nuts, and bolts. It's an invaluable resource for ensuring that your designs are both functional and ready for real-world application.&lt;/p&gt;

</description>
      <category>3dmodeling</category>
      <category>notes</category>
    </item>
    <item>
      <title>Cryptocurrency Rankings</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Tue, 24 Feb 2026 06:40:32 +0000</pubDate>
      <link>https://forem.com/misterbiggs/cryptocurrency-rankings-13gc</link>
      <guid>https://forem.com/misterbiggs/cryptocurrency-rankings-13gc</guid>
      <description>&lt;p&gt;There are hundreds of cryptocurrencies out there with a massive range in quality. I get asked about different coins a lot so I figured I would start compiling my opinions. That said this list is highly opinionated, but unlike most crypto discussions, almost entirely non speculative. &lt;/p&gt;

&lt;p&gt;Opinions are my own, not investment advice. Even if my analysis is correct it doesn't mean that the market will react correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nano
&lt;/h2&gt;

&lt;p&gt;By far the most underrated coin there is. Instant, feeless transactions with a clear path to planet scale usage. Nano is literally going to run Visa out of town in a few years.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://notes.ansonbiggs.com/2021-11-27-notes-on-nano/" rel="noopener noreferrer"&gt;Notes on Nano&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think the only thing holding Nano back is that it doesn't have any tokenomics (economic feedback loops) that make the network grow from usage. The price will rise with increased usage because all of the coins have already been minted, but there are no mechanisms to automatically burn or mint coins based on usage patterns. This is good and bad, Nano is built to be the best currency in the world, and only that. It just means that it will never really see growth due to speculation and the only way it can grow is by being so much better than government issued currencies that it takes over, which is a ridiculously tall order.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ethereum
&lt;/h2&gt;

&lt;p&gt;I have never seen a project innovate as fast as Ethereum. The living whitepaper is almost impossible to keep up with, and it isn't all just research either, the project  actively implements groundbreaking new features all the time. &lt;/p&gt;

&lt;p&gt;When you see a coin call itself an Ethereum killer, it’s definitely a scam. It might implement one feature better than Ethereum, but it won’t ever match Ethereum’s feature parity. One of the key differentiators for Ethereum compared to the other established-large-cap projects is that it is constantly updating and evolving. I think for someone to take the throne would require a massive breakthrough that will be immediately apparent, or a complete paradigm shift in how we look at computing.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Chainlink
&lt;/h2&gt;

&lt;p&gt;I'm still not convinced that Oracles are a solvable problem, but if anyone is able to figure it out I think it will likely be the team at Chainlink. &lt;/p&gt;

&lt;h2&gt;
  
  
  Filecoin
&lt;/h2&gt;

&lt;p&gt;Distributed file storage using blockchain for payments and security. The team behind Filecoin also works on &lt;a href="https://www.ipfs.com/" rel="noopener noreferrer"&gt;IPFS&lt;/a&gt; which is a fantastic idea that is plagued by low performance. Hard to tell if IPFS is failing because it's a ridiculously hard problem or if it's just the wrong team working on it.  Their presentation at Consensus 2023 was one of the best of the entire conference.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monero
&lt;/h2&gt;

&lt;p&gt;You should be able to move money without anybody knowing. Monero provides that security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bitcoin
&lt;/h2&gt;

&lt;p&gt;The king of crypto. I personally don't believe Bitcoin will ever gain utility, at best it becomes gold alternative. The development community is constantly gridlocked and unable to make progress, the small updates that do make it to production are usually too washed out to make a difference. &lt;/p&gt;

&lt;p&gt;There is a lot of money tied up in keeping Bitcoin in its current restricted state, which will eventually lead to its demise. The ecosystem is managed by rent seekers that make huge profits from the congested broken state of Bitcoin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cardano
&lt;/h2&gt;

&lt;p&gt;I respect that Cardano takes a very research forward approach to development, and when it was new to the market it was really ahead in a few key areas. Over time it's failed to keep its edge over other projects so I don't see why anyone would buy it anymore. &lt;/p&gt;

&lt;h2&gt;
  
  
  Solana
&lt;/h2&gt;

&lt;p&gt;This is where all the American Venture Capital has gone for the past few crypto hype cycles. Solana is an incredibly performant coin, but this is achieved because its nodes are on a datacenter scale. In theory, this means that the blockchain is not actually distributed or verifiable, and that has mostly proven to be true so far. If you believe in a Cyperpunk future where mega corps own everything then you should hold some Solana. &lt;/p&gt;

&lt;h2&gt;
  
  
  Doge
&lt;/h2&gt;

&lt;p&gt;Elon likes it so it isn't cool anymore. Honestly, I think the team behind Doge is very competent, but the forces of memes are way stronger. So, holding Doge is always going to be a massive gamble. Elon being in the White House will certainly make the coin go crazy at some point so if you are already holding I would wait for that. &lt;/p&gt;

&lt;h2&gt;
  
  
  Ripple
&lt;/h2&gt;

&lt;p&gt;Centralized. The foundation owns 2/3 of all the coins. The CEO has a very poor track record. Banks are the target customers of Ripple but I don't see any path to mass adoption.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tether
&lt;/h2&gt;

&lt;p&gt;Stablecoins in general require extra caution, but Tether deserves extra scrutiny. Tether is the largest stablecoin by market cap and has yet to prove that its reserves actually exist. The US government is well aware of the issue and has taken many actions so hopefully we get some closure on whether they can be trusted in the near future. &lt;/p&gt;

&lt;h2&gt;
  
  
  Polkadot
&lt;/h2&gt;

&lt;p&gt;I think that the leadership is full of snake oil salesmen, but even dismissing that cross chain transactions are a very bad idea and I don't think Polkadot has a working solution. &lt;/p&gt;

&lt;h2&gt;
  
  
  {Insert Meme Coin Name}
&lt;/h2&gt;

&lt;p&gt;Do I even need to say this? It doesn't matter if Dave Portnoy or Reddit or Twitter is hyping up some shitcoin, its pretty much a given that you will lose all of your money. The creators of these coins aren't doing it to be funny. They are carefully crafting a community and an image that they can grow until they rug pull.&lt;/p&gt;

</description>
      <category>crypto</category>
      <category>review</category>
      <category>notes</category>
    </item>
    <item>
      <title>This... Is my Cars and Bids Review</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Tue, 24 Feb 2026 04:14:28 +0000</pubDate>
      <link>https://forem.com/misterbiggs/this-is-my-cars-and-bids-review-4mal</link>
      <guid>https://forem.com/misterbiggs/this-is-my-cars-and-bids-review-4mal</guid>
      <description>&lt;h2&gt;
  
  
  Bidding is Fun
&lt;/h2&gt;

&lt;p&gt;The thrill of participating in an auction is electrifying. I had spent months pouring over auctions and local classifieds trying to find the perfect match. When the diesel Porsche Cayenne I had been looking for was listed I immediately knew it had to come home with me. The auction process is a week long rollercoaster of anticipation and adrenaline. Cars and Bids lists cars for seven days which gives you ample time to do research and prepare for your purchase. &lt;/p&gt;

&lt;p&gt;The final moments are the most intense, with bids coming in rapidly until the clock closes in on zero. I told my co-workers that I would be bidding on this car during my lunch break so I was truly in a hot seat with all eyes on me. Every bid by me was met with cheering across the entire floor. &lt;/p&gt;

&lt;p&gt;I had tried to win a few cars in the previous weeks but I was always beat out by someone with a much larger budget. Not this time. The energy was so electric that I threw my budget out the window. I needed this car. I was outbid in the final seconds, so I came back with a large final bid, blowing everyone else out of the water. It worked, I won. That was fun. I can't imagine buying a car any other way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://notes.ansonbiggs.com/1-year-with-my-porsche-cayenne/" rel="noopener noreferrer"&gt;1 Year With My 958 Diesel Porsche Cayenne&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cars and Bids Review
&lt;/h2&gt;

&lt;p&gt;I won, Cars and Bids hit my credit card with their fee, now what? &lt;/p&gt;

&lt;p&gt;I had imagined that Cars and Bids would just set me up with the seller and then silently vanish into the background with their fee in hand, but they were actually very keen on being involved every step of the transaction. They leave it to you and the seller to figure out the logistics of money and getting the car. They provide a guide with steps that was helpful but in my case me and the seller were able to get on the phone and hash things out pretty quickly. I decided what worked best for me was to fly from Denver to the East Coast to get the car myself and drive it back since shipping cars is apparently an incredibly scummy business. I also wanted to put my money where my mouth is calling my Porsche a road trip machine.&lt;/p&gt;

&lt;p&gt;After wiring some money, taking some last second PTO, and flying across the country the seller was nice enough to pick me up from the airport and take me somewhere that we could finalize the paperwork. They picked me up in my new Cayenne which was fun, but there were a ton of warning lights on the dash that weren't disclosed earlier. I asked about it and the seller told me the car had been sitting long enough for the battery to die, and this is just something that happens when the battery dies in these cars. They assured me that once the alternator gets the battery topped up that everything will be fine. Seems reasonable enough. I document the issues with the car, we do all the paperwork and I'm on my way.&lt;/p&gt;

&lt;p&gt;After a quick stop for some coffee and food I am officially on my way! Unfortunately, the moment was quickly ruined as this is where the problems really start to show up. I had no cruise control, which is something I really wanted for my 29hr road trip, and almost all of the steering wheel function weren't working. The seller had been super responsive and helpful up until now so I reached out about the issues. They said they worked with Cayenne's a lot so I asked a super non confrontational question about if I needed to do any sort of reset to get things working again. Of course the seller had not vaporized into thin air and didn’t reply 🙄. I was visiting my friend in D.C. for a few days so I figured I would drop the car off at a local dealership and have them take a look at the car. The Porsche Dealership in Tysons Corner was incredibly understanding about me being on a road trip and got the car in immediately for some diagnostics.&lt;/p&gt;

&lt;p&gt;In the meantime Cars and Bids was involved enough in the process so far that they actually checked in to see how the pickup went. I told them my concerns with the state of the car at pickup and they immediately stepped up their involvement and asked for me to send the full diagnostic from the dealership. This felt amazing. I immediately felt like even if my car was a complete lemon, I would be taken care of. &lt;/p&gt;

&lt;p&gt;Unfortunately the dealership didn't have luck. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv48krrvfad595undgm8b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv48krrvfad595undgm8b.png" alt="iMessage from Porsche techs telling me the cars software is beyond repair" width="590" height="584"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Not a great way to start my road trip.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I shot this text off to Cars and Bids along with the paperwork the dealership gave me. Since the techs didn't find an issue they topped up my fluids, checked a few other road trip things and sent me on my way without charging me anything. Bunch of class acts. &lt;/p&gt;

&lt;p&gt;Shortly after Cars and Bids got the documents the seller wanted to chat again, funny how that works! They were coming across as super apologetic, but were trying to gas light me into seeing these issues as a positive, and that I should be happy to have custom software breaking everything! Now being the overly patient person that I am I told the seller and Cars and Bids to hold tight until I got a second opinion back in Denver.&lt;/p&gt;

&lt;p&gt;The rest of the road trip was a breeze, the lack of cruise control was brutal at some points but the car was otherwise running beautifully, diesel is awesome for road trips. &lt;/p&gt;

&lt;p&gt;Cars and Bids continued to check in with me regularly to make sure that things were progressing, and anytime the seller wasn't responding to me they wanted to know and they corrected it. The support was really incredible and helped me stay calm.&lt;/p&gt;

&lt;p&gt;The good news is Porsche Littleton and Berg Performance (both in Denver) both came to much better conclusions about the issue than Porsche Tysons Corner. &lt;em&gt;What a relief.&lt;/em&gt; The local dealership said that it was just a module that needed to be replaced for around $1000. Berg came to the same conclusion so they gave me a discount on the diagnosis because they are awesome like that. &lt;/p&gt;

&lt;p&gt;Now I was relieved that we had a simple fix, but I still thought that the seller owed me for the repair. There were pictures on the listing showing that now broken features were working before I picked up the car. Obviously the seller disagreed, but Cars and Bids was still keen on getting me a good solution. I provided my proof comparing the listing to what I had picked up and Cars and Bids agreed with me. They barred the seller from access to the platform until they made things right with me. &lt;/p&gt;

&lt;p&gt;Now being the super chill nice guy that I am, I only expected the cost of the repair, and not any of the diagnosis I paid for. The seller obviously disagreed. We ran the normal gamut of excuses to stall, but in the end I got a check in the mail. &lt;/p&gt;

&lt;p&gt;Cars and Bids really went above and beyond here. The fee I paid them for the transaction was well worth the mediation and care that they provided me during this process. Had this been a private party Craigslist transaction, or even one with a local dealership I likely would have had to get an attorney involved and at that point I would just be spending money to punish someone without a chance of me coming out break even. It's rare to get any customer service on the internet outside of a business to business context these days, so to have a company working hard to take care of you after a transaction has been completed and they have nothing else to gain is a really rare sight. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I can't promise it will be soon, but as long as Doug owns Cars and bids I will be buying my 911 from the site in the future. 🏎️&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>porschecayenne</category>
      <category>cars</category>
      <category>storytime</category>
      <category>review</category>
    </item>
    <item>
      <title>Using Code Agents Effectively</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Sun, 22 Feb 2026 21:36:15 +0000</pubDate>
      <link>https://forem.com/misterbiggs/using-code-agents-effectively-4k7a</link>
      <guid>https://forem.com/misterbiggs/using-code-agents-effectively-4k7a</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1745356688130-7de19fefdf0a%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDcwfHxjb2RlcGFpcnxlbnwwfHx8fDE3NTk3MTcyMTR8MA%26ixlib%3Drb-4.1.0%26q%3D80%26w%3D2000" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1745356688130-7de19fefdf0a%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDcwfHxjb2RlcGFpcnxlbnwwfHx8fDE3NTk3MTcyMTR8MA%26ixlib%3Drb-4.1.0%26q%3D80%26w%3D2000" alt="Using Code Agents Effectively" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every time LLMs get an "upgrade" they feel like magic, the first impressions are always so strong. That's how I felt with code agents, all of a sudden models were hyper context aware to my exact system, and could iterate on problems until they made a working solution. The craziest part is I don't even have to understand the solution because the Agent already implemented it. But as it always goes, playing with this new capability you quickly find it has hard limits. Beyond creating a toy project they begin to cut major corners, or making any edits to a large repo they just completely fail.&lt;/p&gt;

&lt;p&gt;The latest models, GPT5-Codex and Sonnet 4.5, are well into the territory of being as capable as a new engineer. However, they need to be directed with extreme nuance and can't just be let loose on problems like an eager new grad. The models are smart enough to get just about anything done, but it not without a lot of teamwork. Below I'll detail some of the strategies I'm using to get good results with the current batch of cutting edge LLMs and tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Managing Context
&lt;/h2&gt;

&lt;p&gt;Context is worth more than gold at this point. Even with large token windows every token is poison that is ruining your results. This is from 3 major angles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Price

&lt;ul&gt;
&lt;li&gt;With current Anthropic pricing a single prompt can cost over $30&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Tasking Overload

&lt;ul&gt;
&lt;li&gt;Your model is thinking about its system prompt, every &lt;code&gt;# TODO&lt;/code&gt; it finds, all of your instructions etc. All of these compound to confuse the model.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Retrieval

&lt;ul&gt;
&lt;li&gt;Every model is doing something a little different to keep all those tokens in its brain, in reality none of them are really holding hundreds of thousands of tokens in their head. Retrieval is probably the most important area of advancement for LLMs right now and is far from a solved problem.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Sub-Agents - This is currently my obsession
&lt;/h3&gt;

&lt;p&gt;Having your Agent call other Agents is a crazy hack. By having a fresh agent manage a task it: Gets higher quality answers, keeps your main agents context small, and saves money.&lt;/p&gt;

&lt;p&gt;There are two tasks that happen a lot when doing code pairing at work with an Agent, running build systems and reading our proprietary docs via MCP. Both of these are tasks where we need a small amount of info, but the tools dump a massive amount of tokens. The average docs page is about 10k tokens, and even a small &lt;code&gt;make build&lt;/code&gt; is well into the thousands or tokens. Models are really good at doing specific &lt;code&gt;grep&lt;/code&gt;s or using &lt;code&gt;tail&lt;/code&gt; to get exactly what they need from a document, but it doesn't always work out like that. So having a fresh Agent get told "Run make build, I edited xxx.hpp let me know if there are any errors" gets your agent the concise binary feedback of "Your change worked" or gives it details of exactly what got mad.&lt;/p&gt;

&lt;h3&gt;
  
  
  Compacting Frequently
&lt;/h3&gt;

&lt;p&gt;This is a feature that currently varies wildly between tools and models. Claude Code v2.0 is pretty damn good at it. I used to just manage this myself and start new models frequently but it is currently good enough that I keep the same chat going. This is something where it is more vibes than strict rules, but I tend to compact after a new feature is implemented and tests are passing. Pretty much the same milestones as when I would make a code commit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Planning with Precision
&lt;/h3&gt;

&lt;p&gt;In a large repo you have to be extremely explicit with tasking, but you can't provide too much info. Working on a proprietary tool is really hard because the model understands literally nothing about the product, but if you just dump all of your docs and a few folders into context then you're essentially lobotomizing your model.&lt;/p&gt;

&lt;p&gt;You need to be exact with telling the Agent exactly where to look and what path to take for implementation. If you don't know those answers then you probably need to use a few different Agents to get the relevant info, and help you build a prompt for your Agent that is going to do the executing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clean Workspace
&lt;/h3&gt;

&lt;p&gt;Poisoning your model with bad prompts is a very big issue. I had a system level prompt that said &lt;code&gt;Use uv for all Python commands&lt;/code&gt; and my model was thinking to itself about this rule after every single step. We weren't even in a Python repo anymore. Try to avoid any system level prompts and work on improving your prompts or AGENTS.md in individual repos.&lt;/p&gt;

&lt;p&gt;I was working in an old repo with a deprecated tool that had an upgrade warning on every build so my model was certain that was the issue and that everything would work with an upgrade. So, it started modifying my system and installing the latest update. In this case I had to make a wrapper around the function that hid the issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meta Prompting
&lt;/h2&gt;

&lt;p&gt;This is kind of just sub-Agents but on a higher level. I've had a lot of success having one Agent working with me on the big picture, and coming up with prompts for a worker agent together. This is especially useful if a task is way too large for a single model to tackle at once.&lt;/p&gt;

&lt;p&gt;In practice this usually has me talking to two Agents in separate terminals, one Agent is a manager of sorts and knows at a high level what we are doing. The other window gets reset often as we hit context limits or start down a completely wrong path. I'll collaborate with the manager Agent on what prompt we should provide, and when the worker model gets stuck we will take a higher level approach of figuring out what context it needs to go down the right path. This is a highly iterative process.&lt;/p&gt;

&lt;p&gt;I think the current batch of models are good enough that you could do this fully programmatically and have a manager Agent that you talk to that fully breaks down and distributes tasks but I haven't gotten to test that with the latest models. Sonnet 4 wasn't good enough but Opus 4.1 was close.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-Check Loop
&lt;/h2&gt;

&lt;p&gt;Your Agent needs to be able to check on its own work. This is a key aspect that separates Agents from chatbots. You need to have a clear path laid out for it to build and test your code or else it is just going to build junk. Tests are also amazing documentation. If you or a different Agent can write tests before implementation begins then not only do you have a tight loop but code is far more concise than English.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Best Model and Tool Changes Daily
&lt;/h2&gt;

&lt;p&gt;The combo of LLM and &lt;a href="https://brain.ansonbiggs.com/Agentic-Tools" rel="noopener noreferrer"&gt;Agentic Tool&lt;/a&gt; makes a massive difference in the quality of answers. Anthropic recently put out a &lt;a href="https://www.anthropic.com/engineering/a-postmortem-of-three-recent-issues" rel="noopener noreferrer"&gt;post-mortem&lt;/a&gt; where they admitted that bugs in their infra made their models dumber. So, if one day something works and the next it doesn't, it is probably not your fault. If someone comes out with a new update you should probably try it for yourself to see which combination of mode/tool/task really excels.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Keep your context close and your sub-Agents closer. The best you can do is keep your context as small as possible, and don't be afraid to fully restart if the current path isn't great. I keep thinking that some of this stuff won't matter with the next era of models, but every time they ship I find myself tracking more things. I've certainly been displaced from some lines of work by Agents but we are a long way away from them building cool shit at scale.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>code</category>
      <category>engineering</category>
      <category>technicalbreakdown</category>
    </item>
    <item>
      <title>Scaling With Agents</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Sun, 22 Feb 2026 21:36:14 +0000</pubDate>
      <link>https://forem.com/misterbiggs/scaling-with-agents-5631</link>
      <guid>https://forem.com/misterbiggs/scaling-with-agents-5631</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1548076805-5f8d6345df31%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDY0fHxtdWx0aXBseXxlbnwwfHx8fDE3NjkwNDkzODZ8MA%26ixlib%3Drb-4.1.0%26q%3D80%26w%3D2000" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1548076805-5f8d6345df31%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDY0fHxtdWx0aXBseXxlbnwwfHx8fDE3NjkwNDkzODZ8MA%26ixlib%3Drb-4.1.0%26q%3D80%26w%3D2000" alt="Scaling With Agents" width="2000" height="1336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The current generation of Frontier Models are incredibly capable. It is no longer a question of what can I build but how fast can I build it. But building fast at scale introduces its own complexity. Scaling your compute and your Agents is two completely different issues that have to be done in lock step.&lt;/p&gt;

&lt;h1&gt;
  
  
  Mise en Place
&lt;/h1&gt;

&lt;p&gt;With Claude Code you are now a CTO, if you enjoyed being in the weeds of your codebase and writing artisanal Python like I did you need a whole new set of skills to build at the new scales available to you. Implementation details are now a waste of time, you need to be able to take large projects and break them down into smaller independent features that can be worked on in parallel.&lt;/p&gt;

&lt;p&gt;I use GitLab with the &lt;code&gt;glab&lt;/code&gt; CLI tool to have Claude help me plan everything out. I find that the interview style works really well for this. It's impossible to one shot explain a perfectly constrained statement of work for Claude to break down so the back and forth is really important. I find myself totally changing my perception of the project as we go through this phase.&lt;/p&gt;

&lt;p&gt;It's important to vibe code at this phase too. Sure you probably have some infrastructure constraints like the project needs to run on your macbook, and host in a cloud that you are familiar with but other than that I try to let my Agent figure out those details. Remember you are a CTO you're worried about the vision not that your favorite language is used. Personally I strongly dislike Javascript, but for many projects it is the right tool for the job and a tool that Claude understands incredibly well. When I stopped forcing a stack that I preferred on my Agents things started coming together a lot better. This isn't to say that your technical depth is going to go to waste, it's just that for many large projects you need to think bigger picture.&lt;/p&gt;

&lt;p&gt;Now back to breaking down work, I recommend going the whole nine yards and really plan things out. I know most engineers don't even want to use branches for personal projects but having Claude help you make Sprints, Epics, crawl/walk/run plans, etc. goes a super long way. Remember that the biggest issue with Agents is that they are stateless, and the more you cram into their little brains the worse they perform. So, having layers that the Agent can reach out to if it needs more information on its own is really powerful. Most of the time the Merge Request description and the codebase is all it needs, but sometimes a problem isn't well enough defined and it can go out and grab that context itself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2w94hsve03b4o36zudvx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2w94hsve03b4o36zudvx.png" alt="Concentric rings showing how the more your agent has the grab that the info grows exponentially" width="800" height="804"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My attempt at visualizing the context use&lt;/p&gt;

&lt;p&gt;Breaking this work down also helps your orchestration Agent know what needs to be worked on next. If your orchestration Agent needs to understand every single ticket and the entire codebase on every iteration then it is going to fail.&lt;/p&gt;

&lt;p&gt;I do still skim all tickets and sprints before I let my Agents get to work, but I rarely make any edits myself. Any issues I see I tell my planning agent directly to make sure that it keeps everything in alignment, and so that it fully understands the bigger picture. &lt;strong&gt;One of the most powerful things Claude can do is keep things in alignment.&lt;/strong&gt; One of my favorite prompts is to tell my Agents to review the ticket, Merge Request description, &lt;code&gt;docs/&lt;/code&gt; and the codebase to make sure that everything is in alignment. Make it use multiple independent Agents and to be exhaustive.&lt;/p&gt;

&lt;p&gt;This essentially changes your coding language into English. Your &lt;code&gt;docs/&lt;/code&gt; will be a source of truth that you can review to make sure everything meets your expectations, your open work items describe the path forward. Any divergence you just explain the issue to your Agent it gets fixed.&lt;/p&gt;

&lt;h1&gt;
  
  
  Infinite Compute
&lt;/h1&gt;

&lt;p&gt;Now, you've broken your project down into a super detailed plan that your Agents can go work through on their own, but you're limited to an old laptop that can barely run your test suite, let alone run it 10 times in sync while all of your Agents are developing at the same time.&lt;/p&gt;

&lt;p&gt;Enter CI/CD Pipelines. Pipelines are something I'm kind of obsessed with, every startup I've worked for is confused when the first thing I want to tackle is getting a pipeline set up for running tests and lints. I think the single most important part of any team is aligning on workflows and CI pipelines are a great way to do that. A huge benefit for AI Agents is that it essentially gives each Agent a sandbox so when you have 8 Agents working through an entire 2 week sprint in parallel you don't have to worry about them working on top of each other. Some tools, especially when working simulation environments, can't run multiple times on one machine so even if you are using git worktrees you won't be able to support multiple Agents iterating at once.&lt;/p&gt;

&lt;p&gt;The other huge benefit is you get infinite compute. One important thing when working with Agents is your test suite needs to be overkill to ensure that your workflows are protected. Remember AI Agents are stateless beings so it won't know what your code is supposed to look like when you run it, if there isn't a clear pass/fail in your iteration loop your Agents will break everything around them. So, your test suite is 10x larger than it would be if developed by humans, and there are 8 AI Agents working all at the same time on different tasks, so even a beefy development machine is going to struggle under the workloads. A Pipeline fixes this entirely.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Scaling is the latest hot topic, this is how I do it and I've been seeing a ton of success with it. I'm helping multiple startups manage the entirety of their software development with these workflows.&lt;/p&gt;

&lt;p&gt;If you are only using one Agent at a time, or babysitting your Agents then you are missing out on massive productivity boosts. Break your problems down into chunks up front, and make sure that you have infrastructure in place to keep your Agents aligned and able to develop entirely independently with no bottlenecks.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>technicalbreakdown</category>
      <category>systemsengineering</category>
    </item>
    <item>
      <title>You're probably using Agent Skills wrong</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Sun, 22 Feb 2026 21:36:13 +0000</pubDate>
      <link>https://forem.com/misterbiggs/youre-probably-using-agent-skills-wrong-c24</link>
      <guid>https://forem.com/misterbiggs/youre-probably-using-agent-skills-wrong-c24</guid>
      <description>&lt;p&gt;The entire ecosystem around Claude Code is pretty confusing, the naming conventions are a mess and the pace of change is beyond any production tool I've seen. However Skills are probably the most misused. I see it at work at ton but a paper just came up on Hacker News:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2602.12670" rel="noopener noreferrer"&gt;SkillsBench: Benchmarking How Well Agent Skills Work Across Diverse Tasks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The HN title is editorialized for some reason &lt;em&gt;"Study: Self-generated Agent Skills are useless"&lt;/em&gt;, but it immediately grabbed me since I get massive value from Skills written by Agents, but I also consistently see them misused by my peers. The concept is great, I've been looking at benchmarking specific parts of the Agentic ecosystem myself so this was highly relevant to me. Overall the paper is decent but one bullet invalidates the whole thing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Self-Generated Skills&lt;/strong&gt;: No Skills provided, but the agent is prompted to generate relevant procedural knowledge before solving the task. This isolates the impact of LLMs’ latent domain knowledge.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So all they are doing is taking a problem that a model can't solve well on its own, and asking it to write about the task before attempting it. They just reinvented thinking blocks but worse!&lt;/p&gt;

&lt;h3&gt;
  
  
  The Skill Anti-Pattern
&lt;/h3&gt;

&lt;p&gt;What they did is a very common mistake that I see constantly. My Agent it bad at this thing so I ask the Agent to write a skill on this thing. I'll reiterate this is identical to thinking blocks. In order for your Agent to create something worthwhile you have to make sure they can see the gaps. I see this as the classic CS intro where you ask someone to write out the steps to make a PB&amp;amp;J, you don't really understand what makes the problem hard until you've struggled through solving it. &lt;/p&gt;

&lt;p&gt;This directly leads into the largest Faux Pas of the AI era, just asking a LLM someone elses question verbatim, and pasting the LLMs answer as your response. If I ask you how you did something cool with an Agent, and you just on the fly have a fresh Agent build me a SKILL.md on my question, &lt;em&gt;I will kill you.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Skills
&lt;/h2&gt;

&lt;p&gt;Before getting into proper usage, I just want to cover what skills are. As a primitive they are just markdown files that have some metadata at the top to help Agents/Tools know when to use them, and then the rest of the document is the skill. Each skill has its own folder so it can no only teach your Agent how to do something but also give it better tools.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;.claude/skills/
└── monitor-gitlab-ci/
    ├── SKILL.md &lt;span class="c"&gt;# The file metioned above&lt;/span&gt;
    ├── monitor_ci.sh &lt;span class="c"&gt;# Complicated command&lt;/span&gt;
    └── references/ &lt;span class="c"&gt;# Additional references &lt;/span&gt;
        ├── api_commands.md
        ├── log_analysis.md
        └── troubleshooting.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above is a Skill I used a ton to let older versions of Claude work on my GitLab CI. It's a folder with a simple markdown Skill that just explained the setup and that the Agent needs to watch the CI until either a job fails or everything passes, a simple CLI to prevent the Agent from writing a script, and additional references for edge cases. &lt;/p&gt;

&lt;h2&gt;
  
  
  Skills for Context
&lt;/h2&gt;

&lt;p&gt;Agents are completely stateless meaning that every new conversation is like meeting the model for the first time, it has no idea what your project is or what you were working on 10 minutes ago. CLAUDE.md does a lot to fix this, but for a large enough project it can't contain everything. If I open up a monorepo and tell Claude to run a SIL test then it is going to have to run around to figure out how to do that. It has to figure out what language the project is in, then look for common test patterns for that language, its going to see a complicated Docker Compose setup, its going to see that the containers need x86 but we're running on a Mac, then its going to look for CI, etc.&lt;/p&gt;

&lt;p&gt;This can all be solved by writing Skills for common, but not universal patterns. Anytime a model struggles to do something in your project that you know is simple and basic, tell it to make a Skill covering the gaps in knowledge it had to complete that task. &lt;/p&gt;

&lt;h2&gt;
  
  
  Skills for Repetition
&lt;/h2&gt;

&lt;p&gt;Another simple use for Skills is to explain tasks that you often do. For instance I often tell my Agents to make sure my docs/, MR description, Issue, and codebase are all in alignment. So, I made a simple Skill for it to keep me from typing it out all the time. &lt;/p&gt;

&lt;h2&gt;
  
  
  Skills for Hard Problems
&lt;/h2&gt;

&lt;p&gt;Claude can solve some really hard problems, but it might take $500 in tokens and you might have to yell at it for reward hacking a few times. Almost any time I have to intervene on a problem, once the Agent it unstuck I ask it what the gap was that kept it from figuring it out on its own. Sometimes it something silly, but sometimes it is something genuinely insightful and I have Claude make a Skill to fill the gap. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I edited the original benchmark to do Skills my way and the results were as I suspected, the Agents nailed the test with proper Skills. I don't have the money to spend on fully validating this result but the first pass was good enough for me to be happy. I think this essentially doubles the amount of dataset needed for this benchmarks so I assume thats why the authors didn't include this method.&lt;/p&gt;

&lt;p&gt;Remember, there are two reasons to make a skill – Remembering a novel problem, and avoiding repetition. If you are just making a fresh session with your Agent and asking for a Skill on &lt;code&gt;x&lt;/code&gt; then its probably no value. It needs to know something the fresh model doesn't which can come from you're prompt explaining a common process, a compilation of knowledge gained from a hard problem, or even having it go off and do its own research on something that isn't novel.&lt;/p&gt;

&lt;p&gt;Happy Hacking.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>code</category>
    </item>
    <item>
      <title>2024</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Thu, 02 Jan 2025 23:27:26 +0000</pubDate>
      <link>https://forem.com/misterbiggs/2024-3m5n</link>
      <guid>https://forem.com/misterbiggs/2024-3m5n</guid>
      <description>&lt;p&gt;People always tell you that as you get older time shifts into high gear and it becomes really easy to lose months, years, or even decades in a flash. Leaving college has definitely had that effect on me, the amount of milestones in a year have really boiled down to two for me. The holidays because of travel and nothing getting done at work, and when my lease is up in the summer so I move into a new home.&lt;/p&gt;

&lt;p&gt;When I think of the recent large events in my life all of them were in 2023. So, to combat losing time, I want to reflect on my year a little bit and try to dig up some of the things I've done. While trying to outline this post I can already see some incredible recency bias, keeping good notes has been on the top of my mind for a few years. Maybe next year I'll figure it out.&lt;/p&gt;

&lt;p&gt;This post turned more into an awards show than a recap, but just thinking of my learnings from the past year has done a lot to help surface larger accomplishments so I think this post has mostly served its purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  pytest
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Library
&lt;/h3&gt;

&lt;p&gt;I use &lt;a href="https://docs.pytest.org/en/stable/" rel="noopener noreferrer"&gt;pytest&lt;/a&gt; extensively at work and at this point I'm convinced it is literally magic. Unfortunately, I work in aerospace so I'm hesitant to talk about specifics, so apologies for being vague in how I use the tool, but it's not for traditional unit testing. I do use it for that as well and it is excellent, but it's such an incredibly extensive tool you can do some really powerful test orchestration beyond that.&lt;/p&gt;

&lt;p&gt;If you care about writing tests in any language or environment I would highly recommend giving the pytest docs a read from cover to cover. I've used a handful of testing frameworks in various languages and nothing is near pytest quality. This is one of the few cases, &lt;a href="https://github.com/psf/black" rel="noopener noreferrer"&gt;&lt;em&gt;black&lt;/em&gt;&lt;/a&gt; &lt;em&gt;being the other that comes to mind&lt;/em&gt;, where the professionals have put a lot of work into building something the right way to the point that I don't second guess any decisions.&lt;/p&gt;

&lt;p&gt;One awesome side effect from using pytest has been seeing metaprogramming at its fullest potential. Before pytest, metaprogramming never really clicked for me, the toy examples used to teach the subject never really had a clear path to production for me. After pytest I totally see the light. I wrote a whole library based solely on decorators this year with my discoveries from pytest and it is probably some of my best work of the year.&lt;/p&gt;

&lt;h2&gt;
  
  
  M4 Mac Mini
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Hardware
&lt;/h3&gt;

&lt;p&gt;I've been using M processor Macbooks at work for a few years now, but the M4 Mac Mini is a significant leap forward. This was my first personal Apple computer since the 00's and it was a little bumpy getting started since I didn't have a &lt;a href="https://notes.ansonbiggs.com/steam-deck-dock-saves-new-mac-mini/" rel="noopener noreferrer"&gt;magic keyboard or USB-C peripherals&lt;/a&gt;, but beyond that it's mostly been a dream.&lt;/p&gt;

&lt;p&gt;There isn't a single major innovation that makes this generation special, but all of the incremental gains feel significant:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;16GB Unified memory for the base model&lt;/li&gt;
&lt;li&gt;M4 chip is wicked fast&lt;/li&gt;
&lt;li&gt;New tiny form factor&lt;/li&gt;
&lt;li&gt;Lots of Thunderbolt 4&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this comes together to make it the best computer on the market by far. I do much &lt;a href="https://notes.ansonbiggs.com/2024-09-25-moon-cannon-prelude/" rel="noopener noreferrer"&gt;harder than average workloads&lt;/a&gt; and the base model doesn't even break a sweat. Before I got the M4 Mac Mini I would rent a server to do heavier workloads but moving local has been a huge upgrade for my productivity. I thought I would miss the extremely fast networking speeds but my gigabit home connection gets the job done well enough.&lt;/p&gt;

&lt;p&gt;The Unified Memory had me a little weary since 16BG isn't much to share, but it hasn't been an issue. I assume this is mostly thanks to macOS having great memory management. My M3 Macbook for work has 36GB of Unified Memory which is a lot of fun for running local LLMs, but otherwise I don't think I ever use close to that much.&lt;/p&gt;

&lt;p&gt;Storage is probably the biggest bottleneck for the base model. Thunderbolt does allow expanding the storage, but its not the best solution and I'm writing another post thats a deeper dive into my thoughts on the setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgzw158zhdlais14f6wb0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgzw158zhdlais14f6wb0.png" alt="A macOS storage management interface showing disk usage on a Macintosh HD with 136.56 GB used out of 245.11 GB total space. The interface displays a color-coded storage bar and a list of system components with their respective sizes, including Applications (38.38 GB), Developer (6.6 GB), Documents (15.38 GB), and various system folders. The interface uses a dark theme with white text and icons for different categories." width="494" height="690"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;It just gets smaller and smaller&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As you can see 256GB quickly turns into 245GB available, then ~200GB with macOS, and lots of first party apps eat up space in opaque ways. So really plan on having about 100GB to store your things. Its not great, and I think this is something that anyone using a computer will definitely have to grapple with.&lt;/p&gt;

&lt;p&gt;There have been a lot of negative comments on the steep price increase for anything beyond the base model. Users on the world wide web have pointed out that doubling the storage and Unified Memory costs so much that you could just get two base models instead. It sucks for the power users but getting such a solid base model in at such a low price is definitely worth it. If you are a pro user, pound for pound the upgrades are still well worth it, don't let a killer entry-level yuck your yum.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonos
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Fallen out of love 💔
&lt;/h3&gt;

&lt;p&gt;I have been a huge Sonos fan boy for a few years now. I have collected quite a few of their products, and I even used to pay for their music streaming service. The hardware is pretty amazing, and the Sonos Move is still one of the best designed things I have purchased. Unfortunately, the reason I have fallen out of love with them is that they have completely destroyed the software.&lt;/p&gt;

&lt;p&gt;To be fair my UniFi networking hardware has never played very well with my Sonos system so I do suspect that my issues are a little exacerbated by the ecosystems not getting along. No idea which party is in the wrong here, but the quality of service I get with my Sonos speakers with the newest software "refresh" is abysmal. More often than not, I just can't AirPlay to certain speakers. This issue will last for a few days, even through resets, just to randomly work a few days later. The audio sync between multiple speakers is also way worse than it was before. Sometimes songs randomly skip in the middle of the song, or won't play any audio until the next song start. Overall a massive downgrade to the quality of my hardware that I hope they hash out soon.&lt;/p&gt;

&lt;p&gt;To add insult to the injury this whole mess is due to them adding headphones to their product line which for some reason made their big software overhaul a one way door. This is a little baffling to me since headphones largely negate all the investments I've made into their speakers. In this day and age when you buy into an ecosystem you really are putting a lot of trust into the company to do the right things. Sadly it appears to me that the market is pushing Sonos in a direction that is probably going to slowly erode all of the value I got from the products that I paid a huge premium for. Hopefully they fix their focus back to being platform agnostic and privacy friendly but I doubt thats where the market will take us.&lt;/p&gt;

&lt;h2&gt;
  
  
  Factorio: Space Age
&lt;/h2&gt;

&lt;p&gt;Game of the Year&lt;/p&gt;

&lt;p&gt;Yes, I understand that this is a DLC, but &lt;a href="https://www.factorio.com/game/about" rel="noopener noreferrer"&gt;Wube Software&lt;/a&gt; just doesn't miss and this expansion adds literal &lt;em&gt;hundreds of hours&lt;/em&gt; of gameplay. From the announcement I knew this game would be a serious detriment to my productivity at work and boy has it delivered.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.factorio.com/blog/" rel="noopener noreferrer"&gt;Factorio Blog&lt;/a&gt; is also one of the few blogs that I have in the recommendations of this site: &lt;a href="https://notes.ansonbiggs.com/#/portal/recommendations" rel="noopener noreferrer"&gt;https://notes.ansonbiggs.com/#/portal/recommendations&lt;/a&gt;. Game development runs into so many interesting problems and the solutions can have applications to a wide variety of engineering. Game dev also has a massive leg up on other types of software in that it always has great examples of progress to show off to external parties. A month of work in my industry usually amounts to an extra arrows connecting some boxes on a massive diagram.&lt;/p&gt;

&lt;p&gt;But I digress, if you enjoy strategy or automation at all you need to boot up Factorio. The biggest issue that the automation genre typically struggles with is keeping things interesting. The difficulty curve always swings wildly at some point and the game either becomes trivial or a full time job to continue. Factorio stays consistent for hundreds of hours, the game never feels dull or daunting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Claude 3.5 Sonnet
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best LLM
&lt;/h3&gt;

&lt;p&gt;Between work and my Kagi Ultimate subscription I have access to every LLM on the market. Claude 3.5 Sonnet is by far the most capable for my workflow. I keep waiting for OpenAI to release a new iteration that dethrones Sonnet 3.5 but it hasn't happened for me yet. As of writing, ChatGPT-4 released 21 months ago which I think is pretty indicative of us not getting anymore huge leaps in LLM performance in the near future. What was unbeatable about a year ago can now run on a pretty affordable laptop. The incremental gains have been nice but OpenAI's lead has eroded entirely.&lt;/p&gt;

&lt;p&gt;My main usage for LLMs today is doing repetitive tasks that are too complicated for me to script in Python, or for giving me a quick snippet of code that I don't want to use a search engine to find.&lt;/p&gt;

&lt;p&gt;For coding I generally only use it for getting a function name or maybe writing a bash command. There are some really powerful tools like &lt;a href="https://continue.dev" rel="noopener noreferrer"&gt;continue.dev&lt;/a&gt; that integrate deeply into your IDE. I really don't like this, most of the code modern LLMs write outside of leetcodes are slop. If the next generation of models can hold the context of a few hundred thousand line codebase I'll reconsider. That said, having a chat window right in your IDE is pretty helpful. Line autocomplete can be pretty useful too. I haven't had much luck for most of the code I write since the context window needs to be pretty large and I need a model thats faster than me, but XCode has an autocomplete model built in that I was really happy with when I was toying with iOS development.&lt;/p&gt;

&lt;p&gt;Honorable mentions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Llama is super cool to run locally, even the entry-level Mac Mini can run pretty competent models, and NVIDIA gaming GPUs are getting pretty VRAM heavy now too. &lt;/li&gt;
&lt;li&gt;Gemini is pretty good at SEO for blog posts and Alt text for images. Although you should try not to use its alt-text verbatim since anything that an automated tool can already provide is likely already being used by someone that needs alt-text. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just a note, I find that models change in quality fairly often with no mention of changes by their stewards. I know companies have denied that this is possible but I still believe, so it is important to try new models occasionally. Also as I've said above, some models really excel above the rest at specific workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kagi
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Tool
&lt;/h3&gt;

&lt;p&gt;Search engines are one of the most important tools for any kind of work in the modern age. Paying for a search engine might seem like an odd value proposition but leaving such an essential tool to anything but the best is a massive mistake.&lt;/p&gt;

&lt;p&gt;Google is actively doing everything it can to make money off of your internet usage, and the continuously update their index in the direction of their profitability. These incentives could not be further out of alignment. Do you trust the Dodge car salesman to recommend a Toyota to you? Or even to recommend the best deal on the lot? No, they are going to walk you right over to the largest profit margin for them and try to keep you in that corner. Same concept for Google, are they going to send you to the official high quality Python docs, or the blog spam full of Google Adsense ads? AI takes this an even worse extreme but I need to end this rant.&lt;/p&gt;

&lt;p&gt;The search engine market is surprisingly pretty full of competition, but no one else has taken the sustainable route of charging for usage. Advertising just isn't lucrative enough to run a full high quality index of the web without manipulating search results and doing a large amount of tracking. I hate to dog on the competition but I think people struggle enough with the concept of paying for a search engine that I want to lay out why its necessary to not use a free offering.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So what makes Kagi awesome?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.kagi.com/small-web" rel="noopener noreferrer"&gt;The small web index&lt;/a&gt;. They have put a lot of work into surfacing small, non-commercial websites which I think really enriches their search results. If I go to a search engine for something I need quality results from someone with passion on the subject, not some Medium post full of gifs written by someone writing for the dopamine rush.&lt;/p&gt;

&lt;p&gt;I've already talked about it a ton above, but no ads is a requirement.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kagi.com/stats?stat=leaderboard" rel="noopener noreferrer"&gt;Personalized Results Settings&lt;/a&gt;. This basically lets you change how often you want to see a domain. I have Wikipedia pinned which means that anytime it has a relevant result it moves right to the top of my results. I also have Pinterest blocked so I never have to see it. It is great for removing websites that post slop on topics that you care about, if I search something Python related I would much rather see the official docs or stack overflow than a content farm like geeksforgeeks.&lt;/p&gt;

&lt;p&gt;They also have a very similar &lt;a href="https://help.kagi.com/kagi/why-kagi/ai-philosophy.html" rel="noopener noreferrer"&gt;AI philosophy&lt;/a&gt; to myself, which is quickly becoming a key part of the search engine market. Appending a &lt;code&gt;?&lt;/code&gt; to any search has a model search results to try an answer your query, which definitely has its uses. They also have a high quality summarizer model that I talk about in &lt;a href="https://notes.ansonbiggs.com/combining-ghost-and-quarto-the-lazy-way/" rel="noopener noreferrer"&gt;Combining Ghost and Quarto (The Lazy Way)&lt;/a&gt; post.&lt;/p&gt;

&lt;h2&gt;
  
  
  macOS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Biggest Surprise
&lt;/h3&gt;

&lt;p&gt;I'm going to keep this brief since I have a fuller post I'm working on for this topic, but macOS is miles ahead of Windows. Installing software is better, the UI/UX is unified not just across the OS but the entire Apple Ecosystem, no advertisements, search that works, built in apps are way higher quality than windows...&lt;/p&gt;

&lt;p&gt;I could keep going but I was just really surprised that the OS was so far ahead of the competition, I totally understand why hackintosh builds used to be so popular.&lt;/p&gt;

&lt;h2&gt;
  
  
  Swapping Pockets
&lt;/h2&gt;

&lt;p&gt;Biggest Smallest Change&lt;/p&gt;

&lt;p&gt;I recently bought a &lt;a href="https://notes.ansonbiggs.com/tag/porsche-cayenne/" rel="noopener noreferrer"&gt;Porsche Cayenne&lt;/a&gt;, which has been an amazing car. But, it does one thing odd in that it puts the ignition on the left side of the steering wheel which is the opposite of every other manufacturer. Apparently this is from back when motorsports had drivers run over to their cars and start them, so having the ignition on the opposite side of the shifter was a small edge.&lt;/p&gt;

&lt;p&gt;Anyways, because of this I swapped to having my wallet and keys on my front left pocket, and my phone on my front right pocket. This way my key is always in the correct hand when I grab it which keeps me from juggling items around if my hands are full.&lt;/p&gt;

&lt;p&gt;The only reason I bring this up is because I thought I would have to fight decades of muscle memory, but it literally took one or two times of intentionally putting things in their new pockets. So I guess moral of the story is embrace change lol.&lt;/p&gt;




&lt;p&gt;Thanks for coming to my Year &lt;del&gt;Awards Show&lt;/del&gt; Recap.&lt;/p&gt;

</description>
      <category>notes</category>
      <category>apple</category>
      <category>engineering</category>
      <category>windows</category>
    </item>
    <item>
      <title>Combining Ghost and Quarto (The Lazy Way)</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Tue, 10 Dec 2024 05:41:51 +0000</pubDate>
      <link>https://forem.com/misterbiggs/combining-ghost-and-quarto-the-lazy-way-p0f</link>
      <guid>https://forem.com/misterbiggs/combining-ghost-and-quarto-the-lazy-way-p0f</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1717501219008-5f436ead74d5%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDc3fHxBSXxlbnwwfHx8fDE3Mjc2OTE0NTV8MA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1717501219008-5f436ead74d5%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDc3fHxBSXxlbnwwfHx8fDE3Mjc2OTE0NTV8MA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" alt="Combining Ghost and Quarto (The Lazy Way)" width="2000" height="1125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I currently manage two very distinct blogs: &lt;a href="https://notes.ansonbiggs.com/" rel="noopener noreferrer"&gt;notes.ansonbiggs.com&lt;/a&gt; and &lt;a href="https:projects.ansonbiggs.com" rel="noopener noreferrer"&gt;projects.ansonbiggs.com&lt;/a&gt;. I don't like having more than one place where I write, but they both fill important roles. Notes is hosted using Ghost, which has a powerful editor, newsletter management, comments, and lets me write from any device. I've done a surprising amount of rambling on this blog from an airplane on my iPhone. My projects blog is built using &lt;a href="https://quarto.org" rel="noopener noreferrer"&gt;Quarto&lt;/a&gt;, where blog posts are essentially Jupyter notebooks. The site is static and published using GitLab CI/CD. Quarto gives me a lot of freedom when I want a blog post that has code or interactive graphics, but I need a text editor with a super heavy dev container to do any writing.&lt;/p&gt;

&lt;p&gt;Consolidating my writing on the web to one place is very desirable to me, but I don't think I'm fully there yet. Fully integrating the blogs is too much work at the moment, so for now I'm doing it the "Lazy Way". Maybe once &lt;a href="https://activitypub.ghost.org" rel="noopener noreferrer"&gt;Ghost federates with ActivityPub&lt;/a&gt;, I'll fully commit. The reason I'm doing a lazy implementation for now instead of just doing all the work to fully integrate is that: 1. I don't want to do all of the work right now, I want to put my energy into producing more content. 2. I think my projects website can benefit greatly from all the cool features Ghost provides.&lt;/p&gt;

&lt;p&gt;My lazy solution is to use an iframe to embed the post alongside a summary from the &lt;a href="https://kagi.com/summarizer/api.html" rel="noopener noreferrer"&gt;Kagi summarizer API&lt;/a&gt;. I know in my &lt;a href="https://notes.ansonbiggs.com/about/" rel="noopener noreferrer"&gt;About&lt;/a&gt; page I say that I don't like using ChatGPT, but this is different than using an LLM to summarize posts. It’s a purpose-built model that far outperforms LLMs in 2024 in summary quality, token size, speed, and price. Using the Kagi summarizer is absolutely a shortcut, but I really hate writing SEO-type stuff, so I'm fine with the compromise for now. The summaries it makes aren't consistent across all of my posts, and obviously I could do a much better job writing about my work. However, I have a lot of old posts that I don't want to spend time on, and I like giving Kagi money.&lt;/p&gt;

&lt;p&gt;Creating the post is handled by some &lt;a href="https://gitlab.com/Anson-Projects/projects/-/tree/master/ghost-upload?ref_type=heads" rel="noopener noreferrer"&gt;Rust code&lt;/a&gt; in my pipeline that does the following:&lt;/p&gt;

&lt;p&gt;%%{&lt;br&gt;
init: {&lt;br&gt;
'theme': 'dark',&lt;br&gt;
'look': 'handDrawn',&lt;br&gt;
'layout': 'elk'&lt;br&gt;
}&lt;br&gt;
}%%&lt;br&gt;
graph TD&lt;br&gt;
A[Write Quarto blog post in VSCode] --&amp;gt;|Commit &amp;amp; Push| D[Static Site Generation]&lt;br&gt;
subgraph "GitLab Pipeline"&lt;br&gt;
D --&amp;gt; E[Deploy to GitLab Pages]&lt;br&gt;
D --&amp;gt; |For main branch| G[Rust Code]&lt;br&gt;
G --&amp;gt; |Get post summary| H[Kagi Summarizer]&lt;br&gt;
H --&amp;gt; | Embed summary in Post| G&lt;br&gt;
end&lt;br&gt;
G --&amp;gt; |Upload to Ghost| I[Publish Summary on Ghost]&lt;/p&gt;

&lt;p&gt;How a Projects post gets built for Ghost&lt;/p&gt;

&lt;p&gt;⚠️&lt;/p&gt;

&lt;p&gt;After I started doing this Google completely removed &lt;code&gt;ansonbiggs.com&lt;/code&gt; and any subdomains from its index. The removal could be due to various other changes I've made to my sites but it's worth a callout that this probably isn't best for SEO. However, the end of the day we're making websites for humans, not spiders.&lt;/p&gt;

&lt;p&gt;You can find examples of the output on any of my posts tagged with &lt;a href="https://notes.ansonbiggs.com/tag/projects-website/" rel="noopener noreferrer"&gt;Projects Website&lt;/a&gt;. I'll also link an example below.&lt;/p&gt;

&lt;p&gt;[Notes on Nano&lt;/p&gt;

&lt;p&gt;Nano (Ӿ) is a fast, feeless and severely underrated currency.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6b94wnpowyg96geawnj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6b94wnpowyg96geawnj.jpg" width="256" height="256"&gt;&lt;/a&gt;Anson's NotesAnson Biggs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqv9uualxrilwvqgjgis.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqv9uualxrilwvqgjgis.jpg" width="800" height="450"&gt;&lt;/a&gt;](&lt;a href="https://notes.ansonbiggs.com/2021-11-27-notes-on-nano/" rel="noopener noreferrer"&gt;https://notes.ansonbiggs.com/2021-11-27-notes-on-nano/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The Ghost API has is really nice to work with, I think the previous focus on supporting &lt;a href="https://jamstack.org" rel="noopener noreferrer"&gt;Jamstack&lt;/a&gt; really benefitted what I did here. The API makes it really easy to add canonical tags, meta descriptions, footer scripts, or anything else that you can do natively in the editor. Having this as an automatic part of my CI pipeline when it merges into the default branch is has worked super well. There is definitely a lot of room to grow this integration and I think if I continue using both blog platforms I'll put in the work to fully marry them eventually.&lt;/p&gt;

&lt;p&gt;Overall, I'm happy with having my Ghost blog be a singular source of my writing. There is a lot of ground to cover to fully integrate the two sites, but for now its far from necessary. As I said in the start, my main focus is to spend time writing and creating posts. If you are anything like me it is significantly easier to spend a night tinkering the code for my platforms than it is to actually sit down a write out a post.&lt;/p&gt;

</description>
      <category>notes</category>
      <category>technicalbreakdown</category>
      <category>projectbreakdown</category>
      <category>ghost</category>
    </item>
    <item>
      <title>Goodbye Hey.com</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Tue, 17 Sep 2024 07:09:08 +0000</pubDate>
      <link>https://forem.com/misterbiggs/goodbye-heycom-4705</link>
      <guid>https://forem.com/misterbiggs/goodbye-heycom-4705</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1595521488367-9b130f86bbe3%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDh8fGJ5ZXxlbnwwfHx8fDE3MjY1NTUyMTZ8MA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1595521488367-9b130f86bbe3%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDh8fGJ5ZXxlbnwwfHx8fDE3MjY1NTUyMTZ8MA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" alt="Goodbye Hey.com" width="760" height="1138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey has been one of my favorite products of recent years. The screener picks up right where &lt;a href="https://en.wikipedia.org/wiki/Inbox_by_Gmail" rel="noopener noreferrer"&gt;Inbox by Gmail&lt;/a&gt; left off. Every sender has to sit in the screener until you explicitly tell Hey where to send it. &lt;em&gt;Imbox&lt;/em&gt;, a portmanteau[1] created by combining "inbox" and "important", is for email that needs to be given attention. For me its for things like urgent bank alerts, emails from my local government, things that you want immediately on your lockscreen when they arrive. Then there is &lt;em&gt;The Feed&lt;/em&gt;, this is where things that you want to be able to leisurely read through at your own pace, like newsletters or low priority alerts like replies to merge requests. Things here are also displayed in a way that makes it easy to scroll through, and expand things you want to read. Lastly, the &lt;em&gt;Paper Trail&lt;/em&gt; for things like receipts, low quality mailing lists (I want be be able to grab coupons when I go to a site but I never want to keep up with the latest deals), or terms of service updates. Basically anything that you want to exist if you explicitly seek it out but you never want to see. Then there is also the options to just say no and ignore email from a sender, and obviously a spam option.&lt;/p&gt;

&lt;p&gt;These 3 buckets worked really well for me. There can be some ambiguity, like I want my magic login links immediately, but it felt wrong having them then exist next to my other Imbox items. The other large issue with this system is senders that have bad email practices like using a separate address for each thing they send or just one address for literally everything. Overall though this is without a doubt the best system I've ever used. Using Hey alongside Gmail and iCloud mail made them so painful to use that I eventually just forwarded everything to Hey.&lt;/p&gt;

&lt;p&gt;The other big benefit is the cost is very reasonable for a custom domain at $10/mo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Leave?
&lt;/h2&gt;

&lt;p&gt;HTML over the wire is &lt;strong&gt;&lt;em&gt;really bad&lt;/em&gt;&lt;/strong&gt;. There was a ton of drama on Twitter about this a few months ago that I didn't really understand, but now that my life has changed and I use my email from my phone a lot more outside of good wifi, I see how terrible it can be. It is also one of those things that once you notice it, its really hard to not see anymore. Even on my super snappy wired gigabit connection at home, watching elements pop into place is really odd. I can see the use case for things that are really dynamic like the calendar, but for menu buttons in the email its a little ridiculous. Anything but a couple millisecond lag for main UI elements to fully render is completely unacceptable. Using the app somewhere like a baseball game is appalling, everything is completely unresponsive until they bytes start streaming down the wire which is insane to me. I understand that much of the content available to my phone is off on a server that needs to load on the fly, but animations and menu buttons is taking things a little too far.&lt;/p&gt;

&lt;p&gt;The other issue is I feel that they've lost direction and maybe even interest in the email side of the app. I get that a calendar is a key part of the combo, but they didn't provide enough synergy for me to use it. Besides invites coming through email I've never understood the need to bundle the two products. The last release that I enjoyed was the introduction of workflows, where you could essentially a Kanban board for your emails which is great when you have a ton of threads that all go through the same workflow.&lt;/p&gt;

&lt;p&gt;Now to be clear, I think my $10/month was awesome for the base product that I initially subscribed to and I don't have a need for a steady stream of new features to stay invested. However, any features that is added that I don't use takes away from my experience. Even seeing extra buttons and menus is a negative for your workflow and productivity. Shipping for the sake of shipping is far worse than a stale product. I would easily pay double for an app that provides the screener and native apps for each platform.&lt;/p&gt;




&lt;p&gt;This tool was great for getting my emails back into iCloud after leaving Hey:&lt;/p&gt;

&lt;p&gt;[GitHub - rgladwell/imap-upload: Python script for uploading a local mbox file to IMAP4 server.&lt;/p&gt;

&lt;p&gt;Python script for uploading a local mbox file to IMAP4 server. - rgladwell/imap-upload&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotes.ansonbiggs.com%2Fcontent%2Fimages%2Ficon%2Fpinned-octocat-093da3e6fa40.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotes.ansonbiggs.com%2Fcontent%2Fimages%2Ficon%2Fpinned-octocat-093da3e6fa40.svg" width="36" height="36"&gt;&lt;/a&gt;GitHubrgladwell&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotes.ansonbiggs.com%2Fcontent%2Fimages%2Fthumbnail%2Fimap-upload" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotes.ansonbiggs.com%2Fcontent%2Fimages%2Fthumbnail%2Fimap-upload" width="1200" height="600"&gt;&lt;/a&gt;](&lt;a href="https://github.com/rgladwell/imap-upload" rel="noopener noreferrer"&gt;https://github.com/rgladwell/imap-upload&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Yap Time
&lt;/h2&gt;

&lt;p&gt;There probably isn't much value to the rest of the article but I wanted to comment on each feature to help others and myself for if I ever consider coming back in the future.&lt;/p&gt;

&lt;p&gt;Full list of features, and my thoughts. List pulled from:&lt;/p&gt;

&lt;p&gt;[A delightfully fresh take on email + calendar, from 37signals&lt;/p&gt;

&lt;p&gt;Full of features you didn’t know you needed, but you won’t be able to live without.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotes.ansonbiggs.com%2Fcontent%2Fimages%2Ficon%2Fmask-icon.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fnotes.ansonbiggs.com%2Fcontent%2Fimages%2Ficon%2Fmask-icon.svg" width="15" height="17"&gt;&lt;/a&gt;HEY&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1qajky82yp91s17q4ve8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1qajky82yp91s17q4ve8.png" width="800" height="420"&gt;&lt;/a&gt;](&lt;a href="https://www.hey.com/features/" rel="noopener noreferrer"&gt;https://www.hey.com/features/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Archive of the version as of writing: &lt;a href="https://archive.is/cXbJk" rel="noopener noreferrer"&gt;https://archive.is/cXbJk&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The HEY Calendar

&lt;ul&gt;
&lt;li&gt;I'm just not a fan of this feature. I think they've brought a similar amount of innovation as they did for email, but my calendar usage is really basic and I don't see a need to grow it.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;A dedicated spot for daily notes

&lt;ul&gt;
&lt;li&gt;There are so many better places for this, and there really isn't any synergy with the rest of the features in the app.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Screen emails like you screen calls

&lt;ul&gt;
&lt;li&gt;Big fan.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Send an email to the web

&lt;ul&gt;
&lt;li&gt;Not available for custom domains, kind of a cool idea but more of a weekend webapp than an email app feature.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;The Imbox: It's not a typo

&lt;ul&gt;
&lt;li&gt;Huge fan.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Track an email's progress through stages

&lt;ul&gt;
&lt;li&gt;Kanban for your emails, on paper this was really powerful for my job search but in practice conversations flow around too much to put in columns.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Add a simple, searchable note to any contact

&lt;ul&gt;
&lt;li&gt;I prefer contact notes to live in the actual contact not in a separate app but I rarely use relationship management features like this.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Quiet by default, loud at your discretion

&lt;ul&gt;
&lt;li&gt;As should be the default for every app.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;A "Reply Later" workflow built-in

&lt;ul&gt;
&lt;li&gt;Cool feature, but it's basically just a folder.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Just set it aside

&lt;ul&gt;
&lt;li&gt;Ditto above comment.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Blocking email spies 24-7-365

&lt;ul&gt;
&lt;li&gt;Must have in any mail app.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;E pluribus unum (Merge threads)

&lt;ul&gt;
&lt;li&gt;Never used this but seems neat.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Add some style to your Imbox with Cover Art

&lt;ul&gt;
&lt;li&gt;Neat gimmick that just covers your read important emails.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Link accounts and see all your email in one place

&lt;ul&gt;
&lt;li&gt;Again, just fancy folders.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Spread 'em out, read 'em together (Feed view for multiple emails)

&lt;ul&gt;
&lt;li&gt;This was nice for if you need to look at a few emails that don't require a response. Just kind of a feed of everything at once.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Collaborate with Collections

&lt;ul&gt;
&lt;li&gt;This seems pretty cool but I don't know or collaborate with anyone else that uses Hey.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Focus &amp;amp; Reply: Line 'em up, knock 'em down

&lt;ul&gt;
&lt;li&gt;Nice view for all of your 'reply later' emails so that you can actually make progress drilling them down.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Bundle dominating senders into one line

&lt;ul&gt;
&lt;li&gt;One of my favorite features, basically combines all emails received from a sender into one so that they don't take up 50 lines of your inbox.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Send massive files without using other apps

&lt;ul&gt;
&lt;li&gt;Sending large attachments feels like a pretty basic feature but most other apps refuse to increase any of their limits over the past decade so this is a win for Hey.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Surface bits, don't dig for them

&lt;ul&gt;
&lt;li&gt;This is a clips library, same gripe as the notes there are probably better places to store this info. I have beef with this issue since it seems to break a lot of copy paste behavior which is a massive sin for any text based app.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;The Speakeasy code

&lt;ul&gt;
&lt;li&gt;Code that you can share to let people past your screener and straight into your imbox. Really cool idea since it would take a sophisticated bot to abuse, but probably not that unlikely in the age of ChatGPT.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Stick it to an email

&lt;ul&gt;
&lt;li&gt;Stick notes on your imbox. Cool idea but again probably a better place for notes. How many ways does this one app need to store notes?&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Collaborate without the CCs and side-threads

&lt;ul&gt;
&lt;li&gt;Cool feature, but I don't know anyone else with the app.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Send from an external email address using SMTP

&lt;ul&gt;
&lt;li&gt;Pretty standard feature for email hosts.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Add private "notes to self" to any email thread

&lt;ul&gt;
&lt;li&gt;Another notes method lol.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;New For You &amp;amp; Previously Seen

&lt;ul&gt;
&lt;li&gt;Unread emails are separated from read, how it should be.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;A love letter to newsletters

&lt;ul&gt;
&lt;li&gt;This is just a feature of the screener that I gushed about above.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Put receipts in the Paper Trail

&lt;ul&gt;
&lt;li&gt;Ditto.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Set emails to Bubble Up to the top of your Imbox

&lt;ul&gt;
&lt;li&gt;My favorite part about the bubble up is making it random. Send an email and set it to bubble up randomly if you don't get a reply so you can naturally follow up if you don't get a response.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Get off threads without having to ask

&lt;ul&gt;
&lt;li&gt;I'm sure other apps have this but it's never really a problem for me.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Secure by design

&lt;ul&gt;
&lt;li&gt;As it should be.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Easily add sales@, info@, press@, etc addresses

&lt;ul&gt;
&lt;li&gt;As it should be.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Autorespond when you're away, out, etc.

&lt;ul&gt;
&lt;li&gt;Standard feature.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Send the same reply to multiple emails

&lt;ul&gt;
&lt;li&gt;Standard feature.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Share an email via a link

&lt;ul&gt;
&lt;li&gt;You can only share to other Hey members which is a massive shame.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;HEY Spam Corps: Enlist in the fight against spam

&lt;ul&gt;
&lt;li&gt;Doesn't work that great.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Fix bad subjects without busting threads

&lt;ul&gt;
&lt;li&gt;Everything needs this feature, so good.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Find files without digging through threads

&lt;ul&gt;
&lt;li&gt;Probably one of my favorite features. I know most apps let you search specific file types but this UI is just chef's kiss.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;[1] I had to Kagi this to find the name because I knew it had to exist, but I didn't think it would be such a pretentious word.&lt;/p&gt;

</description>
      <category>review</category>
      <category>rant</category>
      <category>technicalbreakdown</category>
    </item>
    <item>
      <title>1 Year With My 958 Diesel Porsche Cayenne</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Wed, 05 Jun 2024 03:20:29 +0000</pubDate>
      <link>https://forem.com/misterbiggs/1-year-with-my-958-diesel-porsche-cayenne-2l4m</link>
      <guid>https://forem.com/misterbiggs/1-year-with-my-958-diesel-porsche-cayenne-2l4m</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdj0qs6u1katdb6qlbh53.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdj0qs6u1katdb6qlbh53.jpg" alt="1 Year With My 958 Diesel Porsche Cayenne" width="800" height="1110"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I kind of talked about it in &lt;a href="https://notes.ansonbiggs.com/cars-and-bids-experience/" rel="noopener noreferrer"&gt;My Cars and Bids Review&lt;/a&gt;, but in May 2023 I took a big leap and bought a Porsche at auction on Cars and Bids. In my review I talk about how it was kind of a rocky start, but everything worked out and ever since then I've been incredibly happy with the purchase. Having Doug DeMuro write an excerpt about my car was honestly worth the sticker price in itself.&lt;/p&gt;

&lt;h4&gt;
  
  
  Doug's Take
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Not everyone realizes that Porsche sold a turbodiesel-powered version of the Cayenne here – but they did, and here it is. The 3.0-liter twin-turbocharged V6 boasts a muscular 406 lb-ft (!) of torque that comes in handy when towing – and it also touts excellent range and surprisingly good fuel economy. This particular Cayenne Diesel is also a nicely-equipped Platinum Edition model that features a set of 20-inch Cayenne SportDesign II wheels, heated and ventilated front seats, heated rear seats, a heated steering wheel, and much more. Plus, this Cayenne is a one-owner SUV, and it's nearly unmodified – great benefits that enhance its appeal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Everyone I know expected this car to bankrupt me. Now the costs have hurt, but only because I lived without a car for over a year before purchasing the Cayenne. You forget how much car insurance and gas really adds up, but obviously everyone thought that it would be the maintenance costs that were going to ruin me. Like any performance vehicle they have to stay well fed to keep operating, but surprisingly the Porsche tax hasn't been that bad. Apart from good mechanics charging over $250 an hour, the steep price for parts is usually reasonable considering the lifetime and performance of the part. Repairs are pretty straightforward too considering it’s model year. My previous car was a 1998 BMW Z3 which was much worse to work on and maintain.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdd4ohp44nda7jewau96.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdd4ohp44nda7jewau96.png" alt="1998 BMW Z3 on a sunny day" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My old Z3&lt;/p&gt;

&lt;p&gt;Obviously a bit of an apples to oranges comparison, and BMW isn't known for being cheap to maintain either, but I think Porsche engineering really is a step ahead. The few maintenance items I've done myself have been super straightforward. There are never hidden clips, or bolts that are impossible to unscrew, and every time I look up a maintenance guide I think to myself that I could have easily figured that out on my own. I am sitting at 157k miles and I bought the car at 145k so there could be plenty of demons biding their time but so far there hasn't been any major maintenance items. I even had a very reputable mechanic give it a full inspection and everything came back perfect.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adventures
&lt;/h2&gt;

&lt;p&gt;I'm a remote (finger quotes) worker that lives in a walkable downtown so unlike most American vehicles, almost none of my miles are from commuting. I go into my office occasionally and make consistent Costco trips but otherwise all of my driving has been either offroading or road trips.&lt;/p&gt;

&lt;p&gt;Home for me is currently Colorado, and the car was in Massachusetts when I purchased it so the first time behind the wheel of the Cayenne was a 33 hour road trip. The Diesel is absolutely insane for road trips. I generally get over 30 miles to the gallon and I pretty much always push the limits of legal (finger quotes) highway speeds. Not bad for a massive SUV. This is the first car where the &lt;del&gt;gas&lt;/del&gt; fuel tank outlasts my bladder on a road trip. The other amenities you get from a fully optioned out Porsche help the experience too. The other road trips have been between Denver and Phoenix, I can't recommend going through the Rockies and then Moab enough.&lt;/p&gt;

&lt;p&gt;As far as offroading there isn't too much to say, I haven't done anything that extreme since I haven't managed to save a big enough pile of money to get the &lt;a href="https://bergpeaks.com/blogs/news/prosciutto-porsche-cayenne-958" rel="noopener noreferrer"&gt;Berg Peaks&lt;/a&gt; build I want yet. The car handles incredibly on icy snowy conditions and mud. My friend got his RAM 1500 stuck up a trail in the Rockies this winter and I led a group of built out rescue Jeeps up to where his truck was and one of the Jeeps got stuck on the way up the trail while my Cayenne wasn't even breaking a sweat. That felt very satisfying because I could tell they were worried about me getting stuck up on the trail.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fns9dpaswyk3zdave30pu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fns9dpaswyk3zdave30pu.png" alt="Porsche Cayenne in front of a house pulling a U-Haul trailer" width="800" height="677"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I promise I never let her get this dirty&lt;/p&gt;

&lt;p&gt;I also hauled a U-Haul trailer but there's no surprise that the Diesel didn't even notice that it was pulling a fully loaded 6x12 trailer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quality of Life Purchases
&lt;/h2&gt;

&lt;p&gt;I won't provide direct links since I don't want search engines to think I'm just churning out affiliate link garbage but:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VIOFO Dash Cam - Required with these Denver drivers&lt;/li&gt;
&lt;li&gt;Road Top Wireless Carplay Touchscreen - I tried using the build in PCM overrides but it was a total pain to install and didn't work well so I returned it. Phone mount would also work just as well.&lt;/li&gt;
&lt;li&gt;Trunk Cargo Net - Gotta stop items from sliding around in the boot&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Undocumented Behavior
&lt;/h2&gt;

&lt;p&gt;2014 is a quirky year for the Cayenne because it shipped with many cool features that were limited by software for various reasons: Bluetooth that doesn’t auto-connect, brake hold that only activates on hills, and parking sensors without auto cruise control. These little oddities add to the charm of owning a car from this transitional period in automotive tech.&lt;/p&gt;

&lt;p&gt;I've discovered some neat undocumented tricks. The rear hatch open button on the driver-side door will close the door as long as you hold the button down. This is cool because the only documented way is to push the button on the bottom of the door or manually pull it down. Another cool thing is pressing and holding the lock button on the key fob causes the mirrors to fold in, which is handy for street parking.&lt;/p&gt;

</description>
      <category>porschecayenne</category>
      <category>cars</category>
      <category>review</category>
      <category>storytime</category>
    </item>
    <item>
      <title>Apple Photos is a Miss</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Fri, 22 Mar 2024 07:28:00 +0000</pubDate>
      <link>https://forem.com/misterbiggs/apple-photos-is-a-miss-571p</link>
      <guid>https://forem.com/misterbiggs/apple-photos-is-a-miss-571p</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1606403341585-c74a0b7f2c4f%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDQwfHx0aGUlMjBjbG91ZHxlbnwwfHx8fDE3MTEwOTE4OTJ8MA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1606403341585-c74a0b7f2c4f%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDQwfHx0aGUlMjBjbG91ZHxlbnwwfHx8fDE3MTEwOTE4OTJ8MA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" alt="Apple Photos is a Miss" width="2000" height="1333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm fairly new to the apple ecosystem, I just passed my 1 year anniversary with my iPhone as of writing this. I was a staunch Android defender for years, but recently I feel like Apple has really pulled ahead so I made the jump. I've found Apples commitment to excellence in all aspects of their devices very impressive. However, when something doesn't hit the mark it stings so much worse than it did before. I think a lot of these issues would be expected from a competitor device, but since Apple executes at such a high level these issues are much more annoying.&lt;/p&gt;

&lt;p&gt;To start, Apple Photos takes a much different approach than Google Photos. Apple Photos is a very device/local first approach which I found really cool. Instead of requiring Googles servers to do all the heavy processing on my pictures and videos, the iPhone has the horsepower to do it itself which is really impressive. My biggest gripe with the app is that sharing is awful, which I think stems from this local first architecture.&lt;/p&gt;

&lt;p&gt;Whether its between iPhones with iMessage or with my Windows PC, sharing even a few things from Apple Photos is extremely painful. I assume this is due to the aforementioned local first approach that the app takes, but once my media is in iCloud I expect to be able to share any amount of media instantly. There are 2 'normal' ways to achieve sharing groups of media from the app.&lt;/p&gt;

&lt;p&gt;The first is selecting your media and hitting share. This is usually fine for a few photos or short videos but there is a reupload step that happens, and the more content you select the longer this step takes. I recently tried sharing about 10 minutes of video and 10 photos with a friend and the loading just got stuck. Why don't I instantly get a link and then the rest happens in the background since my stuff is already in &lt;em&gt;the cloud&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The second method is using a shared album. The UI on shared albums is kind of bad, but that is besides the point. It is also important to note that sharing a normal album has the same issues as the first approach I outlined. The shared album also has to seemingly reupload all of your media to create the album. Is this using double space? Who knows, because the size calculations are also famously incorrect. To its credit the upload to a shared album seems much more reliable than just sharing the media. There is one massive caveat to this approach in that the media isn't uploaded in its full resolution! Half the iPhone marketing is about the quality of the damn camera so why would I ever be able to share a blurry image?&lt;/p&gt;

&lt;p&gt;There is a third way, and its how I was able to share a massive amount of content. I was recently asked to film a friends destination wedding. I have no filming experience whatsoever, so, I thought I would film everything on my iPhone and DJI mimo (I won't even go into how hard uploading content from an SD card was), upload it to Apple Photos, then be able to share the 4k60fps content with everyone. What a shit show this turned into. I had hundreds of gigabytes of content essentially locked away in my iCloud that I couldn't figure out how to share.&lt;/p&gt;

&lt;p&gt;The solution ended up being, going to the Apple Photos website to download everything. Note I said the website and not using the iCloud windows application. The windows app simply could not parse through my entire library of 13,000 files, to enable me to download just the files I wanted. So, I had to use the website, figure out how to download the full quality of everything, and then upload it to my Nextcloud instance (shout out Hetzner Storage Share). This was excruciating since transfers from iCloud are horribly slow, and you end up with a massive zip file that is really unwieldly to unzip and transfer to my personal cloud.&lt;/p&gt;

&lt;p&gt;In my Android days this wouldn't have been a problem. I would have had a collaborative, platform agnostic, album that would be able to share with the whole family as soon as the files were done uploading. Alternatively, if any of these same issues arose outside of Apples perfectly trimmed walled garden, I probably wouldn't have minded enough to write a blog post about it.&lt;/p&gt;

</description>
      <category>rant</category>
      <category>apple</category>
      <category>review</category>
    </item>
    <item>
      <title>Biden Admin Declares War on C++</title>
      <dc:creator>Anson Biggs</dc:creator>
      <pubDate>Tue, 27 Feb 2024 07:27:03 +0000</pubDate>
      <link>https://forem.com/misterbiggs/biden-admin-declares-war-on-c-4ml1</link>
      <guid>https://forem.com/misterbiggs/biden-admin-declares-war-on-c-4ml1</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1467251589161-f9c68fa14c59%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDF8fHdoaXRlaG91c2V8ZW58MHx8fHwxNzA5MDEyNzI0fDA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1467251589161-f9c68fa14c59%3Fcrop%3Dentropy%26cs%3Dtinysrgb%26fit%3Dmax%26fm%3Djpg%26ixid%3DM3wxMTc3M3wwfDF8c2VhcmNofDF8fHdoaXRlaG91c2V8ZW58MHx8fHwxNzA5MDEyNzI0fDA%26ixlib%3Drb-4.0.3%26q%3D80%26w%3D2000" alt="Biden Admin Declares War on C++" width="2000" height="1125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today the White House office of the National Security Director released a report titled [&lt;a href="https://web.archive.org/web/20240227202443/https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/memory-safety-fact-sheet/" rel="noopener noreferrer"&gt;“Back to the Building Blocks: A Path Toward Secure and Measurable Software.”&lt;/a&gt;](&lt;a href="https://www.whitehouse.gov/wp-content/uploads/2024/02/Final-ONCD-Technical-Report.pdf" rel="noopener noreferrer"&gt;https://www.whitehouse.gov/wp-content/uploads/2024/02/Final-ONCD-Technical-Report.pdf&lt;/a&gt;) that outlines actions the White House wants developers nationwide to make to ensure the cybersecurity of the United States.&lt;/p&gt;

&lt;h2&gt;
  
  
  Roadmap to Memory Safety
&lt;/h2&gt;

&lt;p&gt;The suggestion from the report that is immediately actionable for developers is switching to memory safe programming languages. The report states that now is the best time it has ever been to switch to a memory safe language, therefore, all new projects should make the jump. It even goes as far as calling existing projects to start refactoring their codebases as well.&lt;/p&gt;

&lt;p&gt;The report explicitly calls out C/C++ as the popular problematic languages and suggests that Rust should be used instead. No other languages are mentioned in the report, cue &lt;a href="https://youtu.be/LDU_Txk06tM" rel="noopener noreferrer"&gt;crab rave&lt;/a&gt;. It does acknowledge that while on paper Rust checks all the boxes needed to replace C/C++ (specifically for space applications) it is not yet battle proven. There is the argument that with more adoption comes improvements such as toolchain development and workforce education that could really take Rust to the Moon.&lt;/p&gt;

&lt;p&gt;The most important discussion in this paper is how the incentives are not aligned to favor memory safety. Huge systematic changes need to happen just to dethrone C++ as the default systems language, let alone to get the ball rolling on refactoring old code. I don't think the systems that are being implemented in the report are doing enough. They are mostly education and incentive based with a focus on the very long term. I would like to see strict punishments put in place for malice/negligence when it comes to system design. The cost of refactoring even critically vulnerable parts of a codebase in a new language is magnitudes more expensive than the fine/advertising costs it takes to sweep a massive cybersecurity incident under the rug. Over time I think the better languages will prevail, but there is a strong need for swift action to push the market into the correct course.&lt;/p&gt;

&lt;p&gt;Open source is also mentioned as a critical part of the overall software ecosystem. I found it surprising that there was no mention of supporting open source work. The &lt;code&gt;Log4Shell&lt;/code&gt; vulnerability was highlighted as a key reason why we need better observability into open source but there is a void of any plan to fix it. I think open source is one of the few things where resources input creates orders of magnitude of economic activity. It truly is the backbone of all forms of modern engineering and progress at large.&lt;/p&gt;

&lt;p&gt;Interestingly, there is also the discussion on how hardware is another avenue towards a memory safe future. There are projects in development that could allow patching memory vulnerabilities just by switching hardware. This is still a new area that doesn't appear to have made it outside of a lab yet, but given the cost of refactoring ancient C monoliths I could see little wins in this field gaining a lot of traction and snowballing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Measuring Cybersecurity Quality
&lt;/h2&gt;

&lt;p&gt;The other required step is far less actionable, figuring out a way to measure code safety. This is a huge problem that I think the report really nailed. There is no simple way to describe the safety of a software system. How is anyone supposed to make informed decisions regarding the safety of their data and systems in the current ecosystem? Even if you have a full teams dedicated to pouring over every piece of code that your organization uses would they catch things like &lt;code&gt;Log4Shell&lt;/code&gt; or &lt;code&gt;Heartbleed&lt;/code&gt;? The answer is no.&lt;/p&gt;

&lt;p&gt;This is an extremely hard area of research that I think is a mostly open problem. I think its awesome that the White House is willing to tackle something this big. It really does effect every single part of the software ecosystem. From CTO's to developers to consumers nobody has any actionable data about the safety of a system. The report says that groundbreaking academic research is an essential part of getting a solution here so hopefully that will inspire the upcoming generation of PHD's to tackle these difficult problems.&lt;/p&gt;

&lt;p&gt;So what can we measure today? It seems odd that the only real indicator is what language the project was written in. Don't tell HackerNews but in the near future seeing Rust as the main language of a project is probably going to be the singular selling point in sensitive areas. Maybe AI will save us.&lt;/p&gt;

&lt;h2&gt;
  
  
  tldr;
&lt;/h2&gt;

&lt;p&gt;So in conclusion, stop writing code in C/C++. The biggest dent you can make in the security of your code is writing it in a memory safe language. If you need a low level systems language you should probably use Rust instead, but its likely you don't actually need that. Hopefully soon hardware wins will make unsafe code a little safer, and in the longer term we will have actionable metrics about the safety of our systems.&lt;/p&gt;

&lt;p&gt;Here is my highlighted copy of the report:&lt;/p&gt;

&lt;p&gt;[Anson-Notations-ONCD-Technical-Report&lt;/p&gt;

&lt;p&gt;Anson-Notations-ONCD-Technical-Report.pdf&lt;/p&gt;

&lt;p&gt;681 KB&lt;/p&gt;

&lt;p&gt;download-circle](&lt;a href="https://notes.ansonbiggs.com/content/files/2024/02/Anson-Notations-ONCD-Technical-Report.pdf" rel="noopener noreferrer"&gt;https://notes.ansonbiggs.com/content/files/2024/02/Anson-Notations-ONCD-Technical-Report.pdf&lt;/a&gt; "Download")&lt;/p&gt;

</description>
      <category>usgovernmentreport</category>
      <category>code</category>
      <category>rust</category>
      <category>cpp</category>
    </item>
  </channel>
</rss>
