Tag Archives: weeknotes

Week 3021

What a nice week off. We spoiled the kids, I played hard with both of them. Took Swale to see Into the Spiderverse and it was an incredible leap forward in animated film.  It’s the future I’m here for.

Got some great presents, gave some great ones too. Many robots, many cool electronic kits. We’ve got great stuff for the kids, I just need to keep my energy up so I can teach them and guide them into the good stuff instead of zoning out in front of screens. They really come alive for engagement and fall down into a screen if it is available.

For instance – I showed Max some gifs from Bees and Bombs.

https://beesandbombs.tumblr.com/post/173496510369/moon-roll

Max LOVED them. He keeps asking about seeing more beesnbombs. Eventually we got to watch Daniel Shiffman attempt to make a Bees and Bombs gif on youtube. He sat for the whole thing.

So we got to talk about Sine Waves and when Sam didn’t believe he was listening and understanding, the next morning we got to talk about waves again. Max drew a square wave so we got to talk about the difference and how those sound different – and we talked about listening to square waves, sine waves and sawtooth waves.

He still doesn’t get the time component too well – he’s drawn me a lot of waves with loops in them – but that’s good experimentation!

I tried to blow his mind that this is how all sound works but it’s a bit early to grok that. In other sound news I made a little ditty for a rainy day.

Gave Sam a very weird board game where you play as nurses helping ease a dying man through his final days before the grave. Holding On: The Troubled Life of Billy Kerr feels unlike any game I’ve played before. We are in a story, managing and helping and watching an inevitable decline. It’s not a laugh riot, but we’ve gotten through two scenarios and are going to keep going.

Played around with the list of 2018 codrops and they were great! I really liked a few and thought they should be part of a story – that our paper should do more…

I want to write story about summer and love and the south that starts like this.

This story about work, gender, cable and humanity really moved me.

Sam and I talked about what our goal or theme for 2019 should be and we think Community could be it.

For her, it means building a better network of support, spending more time with our community. For me, I want to find ways to get connected with our broader community and give back.

I want to find ways for us to connect with causes and give more. I want to help our kids engage in the same way. We can find ways to change our criminal justice system, save our environment and make the world better.

Please take a look at the Brooklyn Community Bail Fund and the National Bail Out. The more I think about it, money bail is one of the crucial legs of the criminal injustice system.

Week 3020

A lot of things have happened, some good, some scary. Let’s keep it simple and just talk about the last 2 weeks.

It’s a celebration week! Cousin Atlanta has been staying with us and providing wonderful babysitting every day. She finally left on Thursday to go to Germany and then Oklahoma and it’s sad because she’s been wonderful as a guest and so much help with the kids. They already miss her. It also let us go out a lot – my work party was on Wednesday, Beer Club was Thursday, Lance’s birthday, a maker night for Max at his school, a meetup for some old PWP folks and uh…

Frankly, I don’t think I can do much more celebrating. I need sleep and some water.

Atlanta got us an Xbox One! Incredible gift. Of course, I’m trying to play with Max so he is connected and I’m not just staying up being a dork by myself. So few games revolve around anything other than murdering people.

This game ABZÛ is pretty amazing though – I love talking with Max about the different fish.

I’m excited about all the gifts I’ve bought my family – can’t wait to see them unwrap things next week.

We are disappointed at how kindergarten is turning out for Max. He’s not engaged, he doesn’t want to go, he leaves his class and they can’t really manage him. We met with a Beryl Nightingale, a neuropsychologist in the neighborhood to learn about what’s going on with him. She says he’s a Twice Exceptional (2E) kid, which is a term I wish existed when I was growing up. He’s a smart guy so he’s able to learn a lot without paying much attention, but he’s going to be rigid and have a tough time processing the rules of what people want him to do. We’re trying to work with the school to see if they can give him an adequate education. I’m a hopeful, but not certain it will work out.

We also toured some schools for 2E kids, the West End School, the Lang School and the Quad Prep. Each is really impressive in different ways – but I have no idea how we can find the funds to send him to one. I wish the public system would teach him better.

Code

I was able to get some coding done and finish some updates to a cool python script that moves Jiras around through our prioritization process at work. I held myself to the standard I’d ask of others and put tests in and made sure they run fast and cover all the new work.

Also did some neat tricks in jupyter notebooks for people asking questions about our API.

We got asked to do some work around cost estimates for work as well and I was hoping to get time to automate the answer using Boto, but it was apparent really quickly that I could do it in a fraction of the time using a spreadsheet. One to revisit later!

Going to take some time off next week, but of course there’s a giant project due nearly every week until Sam leaves for Morocco, so I’ll probably end up sneaking a little work in here or there.

Bike

NO BIKING THIS WEEK I SUCK.

 

Week 3012

Hell of a week, friends.

Work

I’m writing from midway through a trip to Hyderabad to meet my work colleagues and help out with a DR drill. It’s been great. I’ve been able to get to know some great folks  better, eating amazing food and checking out how they get work done.  The DR test went off much much better than the last one, so our preparation paid off.

Trying to remote into a NY machine from Hyd to do work was way too laggy, so I went full local. An unforeseen benefit of my jumpstart script – I ran it and had all my tools and environment ready to go!

I’ve had a chance to go out for meals and meet people in our cafeteria – breaking naan with someone is a great way to get to know them. The cafeteria here is very impressive, but I’ve also gotten to enjoy a diner like Chutney’s and the crazy spicy food at Sahib Sindh Sultan‘s train car restaurant.

I also got to go out to see Niraval play at Tabula Rasa. Krishnan, the keyboardist, made sure I had a table down front for a bit – until the dancing started. Show was great, I drank and danced and had tons of fun until 4 AM out with the band afterward.

