This post is 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?
My brother recently suggested I could upgrade my hat game. He was right: the crusty, adjustable-strap White Sox hat I’d worn for years was due for replacement. I liked the fit and look of the New Era 59Fifty wool ballcap he lent me. But I didn’t care to advertise for a team (a.k.a. company) I don’t care about, nor did I wish to invite small talk about sports.
My mission: replace the logo on an official New Era baseball cap with one of my own design. It was a fun mixed-media project, part art, part craft, and part hack.
I ordered a gently-used cap from eBay. If you don’t care about team logo, the choices are vast! I purchased a 1990s vintage black hat with a black Yankees logo for $13.
The original hat, ready for surgery
First I removed the existing logo. I used a seam ripper to slice threads and pliers to yank on loose ones. When removing logos from other garments, I rip stitches from the back, but that wasn’t possible here due to the white backing liner on the inside.
Going…
This part was slow going. All of the yanking with my dominant hand bent the cap slightly. I probably should have done more slicing and snipping and less brute force with the pliers.
Going… (this was messy)
The result wasn’t perfect. A few threads from the logo remained and I pulled out a little material from the hat itself. But it sufficed once I covered it up. I wonder if contrast would have helped. Would a white logo on black hat work better (because the white logo stitches would be easier to selectively remove) or worse (anything left over would stick out)?
Gone! The outline visible here can’t be seen under the new logo.
Next I made the new logo, using the community laser cutter at All Hands Active. I downloaded the Extinction Symbol and loaded it into Lightburn, which auto-traced the outlines. I was ready for the laser.
I cut the logo out of corrugated plastic sheeting, often called Coroplast. Most plastic is unsafe to cut on a CO2 laser, but Coroplast is okay. In Ann Arbor, unscrupulous companies print advertisements on this plastic and illegally place them in the public right-of-way near highway off-ramps and busy intersections.
I considered 3D-printing the symbol. That way I could have controlled its depth – the Coroplast stock is a tiny bit thicker than a New Era-style logo – and added touches like tiny holes through which to sew the logo to the hat. But that would have taken a while to design and print. And I liked the spirit of reusing roadside litter.
The laser burned nearly through and I finished it with an X-ACTO knife.
After the laser cutterTrimmed with the knife
Next, I wrapped the logo. I used a small bundle of embroidery floss, I believe a 8.7 yard bundle of 6-stranded DMC 25. That was exactly enough for this project.
Wrapping underway, trying to keep the knots on the back
A crafty friend at Workantile suggested I wrap the logo before attaching it to the hat. Brilliant!
Mostly wrappedFully wrapped and ready to mount
I got it almost entirely wrapped, then tacked it onto the hat in a few places with the same thread. Finally, I completed a few tricky wrapping stitches that were easier once the logo was anchored to the hat.
The wrapping is imperfect and in one spot I pulled too hard and compressed the plastic. But from across the room it passes for a commercially-made hat!
The finished product
I’m pleased with how it turned out. I have a comfortable, well-made hat and instead of promoting a sports franchise, I’m starting conversations about living during the Sixth Mass Extinction. Seeing the logo reminds me to think timefully.
If I hack another hat, I’ll consider 3D-printing the symbol to try to precisely match the depth of the hat’s original logo. And I’d start with a hat that isn’t black-on-black so the New Era logo on the side pops: I enjoy the tension and confusion that comes from this being a mass-produced object with a hand-made logo.
Want some good news? Check out this neat article about RIP Medical Debt. A group of Philadelphians raised $17,000 to buy people’s medical debt for the purpose of forgiving it. As such debt can be bought for a penny on the dollar, that $17k purchased (through the coordinating entity RIP Medical Debt) $1.6 million of local medical debt. Seventeen hundred Philadelphians are receiving letters informing them that some or all of their medical debt has been abolished.
Medical debt is an abomination. It shouldn’t exist and doesn’t in most peer countries. This is a high-impact way to do something about this scourge. And RIP Medical Debt makes it easy to organize such a fundraiser. When I read that article a month ago I thought, “maybe I’ll organize a local debt abolition fundraiser for my 40th birthday!” (coming this February).
Unbeknownst to me, some of my wonderful friends on the local Mastodon instance were thinking something similar (minus the birthday part). And they went ahead and made it happen! Which does me a huge favor as it’s one less thing I have to organize. All I had to do was donate and advertise it here. Done and done.
Please consider donating and spread the word! Consider it an early birthday gift to me. And for my non-Michigan friends, you could check RIP Medical Debt to see whether such a fundraiser exists for your region and consider starting one if not.
Last month was House Party week in Ann Arbor. I made it to two of the events and thought I’d blog briefly about them. This post is about Park(ing) Day, a national day in which public parking spaces are taken over and re-imagined as something other than car storage.
I’d briefly engaged with past Park(ing) Days in Ann Arbor. This one hooked me with a serious repurposing of parking: a mini skatepark in the street! The sk8r dad crew (me and Dave-O) skated over from Workantile to check it out.
This is foremost a note to my future self, a reference for the next time I get stuck. If someone else finds it via a search engine, bonus!
Using the Azure CLI (command line interface) on Microsoft’s Azure Government cloud is mostly like using their regular, non-gov cloud. Cloud computing on Azure has been a positive experience for me overall. But I’ve gotten burned a few times when the gov cloud operation needs a different command than what’s shown in the official Azure CLI docs.
Each case took me several unhappy hours to figure out. The reason I was seeing a certain error message was unrelated to the reasons other people on the internet were served the same message. No one on StackOverflow asks, “might you be using the Azure gov cloud?”
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.
I became a committer on the Apache Superset project. I’ve written previously about deploying Superset at work as the City of Ann Arbor’s data visualization platform. The codebase (Python and JavaScript) was totally new to me but I’ve been active in the community and helped update documentation.
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.
Since then I moved across the city to Hutchins Avenue. After years of driving, biking, and walking around the neighborhood, I’ve realized it’s an ideal candidate for a protected bike facility.
I’ve meant to write this post for a long time but was burdened by the idea that it had to be as robust as what I’d written before. That changed when I listened to episode 73 of the Ann Arbor AF podcast: Civic Therapy, Transportation edition. It reminded me of the need to simply do what’s right. I might get details wrong here that a transportation planner would fix in implementation – I’m not a pro – but here’s what I’m dreaming of and some of the reasons it would work.
The Vision
I’ll take any piece of this I can get, but at its best, this would be a protected bike facility beginning at the south end of Hutchins, at Stadium Boulevard. It would run north to Davis or Princeton, at which point it would jog one block east and continue north on Fifth St. Then it would run up to Bach Elementary. From there users could pick up the William St Bikeway and head into downtown.
Both Hutchins and Fifth are in need of resurfacing and a bikeway spanning both would connect outlying neighborhoods to the downtown network of protected bike lanes.
Here’s what the full version would look like. It might make more sense to connect Hutchins and Fifth on Davis, given that Davis is wider than Princeton and it’s a four-way stop.
Credit: Google Maps
The Rationale
Location & Connectivity
Schools: this provides a safe route for students and staff to ride to Pioneer High School. A friend of mine who teaches at Pioneer rides to work via Fifth-Princeton-Hutchins. It would also provide a safe route to and from Bach Elementary School.
Parallel to Seventh: for people unwilling to use the narrow bike lanes on Seventh – which is most people – this would be a low-stress alternative just one block over. I see many bike commuters and joy riders on Hutchins and Fifth already.
Connects Neighborhoods to Downtown: on the podcast linked above, Donnell Wyche imagines a protected bike network that would enable his kids to bike from their home on Scio Church Road to the downtown library to play the Summer Game. This would get most of the way there, as it almost links up with the buffered bike lanes on Seventh between Stadium and Scio Church.
The Physical Street
Resurfacing needed: both Hutchins and Fifth have stretches rated as “very poor” on the city’s pavement conditions dashboard and the bikeway installation can coincide with their resurfacing.
Plenty of room: Hutchins is wide, with parking on both sides of the road for most blocks. Residences have driveways and as a result the street parking is underutilized. The same is true for Fifth. To make room for the bikeway, parking could be removed on one side with no meaningful impact on residents.
Addresses a sidewalk gap: currently there’s no sidewalk on the east side of Hutchins north of Potter and no sidewalk on the west side south of Potter. A child riding to school on the sidewalk has to cross the street here just to continue.
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.
This is the story of how the City of Ann Arbor adopted Apache Superset as its business intelligence (BI) platform. Superset has been a superior product for both creators and consumers of our data dashboards and saves us 94% in costs compared to our prior solution.
Background
As the City of Ann Arbor’s data analyst, I spend a lot of time building charts and dashboards in our business intelligence / data visualization platform. When I started the job in 2021, we were halfway through a contract and I used that existing software as I completed my initial data reporting projects.
After using it for a year, I was feeling its pain points. Building dashboards was a cumbersome and finicky process and my customers wanted more flexible and aesthetically-pleasing results. I began searching for something better.
Being a government entity makes software procurement tricky – we can’t just shop and buy. Our prior BI platform was obtained via a long Request for Proposals (RFP) process. This time I wanted to try out products to make sure they would perform as expected. Will it work with our data warehouse? Can we embed charts in our public-facing webpages?
The desire to try before buying led me to consider open-source options as well as products that we already had access to through existing contracts (i.e., Microsoft Power BI).
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.