Best Things this Year (2017)

Twin Peaks: The Return
Twin Peaks: The Return

Every year I write a recap of things I did and enjoyed. 2017 was packed. I re-read my 2016 recap and there’s a lot of despair, but I’m glad it didn’t slow me down. Maybe it was motivating.

TV / Movies
Twin Peaks: The Return
Silicon Valley
The Leftovers
The Big Sick
Coco
Get Out
Lion
Mother!
The Last Jedi
Logan
Coraline
Manchester and the Sea

Music
The Blow – Brand New Abyss
Beck – Colors
(Sandy) Alex G – Trick
(Sandy) Alex G – Rocket
Fruitbats

This song by the Chromatics

Games
Zelda: Breath of the Wild
HQTrivia
Monument Valley 2

Books
Operation Manual for Spaceship Earth by Buckminster Fuller
Between the World and Me by Ta-Nehisi Coates
The Functional Art by Alberto Cairo
Harry Potter and the Sourcerer’s Stone by JK Rowling
Harry Potter and the Chamber of Secrets by JK Rowling
The Amber Spyglass by Phillip Pullman
Tigerstar and Sasha by Erin Hunter (at the request of my daughter)
The Runic Warriors by Mickey Wren
Radical Candor by Kim Scott
Acceptance by Jeff VanderMeer

Travel
Kyiv – I spent a week in Ukraine! Magento has a huge office in Kyiv and I spent some time there in March working on the new Advanced Reporting feature that was just released in Magento 2.2.2. Kyiv (don’t say Kiev) is a beautiful city and I hope to go back.
Boston, MA – I attended the OpenVisConf in April and it pushed me to complete more dataviz projects this year.
Milwaukee, WI
Antioch, Illinois
Falling Water, the Frank Lloyd Wright house near Pittsburgh

Speaking Gigs
In January I gave a talk about HTML5 canvas at the Philly Front-End / UX meetup at Industrious.
I went to BarCampPhilly for the first time in a while and gave a talk on Dataviz with Semiotic.
I gave a talk on Lineage v2 at the Philly D3 User Group Meetup
I spoke at the Data Labs meetup in Wilmington, DE in November about Dataviz and Storytelling.

The Data Labs meetup in Wilmington
The Data Labs meetup in Wilmington

Podcast
I was a guest on the Data Labs podcast to talk about data visualization. I talked too much, but it was fun.

Plot Device
I started a new dataviz site called Plot Device which features 6 projects I did this year. So far they all use Semiotic. I’m especially proud of my work visualizing auto fatalities and Twin Peaks Halloween costumes.

Visualizing the top Twin Peaks Halloween costumes
Visualizing the top Twin Peaks Halloween costumes

Porchfest
I participated in the Collingswood Porchfest and had a blast.

Collingswood Porch Fest
Collingswood Porch Fest

Lineage v2
I launched v2 of Lineage, my genealogical data express engine, which I rewrote using D3 v4. It now includes a timeline and a surname categorical view.

I rewrote and added new features in Lineage v2
I rewrote and added new features in Lineage v2

Magento BI Essentials
In April we launched a new product called Magento BI Essentials, which is a fast, low cost, modern, business intelligence platform for Magento merchants and it’s freaking amazing. It features fast onboarding (15 minutes), low data latency, and powerful data modeling. I’m so proud of the work my team did this year.

Odyssey of the Mind
The Mind Masters won their regional tournament this year and competed at the State Finals. Their skit was about a super hero who was kind of like Aquaman for landfills (he can talk to garbage trucks). I loved it and so did the judges.

Therapy
I started seeing a therapist twice/month for all of 2017 and I highly recommend it. Feel free to reach out if you have questions about it and thanks to all the people who answered mine.

Previous years
2016
2015
2014
2013
2012
2011

15 things I’m doing after OpenVisConf 2017

Today was the last day of the incredible OpenVisConf in Boston. I’m still digesting everything from the two days of talks, but here is my general plan.

1. Taking screenshots of my work in progress. So many of the talks had in-progress shots that showed their design and thought process and it made everything easier to follow.

2. Do more medium sized dataviz projects. I might not be able to crank out one every month, but I should do more smaller viz projects like I used to.

