Category: Development & Sysadmin

Doing that DevOps thing

My first year at Blackbird has been good. My main goal in my first year was to migrate the monolithic system and infrastructure into something more scalable and reliable. Well this week was the week and we did it. We moved the last of the services over without any issue. I am grateful that I had the support I did and the team I did. I have learned an incredible amount from them. And ultimately, we killed it!

People write long ass articles about how they adopted DevOps culture and “$did_thing” and honestly, I’d love to do that, I don’t even know where to start. So, here’s the bullet point TL;DR instead:

  • We needed to have a scalable production environment.
  • We needed to have a common development environment that closely matched that production environment.
  • We needed developers to be able to quickly create the local development environments.
  • We needed to merge dozens of repositories into a single monorepo.
  • We needed to setup CI.
  • We needed CI to use the same tooling that developers used.
  • We needed to start migrating frontend and backend services away from the old hosting provider to the new hosting provider.
  • We needed to move databases to the new hosting provider.
  • Most importantly, we needed a culture change around how development is done. Part of that was adopting GitFlow.

DevOps is an interesting beast. It’s like 20% systems administration, 20% software development, and 60% communication. Now it’s time to iterate on what we have done, revisit and improve infrastructure, tighten feedback loops, and improve metrics and telemetry.

Feeling Satisfied

I had set out about 2 years ago to get some certifications for my own personal and professional growth, but life and things and other things got in the way (work? Factorio? excuses?) and I just never finished them.

Well I set out to fix that this year and just yesterday I passed the AWS Certified Solutions Architect – Associate certification exam. The exam was more challenging then I expected, but I passed! Whew.

Going to chill on these for a bit now. In the fall I will tackle the RHCSA.


Github is now offering unlimited private repos for free. There is now literally no good reason to use BitBucket or GitLab (especially paying money to self host a GitLab instance). BRB moving all of my unfinished, half baked, terrible projects to GitHub.

Docker putting downloads behind a login wall

In regards to issue https://github.com/docker/docker.github.io/issues/6910, Docker putting links to download Docker CE behind a login wall. The comment thread is long, and people are, in my opinion, rightfully put out by the move.

Yeah, the issue is that they are not being transparent or real about the reasons why they put the download behind a login wall. All they needed to do was tell the truth, and then this wouldn’t be an issue. As it is now, they used marketing double speak and it came off disingenuous, and imo, rather pathetic.

I know that this can feel like a nuisance, but we’ve made this change to make sure we can improve the Docker for Mac and Windows experience for users moving forward.

This is simply not true.

They are not doing this to improve the experience of users, as has been explained several times in the comments. No, they are doing this because they are scrambling to collect data to figure out how to monetize a closed source product that they gave out for free. Now the expectation in the community is that the product is free which puts them in a weird position. However, honesty and transparency will go a lot further than lies and deception do in these sorts of things. Just gotta be honest with your user base. There is no harm in that. A simple message like; “hey so we messed up and in order to continue to provide Docker and support etc, we need to 1) understand the user base that is downloading the docker tools, and 2) identify ways to generate revenue to continue to develop and support the tools while maintaining a free core product. In order to do this we want to collect some data using these methods…” and so on. I’d have so much respect for a company who could say those things.

Maybe I am reading a lot into hiding the link, but at the end of the day if it feels sneaky and shady, it probably is. I do not trust that they actually had the users experience in mind when making this change. Therefore, I do not trust Docker, and would seriously consider the alternatives for my future endeavors.

Started using Let’s Encrypt for my personal websites and apps. Was pretty easy to setup, and thanks to Chef, even easier to deploy and keep updated.

After doing development for 15 years I would have expected my github to be more, substantial. Must be all those half finished projects sitting in ~/Development/projects 😀

The Reality of Gutenberg & WordPress

Gutenberg is happening. It is coming and it is coming soon. I am not thrilled.

WordPress the CMS

Automattic have been trying to tell us for years that WordPress is more than a blogging platform, that is a true and full Content Management System. "Look!", they say. "You have custom post types, and the metabox API allows for you to create complex content types. It's a CMS!". Alas, it is all built on top of a blog with very blog specific design patterns. The underbelly of WP is ugly and hacky, even if it works "just fine" most of the time. Gutenberg is as direct of a statement of intent as I could expect; WordPress is a blogging/marketing platform, and not a CMS.

WordPress the Casual Site Builder

Gutenberg is a response to the threat of Squarespace and Wix and Medium. This update is for WordPress.com, to combat the threat of those other systems, to ensure dominance in the web publishing space, to increase market share by appealing to more casual users, small business owners, etc. Automattic can probably then generate leads for their WP VIPs. But I think this will come at the expense of developers like me, working at a digital agency, who drank the koolaid about WordPress being a CMS and it being a tool that can be used for Higher-Ed, Government, Healthcare, and not just for a blog or a simple marketing site. I am ready to move on to real CMS's for those projects. As for the marketing and bloggy sites, Squarespace has a much more robust block and content building experience. Why even bother with WordPress at this point? Gutenberg is not anywhere close to those systems, yet. It will probably get there, but will it matter, and will it be worth it?

Gutenberg the Editor

The new editorial process is nice, but super limiting. I hope that more blocks are in development otherwise this feels dead on arrival. I am having some fun with it on my site, checking things out, playing with the shiny new toy, but after a few posts, it's already starting to feel restrictive. Theme builders give me so many more options for how to present content. Sure, they are nasty and terrible, but they offer so much more out of the box. I kinda hope that WordPress does not depend on extending block functionality via 3rd party plugin. They have come this far, surely they can offer some more variety?

For example, how about letting me insert a block above the title. Typically you start the page with a large hero, then the primary h1 follows. You can do this now by excluding the post title, but Gutenberg does not let you change the post slug (why?). And if you dont have an SEO plugin installed your <title> will be empty.

How about letting me define a wrapper element around a few blocks to give me more HTML to hang a frontend design off of? Like, making a group of blocks.

How about a related posts that is not just a list of post links, but something that will allow an editor to create a curated list, or a dynamically generated list, that includes thumbnails, excerpt, tags, whatever.

If it ain't broke…

Creating custom blocks has a much higher barrier to entry than say, creating custom field sets with ACF Pro, or using Metabox.io to create modular content blocks. We typically have some unique design constraints and features of our content patterns that do not allow for perfect modular re-use across websites. In other words, we make boutique websites for our clients. ACF and Metabox.io make this extremely easy. Gutenberg blocks are going to take a lot more time to build and test (now we have to test integration on the backend?!)

Ok. I am starting to rant. Ill end this by saying I don't think Gutenberg needs to be THE editor for WordPress, just AN editor for WordPress. Leave it as an optional plugin.