Name Marco Von Ballmoos
Member since
Email marco [at] encodo [dot] ch
Home page (none)
Description (none)


347 Articles

1 week Ago

v4.0: New modeling API, expanded UI support and data improvements

Published on in Quino

The summary below describes major new features, items of note and breaking changes. The full list of issues is in the release notes below and is available to those with access to the Encodo issue tracker.


Metadata & Modeling

Most of the existing metadata-building API has been deprecrated and replaced with a fluent API that is consistent and highly extensible.

  • Improve support for multi-language... [More]

2 months Ago

Networking Event 2017.1 and upcoming WWDT Talk

Published on in Encodo News (en)

Encodo held its first networking event of 2017 on June 1st with Marco presenting A Checklist for new Projects (slides in English/presentation in Swiss-German).

Thanks to everyone who attended!

If you missed it and would like to see the talk, Marco will be presenting again at winti web dev/talks on June 19th, 2017. The talk will be in English this time.

The abstract is included below.

 This talk discusses a checklist of concepts for writing software. Which ones apply? If so, how will you... [More]

3 months Ago

C# Handbook 7.0

Published on in .NET/C#

 I announced almost exactly one year ago that I was rewriting the Encodo C# Handbook. The original was published almost exactly nine years ago. There were a few more releases as well as a few unpublished chapters.

I finally finished a version that I think I can once again recommend to my employees at Encodo. The major changes are:

  • The entire book is now a Git Repository (GitHub). All content is now in Markdown. Pull requests are welcome.
  • I’ve rewritten pretty much everything. I removed a lot of... [More]

Adventures in .NET Standard 2.0-preview1

Published on in .NET/C#

.NET Standard 2.0 is finally publicly available as a preview release. I couldn’t help myself and took a crack at converting parts of Quino to .NET Standard just to see where we stand. To keep me honest, I did all of my investigations on my MacBook Pro in MacOS.

IDEs and Tools

I installed Visual Studio for Mac, the latest JetBrains Rider EAP and .NET Standard 2.0-preview1. I already had Visual Studio Code with the C#/OmniSharp extensions installed. Everything installed easily and quickly and I... [More]

4 months Ago

Team Event: Segway Tour durch Winterthur

Published on in Encodo News (de)

An einem warmen Frühlingstag sind wir nach einem gemeinsamen Mittagessen auf eine Segway Tour durch Winterthur mit Segway City Tours gegangen. Nach einer kurzen Lektion auf dem flachen Platz vor dem Zeughaus kurvten wir stundenlang durch die ganze Stadt Winterthur mit Zwischenhalten beim Aussichtspunkt Goldenberg und dem Oskar Reinhart Museum.

Bilder ansehen!

Team Event: Segway Tour of Winterthur

Published on in Encodo News (en)

On a warm spring day, we took an afternoon off for lunch and a Segway Tour of Winterthur with Segway City Tours. After an introduction on a flat plaza by the Zeughaus, we cruised all over the city for hours, stopping on the Goldenberg and at the Oskar Reinhart Museum.

Click here to see the pictures!

7 months Ago

A tuple-inference bug in the Swift 3.0.1 compiler

Published on in Development

I encountered some curious behavior while writing a service-locator interface (_protocol_) in Swift. I’ve reproduced the issue in a stripped-down playground[1] and am almost certain I’ve found a bug in the Swift 3.0.1 compiler included in XCode 8.2.1.

A Simple, Generic Function

We’ll start off with a very basic example, shown below.

 Simple argument with label

The example above shows a very simple function, generic in its single parameter with a required argument label a:. As expected, the compiler determines the... [More]

8 months Ago

Two more presentations: Web tools & Quino upgrade

Published on in Development

Check out two new talks on our web site:

Networking Event: How Encodo builds web applications
At our last networking event, Urs presented our latest tech stack. We’ve been working productively with this stack for most of this year and feel we’ve finally stabilized on something we can use for a while. Urs discusses the technologies and libraries (TypeScript, Less, React, MobX) as well as tools (Visual Studio Code, WebStorm).
Quino: from 1.13 to 4.x
Since Quino 1.13 came out in December of... [More]

10 months Ago

Quino Documentation: Table of Contents

Published on in Quino

For over a year, I’ve been writing articles about various parts of Quino. A customer asked if I could collect those links into a coherent table of contents, to make it easier to use as a reference.



A scalable pattern for building... [More]

Thoughts on .NET Standard 2.0

Published on in Development

Check out two new talks on our web site:

Microsoft recently published a long blog article Introducing .NET Standard. The author Immo Landwerth appeared on a weekly videocast called The week in .NET to discuss and elaborate. I distilled all of this information into a presentation for Encodo’s programmers and published it to our web site, TechTalk: .NET Standard 2.0. I hope it helps!

Also, Sebastian has taken a Tech Talk... [More]

1 year Ago

ZHAW Frackumzug 2016

Published on in Encodo News (de)

Encodo hat dieses Jahr die Abschlussklasse der Systemtechniker der ZHAW als Sponsor für das Frackmobil unterstützt. Wie immer war uns der traditionelle Frackumzug einen kleinen Ausflug in die Altstadt wert. Wir haben das gelben Rauch spuckende und Bratwurst bratende Mobil bewundert und uns über die vielen glücklichen Absolventen in den altertümlichen Kostümen gefreut. Mehr zu dieser alten Tradition gibt’s unter: ZHAW Frackwoche und Frackumzug. Es gibt auch ein paar eigene Bilder dazu.

v3.1: New metadata builder API

Published on in Quino

The summary below describes major new features, items of note and breaking changes. The full list of issues is also available for those with access to the Encodo issue tracker.


This release is a “bridge” release that has the entire new Metadata API as well as the older version, which is marked as obsolete. It is intended that projects upgrade to this version only temporarily in order to more easily migrate to the 4.0 Metadata API. At that point, projects should immediately upgrade... [More]

Tabs vs. Spaces … and how many?

Published on in Development

Encodo has long been a two-space indent shop. Section 4.1 of the Encodo C# Handbook writes that “[a]n indent is two spaces; it is never a tab.”, even though “[t]he official C# standard […] is four spaces.” and that, should you have a problem with that, you should “deal with it.”

Although we use our own standards by default, we use a customer’s standards if they’ve defined their own. A large part of our coding is now done with four spaces. Some of us have gotten so accustomed to this that four... [More]

ABD: Improving the Aspect-modeling API for Quino

Published on in Development


We discussed ABD in a recent article ABD: Refactoring and refining an API. To cite from that article,

“[…] the most important part of code is to think about how you’re writing it and what you’re building. You shouldn’t write a single line without thinking of the myriad ways in which it must fit into existing code and the established patterns and practices.”

With that in mind, I saw another teaching opportunity this week and wrote up my experience designing an improvement to an... [More]

ABD: Refactoring and refining an API

Published on in Development

We’ve been doing more internal training lately and one topic that we’ve started to tackle is design for architecture/APIs. Even if you’re not officially a software architect—designing and building entire systems from scratch—every developer designs code, on some level.


There are broad guidelines about how to format and style code, about how many lines to put in a method, about how many parameters to use, and so on. We strive for Clean Code™.

But the most... [More]