Got to go out and experience Hyd a bit even though mostly I’m just shuttling between the hotel and the office. The city, the traffic, everything is pleasantly nuts. Every single person I’ve met has been kind and helpful and really giving of their time. If anything, it seems like I get irritated at being overpampered.  People want to do everything for you, so it keeps you from just getting what you want. For instance, I want to have some coffee – but I have to ask someone to get it for me and it turns into a 3 person operation where in the end someone also adds milk to my coffee for me. On the other hand, here you can hire a  motorcycle to drive you right through the middle of traffic on a whim. Still haven’t gotten into a tuk-tuk yet, but the motorcycle ride is sweet!

Books

On the plane I finished An Unkindness of Ghosts by Rivers Solomon which was brilliant. The hero is a neuroatypical woman of color trapped aboard a titanic interstellar steampunk ship that’s racially stratified and she’s unraveling a mystery of death and power guided by the journals of her missing mother. Everything about this book was awesome and I was sucked in totally. I completely recommend this one.

Just recently I finished River of Teeth by Sarah Gailey which I wanted to like so much more than I actually did. It’s a western style adventure set in an America where the government seeded the Mississippi river with hippopotamuses. It’s got adventure, intrigue, a non-binary love affair, all sorts of things that sound interesting, but… I just never really loved anyone in the book. They all seemed like they showed up in a bad action movie where a narrator has to hastily explain their unusual quirks, background and skills. Like, there’s a demo expert, a knife fighter and a french master of disguise. And that’s mostly all they are.

Family

I miss them immensely. Every day I get a half hour glimpse back home with a google hangout video chat. Things aren’t going great – it’s been a hell of a week of hell for Sam. She’s  doing her best, but first Max got sick, then Z got sick. Max is also having problems at school. The teachers seem exasperated with him, like they are giving up on him to focus on the other kids because he needs much more individual attention. We really don’t want him to feel like school is a place that isn’t good for him, we want him to get a love of learning – but 2 teachers for 23 kids isn’t working well. We aren’t getting much feedback about how he’s doing or what we need to work on other than a brief conversation at the end of the day.

One of the reasons for weeknotes is to be able to look back on what’s been happening – how things shifted over time. It’s been a hell of a week. We’re creeping right up on the midterm elections and it doesn’t look good.

This week we saw the MAGABomber caught attempting to assassinate leadership of the Democratic party, a white gunman attempt to get into a black church then go kill 2 black people in a grocery store, a gunman kill 8 people in a synagogue and there are no consequences. The republican machine is calling the bombs fake or a false-flag, the synagogue was told by the president they should have had better security, and it’s all insane. The republican machine is proclaiming that only they can save your healthcare and the wave of Democrats needed to paralyze the government from doing more harm seems unlikely to happen. I’m volunteering and donating to the Great Slate, but I hope more people do as well.

I’m terrified that people aren’t taking this seriously enough. That if they aren’t directly confronted with something that impacts their lives, they won’t do something.

Week 3011

Getting ready for my first trip to Hyderabad!

Health