3. Turn my network graphs into scatterplots

4. Do at least one map project this year

5. Figure out what REGL is before the author is killed by a volcano

6. Try out WTFCSV

7. Build a particle viz for support tickets with Trello data.

8. Do more of those “draw the chart” tests that the New York Times puts out.

9. Use simulation.find() in D3!

10. Learn more about veroni

11. Do some text data mining on Shakespeare using tidytext

12. Put chart colors/styles in our styleguide

13. See if I can use Vega-Lite to generate all possible chart types at once for a data set, such as automobile deaths.

14. Make some generative art based on http://bengarvey.com/bounce/gravity.html

15. Build some color palettes using Colorgorical

BONUS 16. Hope I get into the d3.express beta

Best Things this Year (2016)

What a year. Every week another beloved celebrity passed away and our electoral system gave us a 2.9 million vote loser as president. People I love voted for a guy who bragged about sexually assaulting women, thinks climate change is a Chinese hoax, and wants to build a registry of muslim Americans.

But her email server…

It’s hard to write about the best movies I saw this year in a world there our next president says the US should “expand its nuclear capabilities“.

It’s hard to talk about interesting work projects when a presidential candidate publicly called on the Russians to hack our politicians and then blamed the white house for not stopping it.

It’s seems trivial to tell you which TV shows I thought were interesting when we’re about to have a president who won’t release his tax returns and won’t properly divest his business interests. We can only assume he’ll use his position to benefit himself and his family.

But let’s do it anyway.

Annihilation was the best book I read in 2016

Books
I read fewer books in 2016 than I have in the past few years.
The New Turing Omnibus by Alexander Dewdney
The Little Big Things by Tom Peters
Annihilation by James Vandermeer
Authority by James Vandermeer
The Good Earth by Pearl S Buck
Running: A Love Story by Jen Miller
Martian Time Slip by Philip K Dick
The Castle by Franz Kafka

Work
RJMetrics was acquired last summer by Magento, so I have a new job as the engineering manager for Magento Analytics. It’s essentially the same position I had before, but our team is now improving analytics for the Magento community.

SQL Report Builder
SQL Report Builder

In Q1 of 2016 I worked on a project called the SQL Report Builder, which allows you to build charts directly from SQL queries. I may have built more chart builders than anyone.

Hackathon!
Hackathon!

Alex Kleger and I won the first ever Magento Analytics hackathon in November. We created a feature that allows customers to add new data sources without impacting their update times.

Writing
Against my own rules I did some long form writing on Medium this year. It’s not the most popular, but my favorite was this one about the NJ EZ-Pass website.

Weddings

What do you wear to an 80’s themed wedding?

Last year I spent NYE in Milwaukee at Quinn and Lindsay’s wedding, I rocked a Pac Man suit at Dan and Jesse’s 80’s wedding, and I watched my beautiful sister get married in Orlando.

Owen and I getting ready for Sarah’s wedding

Music
I’ve become obsessed with the Kills

Advance Base at PhilaMoca

I saw Advance Base and Free Cake for Every Creature at PhilaMoca

Austin
I visited Austin, TX three times to visit the Magento offices there. I can’t tell which I love more, the tacos or the BBQ. Need to gather more evidence.

TV
Westworld was good, but season three of Black Mirror was better than anything else on TV.

Stop Motion Movie
Sasha made this awesome stop motion movie for my birthday

Street Art

Street Art
Street Art

I got into capturing cool street art on my Instagram feed.

Data collection

This is the year I got crazy about tracking what I pack my kids for lunch every day.

Previous years
2015
2014
2013
2012
2011

Spoil Your Meetings

You just got a calendar invite your boss. 

What’s going on? Are you getting fired? Your last performance review was fine! 

You walk to your boss’s office. HR is sitting there with her.

Kermit being nervous

Oh crap, oh crap, oh crap.

HR walks out as you walk in. You sit down, and your boss says, “Hey I just wanted to bounce an idea off of you.

Breathe.

Meetings shouldn’t have surprises. Spoil them.

Tell everyone what you’re going to say before you go. Give away the ending. Put all the good parts in trailer. And the bad parts. And the song that’s going to play in the montage while your team builds the A-Team-esque vehicle that is needed to do the job. 

If your meeting doesn’t have spoilers, then it’s probably not worth having.

Blogging on Medium

I wrote a few blog posts for work using Medium and they were pretty good.

Use an Updated-At Column in Your MySQL Table (and make it update automatically)

Multidimensional Engineering Management

The latter even included my first published D3 block!

Medium is an interesting blogging tool. Sometimes I love the UI and sometimes I find it frustrating. The sparse UI reduces cognitive load and allows you to focus on writing, which feels great, but there were times when I just wanted to be able to type some html and it fought me on it. I settled for pasting it in from another site.

I don’t think I’ll continue doing it for any personal blogging. I want to own my own long form content and I think it’s important to keep your work in a place that won’t get shut down on a whim when the VC money runs out or if the parent company closes the door.

Real Work

I want to talk about real work and fake work.

Does this sound like your work culture?
Does this sound like your work culture?

We have 1:1’s, standup meetings, team meetings, check-ins, all-hands, and serendipitous meetings at the coffee machine. How long did you spend writing google docs, emails, slack chats, gchats, hipchats, and wikis? What percentage of your day comprised of tuning your vimrc/emacs/bashrc and organizing your trello lists? Are you patting yourself on the back for reaching Inbox Zero?

How many times today did a customer notice something you did?

Sam Altman writes about fake work for startup founders:

In general, startups get distracted by fake work. Fake work is both easier and more fun than real work for many founders. Two particularly bad cases are raising money and getting personal press; we’ve seen many promising founders fall in love with one or (usually) both of these, which nearly always ends badly. But the list of fake work is long.

I tell founders to consider how directly a task relates to growing. Obviously, building and selling are the best. Things like hiring are also very high on the list—you will need to hire to sustain your growth rate at some point. Interviewing lots of lawyers has got to be near the bottom.

So now we have rules for founders/CEO’s:
Real work: Building/Coding and sales, probably hiring.
Fake work: Interviewing lots of lawyers.

Does Sam think lawyers are unnecessary? No, but he realizes picking the 1st or 2nd best lawyer is indistinguishable from choosing the 12th best when it comes to your business. Finding the best employees is a better use of a CEO’s time.

But what about everyone else? How do we distinguish between real work and fake work?

Toyota’s legendary production system strives to eliminate waste everywhere. When talking about waste, Toyota’s Shigeo Shingo observed that only the last turn of a bolt tightens it.

"Only the last turn of a bolt tightens it" - Shigeo Singo
“Only the last turn of a bolt tightens it” – Shigeo Singo

That final turn in software engineering is shipping code. There are other activities so closely tied to deploying code that they are undoubtedly Real Work, such as programming and reviewing another engineer’s code. What about everything else?

I define Real Work as
A. Work that creates an immediate and positive change in your product/service
B. Work that is a direct constraint to the completion of A
C. Work you have been uniquely hired to do.

Type C has to be included because many jobs don’t touch A and B, but someone has to do them. Google famously hired a masseuse, Bonnie Brown, when they had only 40 employees. Was she improving our search results in 1999? Maybe not, but Larry and Sergei thought it was critical to their success. For Bonnie, she should be confident that shipping each great massage (type C) was Real Work as it had been identified by the business as type B work.

So why make the distinction between A, B, and C at all? Why not just say Real Work is what you were hired to do and leave the question of whether it’s valuable or not to the person who hired you. It’s because most of our jobs have a degree of autonomy in the the tasks we take on. We should prioritize type A tasks and have a high standard for B tasks. We should eliminate any B tasks that don’t enhance our ability to complete A tasks. Fake work is anything that doesn’t live up to that standard.

Things you can do tomorrow to minimize Fake Work
1. Skip a meeting you don’t need to attend
2. Turn your weekly meeting into a bi-weekly meeting, or even monthly
3. Be concise in communications. Be polite, but formality in email is dead.
4. Don’t jump into conversations just because you can. Comments can be useful, but they also add cognitive load to an issue.
5. Eliminate, automate, or delegate menial tasks.
6. “Table it!” Brian Sloane introduced this to me. If two people are having a drawn out discussion in a meeting, put your hand on the table (or in the air) and say “Table it” to indicate that this discussion should continue in another channel at a later time.

