Categories
Software Work

Stumbling blocks with Azure CLI on the AzureUSGovernment Cloud

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?”

Categories
#rstats Data analysis ruminations Software Work

Same Developer, New Stack

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.

Categories
Biking Imagine A World Local reporting

Envisioning the Hutchins Avenue Bikeway

It should be obvious, but I am speaking as a resident, not as an employee of the city.

Five years ago I wrote a long and detailed post making the case for a protected bike path on Ann Arbor’s North Maple Road. The city added bike lanes shortly after, which were much better than the prior situation and not as good as what I’d hoped for.

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.
Categories
Local reporting ruminations Work

Coworking spaces aren’t profitable

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.

Categories
Data analysis Local reporting Software Work

Making the Switch to Apache Superset

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).

Categories
Gardening ruminations Writing

This thing is still on

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.

See you soon, I hope!

Categories
Local reporting Nature

Maples and Michigan’s February 2023 Ice Storm

Like most people in Ann Arbor, I awoke last Thursday to a chilly, quiet home. The ice storm had knocked out power. I took a walk around the neighborhood after the ice had finished accumulating and before it melted.

Maples are a small share of trees in my neighborhood but they made up the majority of trees I saw that had suffered major storm damage. Winter tree identification is a challenge for a novice like me, but I can often spot the common species of the maple family (Acer ) from their shape and bark. And because of the mild winter we’ve had, Ann Arbor’s maples were already sporting distinctive buds. I wasn’t able to pin down the species of maples I saw, but I remembered some individual specimens from their summer leaves. These were mostly Norway maples and silver maples.

Here’s a picture I took of ice-encased buds on a branch that had crashed to the ground:

What species is this?

Norway maples are an invasive species in Michigan and are now reviled across North America. Unfortunately, they were planted for years in cities, including in Ann Arbor. Silver maples are native to Michigan. Both species are known for being fast-growing, weak trees that are especially prone to storm damage.

On Sunday I was out on foot and bike and snapped a couple of pictures of maple trees that had failed:

On Hoover near Division
At Franklin & Seventh

(Please comment if you recognize specific species – I hope I didn’t get overconfident with my winter tree ID!)

The streets near my home are lined with mature oaks and I was struck by how little damage they suffered. One neighbor in particular has a dozen towering oaks and hardly had to clean up a branch. It got me wondering, what share of the electricity outages were attributable to the planting of maples near the power lines? If planting hardier trees would have avoided even a small fraction of outages, that might translate into fewer days without heat and refrigeration for many.

I am no expert here, just speculating from what I notice on the streets. I’d be curious to hear from urban foresters, arborists, and lineworkers who cleaned up the tree damage. I wonder, though, if we could build a little resilience against future outages by replacing and eliminating Norway maples and ensuring that silver maples are planted far from vital infrastructure.

In the meantime, my understanding is that the sap of the Norway maple has enough sugar to render it into syrup. And I’ve made syrup myself from silver maples. I have all of the equipment needed for syrup-making, but no maple tree to tap, and it’s unlikely I’ll get to it this spring. Let me know if you want to borrow my setup. And plant strong tree species.

Categories
Life events ruminations

Fractions of a Lifetime

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.

Categories
DIY Repair

Tips for Fixing a Dripping Widespread Sink Faucet

These are notes from Jan 2023 me to future me – here’s what you need to know:

  • To fix the 2007 Pegasus [is that a Home Depot brand?] widespread two-handled faucet on the upstairs bathroom sink
  • About fixing leaking sink faucets more generally

Diagnosis. Figure out if the hot or cold is leaking by turning off the water supply lines one at a time.

The part to change to stop the dripping is the cartridge (in a one-handled faucet) or, in this widespread two-handle bathroom sink, the faucet stem. It comes with a new retaining clip. Cartridge vs. faucet stem is mostly a matter of terminology.

Categories
Climate change Cooking Imagine A World

Upgrading from a Gas Stove to Electric Induction

I saw that “gas stove ban” is the topic of this 24-hour news cycle (Terrain has a good recap and analysis) and I realized I hadn’t blogged about ditching my gas stove. It’s an opportunity for to drop some timely #content.

In March 2022 we had a bunch of electrical work done on our house. It was built in 1914 and had knob-and-tube wiring in the walls. Which meant we couldn’t blow insulation into the walls due to the fire risk and paid too much for homeowners insurance. So we got new wiring and insulation, increasing comfort and peace-of-mind and saving money each month on heating/cooling and insurance.

We took advantage of the timing to get a 240V line run to the kitchen and upgraded our stove from a Viking gas range & oven to an electric induction unit. It’s been great. Here are some pros/cons of the change for me. I’m skipping the obvious ones you’d find in general comparisons like, it’s good that my cooking doesn’t involve fossil fuels and the indoor air is cleaner and it was bad to have to buy some new cookware.

Pros

  • Spills/boilovers are easy to clean up. I boiled over oil (!) while deep-frying corn dogs and it was no big deal.
  • My kids can take a more involved role cooking since there’s no flame and less heat.
  • In general there’s less cooking heat in the kitchen. Whereas excess heat from the Viking oven once melted a salad spinner that was sitting nearby.
  • More precise temperature control and more powerful output. I benchmarked flame vs. induction for time to boil 1 quart of water, that could be its own post but induction won.
  • More digital controls in general. Maybe a fancier gas range would have had automated stop-baking times, I dunno, but mine was Viking brand and it didn’t even have a temperature readout on the oven.
  • Visual indicators make it less likely that I leave a burner on low and forget about it.

Cons

  • A bit of a learning curve.
    • On a gas stove I’d turn off a pot of rice or hard-boiled eggs and leave the residual heat to finish the job. I’ve learned that on the induction, I need to leave it on low.
    • And I had perfected stovetop popcorn in my old stockpot, which wasn’t induction-compatible. Now I’m learning the nuances of cooking popcorn in a stainless steel pot.
  • I liked my old range better as a pot-drying rack at the end of the night. There were more nooks and crannies to wedge the pans in and water drops didn’t pool.

Overall, the induction range has been an improvement and I am pleased to be rid of my old stove. Some of the changes involved in decarbonizing our lives and society are uncomfortable, e.g., facing a reduction in air travel. But this one has been a simple upgrade for our kitchen and our lives.