Been working on dragon flags and handstand pushups at the gym. Only 3 biking days this week :(. On the other hand, they were all good days. It’s cold enough now to break out the gloves here in NYC, so I’m looking forward to warmer days in Hyd for the next few weeks. I wonder if I can rent a bike there easily?

Family

One of the reasons for that: I got to take Max Lazer to go see Tinga Tinga. He got to see it, I just got to be part of the parental escort through the subways to Times Square. He handled it great, but it was amazing to see the way the teachers handle 22 kindergartners getting through the subway system.

Z is teething and it’s so tough on her. I hope it ends soon. On the other hand, I managed to get both kids to sleep in the same room at the same time on Wednesday and Thursday we got Z to sleep the whole night through!

My Kobo broke and I sent it off to be replaced, but I must have an e-reader for the trip so I am now the owner of a Kindle Paperwhite as well. As someone who’s now owned and used a Nook, Kobo and Kindle, I’ll write up my take on it. Should have some time on the 16 hours or so of flight time!

Code

Been helping folks at work learn some more advanced Python. I get excited every time I talk about list or dictionary comprehensions because they were a real light when I was learning python in the beginning.

You often need to transform data structures and the first way is usually to just iterate a list, construct new instances of something else, then pop them into a list of new things.

Say you have a list of cool coders you want to talk about.

 


from collections import namedtuple
Coder = namedtuple('Person', 'name login url')
cool_coders = [Coder(name="Grace Hopper", login="ghopper", url="https://en.wikipedia.org/wiki/Grace_Hopper"),
Coder(name="Ada Lovelace", login="ladyada", url="https://en.wikipedia.org/wiki/Ada_Lovelace"),
Coder(name="Jenn Schiffer", login="jennmoney", url="https://jennmoney.biz/"),
Coder(name="Nina Zharenko", login="nnja", url="https://www.nnja.io/"),
]

intro = "Here's a list of some cool coders and more you can learn about them: "

Maybe you want to produce a markdown sentence listing them.

coder_markup = []
for programmer in cool_coders:
    coder_markup.append( "[{}]({})".format(programmer.name, programmer.url) )
markup = intro + ", ".join(coder_markup)

Sure, that could be more complicated and have more changes or filtering that needs to be done. But what’s nice about a comprehension is that it helps cut down boilerplate and it makes things clearer.

coder_markup2 = ["[{}]({})".format(coder.name, coder.url) for coder in cool_coders]
markup = intro + ", ".join(coder_markup2)

And of course, if we were on python 3.6 we could make that even smaller by just using fstrings.

I’ve been using tmux pretty heavily, but now I get annoyed that on reboot I have to rebuild all of my workspaces. So now I’ve installed tmuxinator. It should be useful for setting up project/workspaces and then firing them up after a reboot.

Of course – I don’t just install tmuxinator. I set it so that it can auto-install on any account I’ve got with my jumpstart script.  If you know any cool tricks or experiences you want to share about either, I’m eager to learn.

 

Week 3010

Another combo because I’m late!

Here’s the The Owl from I Love You but I’ve Chosen Darkness

It’s rainy and dark and suddenly fall.

More riding in the rain.  Had to skip a day because I felt horrrrrible after the happy hour Wednesday night.

Sleeping poorly is the rule in our house as we struggle to figure out how to get Max Lazer and Queen Z to bed in the same room at a reasonable hour. It takes forever.  We think some of Max’s trouble in kindergarten is that he just can’t get good sleep at home anymore. So he goes in tired and can’t be his best.

I’ve got my visa for the Hyderabad Trip coming up and while I’m excited to go visit India I think my first trip will be almost entirely business – there’s a DR test that weekend so I’ll probably spend the whole trip in just the one city.

Going to our building’s yearly meeting for the first time in a while as NOT a board member. WOO!

Got to work on competitor pricing and take friends out to lunch to discuss. Also got to spend time with our R&D project plans for 2019.

 

 

Week 3008

Welp, I’m getting this in a bit late, so I’ll also put in some Music Monday.

But since the world is a pit, you get Cotton Eye Joe Gregorian Chant Nightcore Hardcore Dubstep remix. Do better this week, world! The Senate confirmation hearings for Brett Kavanaugh were a reminder of how little women’s pain matters. The guy is also clearly lying.

Code

My team won one of the 2nd place slots in the Hackathon as “Most Complete Hack”! We are talking about bringing it through to complete prod deployment.

Read up on Conflict Free Replicated Data Types which are a really interesting way to do mergable data structures. Underlies lots of interesting stuff like Redis.

Experimented with Mozilla’s Configman – the docs are NOT good enough, because they actually have a great drop in replacement for the standard ArgumentParser in there.

Bike

Got in all but 1 day last week. Rode in the rain 2 days! The first convinced me that I need to either own rainproof pants or just plan on riding in shorts in the rain. I bought a pair of Showers Pass transit pants and they worked great on Friday. Also got to randomly ride in with my buddy Lance again and reminded how nice that is.

Family

Zeebus is really smart and understands a lot of what we say! She picks things up and puts them where you ask, she understands that we need sleep, she’s got a lot going on upstairs.

She puts on Max’s bike helmet to let us know she wants to go riding!

When she slapped Sam hard in the face she realized she had hurt her- then Z gave her a big hug and patted her. That’s what Max does when he plays too rough with her!

Max and I did a really good hike together. We went a little crazy and climbed up next to a little waterfall and did some semi-safe bouldering nearby.  Max and I actually climbed way up a small cliff and got to the top. We also found a cool Puffball mushroom. But we didn’t eat it because we didn’t know how to tell if it was poisonous or not. (now we know and we’ll eat it next time!)

Week 3007

I’m writing this one bushed after 24 hours at the company hackathon. Most of our developers are in HYD, so our hackathon starts at 10:30pm Friday and ends 10:30pm Saturday.

Right now we are all done with our deck, the app is finished, we’ve polished everything we can and we don’t want to touch anything in case we break it. So it’s a strange calm.

Another 60 miles on the bike this week and feeling fine. In the gym, we’re working on handstands. Zelda is growing smarter every day, Max suddenly started saying his “R”s like an American instead of a Brit.

I gave Sam a day to travel to Coney Island with Jeremy Fox on friday while I watched Z. Only fair because I’m spending 24 hours away from them.

Speaking of Jeremy, we got to go out and drink and play nerd games and it was SO MUCH FUN. Got to introduce him to another friend who’s out in LA, Dewitt. Hope they actually meet up and hit it off.

Week 3006

Work

We are  having a hackathon! I’m excited.  Its my first since Music Hack Day NYC. We’re going to try out Amazon Lex, Lambda, and some containers.

Some folks are already using my code for working with ELK, so that’s nice.

I’ve been focusing around automating my testing and such, and I really am centering around just learning to write better makefiles. Make is installed everywhere, like vim and other things I like. It just works. And makefiles do almost everything you want. The downside is that it is an ugly syntax. The upside is that if you learn one ugly syntax, you don’t need to learn everything about Rake, Yarn, etc.

Around the web

Best Practices for Staging Environments – this article by the excellent Alice Goldfuss came up at work as we wrestle with big calcs and datasets for our clients.

Why you hate Contemporary Architecture – This is grrrreat. One little note for the computer nerds. If you’ve heard of the Gang of 4 Design Patterns book, read the article and come back. The Design Patterns book was based in part on Christopher Alexander’s “A Pattern Language” which is a great guide to things that seem to work in architecture.

I discovered two things that similar to a POC I was working on (voracious-etl)

  • Datasette provides a readonly JSON api for any SQLite DB.
  • Dataset provides an ORM for any CSV or JSON file

The plugin system at the core of pytest is a library: Pluggy. I like that and I might use it earlier.

A good podcast: Flash Forward. Explores a new future every week. The most recent focuses on fungal enslavement, which I love. If you like that one, I highly recommend the mindblowing Parasite Rex by Carl Zimmer or Sensation by Nick Mamatas

 

 

Politics

None of the big progressive candidates made it in the democratic primaries. Cuomo still won. Tish won, which is OK. However, I see that  some progressive candidates made it through.

I hope they can do some real work and win in November. I’ll be calling and doing work to support them.  I long for a day when I can start moaning about free speech vs hate speech and trying to reign in some liberal excesses. However, right now, the work has to get done.

I also note that children are still in cages and parents are getting deported without hearings, but it isn’t in the headlines anymore. I’m still pissed about it. I’m still pissed that the probable governor of NY seems to only work for progressive issues when pushed and won’t use his clemency powers.

Exercise

I biked around 37 miles this week! Had to take off Monday and Tuesday due to rain and being pretty sick. But otherwise, I rode in. Got to stop on Christie street and help a guy who’d been knocked down by a cab.

Worked to a slightly lower pistol squat and my butt hurts sooo bad. Also, my dragon flag work is getting better. I can kind of hold it.

I started doing partial handstand pushups against the wall and they feel pretty good. I can do 5 at a time part way down and up. Next I’ll try lower and lower, then try freestanding ones.

 

Week 3005

Family

First day of Kindergarten for Max Lazer! It didn’t go great.

Even though we had sent over emails with his IEP, the teachers hadn’t read the documentation for the first day of school. They are very nice, but it was a tough transition day for him. After you drop off kids, all the parents get herded out to the auditorium to get welcomed to the school. I saw his teacher later coming down the aisle to talk to an assistant principal and I knew it was going to be for us. It was. I ended up working from the hallway after calming things down in the classroom. By the end of the day, everything was fine, but what a start. Second and third days were better. I don’t see him participating much yet, so I’m worried that he won’t be getting what he needs.

A young iggy peck makes buildings

These are great buildings – but the rest of the kids are writing things.

I believe he is learning and exploring and thinking, but I’m also worried that he’s dominating the teachers. Do they have the bandwidth to deal with his will and the other children?

Bike

Not much biking! Not because I got hit by a car last week, because it was the first day of kindergarten for Max and there was labor day off of work. Only 24 miles this week.

Z-Ray is now trying to teach herself to ride a scooter. SLOW DOWN GIRL. You just learned how to walk!

Work

Still adjusting from my default setting of an internal technology advocate for clients to a relationship manager. My job isn’t just to make clients happy, it’s to help them understand and prioritize what they want. I’m a few months in and still navigating where is support vs building.  It’s a lot different from being an internal technology team and I often have to adjust my headspace.

Also, I internally released a little tool for working with ELK searches directly in Python. I’ll work on seeing if we can accelerate our open source program so that I can release it out in the world.

I’m also now part of the group leading some changes in how we handle our python stack and our api libraries, a subject very dear to my nerdy heart.

 

Week 3004

Z-Ray is walking like crazy now. Her tiny feet are hilarious and she now just toddles everywhere. This morning she just ran into a room and hugged me.  She brought me my shoes!  She definitely understands when I ask her to put her shoes into the shoe bench.

I love her so much I want to squeeze her for hours.

Max Lazer is going to kindergarten next week! He’s not excited yet, but I think he’ll love it. Just got a call that his ear is large and swollen, but hopefully he’s ok. We’ve been reading a lot of choose your own adventure – I like that he’s seeing how different choices control consequences. When Z cries, he’s very loving and helpful and is doing his best to comfort her or distract her.

Code

I’m thinking about how we will enhance our python support at work. As part of that I’m researching better ways to standardize configuration of objects.  You want to be able to initialize an object foo from a class Foo.

class Foo(object):
    def __init__(bar='baz')
        self.bar = bar
foo = Foo()

print(f"bar = {foo.bar}")
# "bar = baz"

Swell!  But some people may think that bar should be set to “bazzz”.

foo2 = Foo(bar='bazzz')
print(f"bar = {foo2.bar}")
# "bar = bazzz"

Easy enough. But what if I work in a place where we need to change hundreds of uses of bar among tons of different scripts and applications and whatnot?

I may want to get it from an environment variable automatically on startup. Or maybe I work in a place where we like configuring things with a .env file. Or a settings.toml.

Or maybe we want to just this once pass it in as a commandline parameter. Flexibility is really good to have.

Ideally, we can say there’s a hierarchy.

  1. A parameter passed into the constructor is the highest priority.
  2. An environment variable is the next.
  3. A config file is the next most concrete. (I could be convinced to switch these, but as long as there’s a consistent pattern, it’s good enough)
  4. The default value of the parameter in a constructor if there’s not other choice.

There are lots of good libraries out there for achieving this, at least partially. Ideally, I think I’d want to have either something we can apply as a class decorator or as through multiple inheritance.

Some good python configuration libraries I came across that I really like:

For my problem with dreamhost, I’m making progress and have been able to get a set of forward rules pretty much ready. I’m hoping to publish it pretty soon.

I don’t think I’ll get around to auto fixing the mailbox filter rules though.

Reading

I got my Kobo back after it fizzled. I’ve missed having an e-reader so much! I did get to read “The Moon is Down” by Steinbeck because we had a paperback on our shelves, but it’s so nice to be able to read a book in bed or in the bath or in the dark while a kid settles down. It’s also nice to be able to just squeeze in A Road to Common Lisp in between things be weeknotes | Matt Katz – More Light! More Light! | Page 2

Tag Archives: weeknotes

Week 3021

What a nice week off. We spoiled the kids, I played hard with both of them. Took Swale to see Into the Spiderverse and it was an incredible leap forward in animated film.  It’s the future I’m here for.

Got some great presents, gave some great ones too. Many robots, many cool electronic kits. We’ve got great stuff for the kids, I just need to keep my energy up so I can teach them and guide them into the good stuff instead of zoning out in front of screens. They really come alive for engagement and fall down into a screen if it is available.

For instance – I showed Max some gifs from Bees and Bombs.

https://beesandbombs.tumblr.com/post/173496510369/moon-roll

Max LOVED them. He keeps asking about seeing more beesnbombs. Eventually we got to watch Daniel Shiffman attempt to make a Bees and Bombs gif on youtube. He sat for the whole thing.

So we got to talk about Sine Waves and when Sam didn’t believe he was listening and understanding, the next morning we got to talk about waves again. Max drew a square wave so we got to talk about the difference and how those sound different – and we talked about listening to square waves, sine waves and sawtooth waves.

He still doesn’t get the time component too well – he’s drawn me a lot of waves with loops in them – but that’s good experimentation!

I tried to blow his mind that this is how all sound works but it’s a bit early to grok that. In other sound news I made a little ditty for a rainy day.

Gave Sam a very weird board game where you play as nurses helping ease a dying man through his final days before the grave. Holding On: The Troubled Life of Billy Kerr feels unlike any game I’ve played before. We are in a story, managing and helping and watching an inevitable decline. It’s not a laugh riot, but we’ve gotten through two scenarios and are going to keep going.

Played around with the list of 2018 codrops and they were great! I really liked a few and thought they should be part of a story – that our paper should do more…

I want to write story about summer and love and the south that starts like this.

This story about work, gender, cable and humanity really moved me.

Sam and I talked about what our goal or theme for 2019 should be and we think Community could be it.

For her, it means building a better network of support, spending more time with our community. For me, I want to find ways to get connected with our broader community and give back.

I want to find ways for us to connect with causes and give more. I want to help our kids engage in the same way. We can find ways to change our criminal justice system, save our environment and make the world better.

Please take a look at the Brooklyn Community Bail Fund and the National Bail Out. The more I think about it, money bail is one of the crucial legs of the criminal injustice system.

Week 3020

A lot of things have happened, some good, some scary. Let’s keep it simple and just talk about the last 2 weeks.

It’s a celebration week! Cousin Atlanta has been staying with us and providing wonderful babysitting every day. She finally left on Thursday to go to Germany and then Oklahoma and it’s sad because she’s been wonderful as a guest and so much help with the kids. They already miss her. It also let us go out a lot – my work party was on Wednesday, Beer Club was Thursday, Lance’s birthday, a maker night for Max at his school, a meetup for some old PWP folks and uh…

Frankly, I don’t think I can do much more celebrating. I need sleep and some water.

Atlanta got us an Xbox One! Incredible gift. Of course, I’m trying to play with Max so he is connected and I’m not just staying up being a dork by myself. So few games revolve around anything other than murdering people.

This game ABZÛ is pretty amazing though – I love talking with Max about the different fish.

I’m excited about all the gifts I’ve bought my family – can’t wait to see them unwrap things next week.

We are disappointed at how kindergarten is turning out for Max. He’s not engaged, he doesn’t want to go, he leaves his class and they can’t really manage him. We met with a Beryl Nightingale, a neuropsychologist in the neighborhood to learn about what’s going on with him. She says he’s a Twice Exceptional (2E) kid, which is a term I wish existed when I was growing up. He’s a smart guy so he’s able to learn a lot without paying much attention, but he’s going to be rigid and have a tough time processing the rules of what people want him to do. We’re trying to work with the school to see if they can give him an adequate education. I’m a hopeful, but not certain it will work out.

We also toured some schools for 2E kids, the West End School, the Lang School and the Quad Prep. Each is really impressive in different ways – but I have no idea how we can find the funds to send him to one. I wish the public system would teach him better.

Code

I was able to get some coding done and finish some updates to a cool python script that moves Jiras around through our prioritization process at work. I held myself to the standard I’d ask of others and put tests in and made sure they run fast and cover all the new work.

Also did some neat tricks in jupyter notebooks for people asking questions about our API.

We got asked to do some work around cost estimates for work as well and I was hoping to get time to automate the answer using Boto, but it was apparent really quickly that I could do it in a fraction of the time using a spreadsheet. One to revisit later!

Going to take some time off next week, but of course there’s a giant project due nearly every week until Sam leaves for Morocco, so I’ll probably end up sneaking a little work in here or there.

Bike

NO BIKING THIS WEEK I SUCK.

 

Week 3012

Hell of a week, friends.

Work

I’m writing from midway through a trip to Hyderabad to meet my work colleagues and help out with a DR drill. It’s been great. I’ve been able to get to know some great folks  better, eating amazing food and checking out how they get work done.  The DR test went off much much better than the last one, so our preparation paid off.

Trying to remote into a NY machine from Hyd to do work was way too laggy, so I went full local. An unforeseen benefit of my jumpstart script – I ran it and had all my tools and environment ready to go!

I’ve had a chance to go out for meals and meet people in our cafeteria – breaking naan with someone is a great way to get to know them. The cafeteria here is very impressive, but I’ve also gotten to enjoy a diner like Chutney’s and the crazy spicy food at Sahib Sindh Sultan‘s train car restaurant.

I also got to go out to see Niraval play at Tabula Rasa. Krishnan, the keyboardist, made sure I had a table down front for a bit – until the dancing started. Show was great, I drank and danced and had tons of fun until 4 AM out with the band afterward.

Got to go out and experience Hyd a bit even though mostly I’m just shuttling between the hotel and the office. The city, the traffic, everything is pleasantly nuts. Every single person I’ve met has been kind and helpful and really giving of their time. If anything, it seems like I get irritated at being overpampered.  People want to do everything for you, so it keeps you from just getting what you want. For instance, I want to have some coffee – but I have to ask someone to get it for me and it turns into a 3 person operation where in the end someone also adds milk to my coffee for me. On the other hand, here you can hire a  motorcycle to drive you right through the middle of traffic on a whim. Still haven’t gotten into a tuk-tuk yet, but the motorcycle ride is sweet!

Books

On the plane I finished An Unkindness of Ghosts by Rivers Solomon which was brilliant. The hero is a neuroatypical woman of color trapped aboard a titanic interstellar steampunk ship that’s racially stratified and she’s unraveling a mystery of death and power guided by the journals of her missing mother. Everything about this book was awesome and I was sucked in totally. I completely recommend this one.

Just recently I finished River of Teeth by Sarah Gailey which I wanted to like so much more than I actually did. It’s a western style adventure set in an America where the government seeded the Mississippi river with hippopotamuses. It’s got adventure, intrigue, a non-binary love affair, all sorts of things that sound interesting, but… I just never really loved anyone in the book. They all seemed like they showed up in a bad action movie where a narrator has to hastily explain their unusual quirks, background and skills. Like, there’s a demo expert, a knife fighter and a french master of disguise. And that’s mostly all they are.

Family

I miss them immensely. Every day I get a half hour glimpse back home with a google hangout video chat. Things aren’t going great – it’s been a hell of a week of hell for Sam. She’s  doing her best, but first Max got sick, then Z got sick. Max is also having problems at school. The teachers seem exasperated with him, like they are giving up on him to focus on the other kids because he needs much more individual attention. We really don’t want him to feel like school is a place that isn’t good for him, we want him to get a love of learning – but 2 teachers for 23 kids isn’t working well. We aren’t getting much feedback about how he’s doing or what we need to work on other than a brief conversation at the end of the day.

One of the reasons for weeknotes is to be able to look back on what’s been happening – how things shifted over time. It’s been a hell of a week. We’re creeping right up on the midterm elections and it doesn’t look good.

This week we saw the MAGABomber caught attempting to assassinate leadership of the Democratic party, a white gunman attempt to get into a black church then go kill 2 black people in a grocery store, a gunman kill 8 people in a synagogue and there are no consequences. The republican machine is calling the bombs fake or a false-flag, the synagogue was told by the president they should have had better security, and it’s all insane. The republican machine is proclaiming that only they can save your healthcare and the wave of Democrats needed to paralyze the government from doing more harm seems unlikely to happen. I’m volunteering and donating to the Great Slate, but I hope more people do as well.

I’m terrified that people aren’t taking this seriously enough. That if they aren’t directly confronted with something that impacts their lives, they won’t do something.

Week 3011

Getting ready for my first trip to Hyderabad!

Health

Been working on dragon flags and handstand pushups at the gym. Only 3 biking days this week :(. On the other hand, they were all good days. It’s cold enough now to break out the gloves here in NYC, so I’m looking forward to warmer days in Hyd for the next few weeks. I wonder if I can rent a bike there easily?

Family

One of the reasons for that: I got to take Max Lazer to go see Tinga Tinga. He got to see it, I just got to be part of the parental escort through the subways to Times Square. He handled it great, but it was amazing to see the way the teachers handle 22 kindergartners getting through the subway system.

Z is teething and it’s so tough on her. I hope it ends soon. On the other hand, I managed to get both kids to sleep in the same room at the same time on Wednesday and Thursday we got Z to sleep the whole night through!

My Kobo broke and I sent it off to be replaced, but I must have an e-reader for the trip so I am now the owner of a Kindle Paperwhite as well. As someone who’s now owned and used a Nook, Kobo and Kindle, I’ll write up my take on it. Should have some time on the 16 hours or so of flight time!

Code

Been helping folks at work learn some more advanced Python. I get excited every time I talk about list or dictionary comprehensions because they were a real light when I was learning python in the beginning.

You often need to transform data structures and the first way is usually to just iterate a list, construct new instances of something else, then pop them into a list of new things.

Say you have a list of cool coders you want to talk about.

 


from collections import namedtuple
Coder = namedtuple('Person', 'name login url')
cool_coders = [Coder(name="Grace Hopper", login="ghopper", url="https://en.wikipedia.org/wiki/Grace_Hopper"),
Coder(name="Ada Lovelace", login="ladyada", url="https://en.wikipedia.org/wiki/Ada_Lovelace"),
Coder(name="Jenn Schiffer", login="jennmoney", url="https://jennmoney.biz/"),
Coder(name="Nina Zharenko", login="nnja", url="https://www.nnja.io/"),
]

intro = "Here's a list of some cool coders and more you can learn about them: "

Maybe you want to produce a markdown sentence listing them.

coder_markup = []
for programmer in cool_coders:
    coder_markup.append( "[{}]({})".format(programmer.name, programmer.url) )
markup = intro + ", ".join(coder_markup)

Sure, that could be more complicated and have more changes or filtering that needs to be done. But what’s nice about a comprehension is that it helps cut down boilerplate and it makes things clearer.

coder_markup2 = ["[{}]({})".format(coder.name, coder.url) for coder in cool_coders]
markup = intro + ", ".join(coder_markup2)

And of course, if we were on python 3.6 we could make that even smaller by just using fstrings.

I’ve been using tmux pretty heavily, but now I get annoyed that on reboot I have to rebuild all of my workspaces. So now I’ve installed tmuxinator. It should be useful for setting up project/workspaces and then firing them up after a reboot.

Of course – I don’t just install tmuxinator. I set it so that it can auto-install on any account I’ve got with my jumpstart script.  If you know any cool tricks or experiences you want to share about either, I’m eager to learn.

 

Week 3010

Another combo because I’m late!

Here’s the The Owl from I Love You but I’ve Chosen Darkness

It’s rainy and dark and suddenly fall.

More riding in the rain.  Had to skip a day because I felt horrrrrible after the happy hour Wednesday night.

Sleeping poorly is the rule in our house as we struggle to figure out how to get Max Lazer and Queen Z to bed in the same room at a reasonable hour. It takes forever.  We think some of Max’s trouble in kindergarten is that he just can’t get good sleep at home anymore. So he goes in tired and can’t be his best.

I’ve got my visa for the Hyderabad Trip coming up and while I’m excited to go visit India I think my first trip will be almost entirely business – there’s a DR test that weekend so I’ll probably spend the whole trip in just the one city.

Going to our building’s yearly meeting for the first time in a while as NOT a board member. WOO!

Got to work on competitor pricing and take friends out to lunch to discuss. Also got to spend time with our R&D project plans for 2019.

 

 

Week 3008

Welp, I’m getting this in a bit late, so I’ll also put in some Music Monday.

But since the world is a pit, you get Cotton Eye Joe Gregorian Chant Nightcore Hardcore Dubstep remix. Do better this week, world! The Senate confirmation hearings for Brett Kavanaugh were a reminder of how little women’s pain matters. The guy is also clearly lying.

Code

My team won one of the 2nd place slots in the Hackathon as “Most Complete Hack”! We are talking about bringing it through to complete prod deployment.

Read up on Conflict Free Replicated Data Types which are a really interesting way to do mergable data structures. Underlies lots of interesting stuff like Redis.

Experimented with Mozilla’s Configman – the docs are NOT good enough, because they actually have a great drop in replacement for the standard ArgumentParser in there.

Bike

Got in all but 1 day last week. Rode in the rain 2 days! The first convinced me that I need to either own rainproof pants or just plan on riding in shorts in the rain. I bought a pair of Showers Pass transit pants and they worked great on Friday. Also got to randomly ride in with my buddy Lance again and reminded how nice that is.

Family

Zeebus is really smart and understands a lot of what we say! She picks things up and puts them where you ask, she understands that we need sleep, she’s got a lot going on upstairs.

She puts on Max’s bike helmet to let us know she wants to go riding!

When she slapped Sam hard in the face she realized she had hurt her- then Z gave her a big hug and patted her. That’s what Max does when he plays too rough with her!

Max and I did a really good hike together. We went a little crazy and climbed up next to a little waterfall and did some semi-safe bouldering nearby.  Max and I actually climbed way up a small cliff and got to the top. We also found a cool Puffball mushroom. But we didn’t eat it because we didn’t know how to tell if it was poisonous or not. (now we know and we’ll eat it next time!)

Week 3007

I’m writing this one bushed after 24 hours at the company hackathon. Most of our developers are in HYD, so our hackathon starts at 10:30pm Friday and ends 10:30pm Saturday.

Right now we are all done with our deck, the app is finished, we’ve polished everything we can and we don’t want to touch anything in case we break it. So it’s a strange calm.

Another 60 miles on the bike this week and feeling fine. In the gym, we’re working on handstands. Zelda is growing smarter every day, Max suddenly started saying his “R”s like an American instead of a Brit.

I gave Sam a day to travel to Coney Island with Jeremy Fox on friday while I watched Z. Only fair because I’m spending 24 hours away from them.

Speaking of Jeremy, we got to go out and drink and play nerd games and it was SO MUCH FUN. Got to introduce him to another friend who’s out in LA, Dewitt. Hope they actually meet up and hit it off.

Week 3006

Work

We are  having a hackathon! I’m excited.  Its my first since Music Hack Day NYC. We’re going to try out Amazon Lex, Lambda, and some containers.

Some folks are already using my code for working with ELK, so that’s nice.

I’ve been focusing around automating my testing and such, and I really am centering around just learning to write better makefiles. Make is installed everywhere, like vim and other things I like. It just works. And makefiles do almost everything you want. The downside is that it is an ugly syntax. The upside is that if you learn one ugly syntax, you don’t need to learn everything about Rake, Yarn, etc.

Around the web

Best Practices for Staging Environments – this article by the excellent Alice Goldfuss came up at work as we wrestle with big calcs and datasets for our clients.

Why you hate Contemporary Architecture – This is grrrreat. One little note for the computer nerds. If you’ve heard of the Gang of 4 Design Patterns book, read the article and come back. The Design Patterns book was based in part on Christopher Alexander’s “A Pattern Language” which is a great guide to things that seem to work in architecture.

I discovered two things that similar to a POC I was working on (voracious-etl)

  • Datasette provides a readonly JSON api for any SQLite DB.
  • Dataset provides an ORM for any CSV or JSON file

The plugin system at the core of pytest is a library: Pluggy. I like that and I might use it earlier.

A good podcast: Flash Forward. Explores a new future every week. The most recent focuses on fungal enslavement, which I love. If you like that one, I highly recommend the mindblowing Parasite Rex by Carl Zimmer or Sensation by Nick Mamatas

 

 

Politics

None of the big progressive candidates made it in the democratic primaries. Cuomo still won. Tish won, which is OK. However, I see that  some progressive candidates made it through.

I hope they can do some real work and win in November. I’ll be calling and doing work to support them.  I long for a day when I can start moaning about free speech vs hate speech and trying to reign in some liberal excesses. However, right now, the work has to get done.

I also note that children are still in cages and parents are getting deported without hearings, but it isn’t in the headlines anymore. I’m still pissed about it. I’m still pissed that the probable governor of NY seems to only work for progressive issues when pushed and won’t use his clemency powers.

Exercise

I biked around 37 miles this week! Had to take off Monday and Tuesday due to rain and being pretty sick. But otherwise, I rode in. Got to stop on Christie street and help a guy who’d been knocked down by a cab.

Worked to a slightly lower pistol squat and my butt hurts sooo bad. Also, my dragon flag work is getting better. I can kind of hold it.

I started doing partial handstand pushups against the wall and they feel pretty good. I can do 5 at a time part way down and up. Next I’ll try lower and lower, then try freestanding ones.

 

Week 3005

Family

First day of Kindergarten for Max Lazer! It didn’t go great.

Even though we had sent over emails with his IEP, the teachers hadn’t read the documentation for the first day of school. They are very nice, but it was a tough transition day for him. After you drop off kids, all the parents get herded out to the auditorium to get welcomed to the school. I saw his teacher later coming down the aisle to talk to an assistant principal and I knew it was going to be for us. It was. I ended up working from the hallway after calming things down in the classroom. By the end of the day, everything was fine, but what a start. Second and third days were better. I don’t see him participating much yet, so I’m worried that he won’t be getting what he needs.

A young iggy peck makes buildings

These are great buildings – but the rest of the kids are writing things.

I believe he is learning and exploring and thinking, but I’m also worried that he’s dominating the teachers. Do they have the bandwidth to deal with his will and the other children?

Bike

Not much biking! Not because I got hit by a car last week, because it was the first day of kindergarten for Max and there was labor day off of work. Only 24 miles this week.

Z-Ray is now trying to teach herself to ride a scooter. SLOW DOWN GIRL. You just learned how to walk!

Work

Still adjusting from my default setting of an internal technology advocate for clients to a relationship manager. My job isn’t just to make clients happy, it’s to help them understand and prioritize what they want. I’m a few months in and still navigating where is support vs building.  It’s a lot different from being an internal technology team and I often have to adjust my headspace.

Also, I internally released a little tool for working with ELK searches directly in Python. I’ll work on seeing if we can accelerate our open source program so that I can release it out in the world.

I’m also now part of the group leading some changes in how we handle our python stack and our api libraries, a subject very dear to my nerdy heart.

 

Week 3004

Z-Ray is walking like crazy now. Her tiny feet are hilarious and she now just toddles everywhere. This morning she just ran into a room and hugged me.  She brought me my shoes!  She definitely understands when I ask her to put her shoes into the shoe bench.

I love her so much I want to squeeze her for hours.

Max Lazer is going to kindergarten next week! He’s not excited yet, but I think he’ll love it. Just got a call that his ear is large and swollen, but hopefully he’s ok. We’ve been reading a lot of choose your own adventure – I like that he’s seeing how different choices control consequences. When Z cries, he’s very loving and helpful and is doing his best to comfort her or distract her.

Code

I’m thinking about how we will enhance our python support at work. As part of that I’m researching better ways to standardize configuration of objects.  You want to be able to initialize an object foo from a class Foo.

class Foo(object):
    def __init__(bar='baz')
        self.bar = bar
foo = Foo()

print(f"bar = {foo.bar}")
# "bar = baz"

Swell!  But some people may think that bar should be set to “bazzz”.

foo2 = Foo(bar='bazzz')
print(f"bar = {foo2.bar}")
# "bar = bazzz"

Easy enough. But what if I work in a place where we need to change hundreds of uses of bar among tons of different scripts and applications and whatnot?

I may want to get it from an environment variable automatically on startup. Or maybe I work in a place where we like configuring things with a .env file. Or a settings.toml.

Or maybe we want to just this once pass it in as a commandline parameter. Flexibility is really good to have.

Ideally, we can say there’s a hierarchy.

  1. A parameter passed into the constructor is the highest priority.
  2. An environment variable is the next.
  3. A config file is the next most concrete. (I could be convinced to switch these, but as long as there’s a consistent pattern, it’s good enough)
  4. The default value of the parameter in a constructor if there’s not other choice.

There are lots of good libraries out there for achieving this, at least partially. Ideally, I think I’d want to have either something we can apply as a class decorator or as through multiple inheritance.

Some good python configuration libraries I came across that I really like:

For my problem with dreamhost, I’m making progress and have been able to get a set of forward rules pretty much ready. I’m hoping to publish it pretty soon.

I don’t think I’ll get around to auto fixing the mailbox filter rules though.

Reading

I got my Kobo back after it fizzled. I’ve missed having an e-reader so much! I did get to read “The Moon is Down” by Steinbeck because we had a paperback on our shelves, but it’s so nice to be able to read a book in bed or in the bath or in the dark while a kid settles down. It’s also nice to be able to just squeeze in A Road to Common Lisp in between things because of the integration with Pocket.

Bike

Only 50 miles this week. I skipped a day because there were some team drinks on Tuesday.

I also was gently hit by a car. An Uber driver pulled into the bike lane while I was riding to drop off his passenger. As it was happening I was pounding on his window and yelling stop. I was powerless, a thing I’ve known intellectually but I never really believe. He didn’t stop, he knocked me over. I ran up to his window and explained that I am a person, that people die this way and that my children want to see me. I’m fine. Scrapes and bruises and a tendency to replay it in my head.

It spurred me to donate to Transportation Alternatives. They advocate for better laws, for protected bike lanes that don’t get used as parking spaces. For bike lanes that aren’t truck unloading zones. Things that can really save my life and help me get home.

I also finally replaced my speaker.  It’s louder, but I’m not sure how awesome.  It’s designed with push buttons instead of a volume dial, it fucking talks to you instead of doing things and it isn’t clear what it’s doing. Physical interfaces are SO MUCH BETTER than this. On the other hand, it is louder and my old one was broken.

Politics

A good thing you can do about weeknotes is talk about what is going on in the world so you can notice slow changes and not think things were always the way they are.

The government has started confiscating passports from US Citizens who are Latino. There are a very small number of cases where some midwives fraudulently filled out birth certificates. This is the pretext that a racist administration is using to attack Hispanics. Midwife births are more common for those who cannot afford hospitals or who live in areas that are too poor to support a hospital. This is not a thing that started under the current administration – but the character of what is happening has changed.

I am renewed in my determination to work continuously to replace these terrible people with less terrible people. I would love to do that with you! If you wonder what you would do in a time of crisis, the answer is that it is what you are doing right now.

Boob sweat

My buddy Dawn Hunter is smart and charming as hell. She is working on a startup that helps with sweaty ta-tas. I’m no expert, but for people that have boobs and want more comfort with them, she’s writing tips on managing boob sweat and gathering interest from people who might want a product. Get in touch with her!