Things you can do tomorrow to maximize Real Work
1. Figure out what real work means for you in your job.
2. Schedule time specific tasks. Treat them like appointments.
3. Don’t check your email until you’ve been at work for an hour. This is an old Tim Ferris trick. If you’re feeling brave, forego Slack, too.
4. Observe the habits of people who get things done. Shamelessly steal them.

Minimizing fake work doesn’t mean you should eat lunch at your desk everyday. The advantage of focusing on Real Work is so you can perform at a high level and still live your life.

Best Things This Year (2015)

Speaking at Data Point Live in San Francisco
Speaking at Data Point Live in San Francisco

If 2013 was the year I shook up my life, and 2014 was the year I learned how to succeed in it, 2015 was about challenging myself not to accept the easiest trajectory. 2015 was a busy year and it threw interesting things my way. Sometimes that was difficult, even hopeless, but I will never forget you 2015.

1. Public speaking – I did so much public speaking in 2014 that I felt like I needed a break from it this year, but that certainly didn’t happen. I spoke at 6 events this year
Data Point Live, New York
Data Jawn, Philadelphia
Data Point Live, San Francisco
Games using the HTML5 canvas, Philly Javascript Devs
Thinking in Data, Data Science Philly
Directives as Components, Angular-Philly

It would be shocking to me if I did more than one or two events in 2016, but that’s what I said last year, too.

2. bengarvey’s brain – I created a twitter bot using twitter_ebooks to guess what I’m really thinking about. He tweets about every 9 hours and if you favorite his tweets, he might start bugging you. Some choice tweets:

3. Rocket Booster – I worked on a fun Jetpack Joyride clone with the kids called Rocketbooster. It’s not 100% complete, but it’s fun. It takes forever to load all the game assets, so be patient.

Rocket booster
You can play as Sasha or Owen. Collect stars to power your jetpack and get further.

I probably spent more time making the music for Rocketbooster than programming it. All the songs are available here on soundcloud.

4. Work
I’m coming up on 3 years at RJMetrics and just got promoted to Engineering Manager. I wrote cool stuff including our new Data Warehouse Manager, a huge improvement to dashboard sharing, and some crazy tricks to get data out of Amazon Redshift. I also spent an extended tour of duty leading our support team to crush the support queue.

The blue line is our net support queue
The blue line is our net support queue

5. Work Part 2
I won the RJMetrics chili cook off thanks to the now “award winning” Ben’s Awesome Chipotle Chili.

6. Odyssey of the Mind
I’m coaching Sasha’s Odyssey of the Mind team this year! We just started practicing and it’s been wild.

om

7. Trello
I’ve been using Trello for years, but now I’m using it for everything including a shared grocery list.

8. The Bentindo Entertainment System
I gave Jake a raspberry pi powered game system for Christmas this year I white-labeled as the Bentindo. This was the image on the back of the box.

Back of the Bentindo box
Back of the Bentindo box

9. Books I Read
REAMDE by Neal Stephensen
Principles of Product Development Flow by Donald Reinertsen
The Call of Cthulu by HP Lovecraft
Ender’s Game by Orsen Scott Card
The Life Changing Magic of Tidying Up by Marie Kondo
What If? by Randall Munroe
The Innovators by Walter Iassacson
Welcome to the Monkey House by Kurt Vonnegut
The Martian by Andy Weir
The Golden Compass by Philip Pullman
Axe Cop Vol.1 by Malachi Nicole
The Subtle Knife by Philip Pullman

10. Moves / TV
Interstellar
Master of None
Cosmos
Black Mirror

11. Wine
The Formula Shiraz by Small Gully Wines

The Formula
Incredible

12. Music
Still listening to The Blow’s Paper Television weekly. Ok daily.
My favorite album released this year is Ratatat’s Magnifique

Other albums I enjoyed (not necessarily new)
Bleached’s Ride Your Heart
Bass Drum of Death’s GB City
Lana Del Ray’s Ultraviolence (but wow is it uncomfortable)
Bully’s Feels Like

