ground- water, geo- statistics, environmental- engineering, earth- science

Update on “Learning and Playing”

without comments

Over a year ago I wrote a post on “Learning and Playing“. In the meantime, three important things happened, that lead me to update the original post:

An old note for my original post included this note:

From a big picture view, it seems to me that it is more easy now than it was at the time Mindstorm was published to access computer programming. In contrast to this development (now there are more high level programming languages, now there are more simple plotting APIs) most of the (young) people today regard “the computer” more of a consuming and communication device than an invention and try things out device. More and more people use computers, but at least relatively less people use it for creation – and I think creation involves some way of programming.

I expect that Swift Playgrounds, once it’s released, will offer the best platform since the original Logo, to learn and play. This is the announcement that made me the most happy among all recent Apple announcements. Lorena A. Barba reframed my “learn and play” phrase into “the essence is what we can do while interacting with computers, as extensions of our mind, to create and discover“. I expect Swift Playgrounds to be a wonderful tool for just that.

Swift playground
Screenshot of the Swift Playground Demo site.

Let’s end with some good news: Lego is holding still onto its original values:

So what happened with Legos? They made a lot more of them. In doing so, they made a lot of new, specialized bricks, but they made even more general purpose bricks. This trend is easily obscured by the opposite trend in the number of brick types, but from a ‘creative play’ standpoint the bricks you actually end up with are more important than the bricks you could have ended up with.

And: “yeah… you can do this! Ba… Ba.. Baaa…!” (watch until the end!)

Written by Claus

June 14th, 2016 at 11:49 am

Posted in

automation: getting papers into papersapp from OmniFocus tasks

without comments

I am using OmniFocus to organize my life and in an attempt to get a few things done. My academic live also involves staying on top of publications. I rely on papers as my reference manager. In the last little while, I used OmniFocus to keep track of the papers that I found and that I wanted to get and / or read. This has been a quite reliable workflow, but involved quite some manual clicking.

OF papers

This post describes how I improved it with a little applescript to go more directly from OmniFocus to papers:

  • whenever I see a paper that interests me, I capture it into OmniFocus;
    • the title of the task is the title of the paper or whatever else helps me to identify the paper;
    • the note contains the URL to the pdf of the paper, and nothing else;
    • the task gets assigned one particular project, whose sole purpose is to collect papers I want to get / download;
    • the capturing works mostly via Omni’s “clipotron“, the share sheet extension in iOS, or from within Reeder;
  • regularly, I check that project (on its review date) and get the papers. Until very recently, this involved a few steps for each paper: open the note in OF, click on the link, the relevant page would open in Safari, and I would klick on the bookmark tool that I had setup such that this webpage would open in papers. I replaced this with a very simple applescript (see code listing below)
    • make sure that I am connected to the University’s network to ensure that most papers are accessible;
    • select the perspective that focusses on the project that contains the papers I want to get;
    • select the papers that I want to get, hit a keyboard shortcut associated to the applescript in Keyboard Maestro;
    • tada! papers opens the links, tries to retrieve the pdf (which works in most of the cases) and the bibliographic information. All is left for me is to add some meta-data and read;

Below you can find a listing of the applescript code. It is fairly simple and contains only a few lines. I can see a few areas where it could be expanded (parse URL from note if it contains more stuff than just the URL; what if pdf and / or bibliographic information can not be retrieved by papers). But for most of my use cases it works remarkably well. Hence, I would well agree to John D. Cook’s line of thought that yes, it’s a bit about time being saved, and it’s also about not being derailed. It’s also about accuracy (as followed up by Dr. Drang), and about knowledge transfer and improved processes, as Mike Croucher points out.

Here’s the code snippet:

tell application "OmniFocus"
    -- Target the content of the front window
    tell content of front window

    -- get selected entries
    set theTasks to value of every selected tree

    -- loop over each selected task
    repeat with aTask in theTasks

        tell aTask
            -- extract the task name and the note
            -- note contains URL
            set theTaskName to name
            set theNote to note

            display dialog theNote

            -- open in papers; it automatically retrieves the pdf and 
            ---    the bibliographic information (mostly)
            tell application "Papers"
                open location theNote
            end tell
        end tell

    end repeat
end tell

end tell

Relevant links regarding applescript with the two main software packages used:

Written by Claus

December 30th, 2015 at 10:39 am

Posted in

Mindstorms: Playing and Learning from Mistakes

without comments

Seymour Papert lays down the foundations of his philosophy about programming and about learning in his book Mindstorms: Children, Computers, and Powerful Ideas was heavily involved with the creation of the programming language “Logo” (downloadable here). The main use of this programming language is education in general and learning to program as a side effect. It seems like no coincidence that the name of “Lego Mindstorms” is related to Papert’s book’s title, given that the ancestor of the Lego kit was programmed in Logo.

“Logo” in Python

There is a python module called “turtle” in python, that mimics the capabilities of Logo. This is what I used to create the figure below. There are many more examples online, f.ex. here. The point of turtle and Logo is to provide an interface that is easy to grasp, but that allows to build stepwise more and more complex things. I’ve seen an implementation of Tetris using turtle.

“Das Haus vom Nikolaus ” drawn with turtle in python.

Learning and Playing

One of the first points of Papert is that the modern car was not created based on an analysis of the bad things of horse-powered coaches. Rather it happened because some people played around, “experimented” is probably a nicer word. Directly related to playing is the fact that you make mistakes. Which according to him is nothing bad as long as the mistakes are recognized and fixed. Unfortunately, some people are afraid of making mistakes. Papert calls this “Mathophobie”.

In that sense, Papert argues that it is a good thing if a (young) learner is following epistemology, following two approaches

  1. take “the novel”, the things to be learned, and provide a context with something already known
  2. take “the novel”, embrace it and adopt it, and make based on it something new.

The computer, and the turtle, or any programming language offer a valuable tool for playing, because it is very easy to fix mistakes! Hence, computers and programming can take away the fear of making mistakes! This sounds like such an awesome thing, but then, debugging can be quite painful! 😉

Mistakes in Hydro-Geo-Logy

Unfortunately, I am aware of only a very limited number of reported failures in hydro-geo-logy. “The Court of Miracles of Hydrology: can failure stories contribute to hydrological science? is one example. They build on Popper instead of Papert, but go along a similar vein. And in that issue of the journal there is a list of papers that deal with hydro-geo-logical mistakes. One example are models that are “right for the wrong reasons”.


Keeping all this in mind will hopefully make me a better teacher in the coming term, but also hopefully keeps me constantly reminded to try out things, if nowhere else than in the code editors! When using Computers, I look a lot at data, process data, and analyze the results. Sometimes, it is quite astounding, it almost seems magic to me, that this entire process works. Inevitably, errors occur, and they need to be found and fixed.

Written by Claus

September 24th, 2015 at 9:51 am

Posted in

Presenting at Heterogeneity Conference in Valencia (MADE site)

without comments

I will be presenting at the AGU Chapman Conference “The MADE Challenge for Groundwater Transport in Highly Heterogeneous Aquifers: Insights from 30 Years of Modeling and Characterization at the Field Scale and Promising Future Directions” website.

Details my talk at the Chapman Conference
date Monday, October 5, 2015
time 04:00 PM – 07:00 PM
location Blue Auditorium at the Research Park, located on the campus of the Universitat Politècnica de València
title of talk “Modelling Non-Linear Spatial Dependence with Applications to MADE Hydraulic Conductivity Data”
authors Claus Haslauer, Geoff Bohling

The MADE site is one of three sites world wide, where very detailed measurements of aquifer properties and solute transport movement within these aquifers were taken. The other two sites are in Borden, Canada and Cape Cod, Massachusetts. The detail of monitoring was very fine for hydrogeologic applications, e.g. via test well installations used to sample aqueous geochemical parameters, that some people argue that those wells influence the properties of the aquifer (see Figure below).

MADESite1995 blog
The MADE site in 1995; Image by Geoff Bohling

A review of the first 25 years at the MADE site is given by

C. Zheng, M. Bianchi, and S. M. Gorelick, “Lessons Learned From 25 Years of Research at the MADE Site.,” Ground Water, vol. 49, no. 5, pp. 649–662, Sep. 2011. URL

Written by Claus

September 9th, 2015 at 10:17 am

Posted in

10 Minutes of Yoga (or Programming) Per Day

without comments

I knew it through experience. I knew it from Malcolm Gladwell’s 10,000 hour rule, stating that you need about that number of hours of practice to excel in anything. It is tough. I feel like I had a lot of those hours spent in front of the piano, and I feel like i am not much further then when I started.

In my daily work, I do a lot of programming. By now, I would say I feel mostly comfortable in python. But, I am no computer scientist, and not a developer of a programming language. I once had a roommate who wrote an operating system for a term project. So at least I feel like I can gauge the work involved. What I try to get to is this this recent tweet from one of the key ipython developers. How awesome is this?

One year of constant commits to github
One year of constant commits to GitHub by minrk.

Also interesting is that not everything is dark green. It can not be. 10 minutes of Yoga per day are better than 30 minutes once per week!


So my goal is to program from now on at least 30 minutes per working day.

I played around with various tools to help me keep track of things. I feel like I can’t commit to one repository I have some stuff on repos that I host myself on a server, some on github, some on bitbucket. “I done this” looked very promising, but then my notes sit somewhere and can’t easily access or process them. I settled for now on a simple list in OmniOutliner, which exports to OPML, and which syncs between my smartphone and my computer. I will keep you posted on how I progress!

