Logo

dev-resources.site

for different kinds of informations.

2024

Published at
1/3/2025
Categories
notes
apple
engineering
windows
Author
misterbiggs
Categories
4 categories in total
notes
open
apple
open
engineering
open
windows
open
Author
11 person written this
misterbiggs
open
2024

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.

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.

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.

pytest

Best Library

I use pytest 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.

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, black being the other that comes to mind, 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.

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.

M4 Mac Mini

Best Hardware

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 magic keyboard or USB-C peripherals, but beyond that it's mostly been a dream.

There isn't a single major innovation that makes this generation special, but all of the incremental gains feel significant:

  • 16GB Unified memory for the base model
  • M4 chip is wicked fast
  • New tiny form factor
  • Lots of Thunderbolt 4

All of this comes together to make it the best computer on the market by far. I do much harder than average workloads 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.

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.

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.

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.
It just gets smaller and smaller

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.

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.

Sonos

Fallen out of love 💔

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.

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.

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.

Factorio: Space Age

Game of the Year

Yes, I understand that this is a DLC, but Wube Software just doesn't miss and this expansion adds literal hundreds of hours of gameplay. From the announcement I knew this game would be a serious detriment to my productivity at work and boy has it delivered.

The Factorio Blog is also one of the few blogs that I have in the recommendations of this site: https://notes.ansonbiggs.com/#/portal/recommendations. 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.

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.

Claude 3.5 Sonnet

Best LLM

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.

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.

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 continue.dev 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.

Honorable mentions:

  • 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.
  • 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.

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.

Kagi

Best Tool

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.

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.

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.

So what makes Kagi awesome?

The small web index. 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.

I've already talked about it a ton above, but no ads is a requirement.

Personalized Results Settings. 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.

They also have a very similar AI philosophy to myself, which is quickly becoming a key part of the search engine market. Appending a ? 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 Combining Ghost and Quarto (The Lazy Way) post.

macOS

Biggest Surprise

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...

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.

Swapping Pockets

Biggest Smallest Change

I recently bought a Porsche Cayenne, 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.

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.

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.


Thanks for coming to my Year Awards Show Recap.

engineering Article's
30 articles in total
Favicon
How to Become a Google Cloud Platform (GCP) Engineer in 2025
Favicon
2024
Favicon
Half-Duplex vs Full-Duplex: What are the Differences?
Favicon
Reverse Engineering Business Requirements: Tips for Senior Business Analysts 🌟
Favicon
How We Do Documentation Engineering
Favicon
Navigating the Complexities of Hybrid Cloud Operations: A Comprehensive Guide
Favicon
Dynamic Observability: The Evolution of Platform Engineering Excellence
Favicon
Multi-framework docs with Astro Starlight
Favicon
How Emerging Trends in Motion Control Are Redefining Precision Machinery in 2024
Favicon
The Pre-Contagion Window
Favicon
How to Become a Network Engineer: A Complete Guide (2025)
Favicon
Zip Ship Hi-Tech Go-Cart Design Document - Microsoft CoPilot Assisted
Favicon
Reverse Engineering Business Requirements: Tips for Senior Business Analysts 🌟
Favicon
The Observability Digest 36: AI Agents & Security Evolution 🤖🔒
Favicon
The Wasm Component Model and idiomatic codegen
Favicon
[23/52] Game Engine-ering: Railway Empire DLCs Ranked
Favicon
Architecting Scalable API Infrastructure for Open Banking: Challenges and Best Practices
Favicon
Zip Ship Hi-Tech Go-Cart Design Document - Microsoft CoPilot Assisted
Favicon
What is Digital Product Engineering? A Practical Overview for Success
Favicon
KubeCon 2024: Redefining Cloud-Native with AI, Security, and Sustainability
Favicon
Achieving Performance Perfection with Comprehensive Reliability Services
Favicon
Tech Leads: To Code or Not to Code? (and other questions)
Favicon
Mastering Time Management as a Software Engineer
Favicon
Comparative Benchmarking: ILP, A*, and Branch and Bound Algorithms in High-Throughput Scenarios
Favicon
The Observability Digest #0037: Platform Engineering Surge 🔍🚀
Favicon
How we achieve our 25ms p95 response time SLA
Favicon
Rethinking our REST API: Building the Golden API
Favicon
Avoid the busy people and focus on what-matters
Favicon
kafka deep dive
Favicon
Unveiling the Magic Behind Your Computer: A Deep Dive into Operating Systems

Featured ones: