Picture

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

The (only) developer at earthli.com.

Contents

3752 Articles
113 Comments

12 years Ago

OpenBSD takes on OpenSSL

Published on in Technology & Engineering

 Much of the Internet has been affected by the Heartbleed (Wikipedia) vulnerability in the widely used OpenSSL server-side software. The bug effectively allows anyone to collect random data from the memory of machines running the affected software, which was about 60% of encrypted sites worldwide. A massive cleanup effort ensued, but the vulnerability has been in the software for two years, so there’s no telling how much information was stolen in the interim.

The OpenSSL software is used not only to... [More]

Mixing your own SQL into Quino queries: part 2 of 2

Published on in Programming

In the first installment, we covered the basics of mixing custom SQL with ORM-generated queries. We also took a look at a solution that uses direct ADO database access to perform arbitrarily complex queries.

In this installment, we will see more elegant techniques that make use of the CustomCommandText property of Quino queries. We’ll approach the desired solution in steps, proceeding from attempt #1 – attempt #5.

tl;dr: Skip to attempt #5 to see the final result without learning why it’s... [More]

13 years Ago

Mixing your own SQL into Quino queries: part 1 of 2

Published on in Programming

The Quino ORM[1] manages all CrUD—Create, Update, Delete—operations for your application. This basic behavior is generally more than enough for standard user interfaces. When a user works with a single object in a window and saves it, there really isn’t that much to optimize.

Modeled methods

A more complex editing process may include several objects at once and perhaps trigger events that create additional auditing objects. Even in these cases, there are still only a handful of save... [More]

Capsule Movie Reviews Vol.2014.3

Published on in Movies

Gravity (2013) — 6/10
I can only say what I thought of this movie based on the way that I saw it: in HD on a conventional screen at home. I can imagine that the experience was very different in 3D and on a giant screen with a kick-ass sound system. The only downside I can think of is that if the sound-leveling was the same in the theater, it would have been an ear-blistering experience. If you set the volume high enough to hear the occasional radio whispers, many other parts of the movie... [More]

Criminal Justice in the U.S.

Published on in Public Policy & Politics

The article Theater of Justice by Molly Crabapple (VICE) is an article by an artist who also occasionally does courtroom sketches.

She tells of Cecily McMillan, who was beaten into a seizure by police offers and who two years later stands trial for assaulting a police officer, facing seven years in prison. The officer’s record of having beaten other suspects was deemed inadmissable.

Or there is the other recent case of a black woman who tried to stand her ground, as others have successfully done. She fired a warning... [More]

Big data ignores lessons learned

Published on in Science & Nature

The article Big data: are we making a big mistake? (Financial Times) bursts the bubble of the wide-eyed, overconfident and underinformed techies who think that their giant piles of data will fix everything. The article contains many interesting examples, some of which are touched on in the conclusion, cited below:

“Uncanny accuracy is easy to overrate if we simply ignore false positives, […] The claim that causation has been “knocked off its pedestal” is fine if we are making predictions in a stable... [More]”

Russophobia: the Lunatics are at the Helm

Published on in Public Policy & Politics

I am so tired of hearing of scintillatingly smart people who can’t seem to ever say anything that is even tangentially well-informed. We knew that the Bush administration was a booby-hatch full of cantankerous old farts who hadn’t been right about anything or even had an original thought since before it became illegal to beat your wife and black people, not necessarily in that order. That doesn’t excuse them in any way at all, but they didn’t even really have a veneer of intelligentsia to them.... [More]

Java 8

Published on in Programming

 This article discusses and compares the initial version of Java 8 and C# 4.5.1. I have not used Java 8 and I have not tested that any of the examples—Java or C#—even compile, but they should be pretty close to valid.

Java 8 has finally been released and—drum roll, please—it has closures/lambdas, as promised! I would be greeting this as champagne-cork–popping news if I were still a Java programmer.[1] As an ex-Java developer, I greet this news more with an ambivalent shrug than with any... [More]

Where did Marco go on Google+?

Published on in Technology & Engineering

If anyone’s wondering why they can’t find me on Google+ anymore, it’s because recent changes led to my YouTube account no longer functioning as I wanted it to.

What was the problem?

Essentially, my situation was like this:

  • I have an ancient YouTube account associated with my only gmail address
  • Until recently, this YouTube account was not associated with Google+
  • A while back, I created a Google+ account for the same gmail address
  • Until recently, this Google+ account was not associated with... [More]

Published on in WebCore

Since almost the beginning, earthli has supported themes that let the user choose the basic color scheme for the site. In the early days of the web, it was a cool way of playing with CSS. It also kept your coding honest because you had to stick to a style guide instead of just throwing in styles all over the place.

