Not really, but I knocked my tripod
into my laptop, busting the screen and logic board in the process. For the past ~2 years, I’ve been primarily a one laptop person, using my MacBook for both work and pleasure. I have a large windows machine that mostly collects dust since try as I might, I can’t get used to developing on Windows and a Chromebook that I keep near my couch for things that I want a bigger screen than a phone, but its use has been lessened as I try to be screen free at home as much as possible.
With these two options, I decided that the Chromebook made more sense for me to use, primarily because it’s about 1/3 the weight of the windows machine. I wanted something more than just a basic shell I could ssh into other machines for though, so I used Crouton to return to developing on Linux for the first time in a few years.
Overall, switching back to Linux was easy. Since I normally develop on the command line and with Vim, all my dev tools were available to me. The only thing lacking was 1Password which meant I needed to manually enter passwords. As someone who has been using a password manager for a few years, it was a reminder of why people use bad passwords and use the same password everywhere. Manually entering 50+ character passwords is hard.
The only other areas of
issue for me were that High Five video calls didn’t work that I never got the wifi switcher to work in XFCE (I admittingly spent like 3 minutes on this), so I had to bounce back to Chrome whenever I needed to connect to a new WIFI. In many ways, going back to Linux was like returning to an old friend. It’s where I started to code.
Thankfully, I’ve been reunited with my
macbook and the screen is good as new. Despite it going in just needing some screen repairs, my hard drive needed to be whipped. So I’m thankful for having backups of everything important, though I’m regretting not having pushed a few branches in git.
Let this serve as a reminder: Laptops are not invincible, backup your data.
Design is many things, but the best design is cooperative, constrained, and empowering. Those are the biggest
takeways I have from the 2018 Society for News Design workshop. The three-day event included talks, workshops, and social events, all of which helped me learn about what makes helps make
The Best Design is Cooperative
Michael Donohoe, Mindy Yuen, and Michael Villaseñor from Hearst Newspapers highlighted this in their cross-functional talk. The "Double Diamond" method they utilize starts with a narrow problem that expands during the discovery phase, only to be narrowed during the decision phase and re-expanded during development until finally narrowing again during delivery. By expanding and contracting during different phases, multiple teams are able to really have a say in the process.
Ivana Wong from Alley Interactive did a Post It Note workshop on kick-offs which highlighted the importance of bringing together stakeholders from across the organization to come up with the objectives for a project by asking "How Might We" questions. These questions can eventually form the basis of objections. Asking "How Might We Increase people entering the sales pipeline" can become the objective "Increase people entering the sales pipeline."
The Best Design is Contrained
James Morehead and Alex Valdivia from the Google Bulletin team discussed the "Why" and encouraged designers to ask "Why" rather than "How". Most of the design work they did didn't take place at computers. They also launched missing features they thought they wanted and learned from how people use Bulletin.
Allison McCann from Vice News has tried to bring interactive style data journalism to TV and thus has had to learn all the constraints. She took inspiration from Guitar Hero for presenting Data Dense visualizations. She learned to use pacing in ways you don't need to necessarily consider in non-linear storytelling.
The Best Design is Empowering
The most important takeaway for me came from Scott Stowell of Open who's team empowered the ACLU and all its chapters with a design framework and language. They looked at the almost 100 years of history of the organization to pull out key values. They used the Supreme Court briefs as a typeface influence and they made Accessibility a key value.
They also took inspiration from the pocket Constitutions that the ACLU is known for producing and produced a pocket design constitution that is given out internally. The end result is an organization of non-designers who can make visually impressive work that has an impact.
Learning and using new techniques makes things fun again. Coding gets boring when we spend our time doing the same thing over and over again. When we aren't pushing ourselves forward, we are being left behind. It's important to overcome the challenge of doing something new so we continue moving forward.
Here are three things I've read over the last few weeks where I learned something. Maybe one of these will help you learn something new:
Linked Lists by Lara Schenck. This is an overview of a data structure that isn't native to any of the languages I spend the majority of my time in. Lara's series on computer science basics is a great primer for those of us without formal CS educations.
The Documentation for Styled Components. I was introduced to Styled Components when Laura Medalia started mentioning them on her Instagram Stories. I've started playing around with them to see if they are going to be right for some of the react things I've been doing.
The impressionist era artists produced a dizzying amount of work the explored and celebrated the outdoors, and in what could be termed The Met garden show, you can see an impressive exploration of this work. The artists displayed include many of the painters that are the biggest names from the late eighteenth century to the early twentieth: Monet, Rousseau, Van Gogh, Seurat, and Renoir.
The exhibit is organized around four main sections: Public Parks, Flowers, Private Gardens, and Portraits in Gardens. Each of these sections includes great works, but here are my favorites from each.
Rousseau's pre-impressionist work shows woods not far from Paris and includes a mixture of young and old trees. As this was the type of painting that many of the other artists on display were likely exposed to as at a young age, it helps set the stage for what will be seen in the rest of the show.
I've seen both of these paintings before, but seeing them next to each other allows for the opportunity to compare them in a completely different way. Van Gogh's frail emotion vs. Monet's cheery impression. Van Gogh painted many more sunflowers than this one, but it's frail expression of emotion contrasts with Monet's exploration of color. This room contains still lifes using a number of different mediums and some early photograph prints.
One of the things that impressed me the most about this exhibit was the quantity of watercolor and pastel paintings. As easier to use when outside of a studio, it makes sense to see them so highly represented. This Renoir seems like something he may have produced as a sketch rather than a dramatic large painting. This section contains many Monet paintings from the more realist Garden at Sainte-Adresse to the larger than life The Path through the Irises.
Camille Monet's eyes grabbed me the moment I saw this painting. Manet sets a scene that almost looks like the bokeh portrait photographers aim for. This section also includes work by Mary Cassatt, one of the few women and few Americans in this exhibition
The Met has an incredible collection of Monet, and it is on display throughout this show, but it is the opportunity to see multiple artists working on the same or similar subjects
is the true highlight of this show.
Public Parks, Private Gardens: Paris to Provence is at The Met until July 29th in
Gallaries 964-965 which is on the ground floor below The Robert Lehman Collection. I can't wait for it to warm up a bit so that I can explore it again and then sit in Central Park with these masterpieces fresh in my mind. If you aren't able to make it to New York to see this exhibit, you can view many of the pieces on The Met's site for this exhibit.
,CodeMirror uses JSHint. And this is where things get interesting.
JSHint is mostly licensed under the MIT license. I say mostly since it inherits some code from JSLint which uses a modified form of the MIT license. It requires that the software only is used for Good, not Evil.
"The Software shall be used for Good, not Evil."
So the White House is using software that can only be used for Good, not Evil. Which means that if the White House has used its website to do evil, it has violated Douglas Crockford's license.
Claude Monet is one of the foremost painters of the impressionist movement. His efforts to show the motion and color of light are in full force at museums in New York City. If you want to view works by Monet, you aren't limited to just one of the art museums in NYC. In fact, Monet's work is currently being displayed in four different New York Museums.
30 works of Monet are on display at the met. These include works from when the artist was in his mid-twenties and using the inspiration of Japanese art to embrace the 2d nature of paintings. Garden at Sainte-Adresse is an example of this period of Monet's career.
As Monet grew older, his landscapes began to show more motion. Vétheuil in Summer was done in 1880. The brushstrokes visible in the Seine help portray the constant changing reflection of light on a body of water.
As Monet grew older, he continued his exploration of light by painting the same locations during multiple parts of the day. While making Rouen Cathedral: The Portal (Sunlight), he moved from canvas to canvas as the day progressed. More than 30 paintings make up the Rouen Cathedral series.
While finishing the Rouen Cathedral series, Monet began putting in a water garden on his property that would serve as the inspiration for some of his
best known works. Already in his mid-fifties, the Water Lillies demonstrate how Cataracts affected Monet's Vision with earlier works showing much greater detail, while the later works demonstrate the blurring and color changes he saw as his eyes changed.
Overall, the 30 works of Monet currently on view at the Met demonstrate the artist's evolution.
Museum of Modern Art
MoMA has a Monet specific gallery featuring 3 works from the Artists later career including a massive 3-panel Water Lilly that is one of the more breathtaking pieces of art in NYC.
MoMA's collection of Monet's is considerably smaller than the Met's collection, but the massiveness of the Water Lily on display make it a must-see piece of Art.
Between the breadth of work at The
Met, and the monumental Water Lilies at MoMA, you have multiple options for exploring Monet in NYC. There are few better cities for exploring this Impressionist master.
It's been a little over six months since I wrote my first post in Gutenberg (and it was about Gutenberg). In that time, I've published 18 posts using Gutenberg. It still has ways to go before I think it's going to be great, but it's continuously solving my needs on this site. When I originally posted my comments, I posted a mix of ideas, bugs, oooh-moment features, and reactions. Some of them are worth revisiting:
It’s pretty. And Fast. I never thought of the post editor as being slow, but there is something about Gutenberg that makes it feel fast.
This is still true! Overall I’m still impressed with how fast things feel. And as some of the clutter pieces have been removed, it’s gotten even prettier.
There are a lot of rough edges. It’s hard to know what is a bug, what is intentional, what just hasn’t been done yet, and what hasn’t been thought of.
It is becoming clearer what is a bug (and they still exist), what needs another riff, and what is just new to me.
The default state is likely my favorite “Distraction Free Writing” implementation in WordPress yet. I’m simultaneously able to focus on my content, and yet I have all the tools I need for writing. I don’t yet have all the tools I need for content creation.
Creating content in Gutenberg has only gotten better.
I need to take my hands off my keyboard more than usual. Adding a paragraph after a list isn’t easy to do with just a keyboard.
It’s more keyboard friendly, but still has steps to go before I can really not use my keyboard.
And now for some new thoughts:
I like the direction Gutenberg continues to head in, but there are a number of edges that continue appearing rough. Some of those are the micro-interactions that continue to be iterated on, while others are the result of bugs (copy and paste right now is rough).
Developing software in the open is hard. I'm continuously impressed with the Gutenberg team's ability to take
critism and turn it constructive.
Once better documentation is in place, I think we will start being at a point that we can consider when Gutenberg is merged into Core. I view the lack of great documentation as being a blocker for that discussion. Until it's easy for plugin developers to support Gutenberg, they can't build much and until things are built, it's hard to figure out when Gutenberg is ready to ship.
I think the documentation is going to need to tackle things from multiple points of view:
How to use all the various extension points.
How to create automated tests
Advice on making decisions/Philosophy of what extension points to use (I'm hoping some designers write this)
I'd like to see some iteration around the taxonomies in the sidebar. In part to make custom taxonomies easier and in part to see if there are ways to make it easier.
I'm going to be building something for production in February and am seriously considering building it in Gutenberg so it's more future proof.
This post was the first time I needed to use the classic text block. Blockquotes and paragraphs inside list items might be an edge case, or perhaps the list block is too rigid.
I'm going to try and remember to post more thoughts on Gutenberg in another six months. I think it will be in WordPress core by then, but I'm not sure if 5.0 will have been released. For others that have been using Gutenberg for a while, how has your opinion changed?
For the past 5.5 years, I've been a part of the product engineering leadership at a couple of organizations. While I'm not sure if these ideas translate to client services, I know that they have all been valuable to me as I work long term building products and brands.
It's important to periodically reevaluate your tooling and process. Iterating on the process can be just as important as iterating on features. As a team, you are able to take all that you have learned about how you work and try to improve upon it. It's important to not do this too often though, otherwise, you are spending your time chasing something shiny rather than building something that solves problems.
Users over business requirements. Users over short-term wins. Users over everything. If you aren't building for people, your motivations are wrong and you need to rethink what you are doing. Always think about users. If you are discussing working on anything and no one has asked how it benefits users, ask that question.
Implementors need to have control over either the schedule or the scope of a project. Giving up both leads to burn out and/or low quality work. Implementors mean everyone actively contributing, and not just the engineers.
Design is more important than you think. Design is not done at a specific point. Designers need to be involved in everything. Yes, even the most underhood back-end project. Design thinking is undervalued. I've yet to see it be overvalued.
Share your work and ideas internally early and often. Even when they are half-baked or you don't think they are very good.
It's important to understand that what is a high priority for you, isn't always a high priority for the team. That said, every member of the team should have at least one personal priority accomplished on a regular basis.
At least once a quarter, you should do a sprint focused on developer experience, refactoring, and bug features. Keeping the code easy to work with shouldn't be forgotten.
Do things that don't scale, but make them scale if you keep doing them.
There are a lot of things you can optimize for and deciding what you want to optimize for is a challenge. Sometimes you need to optimize for Time To Launch, others you want to optimize to make it easier to iterate on the UI. Figure out what's important on a project by project basis.
2017 is coming to a close, and unless someone commits something very soon, WordPress Core development is at rest (since we have an API to do that now). This is the third year I've compiled these stats, see the 2016 committer stats for some of the background information. I'm going to share the stats and then share my reactions to seeing them.
An important caveat, in the post I'll mention employers but we need to remember that people change jobs and that not everyone works on donated time. In fact, the vast majority of WordPress core committers are volunteering their time when they review, write, and commit code to WordPress.
2017 will end the year with 1731 changesets to trunk. This is down from 2967 last year. These changesets were committed by 35 individuals, down from 37 in 2016.
2017's most prolific committer was Sergey Biryukov who was responsible for 20.57% of all WordPress commits. He takes this crown from Dominik Schilling. In raw numbers, Dominick had 4 more commits in 2016 than Sergey did in 2017. This is the first time since I started keeping these stats that a non-release lead has had the lead.
Other notable committers (by volume of commits) in 2017 were Weston Ruter (18.14%) and John Billion (11.84%).
The employer who was most responsible for WordPress commits this year was Yoast with 24.67%. 14 different employers (grouping all the self-employed individuals into a single group for this purpose). This is down from 20. In 2016, Automattic was first with 14.66%.
Thoughts and Reactions
The number of higher volume committers is down substantially. In 2016, 17
commiters had at least 52 commits, in 2017 it was 11. Only 3 individuals had over 100 commits in 2017, while in 2016 it was 11.
The number of core commits and committers continues to fall, but that's in part due to projects like the rest-api and Gutenberg being developed outside of Trac. If WordPress continues to move away from the monolithic repo model, I think this trend will continue. Additionally, with only 2 major releases and no new default theme, there was less to do in
core (and many people that were active in Core development have devoted themselves to Gutenberg, the new hosting team, and other WordPress efforts).
I also don't think that it can be ruled out that as a complex piece of software with moderate (at best) automated test coverage, people tend to be cautious and risk-averse. Increasing the automated test coverage should help with these efforts.
Finally, WordPress does continue to improve. It had two major releases in 2017 bringing some long requested changes to a large swath of the internet. Commit numbers is far from a perfect metric. Some people it takes one commit to get right, sometimes it takes 3 commits to not break the build when landing something. Looking at it and watching it in context of everything else, we can see that WordPress is
setup for an incredible 2018.
Normally, when a year comes to a close I start to brainstorm about talks and presentations I want to give in the coming year. I copy over a doc in Simple Note and start pruning off talks I've already given or ideas that no longer excite me and add in new ideas where I feel like I have something to add. This year is a bit different since I'm going to focus my energies elsewhere and will not be giving public presentations in 2018. I still intend to contribute to the conversations around technology, but in a different way (read on to find out more).
What's driving this decision
I came to this idea after spending some time re-evaluating how I spend my time. The talks that I prepare generally involve about an hour for each minute I present. In 2017 I gave presentations at WordCamp Lancaster, Pressnomics, WordCamp DC, and WordCamp Philidelphia. Overall, I spent nearly one hundred hours preparing for and delivering these talks. When I think about my hopes for how the web moves forward, I wonder if those 100 hours couldn't be spent doing something with a bigger impact.
Additionally, I don't bring a lot of diversity to the table. I'm a mid 30's cis-gendered white-passing male. There are plenty of us in technology. If I move out of the way, that can hopefully make space for someone to bring a different viewpoint to the conversations.
What I'm doing instead
I still love public speaking and want to help some newer speakers give great talks. I thus intend to volunteer and donate my time helping some speakers. If you have enjoyed any of the presentations that I have given and think I might be able to help you, please send me a DM on twitter (my DMs are open). I'm going to give preference to people that bring some diversity that I don't bring to the table. I'm hoping that as 2018 comes to a close, I can say that I spent 100 hours helping new voices in the conversations around technology.