All posts by MattK

About MattK

I like you.

Week 3044

Books

Just finished up Tigerman by Nick Harkaway and it was a delight. A lovely struggle of a man who wants to be a father and ends up being a mysterious crime fighter, set against a post colonial outpost island sentenced to die and rotting as a Black Fleet uses the death of a nation to set up a zone without law. Really good fast-moving stuff of heroes and villains. Randomly checked out Lost Gods by Brom from the NYPL ebooks and it is holding up so far, though I feel irrationally suspicious that it will disappoint.

Also started The Fifth Risk after being reminded of Michael Lewis by the excellent Against the Rules podcast. I’m a bit full up on the mind bending horror of this age, though. My heart is really struggling for more meaningful ways to contribute within the time I’ve got.

Code

Got an hour or so over the weekend to make a wee bit more movement on the Trello release notes.

Researched X-API-Warn, X-API-DeprecationDate, DeprecationWarning (Python), Obsolete (C#), and @Deprecated(Java).

Work

I learned that you typically have 2 months of leaving notice in India and I can’t quite wrap my mind around it and all the implications of staffing and pacing of projects.

Also started working on an internal document around API deprecation policy. We do a pretty decent job of communication etc, but I want to make it a clear guide so that we can get better at it. Standards and checklists are good for things that we intend to do often.

Some good reading around this:

Family

Maxwell is sleeping on the couch nightly. He goes from the bed to the couch in the middle of the night, some sort of bi-phasic sleep thing I imagine. Zelda sleeps through the night for the most part!

Week 3043

Family

Finally got a date for Maxwell’s IEP review, so we can work with the school system to get him more appropriate education.

Max scrawls out "NO GRLS  ULAWD!" for his door.
Max is, however working on his writing since has found a use for it.

Code

Spent a bunch more time exploring pytest to get through some testing. Discovered magic to skip tests, filter warning messages out, run only failing tests, and adding py.test flags to tox.ini – which is nice – I don’t like to have lots of different places for all the configuration to run.

Also started puttering around at night on yet another little project, based off of this fun idea from Alice Goldfuss. It’s just a cookiecutter project right now, but that makes it so much easier to get started with making something shareable. Cookiecutter is really good community scaffolding for python projects and I’ve been evangelizing it at work.

Work

Been doing a lot of organizing and going through our backlog to remove old projects or identify what we don’t care about any more. I want to also start tracking urgency for projects which is a function of size of request, time since request – with a wave function. A request that is 2 weeks of work but has been waiting a little while is more urgent – because you are losing the window where we can actually help the customer well. A small project that waits for 6 months is probably not urgent at all – by this point everyone probably has a workaround and it should probably be removed from the queue in that case. A large project that waits a little is usually ok unless there is a firm deadline.

This was all in service of better tracking our work and being able to present more intelligently about what we are doing. The presentation went well, so it paid off at least once

I also had a really good conversation about what is in the espresso pods at work and how does decaffeination work – love getting obsessed and delving into things with people. Of course I made a wiki page – people need to know how to choose their coffee!

Finally wrapping up the last items for our first wave of the Py2-Py3 conversion work. I’ve been a bottle neck on some of it, but it’s really important to lay good foundations for future work.

Buds

More axe throwing with The Lawyers. Then drinking. Then Korean food. Then Karaoke. I was best at the eating and drinking where I have a phenomenal amount of practice and natural talent.

I will spare you video of the karaoke.


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.