update 2015-Sep-08:

Michael Tsai just posted on a similar issue

Written by Claus

August 21st, 2015 at 3:31 pm

Posted in

Automatically Prepare Email (Mail, OS X): Sender, Recipient, GPG Encryption Checked

without comments

Sometimes, I enjoy doing something that does not belong to my core area of expertise, at first glance. Still it is fun to figure out how something works 😉

Here is the “problem” I decided to address: – frequently, I send emails to “recipient_x_”. – The content of these messages should be encoded via pgp. I use gpg tools, which I like because their seamless integration into apple mail. Depsite this seamlessness, I have to click on a button to tell mail to encrypt the message, every time I want to send an email. Granted, I could encrypt by default, but among my typical recipients, the ones that use pgp are in the minority. And yes, I am still using apple mail, despite some interesting new kids on the block (MailMate at the forefront). I do use the add-ons mail tags and mail act on though. – I want to send this email from a particular email account

These tasks seems to be ideal for automation, I must have captured the macpowerusers bug. Typically I do most of my scripting with python. I dislike solutions that are bound to something specific like a given operating system. Despite recent discussions about the state of the mac, I don’t foresee myself to be using anything else in the near future. Hence, I started looking into automator, which has a few mail related tasks available, such as selecting the account. However, it has no way to automate gpg.

The next step was to look into applescript. I’ve looked a bit into it in the past, when I created latex based pdfs as notes for omni outliner. Generally, an applescript can be associated with a keyboard shortcut. Keyboard maestro, which I own since a little while, offers similar functionality, with improved user-friendliness. So now, when I am in mail, I just have to type cmd - opt - E, the script is executed, and I get a window as shown below. The three areas highlighted by red rectangles are adapted according to variables in the script.

Template of an email draft generated with the applescript. Fields marked with a red rectangle are filled by executing the script.

Feel free to check out my script on github.

Written by Claus

January 11th, 2015 at 6:35 pm

Posted in

AGU presentation

without comments

Next week is AGU week!

I will be taking part again this year. If you want to see me, my poster presentation is a good opportunity:

date Wednesday, 17 December 2014
time 01:40 PM – 06:00 PM noon
location Moscone West, Poster Hall
ID: H33E-0866
title of talk “Incorporating Locally Averaged Distributions Based on Categorical Land-Use Information into Point Estimation”
session Multiscale Interactions and Structures in Soil-Vegetation-Atmosphere-Systems: Monitoring, Modeling, and Data Assimilation Posters
authors Claus Haslauer, Theresia Heißerer, András Bárdossy

You can find my ePoster also online. Feel free to contact me, if you can’t make it on wednesday afternoon. I’ll also be trying to be active on twitter. Looking forward to see you all! 😉

Written by Claus

December 12th, 2014 at 6:43 pm

Posted in

Spatial Copula Workshop

without comments

A couple of weeks ago, I spent two days in Münster, at the Institute for Geoinformatics, and attented the Spatial Copula Workshop organized by Benedikt Gräler from the University of Münster and Claudia Czado, from the Chair of Mathematical Statistics at the Technical University of Munich.

Participants of the Copula workshop at the University of Münster.

The nice thing was to present to a room full of people, and everybody at least had a basic understanding and appreciation of what copulas are. This was a most welcome change! Thanks Benedikt for organizing and hosting this wonderful workshop!

Written by Claus

October 17th, 2014 at 3:23 pm

Posted in

Geology of the Lechtal

without comments

Outcrop at the Gorge of the Bernhardsbach, Ebigenalb, Lechtal, Austria
Outcrop at the Gorge of the Bernhardsbach, Ebigenalb, Lechtal, Austria

These wonderfully folded geological layers can be found directly behind the open-air theatre where “Geierwally” is played in Ebigenalb, Austria (Lechtal). Behind that theatre, the creek “Bernhardsbach” forms a george for few hundred meters, and offers this spectacular view on an outcrop. This outcrop is one of the best windows into the history of the Alps.

Field Trip

Peter Nasemann guided us this summer to glance through some of such windows on a walking tour organized by the OEAV Lechtal. Peter Nasemann has written a book on the geology of the “Lechtal” and is considered an expert on the geology of the Alps. During the walk we stopped at three spots (see map).

Map locations
Locations of site-visits during the geological field trip

1) Gravel Bed next to Klimm Brücke, Elmen

