In this week's newsletter, I'm going to talk about the new MacBook Pro's and I'll give a quick review of a book that I just finished.
New MacBook Pros
I happen to be heavily invested in the Apple ecosystem. I own a lot of their products and I often advocate on behalf of them. Somehow this often starts a heated discussion about Android vs iPhone or PC vs Mac and there is just no room for it. Different products just connect to different people and that is ok.
When I started out writing software 20+ years ago I did it on a desktop computer that I built myself. I ordered all of the parts from a local computer shop or New Egg and I put it together myself. I didn't have YouTube to watch a guided tutorial, I messed up and learned from those mistakes. When I was done, I had a machine that would power my passion, programming.
I'm not sure when I bought my first MacBook but I think it was around 2013. This would be the first laptop I would ever purchase on my own. I had some others through work but this was the first laptop that I could call mine, and I fell in love with it. This wasn't my first trip around Unix, in fact, I started with a Linux Laptop early on in my career. As a developer, I enjoyed the terminal experience vs Windows at the time. It was a well-designed machine that was less susceptible to bugs and lasted longer than its PC counterpart.
At the end of last year, Apple announced its new MacBook & MacBook Air based on their own silicon chips. This was exciting on a number of levels but for me, the processor world was slowing down. Moore's Law of doubling chip densities every two years just isn't happening anymore. This gave Apple a chance to come in and control the whole experience from the hardware to the software. They have done this well with the iPhone and it appears they have taken what they learned there to the mac.
Let's fast forward to the announcement this week of the new 14" & 16" MacBook Pros. I knew before these were announced that one of them would be my next machine but what size and configuration are where my decision would lie. I was asked by someone on Twitter why I went with the 14" model and I share my answer with you. Apple usually gives you a reason to move up in models and in this case, they didn't. You could get the same configurations in both the 14" and 16" models. After I heard that it was a pretty easy choice for me. My laptop is hooked up to some external monitors 99% of the time and when it's not that means I'm on the go. When I am on the go whether it's doing some work at a coffee shop or traveling I like the smaller form factor. This is the configuration I ended up going with:
- Apple M1 Max with 10-core CPU, 24-core GPU, 16-core Neural Engine
- 32GB unified memory
- 1TB SSD storage
- 96w USB-C Power Adapter
- 14-inch Liquid Retina XDR display
- Three Thunderbolt 4 ports, HDMI port, SDXC card slot, MagSafe 3 port
- Backlit Magic Keyboard with Touch ID - US English
- Accessory Kit
The expected delivery date is not until November 11-18th. So my question for you is do you have any interest in a live stream where I set it up as a development machine? I feel like a live stream is a big commitment. I could easily slim that down into a condensed tutorial for YouTube. I have a detailed MacBook Pro setup guide on Github. I will probably create a new version of this for M1 and update that along with the video tutorial.
Fundamentals of Software Architecture
I finally got around to finishing Fundamentals of Software Architecture by Mark Richards and Neal Ford. I plan on dedicating a post on my blog and or a video on my YouTube channel so consider this my first impression.
Anyone who follows Mark or Neal already knows this but for those of you who don't they are simply brilliant. This book is one of the very best technical books I have ever read. If you're interested in getting into architecture it is a must-read. I thought they did a really good job of explaining what architecture is and what is expected of you in that role.
Everything in software architecture is a trade-off. This was the big theme of the book for me and I thought they did a great job of reminding you of that throughout the book. I really enjoyed how they taught me how to identify architectural characteristics and more importantly how to measure them. I also enjoyed the breakdown of taking those architectural characteristics and using them to make a decision on what architecture style to use (monolith vs distributed).
Those are my initial thoughts. Fantastic book and would highly recommend it to anyone wanting to get into software architecture. Thank you to Mark and Neal for putting so much thought and detail into this book and I can wait for their next one.
Around the Web
- Learn How to Build a Single-Page App with Vue and Spring Boot | Okta Developer
- Introducing VMware Tanzu Community Edition
- Why flow matters more than passion | LeadDev
- Spring Tips: GraphQL
- VMware Tanzu Community Edition: First Look with Amanda and Josh
- Kubernetes: The documentary trailer
- How to Docker with Spring Boot
Until Next Week
Thanks for sitting down and sharing a cup of coffee with me my friend. I hope you enjoyed this installment of Coffee & Code and I will see you next Sunday morning. If you have any links you would like me to include please contact me and I might add them to a future newsletter. I hope you have a great week and as always friends...