Lightning Web Components (LWC) is Salesforce’s implementation of everyone’s favorite cool new web technology, namely web components. That’s right: Salesforce, that bastion of enterprise-y, not-invented-here, walled gardens has clambered onto the web standards bandwagon and embraced web components with open arms. Who would have thought?

Not only can Salesforce ISVs now write the frontend for their apps using web components, but they can also use LWC’s library of pre-built UI components, which provides implementations for the “blueprints” defined by Salesforce’s design system, which goes by the snappy name Salesforce Lightning Design System (SLDS). What’s more, the framework has now even…


In the first article of this series, we reviewed the history of literate programming. In the second article, we mused about how and why literate programming never realized its immense promise. In that article, I boldly promised a third article in the series which would

…propose a new generation of literate programming concepts and tools — and a new series of use cases — which will finally allow us to realize the potential of Knuth’s conceptual breakthrough.

However, I now see clearly that this ambitious enterprise cannot possibly be realized in one additional article. A full rethinking of literate programming…


The Japanese egg salad sandwich has taken America by storm. Konbi, the little storefront near Dodger Stadium in Los Angeles, was named the number one restaurant of the year by Bon Appetit for 2019; the “Egg Salad Sandwich” is its signature item. Other restaurants featuring Japanese-style egg salad sandwiches are popping up on both the east and west coasts.

And no wonder. The tamago sando (卵サンド) — literally “egg sandwich” — is a triumph of Japanese cuisine, an exquisite pairing of fluffy Japanese-style sandwich bread (“shoku-pan”) and the pure, unadulterated taste of eggs in all their glory. It is ubiquitous…


An embarassment of riches in tech job ad stupidity

It’s awards season! The Grammys may be behind us now, but the Oscars are right around the corner! Welcome to the 2019 Most Idiotic Tech Job Ads Awards, fondly known as the “Idiots”, the coveted awards for utter idiocy in tech job ads! The competition is fierce!

Disclaimer: This post is by no means meant to imply that all recruiters and recruiting

And the candidates are:

Angular vs. AngularJS

The most horrible naming decision in the history of frameworks was for Google to use “Angular” for their next generation system and “AngularJS” for the legacy system. What were they thinking? …


In the infamous “whiteboard” coding test, developers hoping to be hired are expected to write code in real-time, standing up in front of a whiteboard. This kind of test has become a standard way to test technical skills. Some kind of test of technical skills is indeed necessary, because one of the key challenges in recuiting is how to screen or filter out candidates with weak technical skills in order to avoid wasting time on additional interviews, not to mention hiring people who turn out not to be able to code. Hence the whiteboard coding test.

Such tests are often…


CSS, like any widely-used technology — and it is widely used because there is basically no way to make web pages without it — has developed around it an entire ecosystem and even, one might say, mythology, as well as a number of anti-patterns which have unfortunately taken root. According to Wikipedia, an anti-pattern is

a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

My point in noting these anti-patterns is not to criticize (OK, it is a little bit), but to learn from what they can teach us about CSS. …


The latest cycle of overheated rhetoric and misinformation about CSS includes accusations that CSS and its practitioners are being “dismissed”, or “systematically devalued”, or that this alleged dismissal is “about gender privilege and exclusion”, and that this disrespect of CSS is somehow fueled by, or connected to, an idea called “CSS in JavaScript”, which is apparently a secret conspiracy, or something like that.

I’m keenly aware of the deep-seated challenges relating to diversity and inclusion in our industry, and the need to address them.

However, simplistic notions that “CSS people are being devalued” involve elementary misunderstandings about what CSS actually…


What is literate programming? How has literate programming evolved? Why hasn’t literate programming taken off? Where is it headed?

In the first article in this three part series, we addressed the first of these questions, learning about what literate programming is, something of its history, and the great promise it holds. Let us recall the definition of literate programming:

Literate programming harmonizes the human and machine aspects of programming into an integral whole which best expresses and communicates a software solution.

But something went horribly wrong. …


It’s been more than three decades since literate programming was invented by the legendary Donald Knuth. Its promise was immense — creating software which was more reliable, more understandable, more maintainable, and with hugely more teaching value — software which targeted both humans and computers.

What is literate programming? How has literate programming evolved? Why hasn’t literate programming taken off? Where is it headed?

In this three-part series, we’ll take a detailed look at these questions. This first part is an introduction to what is literate programming. (The second part, an overview of the challenges with literate programming, is here


Code review has become an indispensable part of any mature software development process. The Internet is awash in information on the benefits of code review, and how to do it. We won’t go over that ground again here.

Code reviews are great. The problem is that by the time something reaches the point of code review, it can be too late. …

Bob Myers

Technologist/author/translator mainly writing about computing

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store