At the first stop, Peter Nasemann introduced us to local rocks and their relation into the geologic sequence (main types are set in bold, youngest one are listed on top):

  • (Aptychenkalke)
  • Radiolarit (Elmer Mutterkopf, Mittagspitze) youngest that we looked at (Jurassic), red-ish, not prone to erosion
  • three similar types:
    • Allgäu Schichten: old, middle, and young (in the sequence right after Radiolarit), all still Jurassic),
    • Lechtaler Schichten: not entirely sure about this layer anymore.
    • Kössener Schichten (Triassic; The Stablalm is located on Kössener Schichten but everywhere around in its vicinity Radiolarit can be found, which consists of black / dark clay of light grey colour, sometimes yellow chalks with many fossils. Sometimes the annual cycles of the organic material are visible. At the bottom of each layer, remnants of animals can be found that sank into the deposits. Stones of the Kössener Schichten are somewhat “mudstones”… if you place them in your garden and wait for a couple of years, they will expand due to the water added over time, and the remnants can serve as a good addition to the soil in your garden.
  • Hauptdolomit (Triassic, Klimmspitze): prone to erosion, not nice for climbing; some sections of the Hauptdolomit, predominantly dark ones (“Seefelder Schichten”) are considered building material for mineral oil, and can make blotting paper oily; these are also used for Steinöl
  • (Raibler Schichten)

Theoretically, the mesozoic sequence of the East-Alpine of the Central Alps has been summarized by Adrian Pfiffner in his book “Geologie der Alpen” (figure below).

Mesozoische Schichtreihe Ostalpins small
The mesozoic sequence of the East-Alpine of the Central Alps has been summarized by Adrian Pfiffner.

Generally, the Lechtal can be divided into dominantly Hauptdolomit in the lower valley and dominantly not-Hauptdolomit (the three similar types) in the upper valley. The divide is located near Häselgehr (Otterbach). Traditionally, the upper valley has a richer agriculture, the lower valley richer forrestry (Hauptdolomit sustains trees, but not agriculture). In fact, the richness of the diocese of Augsburg partly originated in its forests around Füssen and in the lower Lechtal (there is still a Flurbezeichnung “Füssener Wald” in the Lechtal)

The Walser were experts on agriculture, and they found the patches where the “Abtychen-Schichten” (and “Kössener Schichten”) appeared on ground surface. In the case of the Lechtal, these areas are generally higher up in the mountains. Coincidentally, the Walser came over the saddles or ridges of the mountains, not via the valleys (which one would normally think of being the connecting features).

Since we were standing on the banks of the river lech, we had a closer look on the gravel bed. It served as an excellent example for how a river builds its bed, and how the river bed gets stronger after a high flow event. Behind each stone in the river bed, sediment gets accummulated. This can form solid patches, depending on the flow rate and hence stone size at a given location.

Rocks Bottom Lech
Rocks at the bottom of the river Lech. When wet, flow direction from right to left. The deposits “behind” the larger rock are visible next to the black part of the photo bag.

2) First Bend on the Road to Bschlabs

After having been introduced to the rocks occurring in the area, based on samples from the river bed, and to the sequence of their occurrence in the geological sequence, we drove up to higher ground along the road to Bschlabs, to get an overview over the area.

Sometimes, the sequence of the rocks is not occurring according to the order of deposition described above. This can be seen at the Mittagsspitze (on the far right on the picture below), where Radiolarit is not at the top.

Lower Lech Valley
View from spot 2 along the river Lech towards north (downstream, “U-valley”). At the right edge of the valley, younger terraces can be seen.

Another example for an “inverted” sequence of rocks is the Grießtalerspitze, where Hauptdolomit lies above Radiolarit and above Aptychenkalk.

Otto Ampferer was the first to recognize that such “mixed up” sequences can occur when one layer is pushing against other layers. This phenomenon is called Überschiebung / overthrusting. This is also why the picture of the outcrop at the top of this post, is so important.

3) Gorge of the Bernhardsbach behind Geierwally Theatre

The last spot was the Gorge of the Bernhardsbach (introductory picture), which served Otto Ampferer as a basis to establish the theory of overthrusting in the 1920s (english article with interesting picture of Sölden and bautiful sketches, paper in German).

Further Information

Joachim Kuhlemann has assembled a geologcial trail in the Sulzetal, a side valley of the Lechtal. His homepage also has some further information.

Written by Claus

September 28th, 2014 at 10:47 am

Posted in

Spatial Copula Workshop at the University of Münster

without comments

Next week on monday and tuesday, there will be a spatial copula workshop, held by the fine folks at the Institute for Geoinformatics at the University of Münster. I’m looking forward to discuss copula-related issues with interesting people.

Here is some more information regarding my talk:

date: Monday, September 22nd
time: 10:00 am
location: Institute for Geoinformatics, University of Münster
title of talk: “Spatial Interpolation Using Secondary Information and Censored Measurements ”
authors: Claus Haslauer, Theresia Heißerer, András Bárdossy

Written by Claus

September 15th, 2014 at 5:33 pm

Posted in