2020 MacBook Air Impressions

For the past few years, I've been using a one-port 2016 MacBook1 as my personal laptop that I carry with me whenever I am traveling or need to work outside the house. It's been a mixed bag -- the size was pretty much perfect and very similar to a thin version of my old 12" PowerBook G4, but the CPU performance was absolutely awful and the battery only lasted about two hours. Also, I was finally bitten by the infamous Butterfly Keyboard Issue and was getting double-entries from my spacebar.

In March, when Apple released the new MacBook Air with a new keyboard and one of the first 10nm Intel CPUs2 on the market, I decided it was time to upgrade, so I bought the middle stock configuration of the new machine3.

2020 MacBook Air

Basic specifications:

Component
CPUIntel Core i5-1030NG7 (1.1GHz base, 3.5GHz turbo, 10nm process, Ice Lake μarch)
RAM8GB4 LPDDR4-3733
Storage500GB Apple AP0512N SSD
Display13.3" 10-bit Retina display @ 2560x1600 (221dpi)

I haven't had it for long, but here are some initial reactions:

  • size isn't as nice as the 12" (37% heavier, and about 20% more volume)
  • new keyboard is more reliable and has a pretty good feel. backlighting is also much stronger.
  • battery life is way better. 5-6 hours of moderate use, and several days of standby
  • screen is a bit brighter and looks less goofy with night shift on. still not nearly as good as my 2019 iMac.
  • CPU performance is nominally a lot better5 and feels less like the limiting factor in day-to-day operations. It still chugs a lot when trying to do medium-intensive things like processing 24MP RAW images from my Ricoh, but at least it finishes eventually now instead of beachballing until I die of old age.
  • integrated GPU is massively observably more powerful than on the 12" (GeekBench says the "compute" score is only 50% higher, but it feels much smoother when doing basic rendering operations like Exposé)
  • the enormous trackpad is really fun. My work MacBook Pro has the same trackpad, but I basically never use it undocked, so this machine is my first time intensively using the giant trackpad on modern 13"-class Macs. I'm pro.

There's a reason that the MacBook Air is Apple's best-selling Mac. If you need a portable Mac, it's probably what you should get. No TouchBar, acceptable price, and now a functional keyboard. Officially endorsed.

PS: I wrote this entire post on the new machine and didn't get any inadvertent double keystrokes at all. Hurray!

1

A.K.A. the MacBook One

2

Only 3 years late. Some day some former Intel executive will write a tell-all about why Intel fell so far behind TSMC in lithography

3

Yes, I got "Space Grey" this time, for the first time in a laptop. It's okay. I think I'll go back to regular old silver next time.

4

I strongly considered getting 16GB, but I mostly just run nvim and firefox. How much RAM could that use?

5

GeekBench says it's more than twice the single-core performance and almost four times the multi-core performance

Flexbox Rocks

Small update: I rewrote the CSS for this website to replace all of the Bootstrap Grid system stuff with straight up Flexbox. It's so much better! We should all use Flexbox for everything!

