Categories
DIY Making Repair

3D-Printed Piece Saves My Cuisinart Food Processor

The utopian vision of 3-D printing and communal knowledge sharing came true this week, in one small instance. For years I’ve loved the idea of 3-D printing a replacement component when some plastic bit snaps in a machine I’m using. Especially when the manufacturer doesn’t sell that widget and intends for you to junk and replace the whole thing. But in practice, I’ve not found myself in a situation where that would be viable…

Until this week. Last year my mother upgraded her food processor and handed me down her previous model, a Cuisinart DFP-14 (DFP-14BCN to be precise). The machine had seen years of hard work and at last, the little plastic interlock piece at the nexus of the complicated safety mechanism broke.

I spent maybe 90 minutes last weekend trying to fix it. This involved cutting a reinforcement plate out of scrap plastic, epoxying it on, and mounting it with a machine screw (part of the plastic housing had shattered, too). I had tried my best but it was not going to last. Here’s the kludge fix at the point where I called it quits:

The black plastic layer is my addition. This won’t hold up for long.
Categories
Gardening Nature Parenting

Sharing and Starting Plants

Today is Earth Day. It may be co-opted by brands posting on social media, but I think it’s still worth celebrating in its original spirit (see Emily Atkin on what Earth Day is supposed to be). I was considering posting about divesting from for-profit banks as a not-obvious but critically-important way to help the planet. I hope to do that, still. But here we are and I haven’t written it, so instead I’ll briefly report and muse about swapping seeds.

Yesterday I hosted an informal seed and seedling swap. It was just three of us, standing around a table in the cold, but it was a blast. One person brought chard seedlings, plus all kinds of seed packets including white corn and tiny cantaloupes. Another shared tomato seeds and seedlings of a family heirloom cultivar that his father has saved and replanted over many years.

After the swap, with plant life on my mind, I dug around in a five-gallon bucket of dirt. It’s a special bucket of dirt: my two-year-old and I filled it in the fall, then gathered acorns and mixed them into the soil. Our experiment was to see if they’d sprout after overwintering outside. And at least one of them has!

It’s rupturing with life! I moved it to its own pot.

Sharing seeds and plants and stories and tips and excitement on a cold spring day left each of us energized about plants and the earth. It renewed my sense of possibility, about plants and how humans are made to help each other. I plan to keep casually swapping seeds this spring and summer and then maybe run this swap again next year, with more planning and advertising to make it bigger. I hope to start seeds indoors next winter to contribute seedlings of my own.

In the meantime, I have a ton of pawpaw seeds on hand that need new homes. I processed dozens of fruits in the fall, setting aside the seeds. They’ve been kept moist and in the fridge all winter to give them their requisite cold hours and now should be ready to sprout when the soil warms up.

Pawpaws are unusual fruit trees, native to Michigan (among other places). The New York Times wrote a couple of stories about them last year. Their seeds are slow to sprout and not the easiest to grow, but I’m taking it on as a challenge.

I also harvested a lot of Red Russian kale seed from my crop last year. I have maybe a thousand seeds left after planting and giving away lots already:

My half-full jar of remaining kale seeds. Think it’s thousand? More? Less?

If you want some pawpaw or kale seed, or want to trade other perennials like sunchoke tubers or prairie dock seeds, drop me a line.

Let’s swap seeds and stories next spring. Happy planting!

Categories
Nature ruminations

Welcome, Brood X Cicadas

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.

Categories
#rstats Data analysis ruminations Work

Reflections on five years of the janitor R package

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:

YearDownloadsRatio vs. Prior Year
2016-1713,284
2017-1847,3043.56x
2018-19161,4113.41x
2019-20397,3902.46x
2020-21 (~5 months)383,5956
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.
Categories
DIY How-to Making

Making a wallet out of a bag of chips

I’d liked the idea of making a wallet out of a empty bag of potato chips, but didn’t know how to use a sewing machine. I finally bought one off of Craigslist this winter and am figuring it out. A sewing machine unlocks some projects I’d long been curious about – this is one of them.

I followed the steps from this Instructables guide and it turned out pretty well! I would make this project again. It felt like it dragged on, my 10 year-old helper and I took our time, but if doing this again I could move much faster and complete it in an hour or two. I wonder what the durability of the wallet will be. I plan to use it, so will find out.

