Art and Commit Messages: Volume 2

Last year I published volume 1 of Art And Commit messages and sold nearly 50 copies! For my first zine, I was ecstatic that so many people were willing to spend $3 on something so unknown. I have already started thinking about Volume 2 and think that it will be a great thing to publish at WordCamp US. I’m also thinking it might make sense to include some different things this time.

Art by more Artists

Volume 1 featured my art, for Volume 2 I would like to feature the art by more artists. I am also thinking of budgeting a small amount so that artists are compensated, but as Volume 1 didn’t make any money I think this is going to be a low amount. Maybe $50 for each piece.

Are you interested in having your artwork featured in Art and Commit Messages? Let me know:

Essays by More Writers

Along the same lines, I want to feature a couple of essays about commit messages from a variety of people. What kind of essays would you like to see in volume 2?

Finally, I want to figure out some sort of game to include. Maybe I loved reading Highlights for Children too much as a kid, but I think a game would be fun.

Art and Commit Messages: Strange Bedfellows

Art and Commit Messages might feel like an odd combination but the best of both are snapshots that convey an intent. Art transposes the emotion of the creator to an audience. It can transport you into the brain of the artist. The best commit messages similarly transport you into the brain of the creator. They share the coders intent.

That’s the message from the cover of volume 1. I absolutely recognize the odd combination, but they are two things that I care about and I hope that by combining these two strange bedfellows I can encourage people to write better commit messages.

Overall, my goal remains to encourage high quality commit messages through education, entertainment, and an understanding of history. I’m not looking to make money, if I was I wouldn’t be making a zine.

Do you have other ideas for making Art and Commit Messages better? Leave a comment or get it touch and let me know!

An adventure with a super useless one-liner to find the most common words in WordPress commit messages

I read some insight into Drupal committing and they had a chart of the most common words in drupal commit messages. I thought it would be interesting to do something like that with WordPress Core, so I through together a bash one-liner to find this. It’s not the most eloquent solution, but it answers the question that I had. Here is what I initially came up with.

svn log http://develop.svn.wordpress.org/trunk -rHEAD:1 -v --xml | xq '.log.logentry | .[].msg' | sed 's/.$//' | sed 's/^.//' | sed 's/\\n/ /g' |  tr ' \t' '\n' | tr '[:upper:]' '[:lower:]' | sort | uniq -c | sort -nr | head -n 25

Let’s walk through this since there is enough piping going on, that it may not be the easiest to follow.

svn log http://develop.svn.wordpress.org/trunk -rHEAD:1 -v --xml

I start by getting an xml version of the SVN history, starting at the first changeset and going until the current head.

xq '.log.logentry | .[].msg'

Next, I use xq which takes xml and allows me to run jq commands on it. It’s a handy tool if you ever need to use xml data on the command line. In this case, I am taking what is inside <log><logentry> and then for each sub element, extracting the msg. At this point, the messages are on a single line wrapped in quotation marks with \n to signify newlines. So I run three seds to fix that up.

 sed 's/.$//' | sed 's/^.//' | sed 's/\\n/ /g'

I’m sure there is a better way to do this, but the first one removes the last character, the next one removes the first character, and the last one converts new lines to spaces. Since words are what we are aiming to look at, we need to get all the words onto their own lines.

 tr ' \t' '\n'

tr is a powerful program for doing transforms of text. In this case, I am taking whitespace and turning it into actual newlines (rather than just the new line charachters). There is likely a more elegant way to have solved this, but my goal isn’t the best solution it’s the working one.

tr '[:upper:]' '[:lower:]'

Word and word are not equal, so we need to make everything a single case. In this case, I am again using tr, but now I am transforming upper case characters to lowercase.

sort | uniq -c | sort -nr | head -n 25

Counting things on the command line is something I have done so many times, I have an alias for a version of this. Sort puts everything in alphabetical order, uniq -c then counts how many uniq values there are and outputs it along with how many of each it counted. uniq requires things common things to be in adjacent lines, hence the initial sort. Next up, we want to sort based on the number and we want high numbers first. Finally, we output the top 25.

 28997 the
 27463 
 20429 fixes
 17844 to
 17818 props
 15251 for
 15189 in
 14441 see
 10856 and
 10272 a
 7549 of
 5594 is
 5227 when
 5133 add
 4444 from
 4143 fix
 3847 *
 3821 on
 3489 use
 3320 that
 3267 this
 3064 with
 3043 remove
 2983 be
 2766 as 