Playlist of songs I’m super into right now

Especially this one

Previous years
2014
2013
2012
2011

10 Things I’m Doing After Reading The Principles of Product Development Flow

A few weeks ago I showed this slide during a talk I gave to clients of RJMetrics.

Books on Flow and Throughput
Books on Flow and Throughput

The Goal is legendary in my family as a guide for unlocking throughput in manufacturing. Garvey Corp’s entire business model is helping companies exploit constraints and increase profits. It got me off to a great start in manufacturing, but the reality of workflow always seemed a little more complicated than Goldratt’s stories lead you to believe.

Later I devoured Jeffery Liker’s The Toyota Way, which describes the infamous Toyota Production System. It seemed to me that if you carried Goldratt’s constraint theory logically throughout your production system, you’d probably end up with TPS or something like it. As good as it is, the Toyota Way’s strategies always seemed better suited for a different type of manufacturing. One where you were producing roughly the same thing, slightly customized. My manufacturing reality had tremendous customization and variability.

The Principles of Product Development Flow by Don Reinertsen was what I was looking for. Here are ten things I’m incorporating into my workflow. (Manufacturing bits now instead of machines, of course)

1. Smaller projects – We’ve been shrinking our projects at RJMetrics for a while now, but initially I resisted it. “Some projects just take a long time, but are still worthwhile,” I thought. In 2015, however, the equations making projects worthwhile change fast. It’s better to hit a 2 week checkpoint and say “let’s keep going” than go for 6 months and say, “maybe we shouldn’t have done this.” I’ve even been making a conscious effort to make my pull requests smaller (under 50 lines) and more frequent.

2. No more backlogs – Keep TODO issues in a short list, but kill off the long collection of items that linger forever. This is super hard for a GTD’er like me, where you’re supposed to get everything out of your head and into a system. That system breaks when you get multiple people adding items to a backlog that will never get touched. The real backlog is in your brain. If it’s important enough, it will stay there bugging you to be completed and eventually you’ll add it to your short todo list. The key reason why backlogs are bad is this: Your team is smarter today than it was in in the past. Your issue backlog was created by an inferior version of your team.

3. Late assignment of issues – No one gets assigned anything until they can work on it. Have you ever been stuck in a grocery line behind someone who is super slow? You’ve already committed to that line! You’re stuck there because the physical constraints of a grocery store force assignment of a few customers to a register. When matching devs with issues, wait until the last possible second to make the assignment so that it doesn’t get stuck behind another slower than expected issue.

4. Fast feedback is critical – In 2015, everyone says we need to ship an MVP and iterate, but we still don’t always do it. There are many excuses: “The design isn’t ready”, “It’s not valuable without feature X,” etc. Not only is fast feedback worth overriding these concerns, it’s the best plan for fixing them.

5. Start teams smaller, then bring in reserves – “Make early and meaningful contact with the problem.” Planning is good, but plans get shattered once work starts. Things always turn out to be harder than we thought and the best way to find out where we are is to have someone start working on the project. A single developer will have a better picture in one week than a plan ever will. This is one reason why hackathons pay off so well for RJMetrics. Bring in other team members in week 2 and their start will be better focused. Plans should set goals, but be light on implementation details until work beginds

6. Use Little’s Formula – to provide more accurate response times for issues.

7. Make queues visible – Luckily we have a great BI tool to use for this called RJMetrics. Reinertsen recommends Post It Notes to track queues, but the book was written BT (Before Trello).

8. Queue = Todo + In Progress – Don’t just count items that are waiting. The item you’re currently working on is still in queue. The team’s issue queue should be judged on the sum of Todo and In Progress, not just one.

9. Have a framework for when to escalate team communicationPrinciples says to use regular meetings over irregular meetings, in person vs email, etc. I’m hesitant to escalate the communication due to the transacational costs associated with context switching, but when do you decide to stop emailing and start chatting? When do you stop chatting and start speaking? I’m going to start using the following framework for communication and adjust it:
– Email goes to chat after 3 emails
– Chat goes to in person after 10 messages

There’s no 10th item. Don’t feel like you have to fill every meeting/PR/project with content to fit the allotted time.