When I was growing up, “mils” were milliliters. This is coming from a family where both parents worked in a laboratory in some capacity. Only many years later did…

Recently, the house judiciary committee held hearings on the social and economic power of the tech giants: Online Platforms and Market Power, Part 6: Examining the Dominance of Amazon, Apple, Facebook, and Google. The hearings were held on 2020-07-29 from about 12:00 to about 17:30, US/Eastern. Testimony was offered by Jeff Bezos, Sundar Pichai, Tim Cook and Mark Zuckerberg. A consistent theme was user and partner frustration with the lack of transparency, consistency and accountability in their dealings with online platforms.

2020–07–29 :: Online Platforms and Market Power, Part 6: Examining the Dominance of Amazon, Apple, Facebook, and Google


Bear’s backups — the .bearbk files — are zip files, but won’t extract cleanly with unzip if posts have UTF-8 titles.

A work-around is to extract with 7zip.

:;  7z x /path/to/bear-notes-yyyy-mm-dd-at-hh:mm.bearbk

Kotlin’s reflection support uses a dynamic strategy and so interacts poorly with dependency optimizers like the shadow Gradle plugin’s minimize. To make sure it gets included in your optimized release build, you can take a shortcut and exclude all Kotlin standard library dependencies from minimization:

Snippet in Gradle’s Kotlin DSL

John Rengelman’s shadow plugin for Gradle is a utility for building all-in-one application bundles called variously uber JARs or fat JARs. The plugin handles a variety of complications that arise when a JAR contains all of its dependencies:

  • The name of dependencies of dependencies might be the same, because they…

Gradle/Kotlin JVM projects are just a five short lines away from building self-contained, executable .jars, using the application and Shadow Gradle plugins:

From a Kotlin project template

After reading quite a few articles with much longer solutions, I was pleasantly surprised to see it was really this easy. Note that the Shadow plugin doesn’t have to be configured at all — it relies on the application plugin to figure out the details, and in particular the main class.

I hate Scala. Its tools, while good, are often surprisingly resource intensive and sometimes crash my little MacBook. The syntax and feature-set, while amazingly expressive, are bewildering to most programmers and complicate on-boarding and even just reading your own code. The development cycle can be glacial, usually at just the point in time when you’ve got enough code to do something useful.

Yet, Scala remains powerful, succinct and flexible in a way that few other languages match.

  • Want to add a lazy property? It’s not difficult — just prepend lazy to the property declaration.
  • Want to declare a data class…

When NULL values are present, a row can both not match a predicate, and not match its opposite.

It can be confusing to remember the consequences of SQL’s three-valued logic. One hears that NOT NULL can be good for query performance — it allows the database to make certain optimizations — but better performance is not the real reason to set columns NOT NULL as a general practice. Even when a column occasionally has no meaningful value, it can be better to declare it NOT NULL with a default valuing signifying nil, like DEFAULT ‘-’.

Consider a program to track…

There are too many special snowflake systems in DevOps. One way we see this is in the proliferation of DevOps data stores: databases and search engines intended specifically for metrics and logs. Another is the way in which “infrastructure as code” always ends up as stuff that’s not code.

Much business and software functionality is exposed through libraries. This includes payments, presentation, graphics, data analysis and even cloud computing. When a vendor wants to deliver functionality, they put together an API and a library for that API, offering it in all the programming languages — PHP, Java, Ruby, Python, Swift…

Eggs keep well, are full of vitamins and come conveniently packaged into servings. Cream, on the other hand, is messy to pour and can go bad quickly. To put some numbers to it: if cream goes bad in a week, you’re lucky; while eggs can keep for two months or more.

While a whole egg is not as rich as cream, an egg yolk is far richer (58% vs 36%), so the final product will have comparatively greater coffee flavour for a given fat content. Egg yolk also brings with it some albumen which should add a little body (it…

Jason Dusek

the lyf so short, the craft so long to lerne

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