That’s not super helpful. The isn’t my idea of interesting. So I guess I need to remove useless words. Since I have groff on this machine, I can use that and fgrep

 fgrep -v -w -f /usr/share/groff/1.19.2/eign

I also noticed that the second most common word is whitespace. Remember when we used to put two spaces between sentences? WordPress Core commit messages remember. So let’s add another sed command to the chain:

sed '/^$/d'

And now the final command to see the 25 most used words in WordPress Core Commit messages:

svn log http://develop.svn.wordpress.org/trunk -rHEAD:1 -v --xml | xq '.log.logentry | .[].msg' | sed 's/.$//' | sed 's/^.//' | sed 's/\\n/ /g' | tr '[:upper:]' '[:lower:]' | tr ' \t' '\n' | fgrep -v -w -f /usr/share/groff/1.19.2/eign | sed '/^$/d' | sort | uniq -c | sort -nr | head -n 25

And since you’ve made it this far, here is the list

 20429 fixes
 17818 props
 15189 in
 5594 is
 5133 add
 4143 fix
 3847 *
 3320 that
 3267 this
 3064 with
 3043 remove
 2766 as
 2435 an
 2432 it
 2109 post
 2103 if
 2080 are
 1889 don't
 1793 update
 1735 -
 1688 twenty
 1523 more
 1500 make
 1471 docs:
 1416 some 

Have an idea for another way to do this with the command line? I would love to hear it.

Thirty Six

36 is the smallest square triangular number other than one. Its also the sum of the letters and the numerals, so its a pretty fun number. Let’s hope it’s a pretty fun year.

35 was a hard year, mostly because it’s the year my mom died. Frankly, the time leading up to and the time since, it’s been the defining event. I feel incredibly lucky that I was able to see my mom just about every month last year and also that I spent her final few weeks caring for her. It was hard, but it was worth it.

That’s not to say 35 was all bad. 35 saw me switch to a new job that I thus far really enjoy. It’s much more of a management position than I was in previously and that had brought new and different challenges. It’s also reinforced my belief that one of my superpowers is that I’m really good in meetings.

I saw some incredible art over the last year. I had a goal for 2018 to see all of the Met, and essentially did. I discovered some incredible off the beaten patch parts of the museum, including so much architecture and furnishings. The baseball card exhibits have also been a lot of fun.

My museum memberships increased this last year, I now am a member at MoMA, The Met, The Whitney, and The Guggenheim. It feels great to be able to see so much art and also to share it with friends.

For 36, I hope to make a trip specifically to visit an art museum (so many to choose from, where should I go?). I hope I also get a chance to remind my friends and family how much I love them. It would be good to get better at staying in touch, something I struggle with.

For my own art, I painted my largest painting yet, did a multi-panel piece related to baseball, and painted Javascript, deeply. I’ve also started exploring digital art more and published my first zine.

If you are feeling generous, I would love if you supported one of my favorite non-profits.

I’ve previously blogged 3534322928.

Last Will and Testement

This post is designed to serve as my final wishes when I end up #dead. It was last updated April 2019.

My brother is hereby designated as responsible for fulfilling these wishes. HAHA, Sucker.

Upon my death, I am to be cremated. My ashes should be thrown in the face of Mitch McConnell. If that piece of shit is no longer alive, please find a similar asshole and throw my ashes in his or her face.

With all the alcohol I have, including beer, whisky, and Malört, a party should be thrown. You should call this party “Aaron’s Funeral” and no one leaves until it has all been consumed. If you can’t hang, don’t bother showing up.

All other assets of mine should be used in the following manner:

First: Pay for legal representation for anyone charged with completing the proper disposal of my ashes (see above)

Next: With the first $1,000,000 (AKA, all of it unless I’m really lucky), 1% is to be given to the person who most recently punched Richard Spencer in the face and has posted the video online. The remaining 99% shall be used to set up as a trust for my niece that is to be disbursed 40% when she graduates high school, 40% when she graduates college, 20% when she posts her first drunk selfie on a social network. My brother is to be the trustee of this trust.

With any remaining funds, I would like it donated to American Model United Nations.

Four Short Things – 2 March 2019

Inspired by O’reilly’s Four Short Links, here are some of the things I’ve seen, read, or watched recently.

Clicks are an “unreliable seismograph” for a news article’s value — here’s new research to back it up

This is a summary of a report on user behavior on the web. It found a few things that aren’t super surprising:

  • Relevance is the paramount driver of news consumption. People find those stories most relevant that affect their personal lives, as they impinge on members of their family, the place where they work, their leisure activities, and their local community.
  • Relevance is tied to sociability. It often originates in the belief that family and friends might take an interest in the story. This is often coupled with shareability – a wish to share and tag a friend on social media.
  • People frequently click on stories that are amusing, trivial, or weird, with no obvious civic focus. But they maintain a clear sense of what is trivial and what matters. On the whole people want to stay informed about what goes on around them, at the local, national, and international levels.
  • News audiences make their own meanings, in ways that spring naturally from people’s life experience. The same news story can be read by different people as an ‘international’ story, a ‘technology’ story, or a ‘financial’ story; sometimes a trivial or titillating story is appreciated for its civic implications.
  • News is a cross-media phenomenon characterised by high redundancy. Living in a newssaturated culture, people often feel sufficiently informed about major ongoing news stories; just reading the headline can be enough to bring people up to date about the latest events.
  • News avoidance, especially avoidance of political news, often originates in a cynical attitude towards politicians (‘They break rules all the time and get away with it!’), coupled with a modest civic literacy and lack of knowledge about politics.

Jasper Johns: Recent Paintings and Works on Paper

Jasper Johns continues to callback to previous works while introducing new motifs and styles. The 88 year old artist shows off why he is the living artist who’s works sell for the most. This show is on view at Matthew Marks Gallary (522 West 22nd Street) until April 6.

Building a Culture of Safety

Josepha identifies the importance of creating safety when it comes to leadership and identifies what safety is, namely physical, psychological, social, and moral safety. I’ve been really enjoying her writings around leadership lately and has definitely helped me think about how I can apply the ideas to my leadership style.

Spectacle: ReactJS based presentation library

I’ve started researching presentation libraries to see what has changed in the last year. Spectacle was available last I looked, but it seems like it has come a long way and I’m thinking it might be time that I give it a try.

Four Short Things is a series where I post a small collection of links to art, news, articles, videos and other things that are interesteing me. Follow my RSS feed to see Four Short Things whenver it comes out.

Mobile Block editor – Initial Thoughts

I’m writing this using a beta version of the WordPress iOS mobile app that integrates Gutenberg. It is fairly stripped down as far as blpacks go.

While this site has blocks from multiple plugins (including Gutenberg so I can try the latest features), the app has much fewer options.

Blocks available from the mobile app

I was definitely surprised to not see all the core blocks, especially not to see my reusable blocks that I have saved to the site.

Another thing that surprised me as a power user is that slash commands for new blocks don’t work.

I also can’t figure out how to access the block inspector to save options on differnet blocks.

Opening up posts with blocks in them other than this initial set shows those blocks as “unavailable”. This includes all the embed blocks.

Unsupported is the new black

The responsiveness of the editor is amazing, and the ability to move blocks up and down makes editing inside the mobile app much easier.

Overall, as a version 1, I like it. I also think that it has long way to go before I will abandon opening a mobile browser for the majority of my on the go blogging.

To Viper

My first interactions with Alex were in the #wordpress IRC channel, likely him helping me with some code. Over the coarse of a couple of months, we joked around and chatted code. At some point the mention of his username prompted the question of if he had a Viper, but I found out he didn’t even have a driver’s license! I didn’t even realize that this person I was becoming friends with lived in my city, but when I mentioned WordCamp Portland I found out I would actually get to meet him in person. Alex became the first person I met through WordPress chats that I got to meet in person.

At WordCamp Portland 2009, Alex led an unconference session on Advanced WordPress development. I think that Matt Mullenweg might have been the one who put Alex’s name on board and pushed him to lead the discussion. It was during this session that I was first introduced to the idea of custom post types. This event was one of the most important events on my journey to were I am today, and Alex leading a discussion was a part of it.

The following year at WordCamp Portland 2010, I gave the final session of the second day. The room was half empty at this point, but Alex had stuck around to support me. Unfortunately, Alex might have been more exhausted than he had let on as I remember looking at him at one point and seeing him asleep. For a couple years, I encouraged him to give a talk at a WordCamp so I could fall asleep in it.

In 2011 at WordCamp San Francisco a small group of us headed out in search of dinner. This is when I found out that Alex was the opposite of an adventurous eater. We discussed multiple places before heading to some chain restaurant that had cheese pizza and I got to enjoy one of Alex’s favorite dishes, but more importantly I got to enjoy a meal with him.

Alex and I continued our conversations for years. We never were close friends, but we always remained friends. After his initial diagnoses with Leukemia, I wrote some unit tests with Alex in mind. Alex’s contributions to WordPress were numerous, and his contributions to my life are unforgettable. Whenever I see a Viper, I’ll forever think of a man who was obsessed with cars but didn’t get his license until his mid twenties. Tonight I raise my glass to Alex, Viper007Bond, Mills.

Four Short Things – 23 February 2019

Inspired by O’reilly’s Four Short Links, here are some of the things I’ve seen, read, or watched recently.

Leukemia has won

WordPress has allowed me the opportunity to meet hundreds of people first online and then offline, but Alex “Viper007Bond” was the first. When I first started getting involved in WordPress, I spent many late nights in the IRC #wordpress channel on freenode, at first seeking help but then providing it. Viper was commonly there helping others and likely answered more than a few questions of mine as well. He’s been publicly battling leukemia for 2.5 years. His blog is a great tale of the ups and downs of cancer. Alex and those that care about him are in my thoughts right now.

Kevin Beasley: A view of a Landscape

On view at the Whitney until 10 March, this exhibit on the top floor is one encompassing sound and visuals. Featuring the motor from a cotton gin and giant sculptures with Cotton, it explores race, history and the evolution of America.

Writing CSS Algorithms

Lara has done more to change my opinions on CSS than anyone else. This post is a companion piece to a talk she gave at WordCamp US and one that everyone web developer should read.

Pento hits 1000 Commits

13 people have made over 1000 commits to WordPress core over the past nearly 16 years. Gary Pendergast joined the club during the 5.1 release. Overall, there have been 44767 commits so Gary’s count only represents 2.2% of the total activity.

Four Short Things is a series where I post a small collection of links to art, news, articles, videos and other things that are interesteing me. Follow my RSS feed to see Four Short Things whenver it comes out.

Four Short Things – 16 February 2019

Inspired by O’reilly’s Four Short Links, here are some of the things I’ve seen, read, or watched recently.

Git for Ages 4 and Above

My friend Adam recommended this talk as a good deep dive into git. One thing I often preach is the importance of understanding the tools you use on a regular basis. It doesn’t matter what editor you use (but really, it should be vim), what matters is knowing how to use your editor. The same can be said for git. Git is much more powerful than git commit, git push, and git pull. The piece I used yesterday? git checkout master -- filename.jsto revert a single file in a branch that didn’t actually need changes.

Tom Brown at Laugh Fest

Do you live in or around Grand Rapids? If so I highly suggest checking out The Tom Brown at Laugh Fest in March. You will laugh your socks off.

Public APIs

This collection of mostly JSON REST APIs has everything from APIs around art, music, and photography to weather, news, and NFL arrests. It’s a great first stop if you are looking for a data API.

Two Elephants

I finished my first new canvas of 2019.

Four Short Things is a series where I post a small collection of links to art, news, articles, videos and other things that are interesteing me. Follow my RSS feed to see Four Short Things whenver it comes out.

Four Short Things – 9 February 2019

Inspired by O’reilly’s Four Short Links, here are some of the things I’ve seen, read, or watched recently.

The Value of Good Design

MoMA’s spring exhibition includes a show featuring everyday objects, the types that it’s feasible to find in our homes. Brooms, Rakes, Chairs, A Slinky. With an emphasis on work that appeared in shows from the 1930’s to 1950’s, there is plenty of Eames, Saarinen, and Bruan to make any home goods nerd geek out. In addition to the main section of the show, there is a small lab where you can couch and sit on some of the items on display. It’s open until June 15.

Terraform

Describing itself as “Write, Plan, and Create Infrastructure as Code”, terraform allows for almost every part of your infrastructure to happen as code. You can thus keep your DNS in GitHub. You can keep your GitHub config in GitHub too.

What’s new in PHP7.4?

Odds are, you aren’t running PHP7.3 yet, but that doesn’t mean work hasn’t started on PHP7.3. Heck, 8.0 is already being planned. It’s still early, but coalesce assignment is my prediction for what is going to cause the most useless arguments and also be the biggest win.

Inclusive Design: Who’s Opportunity is it?

My friend David uses his journey to help explain how inclusive design is a win for everyone. He looks at Inclusive design as an opportunity for business, content, quality, performance, and people. Definitely was one of the best things I read this week.

Four Short Things is a series where I post a small collection of links to art, news, articles, videos and other things that are interesteing me. Follow my RSS feed to see Four Short Things whenver it comes out.