There’s nothing novel in this post. It’s just a tirade against the ever-increasing presence of advertising in my life, prompted by attending a University of Michigan basketball game.
I went to the Crisler Center last night, where Michigan lost an exciting shootout against Long Beach State. It was entertaining. Both teams were very talented and tried hard.
I make it to a couple of Michigan sports events each year and will crown Michigan Athletics the victors and the best… at cramming advertisements into the experience. Always innovating. I’d love to see a photo series showing the interior of the Crisler Center over the decades, documenting the creep of ads.
How many ads would you think can be placed on the basket itself? Let’s count. Here’s the view of the near hoop from my seats:
That’s between four and six ads, depending on how you count: the base pad, the vertical pad (“meijer meijer meijer” lol), the State Farm pad by the rim, and a freaking TV ad mounted up top. Now let’s look to the other hoop and see what’s facing the court:
From this angle we can see there’s also the UMCU ad and the Libman ad. Each basket is adorned with seven corporate logos plus a TV that plays ads for Coke Zero and Jersey Mike’s. I wonder how many ads I saw over the course of the game. Dozens? Hundreds?
I’ve been fortunate to work with and on open-source software this year. That has been the case for most of a decade: I began using R in 2014. I hit a few milestones this summer that got me thinking about my OSS journey.
Those contributions were sufficient to get me voted in as a committer on the project. It’s a nice recognition and vote of confidence but more importantly gives me tools to have a greater impact. And I’m taking baby steps toward learning Superset’s backend. Yesterday I made my first contribution to the codebase, fixing a small bug just in time for the next major release.
Superset has great momentum and a pleasant and involved (and growing!) community. It’s a great piece of software to use daily and I look forward to being a part of the project for the foreseeable future.
I used pyjanitor for the first time today. I had known of pyjanitor‘s existence for years but only from afar. It started off as a Python port of my janitor R package, then grew to encompass other functionality. My janitor is written for beginners, and that came full circle today as I, a true Python beginner, used pyjanitor to wrangle some data. That was satisfying, though I’m such a Python rookie that I struggled to import the dang package.
I gave a tour of Workantile this week to a prospective new member who shared her experience working out of The Wing’s DC branch. We got to talking about how WeWork and The Wing were valued in the billions and hundreds of millions of dollars, respectively, before crashing to nothing. Those valuations were clearly absurd, but as a coworking insider, I’ll go a step farther and say there’s not much money in operating a coworking space.
That doesn’t mean coworking spaces aren’t valuable. Workantile has grown friendships, mentorships, careers, side projects, community services and made its members significantly happier. We kick around ideas, eat together, share recommendations and hand-me-downs. A long-time member swears that Workantile saved her marriage. But those benefits accrue to members and their networks and can’t easily be monetized by the space.
And it doesn’t mean people shouldn’t create coworking spaces. On the contrary, now’s a perfect time. Office rents are down, the boom of newly-remote workers are getting lonely, and concern about COVID transmission is receding. But don’t launch a coworking space – or invest in someone else’s – thinking you’ll get rich. The numbers don’t work.
I miss writing this blog. Things have been busy. I draft posts in my head but nothing has gotten onto the virtual page. I’ve meant to blog some recent happenings: a nice win at work, my beloved bike commute that is about to change, getting a heat pump, plants I’m growing. I hope I still will.
I stopped using my last regular social media outlet. Mastodon was a nice improvement on Twitter but it was still sucking up my attention. That leaves me without a place to write and share shorter posts. Maybe I can get comfortable blogging faster and more briefly.
On the plus side, I have been back in the groove of working on my novel manuscript. I am more than halfway through line editing and made a pact with a friend to finish this edit by June 23rd (somewhat arbitrary, but I need a deadline). Perhaps when that’s done I’ll write more here.
Here’s a micro-update: I am enamored with Silphium terebinthinaceum, aka Prairie Dock. Gangly, deep-rooted, whimsical flowers, leaves so ugly they’re pretty. I thought about writing an ode to the plant but someone else already did the job nicely. My two Prairie Docks came back this spring and there’s a new one that might survive to join them. Around Ann Arbor there are some nice specimens in the YMCA’s wildflower garden and along the Stadium Blvd bridge, between the bridge and Graydon Park.
Last week I turned 39 years old. A few people pointed out that next year will be the big four-oh, but I see more significance in this birthday as a milestone delineating the portions of my time on earth.
Halves: if I have a typical lifespan, this moment is just about the halfway point of my life! That striking observation has me taking stock of things.
I hesitated to write this as many of my friends reading this are older than me and it implies that their lives are mostly over. But me not writing it doesn’t change that. It feels right to me to acknowledge the finitude and preciousness of life, whatever age one is.
Thirds: this accounting neatly renders my life into three acts of twenty-six years each. Which works out perfectly in my case: I had my first child at 26 years old and my youngest child will become a legal adult when I’m 52.
That makes a third of my life without children; a third of my life as a parent of young, at-home children; and a third of my life with adult children. This midpoint of my life is also the halfway mark of me having children at home.
Quarters: a quarter of this life would be nineteen-and-a-half years. That interval coincides with the two biggest lifestyle changes I’ve made, both related to diet.
Olúfẹ́mi O. Táíwò made this lovely remark on a podcast episode:
A lot of these people that we rightly respect and revere in organizing circles were just regular people who had the very unregular thought that they could do something about the world around them. And who just decided to do it.
And it’s stuck with me, so I’m memorializing it here. It’s dead-on.
The most recent time I thought of it was last week, when catching up with a friend at Workantile. He had organized a group buy of solar panels for his neighbors and, in the process, learned that his subdivision’s homeowners association (HOA) bans solar panels that are visible from the street. The reason? They’re aesthetically unpleasing and will damage property values.
He then had the unregular thought that he could do something about that. So he looked into what it would take to get that rule removed. That led him to power mapping, and in particular, the HOA board of directors. And he found that no one has ever been elected to this HOA board. The member meetings never make quorum, so all board vacancies are filled by appointment. By the board. Pretty unhealthy governance.
Now he’s looking at doing something about that. That’s a bigger challenge and a very boring way to fight climate change. But it’s the right thing to do. And it’s possible, with a big enough dose of unregular thinking.
I send love and solidarity to everyone who sees something that could be better and instead of tolerating it, says, I could do something about that. And just decides to do it.
I’ve done all of those things at various times in the past. Never all in the same year, tellingly. Maybe it’s the pull of the longer days and warmer weather that has me wanting to embrace all of these March traditions at once.
I’ve been doing a lot of “mental blogging”, no actual blogging, so here’s an attempt to break that and get something written.
Skateboarding is suddenly popular around here. As a family, we watched the 2021 Olympics skateboarding: all of the women’s final and the condensed version of the men’s final. My kids were surprisingly into it. It probably helped that the women’s winners were so young – the gold medalist was just 13 years old.
That got them interested in skating themselves. We purchased a kid’s board last year, during the height of COVID, but it soon got shelved. It was a nice board, too. The one I’d learned on as a teen had low-quality bearings and I could hardly coast on it, which made it a lot less fun. I compensated for that experience by buying my kids a good starter board. It’s out of the garage and rolling again.
Speaking of my experience, I’m interested in skating again, for the first time in twenty years. I dabbled during my teens, logging maybe a couple of dozen hours on skateboard and longboard before giving up. I remember walking to the park in the summer and practicing my ollie by myself. And just not getting it. Between a lack of progress and having no friends who skated, I soon called it quits.
I continued to enjoy the aesthetics of street skating, though. I got most of the way to completing every achievement in the Tony Hawk Pro Skater 2 – “considered one of the greatest video games of all time, as well as the highest-rated sports video game” – searing the soundtrack into my brain (“lights out, guerilla radio!”). And I watched skating videos, rarer in the pre-YouTube days. Rodney Mullen was my favorite.
Fast forward two decades and it’s easy to rediscover his highlights. Here’s a nice reel; I’m starting it at my favorite kind of trick, with elegant manuals and grinds on street objects:
All of this has been enough to get me back on a board. I bought one off Craigslist this week along with some safety pads. I’m hopeful that I’ll learn more quickly this time around. I had terrible balance as a kid, but since then I’ve done a ton of cycling and fair amount of snowboarding and skiing, so I think I’ll be better. Plus many years of learning new things has made me wiser and more patient. I’d love to be able to ride well, manual, and (stretch goal) ollie over something small.
We’ll see how it goes. If nothing else I’ll have some fun outdoors with my kids.
Next month, if all goes well, Ann Arbor will be overrun by millions of Magicicada septendecim, the seventeen-year cicada. I am giddy with anticipation.
Why am I so excited? I think the cicadas are arriving at just the right moment in my life, in terms of both time and biophilia.
The timing is fortunate. At 3, 6, and 10 years old, my kids will be old enough to appreciate the insects and still young enough to feel wonder. My oldest is already on board: she amassed a collection of cicada shells from more regular “annual” cicadas that emerged in recent years. The next time these cicadas emerge, my kids will be grown, and I may be an empty nester. My oldest will be the age I was when she was born.
I’ve experienced periodical cicadas twice so far, in both cases Brood XIII in Chicago. I was 6 in 1990 and vaguely remember the insects’ ubiquitous noise and bodies. When that brood resurfaced in 2007, I was 23, and have no memories of cicadas from that year. I lived in a 24th-floor apartment in downtown Chicago – maybe there was too much concrete to support any cicadas. I remember my friend Boyu, who was working in the western Chicago suburbs over the summer, telling stories of brushing his car off before getting in and still ending up with cicadas inside. But for the timing to work, I think that would have been stragglers emerging off-year in 2003, which I would have missed in the city.
Now the reverse is true: I’m in the right part of the state for this year’s Brood X emergence. Much of Michigan will miss the cicadas, but Ann Arbor should be as reliable a place as any to experience them.
This will be my third visit with periodical cicadas. Brood X will next emerge in 2038 (I’ll be 54), 2055 (71), and 2072 (88, if I last that long). After this summer, half of my cicada seasons will be behind me.
The cicadas are also coming at the right time for me to appreciate them. In the last year or two I’ve become more appreciative of, knowledgeable of, in love with the natural world. I’m learning about animals, trees, and as much of life on this wondrous planet as I can, cultivating my biophilia. It blew my mind to learn about oak trees evolving to have mast years, where in some years they sync up and together produce an unusually-large crop of acorns to overwhelm predators. Periodical cicadas have evolved a similar mechanism of using staggered timing to their advantage: when they emerge in such great numbers, predators can’t eat them all.
What an incredible feat of evolution, to lie in wait for seventeen years and emerge in concert! I find that outcome especially neat given that at this point, they only reproduce as often as humans do. When the parents of this year’s Brood X cicadas walked the earth, George W. Bush was still president. They wait so long for just a short couple of months above ground. It reminds me of tree time or rock time, timescales slower than our human experience. This strategy has been slowly optimized over millions of years. What to me is a rare, long-awaited, blog-worthy event is just the next repetition of their experiment.
I feel lucky to be living in the right place and right moment for this event. It’s a six-in-a-lifetime occurrence and I don’t even have to leave my neighborhood to enjoy it. This weekend, I’ll pick up a book on cicadas from the library to prepare myself, and look forward to May and June. May this brood be as thick and deafening as ever.
One thing led to another. In early 2016, I was participating in discussions on the #rstats Twitter hashtag, a community for users of the R programming language. There, Andrew Martin and I met and realized we were both R users working in K-12 education. That chance interaction led to me attending a meeting of education data users that April in NYC.
Going through security at LaGuardia for my return flight, I chatted with Chris Haid about data science and R. Chris affirmed that I’d earned the right to call myself a “data scientist.” He also suggested that writing an R package wasn’t anything especially difficult.
My plane home that night was hours late. Fired up and with unexpected free time on my hands, I took a few little helper functions I’d written for data cleaning in R and made my initial commits in assembling them into my first software package, janitor, following Hilary Parker’s how-to guide.
That October, the janitor package was accepted to CRAN, the official public repository of R packages. I celebrated and set a goal of someday attaining 10,000 downloads.
Yesterday janitor logged its one millionth download, wildly exceeding my expectations. I thought I’d take this occasion to crunch some usage numbers and write some reflections. This post is sort of a baby book for the project, almost five years in.
By The Numbers
This chart shows daily downloads since the package’s first CRAN release. The upper line (red) is weekdays, the lower line (green) is weekends. Each vertical line represents a new version published on CRAN.
From the very beginning I was excited to have users, but this chart makes that exciting early usage seem miniscule. janitor’s most substantive updates were published in March 2018, April 2019, and April 2020, with it feeling more done each time, but most user adoption has occurred more recently than that. I guess I didn’t have to worry so much about breaking changes.
Another way to look at the growth is year-over-year downloads:
Ratio vs. Prior Year
2020-21 (~5 months)
Download counts are from the RStudio mirror, which does not represent all R user activity. That said, it’s the only available count and the standard measure of usage.