Monthly Archives: May 2019

Week 3042

Family

Went down to SC for Memorial Day with Max Lazer and spent time with my parents and some friends. My folks are having a tough time with Dad recovering from a stroke and a fall. My friends seem to be doing great – got to see lots of little babies.

Max was great at traveling – and seemed really adventurous at the pool, jumping off into the water. Of course, there was also the time he dog-paddled backwards until he was over his head and almost drowned( he didn’t).

Code

In-Cell Stacked Bar Charts in Excel

At work I was trying to present how different groups balance their resources – how many high, medium and low priority issues they have. We had a big table, and then wanted to have one of the cells be a stacked bar chart of the ratio between issues per group. Just an in-cell sparkline style stacked bar chart. Sparkline describes small, word-sized graphics, a term coined by Edward Tufte in Beautiful Evidence.

Excel does sparklines, but not stacked bar charts, not that I can find. You can create multiple charts and try to attach them to cells, but that is an uphill way to work and breaks every time you change the format or charting of the data.

I was inspired by some clever ideas people had for creating in-cell bar charts before Excel supported sparklines. I was also inspired by Zach Holman’s Spark, which uses unicode to produce commandline bar charts, like so: ▁▂▃▅▇

I looked at using rept(“|”,datapoint), but you can’t change formatting with a formula within one cell. I also thought you could use a grid of cells and use conditional formatting to color cells to force a rough graph.

Then one of my colleagues mentioned Unicode and everything snapped together. There are 3 specific Unicode values in the Block Elements Unicode Block that are full glyph width but have visual difference: â–‘ , â–’ , and â–“ .

With that, you can put together a rough stacked bar chart in a cell.

Stacked bar chart using repeated unicode block element characters

One of the keys here is to make the blockcount very high and then shrink the font size – that way you smooth out the bars and hide the inevitable accumulation of rounding errors. The very right edges of those cells are a wee bit wiggly because of this.

Week 3040

Kids

We took a trip out to Liberty Island and engaged with a hollow symbol of things we think we value!

Mother’s day I took Max and Z out for hours to let Sam not be a mom for a bit. It was good but EXHAUSTING. I love them so much and wish that it didn’t require so much fighting. Or maybe that I didn’t fight so much.


Bonus song for the week:

Week 3039

Cinco de Matto was moved from the amazingly good Szechuan Mountain House to Famous Sichuan which helped emphasize how what really matters is the people you eat with, not the food. I’ll keep telling myself that. Cinco de Mala will come another year!

Monday I got ill and spent Tuesday in bed trying to watch movies in that listless state where you’re convinced you’ve seen all the good stuff in the world already. But on Wednesday I was fit and ready to get back out into the world! I got my work team to go out for an axe throwing outing and then we went to LIC Beer Project for drinks. Axes first, drinks after is my new rule. I got to ride over the Queensborough Bridge and the Pulaski bridge and they are both beautiful gentle arcs through the sky – very nice!

Max with a hole where his first baby tooth has fled

Max lost his first baby tooth!

Of course, it hasn’t made it home from school yet, but I’m still excited by it.

Bliss is eating a chocolate croissant

Bliss looks like Queen Z eating a chocolate croissant

Politics

I’ve really been digging Warren. She’s got actual policies. Those policies are pretty good. She and Sanders seem to have the most people focused policies – that aren’t vague handwavey calls to emotions.

I am really hoping Biden pulls out soon.

Grunting and Sweating

I’m registered to do the City Challenge NYC race in August, so come join me and climb things and swing from things and carry things! Should be fun and I’ve got a small crew already of good folks.

Week 3038

Tap Tap…

So, I’ve been a busy boy. Biking has started up again and I got a few days in this week.

Kids

Max has been learning to read pretty well and is sounding out words he sees all over the place. I like that he’s teaching himself to some extent. At school he’s only in the B reading group, but at home he can get through E and F books. It’s really exciting because reading is such a big part of my life that I really want to be able to share this with him.

As a result of showing Max some bees and bombs gifs he was into asking for that every night for months. I almost ran out of internet art! Slowly I got him into just listening to me as I read The Watch aloud.

Wednesdays Sam and I go to special therapy with Beryl Nightingale to learn how to deal with Swale’s twice exceptional behavior. I think we’re making progress because this is the first week back from his spring break and when I picked him up from school his teacher said he participated in everything and has really improved from the beginning of the year.

Zelda has turned into a little chatterbox. She just started naming circles and triangles, she’s got opinions about everything and she’s super funny and super cute. She’s doing a lot of pretending to be dogs or lions and is always ready to go on a walk.

Code

At work I’ve managed to spend some time doing interesting code work. I probably shouldn’t but it was too juicy to not grab. We’re changing the namespace of our client libraries to better brand them. That’s good! But it means that anyone who’s currently using our client libraries would have the code completely break for them. That’s bad!

So I’ve written a little utility that wraps the client library python wheel and outputs a set of legacy wrapper scripts that bridges everything and does it dynamically!

I call it snowchains (a wheel wrapper, getit?) and it was also a good chance to get to know sphinx, tox, RestructuredText, Abstract Syntax Trees and python reflection internals – a real geekfest of learning. Hope to get it open sourced if possible.

Speaking of a real geekfest of learning, I snapped up the python humblebundle super quick.

Kyle at work helped me figure out an issue with jumpstart having problems installing z. It seems that if you run a script in non-interactive mode it isn’t sourcing all the resource files so it doesn’t see certain paths so it can’t tell that my tool is already installed.

Grunting and Sweating

On Thursday I registered for the City Challenge New York Obstacle Race. Some folks from work are joining me and I’m hoping you might as well. The last one was fun other than it raining. I put in some work and Vimal, the proprietor of Cafe Hudson came out to be my personal photographer. He got some verrrry sweet photos.

Not bad for an old guy

Cinco de Mala

If you can make it to Szechuan Mountain House 6pm on Sunday we’re going to go eat some crazy fizzy spicy Szechuan food. This place specializes in delicious numbing Mala food – I stumbled on it while exploring on my free night out a week or 2 ago and was really impressed. I’ve never eaten anything quite like it. Also I will turn as old as an actual mountain.