I recently came across this post from Nick Heer castigating “the bullshit web.” A term he uses to describe the fairly despicable state of modern web applications. While I overwhelmingly agree with the points he lays out, especially in his disparaging remarks towards AMP, I think there’s more to be said about alternative approaches for web users to once again experience the web without the bullshit.
Howdy!
Welcome to my blog where I write about software
development
, cycling, and other random nonsense. This is not
the only place I write, you can find more words I typed on the Buoyant Data blog, Scribd tech blog, and GitHub.
Navigating Linux/BSD in the newer Open File dialog
With the latest (quantum!) releases of Firefox, a number of things changed for the better but one of the few things that seemed to get worse was the Open File dialog. I tend to use the dialog quite frequently to open up HTML generated reports from test and coverage tooling, and with the newer Firefox versions I had become very frustrated with the mouse-heavy requirements to use the dialog.
Deciding who you are by what you eat.
Living in Northern California has taught me many valuable lessons, but perhaps the most fundamental has been to appreciate high quality food. This appreciation was further enhanced when I started a garden, and began to savor freshly grown, vine-ripened, fruits and vegetables. Providing a strong counter-example, my travels to areas without great access to either fresh ingredients or strong culinary culture (strip malls, strip malls everywhere), usually results in a change in my own well-being. An upset stomach really hammers home the importance of high-quality food.
Running for election to the SPI board
Over the past seven years, the Jenkins project has been an associate project with an umbrella 501(c)3 organization called Software in the Public Interest (SPI). Debian, PostgreSQL, and a number of other associate projects utilize SPI as a legal entity with which they can collect donations and assign intellectual property, such as trademarks. For the past few months I have been coming up to speed as an interim director on the board, replacing a seat vacated, but now I’m running for the seat in the 2018 board election
You should blog more
Some time ago, whenever I started the draft for this blog post, I was discussing with my colleague Kathy why I feel it’s important for people to write out their thoughts in long-form, ideally sharing them via a blog such as this. My reasoning is not to build “your brand”, share information, or anything else like that per se. I find that fundamentally, taking the time to write my thoughts down long-form helps draw more reasoned and nuanced thoughts out, and allows the cultivation of a richer inner mental landscape.
It's all about the dirt
Last season I wrote down some of what I’ve learned about growing tomatoes and made certain to highlight the importance of soil health. Unfortunately this season’s tomatoes aren’t doing as well as I would like, and I’m relatively certain I know the culprit, despite not having the time to correct it: soil health.
Publishing containers with Jenkins Pipeline
Pulling Docker containers from Docker Hub doesn’t require any special handling or credentials, making it quite simple to consume Docker containers in a Jenkins Pipeline. In this blog post however, I’ll describe a simple pattern which I have been using to programmatically publish Docker containers to Docker Hub from a Jenkins Pipeline.
Working with JavaScript callback APIs from async/await
To ignore Node.js as a possibility in certain problem domains, for which it is
the best tool for the job, is a tremendously silly and at times unprofessional
decision. While I don’t delight in writing JavaScript, I must acknowledge that
JavaScript has matured quite nicely over the past ten years. Perhaps the most
helpful addition, for me at least, are the async
and await
keywords which
aim to prevent the callback nightmare many casual JavaScript developers may
dread.
Support Escalations to Engineering are Outages
I have been thinking a lot about customer support over the past two years. My role as “Director of Evangelism” has placed me at the leading edge of what could be referred to as “customer success” or “user education.” What I have come to appreciate, especially in Enterprise-focused startup companies, is the connected and complimentary roles between Product, Engineering, Quality, Evangelism, Customer Support, and Sales. In an Enterprise-focused organization what defines the success for each of these groups is fundamentally the same, but they are not all equally “connected” to the customer’s feedback and concerns.
Provision a personal Kubernetes in 3 minutes on Azure
At my previous company one frequent request made by developers was along the lines of “I want to be able to run a development stack on my machine.” Frankly, I never understood this desire, and still don’t. While I would agree that my laptop is underpowered, running a stack of JVMs and other applications, in addition to a web browser, would bring most machines to a crawl. An ideal alternative, is to simply operate a personal Kubernetes environment in a public cloud. Fortunately, that is now a genuinely simple task.