It’s fun to think about what part of the design you want on the outside
Categories
ruminations

Plans and aspirations for 2021

Here are some plans and ideas for this year. I’m late, in the sense that this would be a better January post, but no regrets – that’s mostly because I’ve been doing some of this already.

Professional: this is my biggest change in 2021! I left my past job analyzing education data and began this month as a Data Analyst at the City of Ann Arbor. It’s an exciting opportunity: subject matter I’m passionate about, work that will challenge me technically, building new relationships, and heeding the call of public service. And if/when we eventually go back to working in-person, city hall is a short bike ride away.

The change is a big leap in a lot of ways. Two major ones are returning to an individual contributor role after years of managing and shifting from the rhythms of consulting to those of government.

For years I’ve said my dream job was to do municipal data science, like the big teams in NYC or Chicago or Los Angeles, but here in Ann Arbor. This is as close to that dream as it gets, which is pretty incredible. I’m still getting up to speed (yesterday was day 8) but it looks like there’s no end of interesting work to do.

Categories
Books Parenting

Reading the Caldecott Medal Winners

My oldest child turns 10 this month. That means I’ve been reading children’s books for most days over the last decade. Not to her, anymore; now she reads herself Harry Potter. I still read picture books to my 6-year-old and 2-year-old.

I recently realized (a) that most of my children’s book reading is now behind me (b) I like reading these books (c) there must be many great ones I’ve never read. I spend most of my reading time now on children’s books, not grown-up ones. I ought to make the most of these next few years while that remains the case.

To that end I thought I’d start with the Caldecott Medal winners as an easy entry point. I was reading Where the Wild Things Are and A Sick Day for Amos McGee and explaining the gold sticker (Caldecott medal) on the front covers to my youngest and thought: these are great books. The other Caldecott winners are probably good too, right?

Categories
DIY How-to Making

Homemade wood toaster tongs

I recently broke a pair of toaster tongs I’d been given. They looked very much like this set ($10):

Magnetic Wooden Toast Tongs
Image belongs to the Vermont Country Store

Complete with the laser-etched phrase and magnet to grip a metal surface. Made from a single piece of wood, with thin tongs, one of the tongs eventually snapped. I generally stick to rough, practical carpentry, but saw these plans from Rockler for DIY kitchen tongs that made this finish carpentry project seem within my reach. And it was! Now I’ll have more confidence tackling polished projects going forward.

I’m very pleased with how mine ended up:

Not perfect, but the imperfections are tolerable!
Categories
Data analysis How-to

Python Script to Retrieve SolarEdge Solar Panel Data

After having a rooftop solar array installed on my home in 2019, I wanted to analyze its actual performance and compare it to projections. In particular, we ended up with a smaller inverter (7kW) than recommended for our total panel capacity (11kW). We often experience some shading on our panels, so the inverter should not limit (or “clip”) the energy production too greatly – but I want to quantify the extent of the clipping effect.

That analysis is for later, though. Here is how I first retrieved the production data for my system from the SolarEdge API, in fifteen-minute intervals. It pulls data for both energy (watt-hours generated) and power (power production, in watts). I think the power is average power over that 15 minute period, though I don’t see that documented and it doesn’t line up exactly with energy generation. I’m a Python beginner and relied on my brother, who kindly wrote almost all of this code.

Setup: you’ll need your SolarEdge API key, which you can get by following their instructions (pp. 5-6). You’ll also need to install the solaredge Python package (and Python itself, if you haven’t used it before). In addition to an API key, the script below refers to a site ID. You can find that in the mySolarEdge app, under information about your site, or via the results of a query to the API.

Categories
DIY How-to Making Parenting Repair

DIY non-slip soles for footed pajamas

I’ve handed down a few pairs of cozy footed pajamas between my kids. Along the way the soles lost whatever non-skid properties they had and became very slippery. We got them out this fall to keep my two-year-old cozy. He was cozy … and he slid all over on our slick floors, wiping out a few times. Neither slips nor cold bare feet would do. It was time for DIY non-slip soles.

I outfitted two pairs of Carter’s footie pajamas. Both attempts turned out great:

Try to slide in those!

Materials: I used a discarded bike inner tube that could no longer be patched. If you don’t have one, you might be able to score them from a bike shop or repair co-op. I also used heavy-duty Sashiko thread and needle, but I expect you could do this with any needle and thread.

Process: