Author: Jud

Technologist interested in building both systems and organizations that are secure, scaleable, cost-effective, and most of all, good for humanity.
Eyes On The Prize

Eyes On The Prize

“Only those who will risk going too far can possibly find out how far one can go.”

T. S. Eliot

Yesterday I finished To Flourish or Destruct, and with that I’ve completed year one of my meta-resolution: reading 43 books, the same number as my age.

I’ve also successfully written on this blog at least once every month, another of my resolutions. This is my 31st post, so I’ll finish the year no worse than averaging 2.5 posts a month, a pace I’m happy with.

However, I haven’t ended up learning a new programming language this year, my other resolution. And that’s okay. Not because ChatGPT stands to replace coders soon (spoiler: it won’t), but because while goals should be SMART, they needn’t all be actually achieved. The goal of resolutions is not absolute completion, but inspiring yourself to accomplish something. To move the needle positively for your life. To take a step towards become a fully flourishing human person, as Christian Smith would say in the book I just read (echoing Aristotle 2300 years before him).

While each goal in and of itself should be achievable (the A in SMART), in aggregate they should be aspirational. When discussing goal setting with my team, I want them to define enough goals for themselves that it’s likely there’s one or two they won’t complete. Otherwise they’re not thinking big enough.

Livin’ On A Prayer

Livin’ On A Prayer

Today marks a unique milestone. It’s exactly halfway between the day I started my professional career as a software developer (June 4, 2001) and the same date the year I turn 65 (June 4, 2044), ostensibly about the time I retire (though who knows, I’m a bit of a workaholic).

Richard Rohr, the Franciscan priest and writer, speaks of “the two halves of life” in his book Falling Upward. Indeed, midpoints are a common moment to reflect on how far one has come, and how far one has left to go. I’m no exception to that. I’ve been blessed to have been in the tech industry for over 20 years. Done some fun work. Some interesting work. And I hope, some work that’s used technology to improve people’s lives while having a positive influence on those around me along the way.

It’s a common refrain that technology in its myriad forms has ruined humanity, whether it be social media and cell phones in 2022, the printing press back in the 15th century, or even agriculture in ages past. Maybe I prefer to see the bright side in things, because I believe that despite our faults in wielding it, the evidence shows that technology has unlocked human potential and made lives better in innumerable ways. I wouldn’t wish any of it away, and moving forward it still can, should, and must be used for the betterment of us all.

This will require us to remain vigilant and disciplined, ask tough questions, and apply our knowledge well, but I believe that it’s possible to do so. I’ve tried my best these first twenty-one and a half years. Here’s to twenty-one and a half more!

Zeros And Ones

Zeros And Ones

If you’ve never heard of Benford’s Law, it’s worth reading about this nifty statistical fact. The gist is that for certain types of data sets, the frequency of the leading digit follows a predictable pattern (with 1 being the most frequent by far). I decided to put it to the test by analyzing the total view counts for each post on this blog.

Leading DigitActual RatePredicted Rate
131.3%30.1%
227.7%17.6%
317.5%12.5%
47.8%9.7%
55.4%7.9%
62.4%6.7%
71.2%5.8%
84.2%5.1%
92.4%4.6%

I guess that’s why they call it a law, because the actual digit rates match up pretty well.

Speaking of which, apparently I also have a thing for named laws. If you do too, the article is worth it for this side note:

The fact that things are often named for someone who didn’t discover it first is common. In fact, there is a name for this, Stigler’s Law of Eponymy. It was proposed by the American statistics professor Stephen Stigler in 1980 when he wrote that no scientific discovery is named after its original discoverer. In an ironic twist, Stigler acknowledged that the American sociologist Robert Merton had previously discovered “Stigler’s Law”.

End Of An Era

End Of An Era

Frederick Brooks died last week. He was a giant of the software industry, and deserves wider recognition for his contributions. Start by reading the New York Times article linked above, then grab a copy of The Mythical Man-Month. Few works have moved me so profoundly, at least if you measure by number of times I reference them (which, incidentally, is roughly how Google’s PageRank works).

Rest in peace, Mr Brooks. I’m thankful for you, and I’m sure you won’t be forgotten by those who build our castles in the air.

Adventures With APIs

Adventures With APIs

I’ve written before about the advantages of knowing how to dig around in DevTools to reverse engineer website interfaces. This week I’ve had three further instances of doing this work to good effect.

The Friendly Skies

Firstly, I travel a lot, enough that I now have Executive Platinum status on American Airlines. This means I’m first in line for complimentary upgrades, but only if there are seats available. So I wanted an easy way to go straight to a complete seat map to look at availability without needing to go through a full search on the website. Turns out there’s a magic URL that does just that, and all you need to do is pass it some parameters. So I present to you, a quick and dirty seat map lookup form. Give it a try!

While that’s cool, I wondered if I could make it simpler by leveraging a flight data API like the one from FlightLabs. That was pretty straightforward as well. Though I couldn’t embed it in WordPress, I did script it up in Python for your enjoyment. Just pass it a flight number, and it’ll do the rest. Neat!

Shake It Off

This week Taylor Swift tour tickets went on sale, and needless to say it broke Ticketmaster, despite their best attempts to add friction via pre-registration to enter a lottery to win a code to join a queue to enter a room to maybe get lucky enough to click fast enough to buy tickets. Sadly I was unsuccessful at securing seats despite dozens attempts across several days. But I did learn something about the API Ticketmaster used to check queue status, so all was not lost.

When I first joined the queue, the following was displayed:

Of course I was curious: how many more than 2000 people were there… 5000? 25000? A million? So I opened up DevTools, and took a look at the calls coming back from the server to check status. Lo and behold, there was a wealth of info in an easily digested JSON block:

Wouldn’t it have been helpful to display that information to the user? At least the exact users in line, and the expected service time value. No idea why it wasn’t shown, other than Ticketmaster not being known as a terribly customer obsessed company.

Automating ******** Across ****

The final example can’t speak of publicly other to say my penchant for automation will save my employer a sizable amount of money. In these uncertain economic times, that’s always a good thing.

You Are Not Alone

You Are Not Alone

Every new beginning comes from some other beginning’s end.

It’s been a strange season for tech work, with the boom of the last few years (decades even?) feeling like it’s coming to a screeching halt. A lot of people suddenly finding themselves out of a job, wondering what’s next.

While I’m relieved not to have been affected this time, I’ve been laid off before, and I remember the feeling of helplessness. Of wondering if I should have known better or cut and run before things got bad. And most of all (though it took me some time to name it): loneliness. All the relationships I’d built up at the workplace, while not my best friends, were a large part of my social life, and to have them ripped away with no warning took quite a toll.

For those in that boat right now, know that it’s not your fault. Really, it’s not your fault. Take it from someone who’s been there (on both sides of the table): it’s not your fault. Take time to acknowledge your feelings. And while I can’t promise you that something better is just over the horizon, there might be! And that is an encouraging thought.

Kindness Trumps Rightness

Kindness Trumps Rightness

Regularly I’ll hear people claim “I don’t care what anyone says about me.” While I appreciate the sentiment of confidence such a statement is intended to communicate, I believe it’s unhelpful, for several reasons.

First, I don’t believe it’s possible. Humans are social creatures, and much of our mental software is set up to be concerned with our standing with other people. Some of us perhaps more so than others can set that aside at times, but no one can turn it off completely.

Second, living with disregard for others’ perspectives on your own life and actions deprives you of valuable wisdom. Of course one shouldn’t take all opinions equally, and one must discern how to synthesize the input of others with your own evaluations. But more data is rarely a bad thing. Listen, then decide.

Most importantly, however, is that knowing how those you come in contact with feel about you is a healthy way to measure if you’re having a positive influence on them. At the end of the day I want every person I interact with to come away feeling that their lives are better for having known me. That’s more valuable than pretty much any other measure of impact I can imagine, and it’s true both personally and professionally. Absolutely nothing is more important to your career than being kind. Not education. Not skill. Not drive. Nothing.

So yes, I care what everyone says about me. And you should too.

Meta Post

Meta Post

Really enjoyed Two Heads Are Better Than One, a discussion of the various ways technology has allowed humans to have “second brains.” I realized in some ways this blog is one such implementation; it’s a place I can capture thoughts and stories so that I can recall them later without keeping them in working memory.

As a bonus, via the article I discovered Obsidian, which I’m now dying to try out. I’m a sucker for Markdown and the power of plain text processing tools.

A Tale Of Three Meeting Invites

A Tale Of Three Meeting Invites


Subject: Planning document

(body of invite is blank)


Subject: Discussion on planning document

Agenda

  • Review document content
  • Finalize edits
  • Action items for customer review

Subject: Internal discussion on planning document

Purpose of this meeting is to finalize the document that will be presented to the customer next week. Please read in advance of meeting (link).

Agenda (unless you know a better one)

  • Review comments made on document content
  • Finalize edits in real-time as a group
  • Decide on action items for customer review

Testing, Testing, 1, 2, 3

Testing, Testing, 1, 2, 3

Hard to believe it’s been 3 years since I started taking AWS Certification exams, eventually passing all 12 that were active at the time, thanks in part to virtual proctoring and a knack I’ve had since college for being good at multiple-choice tests.

In order to stay current one must retake the exams within a three year window, so I’ve been working my way back through them. Over the summer I passed Solutions Architect Professional and DevOps Engineer Professional, and yesterday I completed the Security Specialty. Thanks to lower-level exams auto-renewing when professional exams are passed, that brings me to 7 exams that will remain current through 2025.

Seven is a nice number; don’t think I’ll bother renewing the others unless a need arises.