In recent years, the themes started to look a bit dated. With the introduction of a completely new base layout, most of the themes looked bad and skewed instead of simply dated.

A... [More]

Quino: efficiency, hinting and local sorting

Published on in Programming

In Quino: partially-mapped queries we took a look at how Quino seamlessly maps as much as possible to the database, while handling unmappable query components locally as efficiently as possible.

Correctness is more important than efficiency

As efficiently as possible can be a bit of a weasel statement. We saw that partial application of restrictions could significantly reduce the data returned. And we saw that efficient handling of that returned data could minimize the impact on both... [More]

Truthiness in Ukraine

Published on in Public Policy & Politics

As you can well imagine, this is an exhaustive topic. Trying to get a handle on it is like drinking from a firehose. My style of research involved a lot of reading, evaluation and collection of interesting tidbits, some of which are contradictory to previous bits. Interesting for me does not mean “believable” or “true” but that it was well-written, intriguing or contributed to my knowledge. This piece will start with an attempt at an overview with some interwoven notes, followed by a lot of... [More]

Instapaper demands permissions

Published on in Technology & Engineering

 I use Instapaper quite heavily for managing the content I read. After I’ve read something, I usually archive it so that I can search it later and I “like” it if I found it interesting.

You can see my archive and likes as RSS feeds, but I was looking for something a little pushier.

I have a Twitter account that I don’t use very much. It currently tweets blog posts from earthli News almost exclusively.

I figured it it might be kind of useful if I could have Instapaper automatically post... [More]

Quino: partially-mapped queries

Published on in Programming

In Quino: an overview of query-mapping in the data driver we took a look at some of the basics of querying data with Quino while maintaining acceptable performance and memory usage.

Now we’ll take a look at what happens with partially-mapped queries. Before explaining what those are, we need a more concrete example to work with. Here’s the most-optimized query we ended up with in the previous article:

var query = Session.GetQuery<Person>();... [More]

Final Sochi 2014 notes

Published on in Sports

U.S. Olympic Hockey

 Patrick Kane has a sadOh my God, what an ass-kicking. Canada put on a clinic for America and then Finland did the same, with even more success.

Patrick Kane never showed up—he missed again and again and took horrible penalties. His face after his second penalty sums things up nicely for the U.S. (see left).

And the US didn’t even both covering the greatest Olympic goal-scorer ever, warming the hearts of 40+ year-old guys everywhere by letting Teemu score not once, but twice.

Continental... [More]

Podunk City, USA

Published on in Fun

 Surprised cowWhen you grew up in the countryside, you tend to have to prove the extreme rurality of your origin to others who share a similarly bucolic provenance. Should I become embroiled in future such contests of micturial prowess and find myself in trouble, struggling to triumph against a backwoods foe prodigiously well-equipped with a backwoods background that threatens to overshadow my own, I will rest assured that I can break the glass in case of such an emergency to retrieve the following link to... [More]

LESS vs. SASS: Variable semantics

Published on in Programming

I’ve been using CSS since pretty much its inception. It’s powerful but quite low-level and lacks support for DRY. So, I switched to generating CSS with LESS a while back. This has gone quite well and I’ve been pretty happy with it.

Recently, I was converting some older, theme stylesheets for earthli. A theme stylesheet provides no structural CSS, mostly setting text, background and border colors to let users choose the basic color set. This is a perfect candidate for LESS.

So I constructed a... [More]

How to configure Visual Studio 2013 with licenses from a multi-pack

Published on in Tips & Tricks

The following article was originally published on the Encodo blogs and is cross-published here.

If you’re only interesting in what we promised to show you in the title of the article, then you can jump to the tl;dr at the end.

Silver Partnership

Encodo is a member of the Microsoft Partner Program with a Silver Competency. We maintain this competency through a combination of the following:

  • A yearly fee
  • Registration of .NET products developed by Encodo (Punchclock and Quino in our case)... [More]

Olympic hockey; why choose?

Published on in Sports

I shelled out CHF8.– for Zattoo for this month so that I can watch the Olympics on my own schedule. It’s pretty sweet, especially for hockey games.

 USA/Czech Republic & Canada/Latvia

Zattoo keeps a 7-day buffer for over 100 channels. You can actually watch for free, but you don’t get HD and you have to watch extra, Zattoo-specific commercials. The Olympics coverage is remarkably commercial-free, at least on the Swiss (Swiss-German, German, French and Italian) and Austrian channels. The German channels have more... [More]

Olympics 2014 opening ceremony

