Picture

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

The (only) developer at earthli.com.

Contents

2310 Articles
93 Comments

11 months Ago

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?

Stakeholders

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.

Overview

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]

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

1 year Ago

Capsule Movie Reviews Vol.2019.1

Published on in Books & Movies

These are my notes to remember what I watched and kinda what I thought about it. I’ve recently transferred my reviews to IMDb and made the list of almost 1200 ratings publicly available. I’ve included the individual ratings with my notes for each movie. These ratings are not absolutely comparable to each other—I rate the film on how well it suited me for the genre and my mood and. let’s be honest, level of intoxication. YMMV. Also, I make no attempt to avoid spoilers.

36.15 code Père Noël... [More]

Compiler Pessimism

Published on in Programming

“In practice, nearly everything you write is potentially dependent upon the order of evaluation, but in practice it isn’t because you are not a nincompoop.”

He completes the thought with “[b]ut the compiler doesn’t know that. The compiler must adhere to the letter of the language standard, because it has to compile insane code as well as sane code.”

Occupy vs. Burning Man

Published on in Philosophy

Chuck Palahniuk on Joe Rogan says that there was only one Occupy because it wasn’t any fun. Burning Man, on the other hand, has been going on for 30 years and is bigger and better every year.

This is an insipid analysis of the two events. Occupy is about a revolution, against the corporate dominance. Burning Man is about subsuming revolutionary fervor in a corporate way. Tickets cost $200-$1200.

At least Joe Rogan pushed back against that.

Occupy never got a chance because it was squashed as... [More]

Skynet is the good outcome

Published on in Technology

Will Artificial Intelligence take over the world? Only if we let it, I think.

And we’re almost certainly going to let it.

Our habit seems to be to capitulate to any form of power that dangles a short-term bauble of convenience before our greedy, beady eyes, even if it always seems to be just out of our grubby reach.

AI is dangerous less for what it is capable of doing now and more for how much power we concede it even when it’s stupefyingly shallow. We’ve given up before the battle has even... [More]

Because of course they do

Published on in Public Policy & Politics

I’m not even going to do more than cite the article US Intelligence thinks Russia may have microwaved US embassies in Cuba, China by Sean Gallagher (Ars Technica).

I’m honestly not sure how anyone with an ounce of journalistic self-respect can write an article like this non-ironically.

I wrote in the title, “because of course they do”. I’m referring to the “analysts” who—after nearly a year—have decided that the Russians are to blame.

It is here that we should all become more adept at both thought experiments and... [More]

Poisonous Hyper-capitalism

Published on in Technology

From Kai-Fu Lee’s new book says Artificial Intelligence will be Google vs China and will kill half the world’s jobs by Robert X. Cringely

“And I find it difficult to see China as being any more of a development crucible than is Sand Hill Road, where startups have even less time to succeed and therefore more pressure to evolve. Explain to me how this is incorrect, because the numbers are published and are real. In comparison to other adolescent startup cultures, yes China is and will be successful and they are... [More]”