Name Marco Von Ballmoos
Member since
Email [hidden]
Home page http://earthli.com/users/marco

The (only) developer at earthli.com.


2286 Articles

9 months Ago

American Foreign-Policy, in a Nutshell

Published on in Quotes

“America: You can’t get mad at us for what we do because we haven’t thought about the consequences.”

Skeptical about the stories from Venezuela

Published on in Public Policy & Politics

I wrote the above several days ago, but held off on publication to avoid jumping the gun. A few days later, I still agree with my my initial reaction. I’ve added a few footnotes here and there.

When you’re as old as I am, have paid attention long enough and have read enough history, you’re morally required to be skeptical about the stories we hear about Venezuela.

But people are suffering! We have to do something to help them! Their government is killing them—whether through ineptitude or... [More]

Can you put a price on that?

Published on in Public Policy & Politics

As noted in SOTU 2019: President Camacho holds forth, one of Trump’s giant applause points was when he said, “Tonight, we renew our resolve that America will never be a socialist country.” The best parts of America are the socialist bits. Even the worst parts are socialist: members of the military live in a socialist paradise, with every part of their lives—room, board, insurance, etc.—paid for by the government.

The strongest opponents of socialism are the ones who live the most socialist... [More]

SOTU 2019: President Camacho holds forth

Published on in Public Policy & Politics

 So, the State of the Union 2019 finally happened. If you just read the transcript, it’s a speech which any other President could have given. Go ahead: read the first few paragraphs of it in Obama’s voice—it will seem perfectly natural. This isn’t a “Trump” speech, it’s an “American president” speech—given by the imperator of the world. The speech and its implications exist independent of the figurehead—it is an expression of the State, of the Empire.

My notes below are taken from the 2019... [More] (C-SPAN)

Controlling Sanders for 2020

Published on in Public Policy & Politics

I’d originally earmarked the article It’s Bernie Bitch! by Amber A’Lee Frost (The Baffler), but discovered that it’s been unpublished by the Baffler. They got cold feet that this level of endorsement was contrary to their charter as a certain type of organization—a type that is prohibited from expressing a political opinion.

Leave aside that it was clearly Lee’s opinion being expressed and not the magazine’s. It looks pretty gutless, on the surface. If you’re interested in the back-and-forth, Here’s the Pro-Bernie Sanders... [More] by Jake Johnson (Common Dreams)

Rumination on culture and learning

Published on in Philosophy

Americans are deliberately deluded. They are steeped in propaganda, but are also heavily complicit in their miseducation. They throw themselves into their miasma of disinformation with elan.

Regime Change in Venezuela

For example, the charge for regime change in Venezuela is not only in full swing, but has culminated in the replacement of the president by an unelected—and unknown—man.

~230~ Venezuela Fake Coup, Truth About Kamala Harris, & Yellow Vests by Redacted Tonight (YouTube)

Lee points out several salient characteristics of the target of a U.S. regime change:

  1. The country... [More]

Apple logins

Published on in Technology

There are many places where you can authenticate on MacOS. I think the following list is comprehensive.

  • MacOS
  • App Store
  • Messages
  • FaceTime
  • iCloud
  • iTunes

Each of these logins can actually be different, believe it or not. Most of the time, they’re not, though. Apple prefers if you just use the same account for everything.

If you, for historical reasons—purely hypothetically, understand—have more than one account, you might log in with inconsistent accounts.

Normally, it doesn’t really... [More]

Has working on Linux Distros has gotten more rewarding?

Published on in Technology

I saw in the news today that a new version of the Alpine Linux distro is available. It made me wonder whether those who work on distros like Alpine—that a few years ago would have been more rarely used—are excited at the uptake in usage for containers.

Working on open-source software has always had a bit of altruism bound up with it: if you don’t get compensated—most interpret this as remunerated—then why do it? There are a host of reasons to work on something, besides getting paid for... [More]

Designing an online resumé

Published on in Design

 It had been three years since I’d updated my resumé. To be clear, I’m not looking for a job[1]. I’m very happy at the company I (partly) own, Encodo Systems AG.

I see my resumé more as a description of my career than as a document with which I can get hired. As a partner in a company, it’s good to have an up-to-date profile handy, e.g. for including in RFPs.

One step was to write down the history of my more-recent projects and skills. In addition, though, I wanted to update the look and... [More]

Evolution takes eons

Published on in Science & Nature

I am in no way doubting evolution. I am simply admitting that my mind cannot truly encompass the chasm of time required to build this creature incrementally.

Iranian spider-tailed viper tricks bird by SciNews (YouTube)

h/t to The Lure of the Spider-Tailed Horned Viper by Jason Kottke.

MacOS iCal and Reminders

Published on in Technology

tl;dr: If your birthday-calendar appointments don’t show up on your MacOS iCal, try turning it off and on again (rebooting the machine). That’s what eventually worked for me. For the full story and more tips, read on.

A little while back, I enabled iCloud synchronization for my contacts. That didn’t go so smoothly on the first try: the MacOS desktop that had most of the information was actually erased because Apple doesn’t seem to understand what “sync” means.

Using a backup, I was able to... [More]

NYT gives a shout-out to Encodo

Published on in Fun

The NYT Saturday Crossword today looks very similar to the Encodo logo.

We did the puzzle justice by filling it out from the middle outwards—perfectly balanced.

We made it another few clues before things drifted apart.

James Tobin on the ‘paper economy’

Published on in Quotes

I found this quote in the tooltip of XKCD #2101[1].

“I [suspect] that we are throwing more and more of our resources, including the cream of our youth, into financial activities remote from the production of goods and services, into activities that generate high private rewards disproportionate to their social productivity. I suspect that the immense power of the computer is being harnessed to this ‘paper economy’, not to do the same transactions more economically but to balloon the quantity and... [More]”
James Tobin on July 1984

Using Unity, Collab and Git

Published on in Programming

If you’re familiar with the topic, you might be recoiling in horror. It would be unclear, though, whether you’re recoiling from the “using Collab” part or the “using Collab with Git” part.

Neither is as straightforward as I’d hoped.

tl;dr: If you have to use Collab with Unity, but want to back it up with Git, disable core.autocrlf[1] and add * -text to the .gitattributes.

Collab’s Drawbacks

Collab is the source-control system integrated into the Unity IDE.

It was built for designers to be... [More]

Roubini on Cryptocurrencies and Blockchain

Published on in Finance & Economy

The following citations are from an interesting talk/paper, Testimony for the Hearing of the US Senate Committee on Banking, Housing and Community Affairs On “Exploring the Cryptocurrency and Blockchain Ecosystem” by Nouriel Roubini on October 2018 (U.S. Senate Banking Committee) (sub-titled: Crypto is the Mother of All Scams and (Now Busted) Bubbles While Blockchain Is The Most Over-Hyped Technology Ever, No Better than a Spreadsheet/Database).

He had good foresight in 2007, but I’m surprised to see how confident he is about the current system in that paper... [More]

Finding deep assembly dependencies

Published on in Programming

Quino contains a Sandbox in the main solution that lets us test a lot of the Quino subsystems in real-world conditions. The Sandbox has several application targets:

  • WPF
  • Winform
  • Remote Data Server
  • WebAPI Server
  • Console

The targets that connect directly to a database (e.g. WPF, Winform) were using the PostgreSql driver by default. I wanted to configure all Sandbox applications to be easily configurable to run with SqlServer.

Just add the driver, right?

This is pretty straightforward for a... [More]

QQL: A Query Language for Quino

Published on in Programming

In late 2011 and early 2012, Encodo designed a querying language for Quino. Quino has an ORM that, combined with .NET Linq provides a powerful querying interface for developers. QQL is a DSL that brings this power to non-developers.

QQL never made it to implementation—only specification. In the meantime, the world moved on and we have common, generic querying APIs like OData. The time for QQL is past, but the specification is still an interesting artifact, in its own right.

Who knows? Maybe... [More]

Breaking Changes in C#

Published on in Programming

Due to the nature of the language, there are some API changes that almost inevitably lead to breaking changes in C#.

Change constructor parameters

While you can easily make another constructor, marking the old one(s) as obsolete, if you use an IOC that allows only a single public constructor, you’re forced to either

  • remove the obsolete constructor or
  • mark the obsolete constructor as protected.

In either case, the user has a compile error.

Virtual methods/Interfaces

There are several... [More]

Version numbers in .NET Projects

Published on in Programming

Any software product should have a version number. This article will answer the following questions about how Encodo works with them.

  • How do we choose a version number?
  • What parts does a version number have?
  • What do these parts mean?
  • How do different stakeholders interpret the number?
  • What conventions exist for choosing numbers?
  • Who chooses and sets these parts?


In decreasing order of expected expertise,

  • Developers: Writes the software; may *change* version numbers
  • Testers:... [More]

v6.0: .NET Standard & Authentication

Published on in Programming

Note: this article was originally published at Encodo.com at the end of October, 2018.

The summary below describes major new features, items of note and breaking changes.

The links above require a login.


At long last, Quino enters the world of .NET Standard and .NET Core. Libraries target .NET Standard 2.0, which means they can all be used with any .NET runtime... [More]

Learning Quino: a roadmap for documentation and tutorials

Published on in Programming

Note: this article was originally published at Encodo.com in July, 2018.

In recent articles, we outlined a roadmap to .NET Standard and .NET Core and a roadmap for deployment and debugging. These two roadmaps taken together illustrate our plans to extend as much of Quino as possible to other platforms (.NET Standard/Core) and to make development with Quino as convenient as possible (getting/upgrading/debugging).

To round it off, we’ve made good progress on another vital piece of any... [More]

Delivering Quino: a roadmap for deployment

Published on in Programming

Note: this article was originally published at Encodo.com in July, 2018.

In a recent article, we outlined a roadmap to .NET Standard and .NET Core. We’ve made really good progress on that front: we have a branch of Quino-Standard that targets .NET Standard for class libraries and .NET Core for utilities and tests. So far, we’ve smoke-tested these packages with Quino-WebApi. Our next steps there are to convert Quino-WebApi to .NET Standard and .NET Core as well. We’ll let you know when it’s... [More]

Removing unwanted references to .NET 4.6.1 from web applications

Published on in Programming

Note: this article was originally published at Encodo.com in July, 2018.

The title is a bit specific for this blog post, but that’s the gist of it: we ended up with a bunch of references to an in-between version of .NET (4.6.1) that was falsely advertising itself as a more optimal candidate for satisfying 4.6.2 dependencies. This is a known issue; there are several links to MS GitHub issues below.

In this blog, I will discuss direct vs. transient dependencies as well as internal vs. runtime... [More]

Quino’s Roadmap to .NET Standard and .NET Core

Published on in Programming

Note: this article was originally published at Encodo.com in May, 2018.

With Quino 5, we’ve gotten to a pretty good place organizationally. Dependencies are well-separated into projects—and there are almost 150 of them.

We can use code-coverage, solution-wide-analysis and so on without a problem. TeamCity runs the ~10,000 tests quickly enough to provide feedback in a reasonable time. The tests run even more quickly on our desktops. It’s a pretty comfortable and efficient experience,... [More]

Docker for Windows and Hyper-V

Published on in Tips & Tricks

As it stands, Docker for Windows still requires Hyper-V to be enabled on the host machine. If you’ve been around long enough, you may still believe (falsely, it turns out) that Hyper-V doesn’t work with hyper-threading.

The problem with Hyper-V was apparently never that it disabled hyper-threading but that it led to sub-optimal cache-usage on older chips (single-core). Newer chips have many more cores and much larger caches, so the cache-poisoning issue from 2005 is no longer a problem.
... [More]

Repairing Windows Updates that refuse to install

Published on in Tips & Tricks

 Updates won't install Windows Defender not runningFor quite some time now (months?), my Windows 10 installation has had a problem/corruption in its Update Database that prevented it from applying some updates.

At first, it was just a definition update for Windows Defender, which is bad enough. However, a recent update to Windows Defender itself could not be applied and this conflict prevented Windows from even starting Windows Defender Antivirus.

That’s not great.

Finally: A Solution

Digging around online in this problem area is... [More]

Convert Markdown to earthli format

Published on in Programming

The earthli blogging format uses HTML-like formatting, described in the lengthy manual (with examples). However, Encodo’s blogging back-end now uses Umbraco, with Markdown for content. I used to be able to cross-post with ease, by copy/pasting. Now, I need to convert the content from Markdown to earthli formatting.

The following steps suffice to convert any article:

  1. If there are attached media (e.g. graphics), save those locally
  2. Create a new earthli article with the same title as the source... [More]

Syncing Contacts with the Apple iCloud

Published on in Tips & Tricks

too long; didn’t read: Back up with Time Machine before syncing your contacts via iCloud. If iCloud wipes out your contacts, you can restore the ~/Library/Application Support/AddressBook/ folder to get them back.

I regularly use two MacOS devices and one iOS device. Considering who else already has my contacts, I figure it was time, for convenience’s sake, to use Apple’s iCloud to sync my contacts across the three devices.

I obviously not writing this article to inform the world that... [More]

10 months Ago

Why so angry?

Published on in Quotes

“Rage is by no means an automatic reaction to misery and suffering as such. Only where there is reason to suspect that conditions could be changed, and are not does, rage arise.”
Hannah Arendt

The True Self

Published on in Quotes

“At sea, a fellow comes out,”
Herman Melville