Published on in Sports

 Belgium Bermuda Lithuania Germany Russia Slovenia Tonga France Ireland Italy Lithuania United States Ukraine

Outfits!

Let’s get the initial unpleasantness with the fashion choices of various countries out of the way at the top. In no particular order—which alphabet would I use?—and leaving out countries with no particular reason, here are my bitchy notes. Some of the nations are pictured on the left but not all.

  • Bermuda: Shorts. Still baggy, red and ill-fitting.
  • Cayman islands: Shorts. How original.
  • Ireland: Army camo-like dark-green. Meh.
  • China: Red, how original
  • Belgium: Look for the all... [More]

Rolling your own languages and frameworks

Published on in Programming

The blog post/article So You Want To Write Your Own Language? by Walter Bright (Dr. Dobbs) contains a lot of interesting information, related to only to parsing, but also to runtime and framework design. Bright is well-known as the designer of the D programming language, so he’s definitely worth a read.

I thought he jumped back and forth between topics a bit, so I summarized the contents for myself below:

Parsing

Bright identifies Minimizing keystrokes, easy parsing and minimizing the number of keywords as false gods.... [More]

Big Business

Published on in Quotes

“As long as politics is the shadow cast on society by big business, the attenuation of the shadow will not change the substance.”
John Dewey

Watching movies made by rapists

Published on in Miscellaneous

What is it worth to wade into a discussion where you are asked to choose a side based on no clear rules of evidence?

I mostly enjoy Woody Allen movies. That he has been with Soon Yi, the adopted daughter of his ex-wife for years doesn’t really weigh on my opinions of his films. I must admit that knowing that Polanski raped a teen-aged girl and fled the country enters into it very little when I’m considering whether to watch one of his movies. Polanski clearly got away with it and wasn’t... [More]

On the nature of addiction

Published on in Science & Nature

Perhaps uncharacteristically, this post will consist mostly of citations of other articles about the nature of addiction. I have relatively little contact with addiction, but the truth of what these ex-users write is evident to anyone of a rational bent who is reasonably informed about the world.

The article Philip Seymour Hoffman is another victim of extremely stupid drug laws by Russell Brand (Guardian) writes,

“People are going to use drugs; no self-respecting drug addict is even remotely deterred by prohibition.”

... [More]

Published on in WebCore

Text-formatting manual updated!

The manual for the earthli text formatter has been updated to include all of the latest tags and attributes. All of the non-trivial tags now have examples, including <pullquote>, <abstract>, footnotes (<fn> and <ft>), <clear>, <anchor> and <hr>.

There are a couple of new tags for showing messages, <info>, <warning> and <error>, examples of which are shown below.

This is an informational message.
This is a warning message.
This is an error message.

Quino: an introduction to query-mapping in the ORM

Published on in Programming

The following article was originally published on the Encodo blogs and is cross-published here.


One of the most-used components of Quino is the ORM. An ORM is an Object-Relational Mapper, which accepts queries and returns data.

  • Applications formulate queries in Quino using application metadata
  • The ORM maps this query to the query language of the target database
  • The ORM transforms the results returned by the database to objects (the classes for which were also generated from application... [More]

The job of a descriptivist linguist

Published on in Quotes

“Yes, there are rules of grammar. It is Coogan’s job (and yours) to try to obey them. And it is my job as a linguist to try and figure out what they are, and to state them precisely. And also to not be a jerk about it: my job as a language user is to forgive Coogan (or you) for any difficulty he (or you) might have in following them in spontaneous speech, and to use my common sense in trying to figure out what he (or you) might have meant.”
Everything he was in he raised the quality by Geoffrey K. Pullum (Language Log)

Super Bowl XLVIII (Euro edition)

Published on in Sports

 The Super Bowl takes place way too late on a school night for all but the most ardent fans on this side of the pond. This is not to say that there are no such fans over here. The Germans and British both had full coverage, with the British channel Film4 having gotten Terrel Davis and Mike Carlson to assist the Scottish announcer Colin Murray, who started off slowly but got steadily more hilarious as the game unfolded into a slaughter of Denver by Seattle. There were plenty of people willing to... [More]

Generating JSON from Dart object graphs

Published on in Programming

 A while back, I participated in an evaluation of languages that could replace JavaScript for our web front-end development language at Encodo. We took a look at two contenders: Dart and TypeScript. At the time, Dart was weaker for the following reasons:

  • It had not yet been released
  • It had little to no tool support
  • Integration with existing JS libraries was somewhat laborious

Though TypeScript has its weaknesses (it has technically not yet hit a 1.0 release), we eventually decided to go in... [More]