The "gallery" view (used in, e.g., the end of yesterday's "Life Updates" post) is also now Flexbox and better.

I tested this on a bunch of browsers and screen sizes, but please let me know if you find anything that looks broken.

I also got bored and made the tags page a tag cloud on wide-enough screens because it's like the 90's again.

Trees in the Park

park

There are trees growing out out of the sand at the park near my house, closed for the last few months due to COVID-19. What a weird world.

Life Updates

Hey, so, it's been a while since I posted. I guess I just wanted to post and update. Let's see... what has happened since February 2020....

Family

fetus

Yeah, so, we're having a baby. If you didn't see that on other social media already. He's1 due at the end of July2.

Lockdown

As you and everyone else knows, the world has been in lockdown since March due to the outbreak of SARS-CoV-2 causing COVID-19. My company sent us all on mandatory work-from-home on March 12th and I haven't been across the bridge into San Francisco since. Working from home is... tough. We have a house (unlike many of my workers who have apartments or even just single bedrooms), but it's still hard to get enough space that you can clearly delineate "work time" from "home time". Some parts are nice; I like being able to eat lunch in my backyard with Eva, and I like the fact that I haven't had a cold in two and a half months due to the lack of BART and the constant hand-washing. It's damned helpful that we bought a car when we did, both because public transit is basically gone now, and it's also really hard to buy a car right now.

The baby stuff is also incredibly stressful -- everything about preparing for a new child is a million times harder when the world is locked down. You can't go to any stores to buy clothing or supplies; it all has to be blind over the Internet. I can't go to my wife's OB appointments due to the strict contact procedures. And, of course, they still have no idea how this disease affects pregnant women or newborn children, so we're trying even harder than normal not to get infected.

I can't really write anything about this disease or lockdown that isn't said better by a million other people online, but my sympathies go out to all of those infected and affected. I wish that we had literally any other political leadership at this time, and I hope that we make it through anyway.

Rabbits

We had some sad news recently; one of our rabbits (Alot) was diagnosed with cancer in February and had her ear removed. Unfortunately, she developed a cough and then ended up going into severe stasis and passing away on May 24th. She was a good, brave rabbit and will be missed; she is survived by her bonded partner rabbit Mirabelle.

alot of rabbit

Hobbies

In preparation for having a new (and hopefully photogenic) baby and to entertain myself while locked in the house all day, I did buy a new camera recently. I decided that part of the reason I don't use my OM-D E-M5 enough is that it's pretty big and heavy with a lens on3 and I don't have it with me enough. As they say, the best camera is the one you have with you4. Anyhow, I got a Ricoh GR III after reading several hundred reviews of every high-quality pocketable camera, and for the few days I've had it, it's been absolutely fantastic. An APS-C sensors in a 250 gram package is completely insane, and I'd forgotten how much more light you get with that big of a sensor compared to the Micro Four Thirds sensor on my OM-D or the teensy sensor on my iPhone5. The Positive Film setting on the Ricoh in particular produces a delightful æsthetic. It also produces phenomenal RAW images which someone with time and skill could surely extract a ton out of; I have neither the time nor the skill so I mostly shoot JPEGs.

Stay safe out there, gentle readers.

1

Yes, it's a boy. The sonogram helpfully had arrows to point out where you can tell that it's a boy.

2

He'll have a good head start on all the lockdown babies getting born in January.

3

With my smallest non-potato quality lens, a 17mm prime, the OM-D weighs 588 grams and requires a rectangular prism of 8.57 deciliters. The new camera is 257 grams and 2.16 deciliters.

4

I've heard that maxim for at least 10 years but I cannot find out who said it first. Chase Jarvis wrote a book with that title, but the quote shows up in random places in Google from years before the book was written.

5

APS-C is 368 mm2; m43 is 225 mm2; the iPhone's 1/2.55" sensor is only 25 mm2.

systemd

I've had this sitting on my desktop for months and figured I'd post it. No idea where it originally came from.

systemd

Austin, TX

Went to Austin, Texas this weekend for a work event1; it was my first time in Austin so I figured I'd write up some notes:

  • Cities are so indistinguishable now. Downtown Austin has the same restaurant and store chains as San Francisco, Boston, Miami, or any other American city.
  • Its is weird how much Confederate stuff there still is for the supposedly-liberal Texas city. Until '96, the Capitol Visitors Center was administered by the Daughters of the Confederacy; lots of Confederate flags.
  • Live music everywhere, even at the broiest bars near the hotels --- even at the hotel bars! This was great! I wish more Bay Area bars had live jazz or blues or funk just as a regular thing.
  • Everything was incredibly cheap compared to the Bay Area. For what I paid for my 1400sqft house in Berkeley I could get a mansion sitting on several acres in Austin. Despite how cheap everything is and how plentiful housing is, homelessness still seems to be a big problem. Tent cities under the overpasses and folks sleeping on all the benches. Kind of a downer for me as a YIMBY; more housing alone won't do it, we also need supportive socialized housing programs!
  • Gun culture is insane. There were a number of gun stores near our hotel and businesses apparently have to have a giant sign if they don't want people to open carry into their restaurant or office. I don't care how many feral hogs are coming into your rural backyard; you don't need a gun in a WeWork. I could never be comfortable in a place where so many people live in such fear that they need to carry weapons to breakfast.
  • Good barbecue2. Duh.

I'm drinking some coffee at the airport now3. Only another seven or so hours of air travel and I'll be home.

1

technically, an "engineering leadership retreat"

2

We got some Franklin Barbecue

3

AUS is a nice airport. Reminds me a bit of ONT; super fast security process, ample seating, not too many gates. I'm at the one place with pour over coffee --- one is better than none! There's also decent free WiFi which doesn't block WireGuard traffic... always nice to have...

Surprising Change in Python 3.7.6

Here's a surprising change for you: Python 3.7.6 (ostensibly, a patch bugfix release) totally changed how URLs are parsed by Python programs.

As of Python 3.7.5, a URL like foo:8888 would be parsed into the following:

>>> urllib.parse.urlparse('foo:8888')
ParseResult(scheme='', netloc='', path='foo:8888', params='', query='', fragment='')

As of Python 3.7.6, foo is now detected as the scheme:

>>> urllib.parse.urlparse('foo:8888')
ParseResult(scheme='foo', netloc='', path='8888', params='', query='', fragment='')

This will cause massive chaos if you are ever parsing URLs with ports in them but without schemes. The relevant Python bug is bpo27657. I consider this to be a major regression, especially since it was introduced in a patch release.

Good luck out there...

Twenty-Teens in Review

Well, here it is, the end of 2019, the end of the decade1. 🎉 The end of the decade of my twenties, so probably the most eventful decade I'll experience2. Ten years ago, I was at my parents' house in Fall River, a senior in college on my last Christmas break of all time. I'd just accepted an offer from Yelp to start as a Software Engineer in June, 2010, reporting to Neil Kumar3. The world was uncertain before me. Today, I am sitting in my own house4, married, working for my third employer, sitting pretty in a very different world. What would 2010 me, using his dual-core ~3GHz computer and his iPhone think of 2019 me, using a quad-core ~3GHz computer and his iPhone5? Oh, indeed how times have changed.

Let's go through the highlights of the decade, shall we?

2010

  • Graduated from HMC (with honors)
  • Moved to San Francisco
  • Started working for Yelp with a bunch of Mudders

2011

2012

  • Started dating Eva
  • Yelp IPOs people start leaving
  • Paid off my college debts
  • Obama gets re-elected to a second term. The dream of comfortable technocratic center-left governance seems to still be alive and kicking.

2013

  • Left Yelp, started working for Uber with my former Yelp coworker Oliver Nicholas

2014

2015

  • Got married, went on a fun honeymoon.
  • Left Uber, started working at EasyPost for my former-Yelp-coworker Andy Bakun

2016

  • The world collectively loses its mind. The United Kingdom decides to turn Britain into a global pariah. The United States decides that what everyone really needs is an excuse to fondly remember the greatness of John Tyler's presidency.

2017

  • Lost one of our rabbits; gained a new rabbit

2018

  • Bought a house; moved to Berkeley

2019

  • Uber somehow managed to make it through its IPO
  • Lost any remaining faith in the tech industry
  • Wrote this blog post

Overall, I think I'd give this decade a solid B. Lots of character development and personal growth, but the work storyline was repetitive and the background political plot was unrealistic.

I think along the way I learned a lot about computers, a lot about American tech startups, and a bit about being a human being. But the big lesson I learned this decade was been the same lesson learned by young adults through the entire history of the world — there are no adults in the room, nobody coming to fix our mistakes and save us from our problems. There are no authority figures except us, ourselves. There are no elders whose experience we can lean on; the rich and powerful, the charismatic, the experienced — they're all just folks muddling through. I've seen a CEO worth six billion dollars have a temper tantrum, and I've seen our friend's two-year-old have a temper tantrum, and let me tell you: they're pretty much the same experience. Our entire planet is currently suffering through a protracted temper tantrum by a seventy-three-year-old millionaire politician and there are no adults in the room. People deserve your respect and trust because they earn it, not because they have a title or age or wealth or power.

What will the next decade bring? Will I keep making the same mistakes in my career? Will my family grow? Will the world continue its inexorable slide into totalitarian dystopia? Goodness knows that I have no idea. I guess we won't know until I write another post on January 31, 2029. See you then.

Currently listening to: Rogue Wave - Christians in Black

2

Note to the Powers that Be: that's not an invitation to start the robot uprising on January 1, 2020.

3

By the time I started, the CTO (Russ Simmons6) would've quit and Neil would be the VP of Engineering. I did not, in fact, report to Neil. Imagine how different my life would be if I'd worked as some generic "backend engineer"!

4

BART is all messed up for the holiday, so I'm nominally Working from Home today.

5

Yes, I know, the iPhone 11 in my pocket is 48x faster than the iPhone 3G I had in 2010 (at least at Sunspider, which is the only benchmark that runs reliably on both)

DMV

I went to the DMV today to get a REAL ID upgrade for my license, and to get it reprinted with my correct address so I don't need to carry the paper change-of-address confirmation any more. The DMV is always a fascinating microcosm of human behavior, and a unique experience to simultaneously see the best and worst in people.

For those of you who haven't been in a California DMV, the process follows several stages:

  1. (optional) Make an appointment. The North Oakland DMV doesn't have any appointments available in the next six months, and then next DMV available anywhere in the Bay Area is late March at Oakland-Colliseum, so I did not get an appointment.
  2. Get a number. This involves a long line. At bigger DMVs (e.g., San Francisco), there are separate lines for getting a number if you have an appointment and if you don't; at smaller DMVs (e.g., North Oakland), there's just one line. I got there a few minutes after the DMV opened today, so I only waited in line outdoors (in the delightful, 40°F weather) for about 45 minutes to get a number. Your "number" has two parts — a letter and a number. Appointments get letter G and an auto-incrementing number (e.g., G-002); non-appointments get letter H and an auto-incrementing number (e.g., H-003).
  3. Wait for your number to be called. Every minute or so the PA will call out something like Now serving G-002 at Counter 12. Today, they called approximately eight G's for every H, so I waited for about 90 minutes inside.
  4. Actually do your business at the DMV. For me, this involved three different counters and took another half an hour.

These wait times are pretty great for a Bay Area DMV1, but still spending three or more hours doing paperwork isn't anyone's idea of a good time. This was extra fun for me, because I (foolishly in retrospect) decided to renew my license at the same time as I upgraded it to a REAL-ID, and apparently in California if you renew a license more than six months before it expires, you have to re-take the written Driver's Test2; it's not at all a difficult test, but it took an extra 20 minutes.

Anyhow, the whole process really magnifies the impersonality of bureaucracy — at one point, a woman and her disabled daughter walked past the line to the number-issuing desk to ask if there was a way her daughter could sit down instead of standing in line outside for hours. The answer, of course, was a resounding No, there is no way, you need to go to the end of the line. Eventually, someone volunteered to hold their place in line while she sat down. The best of people, the worst of people.

Anyhow, I guess now I have five more years before I have to do this again. Yay.

1

I've heard horror stories of people showing up to the San Francisco DMV exactly at opening time and waiting five or six hours before they even got assigned their number.

2

Incidentally, I cannot find out where this rule is written down. The woman behind the counter told me that this was the rule; the Internet just says that you "may be required to take a knowledge test".