Where have I been in 2015

Hier ein weiterer meiner Jahresrückblick 2015-Posts. Die anderen sind unter dem Tag jahresrückblick15 zu finden.

Weil das letzte Mal schon auf Englisch, hier grad wieder.


I’ve updated the RMarkdown-document of the “analysis” of my yearly Geodata a bit. Namely, I parametrized the shizzle out of it, switched to the freely available Stamen maps (based on OpenStreetMap data) and – something which I’m quite prowd of myself – implemented a function to automagically extract the name of a location based on its latitude and longitude from the GeoNames database.

The original file with the full code can be found either on GitHub or on RPubs, the result is pasted below.


Introduction

I tracked my location data with OpenPaths since the beginning of 2014.
OpenPaths comes as an application for your phone, which tracks its location, uploads it to the OpenPath servers.
You can then donate your data for scientific research and also look at the data yourself, which is what we do here.

To be able to do this, we grab a .CSV file with the location data.
Log in to OpenPaths, and click on CSV under Download my data, which gives you a comma separated list of your location data, which can then visualize with R, which is what we’ve done here.

Data

We want to plot the location points on a map, which we can do with the wonderful ggmap library.
To get the place names from the GeoNames Web Services, we need the RCurl library, to parse the output XML, we obviously need the XML library.

First, we load the data file and then remove all the datapoints where we have an altitudes of ‘0’ (which is probably a fluke in the GPS data)
Obviously, we only want to look at this years data, we thus save a subset of the dataset for further processing.

library(ggmap)
library(RCurl)
library(XML)
data <- read.csv("/Users/habi/Dev/R/openpaths_habi.csv")
data$alt[data$alt == 0] <- NA
whichyear <- 2015
thisyear <- subset(data, grepl(whichyear, data$date))

Since we’re going to use it often, we’re making a function to grab the name of a place based on its latitude and longitude.

geoname <- function(lat,lon){
  # Grab GeoNames XML from their API, according to location
  txt = getURL(paste0("http://api.geonames.org/findNearbyPostalCodes?lat=", lat, "&lng=", lon, "&username=habi", collabse = NULL), .encoding = 'UTF-8', .mapUnicode = TRUE)
  # Parse XML tree
  xmldata <- htmlTreeParse(txt, asText=TRUE)
  # Extract <name> node (with empirically found location)
  Name <- xmldata$children[[2]][[1]][[1]][[1]][[2]][[1]]
  # Since we're only using the name as string, we can return it as such
 return(unlist(Name)[[2]])
}

Then, we display a summary of the geographical points.

summary(thisyear$lat)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   45.92   46.94   47.01   47.14   47.45   50.05
summary(thisyear$lon)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   6.562   7.432   7.695   7.826   8.211   9.999
summary(thisyear$alt)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   84.85  363.10  533.00  541.90  554.20 3400.00     228

In 2015 I was in the mean somewhere close to Auswil.
I’ve lived at 541.9 m AMSL in the mean.

The .csv file also contains information about the iPhone we’ve used to collect the data.
Let’s look at these.

summary(thisyear$device)
## iPhone4,1 iPhone6,2 
##         0      8290

We see that in 2015 I have only used one phone, my iPhone 5S (iPhone6,2) and went through 9 different iOS version numbers.

summary(thisyear$os)
## 7.0.4 7.0.6   7.1 7.1.1 7.1.2   8.0 8.0.2   8.1 8.1.1 8.1.2 8.1.3   8.2 
##     0     0     0     0     0     0     0     0     0   614   933   347 
##   8.3   8.4   9.0   9.1   9.2 9.2.1 
##  1653   374  1365  1808   997   199

If we assume that I’ve tracked my location consistently, then I’ve used iOS 9.1 the longest, with 1808 saved data points.

Location data

Extremes

Interesting points in my yearly location data:

  • The minimal and maximal latitudes of 45.917 and 50.047, South and North respectively.
  • the minimal and maximal longitudes of 6.562 to 9.999, East and West respectively.
  • as well as the altitude, which ranges from 84.8 m AMSL to 3399.9 m AMSL.

We can get the extreme points out of the data pretty easily.
To do so, we subset the data depending on the value we want to have, construct a Location from these points, grab the map tile from that location, put a marker on top of it and display this is an image.

For the northmost point, this goes like so:

NLocation = c(lon=subset(thisyear, lat==max(thisyear$lat))$lon[1],
              lat=subset(thisyear, lat==max(thisyear$lat))$lat[1])
mapImage<- get_map(location= NLocation, source='stamen', maptype='toner-hybrid', zoom=10)
ggmap(mapImage) +
  geom_point(aes(x = subset(thisyear, lat==max(thisyear$lat))$lon[1],
                 y = subset(thisyear, lat==max(thisyear$lat))$lat[1]),
             alpha = .125,
             color="darkred",
             size = 10) +
  ggtitle(paste("Northmost point in", whichyear))

North

The northmost point in 2015 is in Kiedrich, which is true.
Even though I’ve not been in Kiedrich exactly, my mobile phone was probably connected to a tower there.
I spent two days in Ingelheim in January, at the International Masters competition in Swimming, which is close by.

The rest of the extremes can be extracted accordingly.

East

The most eastern point was in the Rehmen, during the first vacation with our (then) newborn daughter in the Bregenzer Wald.

South

The most southern point was in Breuil, while skiing in Zermatt.

West

The most western point was in St-Sulpice VD, during a meeting at the EPFL in Lausanne for working on the GlobalDiagnostiX project.

High

The highest point in 2015 at 3399.9 m AMSL was close to Zermatt on the Furgsattel.

Low

The lowest point at 84.8 m AMSL was in Gau-Algesheim, close to Ingelheim.

Where was I in Switzerland?

To plot the obtained data on a map, we have to center the resulting map location.
Since I only want to show the data points in Switzerland, we center the map on that.
Afterwards, we can simply plot all the thisyear geolocation points on top of that image, and you can see where I was in Switzerland in 2015.

HomeBase <- get_map(location= 'Switzerland', source = 'stamen', maptype='toner-hybrid', zoom=8)
AllPoints <- data.frame(lon=thisyear$lon, lat=thisyear$lat)
ggmap(HomeBase) + geom_point(aes(x = lon, y = lat),
                             data = AllPoints,
                             size = 3,
                             alpha = 0.125,
                             color="darkred") +
    ggtitle(paste("Where was Habi in Switzerland in", whichyear))

Switzerland

Der Rückblick auf mich selbst im 2015

Hier ein weiterer meiner Jahresrückblick 2015-Posts. Die anderen sind unter dem Tag jahresrückblick15 zu finden.

Wie im 2014 habe ich mit der Everyday App praktisch jeden Tag ein Selfie von mir gemacht. Mit minimalsten Anpassungen hab’ ich das Skript von leztem Jahr über meine 338 Selfies laufen lassen. Zusammengesetzt mit der Zeitraffer-App kommt schlussendlich dieses Video hier raus.

Knapp die Hälfte der Tage dachte ich daran beim Arbeitsschluss im Treppenhaus ein Foto zu machen [2]. Dadurch ist der Hintergrund und die Beleuchtung in diesen Bildern etwas konstanter, was das Ganze etwas schöner zum anschauen macht.

So seh’ ich aus, wenn mensch den Durchschnitt aus allen 338 ausgerichteten Bildern macht. Mein durchschnittliches Gesicht im 2015.

Habis average face for 2015

[1]: Oder war auswärts am arbeiten. Oder nicht am arbeiten.

2015 in Fotos

Wie letzes Jahr versuche ich wieder ein-zwei-drei Rückblicke auf mein letztes Jahr zu machen. Die gesammelten Posts dazu werden unter dem Tag jahresrückblick15 gesammelt.

Hier ein Jahresrückblick in Fotos. Aus offensichtlichen Gründen ist meine Fotobibliothek in den letzten Monaten etwas monothematisch geworden; trotzdem sind ein auch genug andere schöne Momente zusammegekommen.

Das allererste GlobalDiagnostiX-Bild
Januar: Das allererste Röntgenbild mit dem GlobalDiagnostiX-System, ein schöner Moment.

Der Fotomat auf dem Rellerli
Februar: Den Fotomat für unsere Hochzeit zu mieten war eine der vielen guten Entscheidungen für diesen Tag. Die gut 1000 Fotos die entstanden sind, sind eine wunderbare Erinnerung.

Ufem Gurte
März: Aline ist da, wir geniessen die Sonne.

Wieder ins Büro
April: Der Vaterschafts-Urlaub ist vorbei, wenigstens scheint die Sonne auf dem Weg ins Büro.

Bregenzer Wald
Mai: Zum ersten Mal im Ausland mit Aline. Im wunderhübschen Bregenzer Wald.

Am Bielersee
Juni: Ein super-schöner Tag mit Sommerfest am Bielersee geht mit einem ebenso super-schönen Sonnenuntergang zu Ende.

Lej da Silvaplauna
Juli: Die Ferien im Graubünden waren super, bis auf den letzten Abend. Das gehört aber nicht hierhin.

Räzlialp
August: Ich mach’ das Hochzeitsgeschenk für Freunde. An ihrem wunderbaren Hochzeitsfest auf der Räzlialp.

Muotathal
September: Hab’ ich euch schon mal erzählt wie super meine Frau ist? Sie ist nämlich bei solchen Ideen dabei. Mit einem Lächeln im Gesicht. Auch noch nach einer kühlen Abfahrt vom Pragel-Pass ins Muotathal.

Nebelmeer
Oktober: Das Nebelmeer über dem Thunersee ist grandios. Die Wanderung vom Niederhorn runter geht übrigens auch mit dem Kinderwagen (auch wenn dieser zwischendurch getragen werden muss).

Horu
November: Die Skisaison ist eröffnet, wie immer im Penthouse des Haus Theodul. Mersi Mike für die Organisation.

Wo bleibt der Winter?
Dezember: Ein verspäteter Herbsttag mit warmem Licht im Könizbergwald.

PS: Habt ihr die Jahresrückblicke von Mark, Jan und Herr Blum auch gesehen?

Making of: Neujahrskärtli 2016

Wie letztes Jahr, für die, die’s wunder nimmt. Das Making Of meines Neujahrskärtlis.

Zutaten:

  • Eine Kalender-Erinnerung alle drei Monate (März, Juni, September und Dezember)
  • Die Dame (im März), die Damen (in den anderen Monaten)
  • Der Kocherpark
  • Das Stativ mit Panoramakopf und Kamera

Mise ein place:

  • Alle drei Monate ein 360×180°-Panorama aufnehmen, mit so ca. 30-40 Fotos.
  • Auf der Festplatte gut aufgehen lassen.

Zubereitung:

  • Alle 4 Panoramas mit hugin gleichzeitig ausrichten. Das dauert eine Weile, weil’s 10000 Kontrollpunkte gibt.
  • Daraus 4 einzelne Panoramen rechnen lassen, je eins für März, Juni, September und Dezember.
  • Mit Pixelmator aus 4 Ebenen ein Foto mit vier Regionen machen.
    Neujahrskarte, layered
  • Dieses Bild zu einem kleinen Planeten umrechnen.
  • Mit Pixelmator noch chli Text drufpfriemle.
  • Bei ifolor als Karte bestellen, beschriften.
  • Einen Teil per Post verschicken und den Rest vervelölen.

Äbe, es guets Nöis!

Neujahrskarte, final

PS: Wer in das Panorama eintauchen will, kann das unten tun. Und wie immer, Aline hat schon ein Gesicht, einfach nicht überall im Internet :)

Nebelmeer aufm Gurten

Am Wochenende war die grosse Dame am Skifahren, also hab’ ich mir mit der kleinen Dame zwei schöne Tage gemacht. Als ich am Sonntag morgen aufgestanden bin, war’s gar nicht schön, im Radio wurde aber um 09:00 erwähnt, dass die Nebel-Obergrenze auf 600 m ü. M. liegt. Also spazierten die Kleine und ich zur Gurtenbahn und verbrachten den halben Tag über der Nebelgrenze an der Sonne.

Dabei rausgekommen ist unten eingebundenes Video und diese paar Fotos.

PS: Hätte ich gestern Abend schon von Jukedeck gelesen, hätte ich das Video nicht mit dem Song Mist and Clouds unterlegt, sondern mit Dalston Memories, einem soeben algorithmisch generierten 75 Sekunden langen uplifting electronic Song.

Digitale Archivare

Die Jungs und Mädels vom Internet-Archiv speichern das Internet [1]. Diejenigen vom Archiveteam versuchen, Webseiten zu retten, bevor die abgeschaltet werden [2]. Diejenigen der Bibliothek von Alexandria versuchen, von jedem Buch, das je erschienen ist, ein Exemplar zu retten.

Eine tolle, knapp 50 Minuten lange Dokumentation, über die Idealisten und Spinner, die versuchen digitale Geschichte und Bücher zu erhalten.

[1]: Seit 2003 auch eine Kopie meiner Seite, aufzufinden in der Wayback Machine. Einer der Gründe, wieso ich 1$ pro Monat ans Internet-Archiv spende.
[2]: Wenn du da mit einem eigenen Archivteam-Warrior mithilfst und auf der Highscore-Liste einen ‘Habi’ siehst, weisst du wer das ist…

Nationalratswahlen 2015

Wie alle paar Jahre war es am Wochenende wieder mal soweit, die Wahlzettel auszufüllen. Wie die vergangenen Male habe ich die Hilfe von smartvote in Anspruch genommen, um mir bei der Auswahl meiner Repräsentanten im Bundeshaus zu helfen.

Nach 70 beantworteten Fragen wurde mir empfohlen, die Liste 4 der SP Männer einzuwerfen, mit einer Übereinstimmung von 68,2%.

Im Ständerat sollen mich Hans Stöckli mit 66.0% und Christine Häsler mit 57.5% vertreten.

Interessant ist wie immer die Zusammenstellung meiner politischen “Entwicklung”. Da ich schon einige Male über die smartvote-Platform geschrieben haben und auch immer meinen sog. SmartSpider festhalte kann mensch gut sehen, wie sich mein politisches Profil über die Jahre verändert.

SmartSpider 2004--2015

Laut den SmartSpidern wünsche ich mir etwas weniger ausgebauter Sozialstaat und Umweltschutz, was ich aber persönlich nicht so erlebe…

Das Ganze bis hier hin tönt noch nicht so überraschend. Beim Anschauen des smartvote-Endresultates war ich dann doch etwas überrascht; Erich Hess, der bisher immer den allerletzen Platz auf meiner Wunschliste belegt hat, wurde entweder altersmilde oder von zwei Jungen RechtenRecken rechts überholt. Er landet nur noch auf dem drittletzten Platz…

Die Schlussränge

Zombies davonrennen!

Zwischendurch mach ich am Mittag oder Abend eine Joggingrunde. Vor allem gegen Abend wurde es in letzter Zeit ziemlich gruselig. Nicht, weil’s langsam eindunkelt, sondern weil ich beim Joggen ab und an vor Zombies davonrennen muss.

Bei meinen Joggingrunden begleitet mich die App Zombies, run!. Dadurch sind die Joggingrunden begleitet von einer spannenden post-apokalyptischen Geschichte, die sich über mehrere sogenannten Missionen hinzieht.

Die App kostete mal einen kleinen Betrag, seit einiger Zeit ist sie kostenlos zu haben und deshalb umso mehr zu empfehlen. Mit dem sogenannten Zombie Link werden die erfolgreich absolvierten Missionen zu RunKeeper weitergeleitet, so dass ein dort bestehender Account nicht leer ausgeht [1]

Wer ab und an eine Jogging-Runde dreht, einer Zombie-Geschichte nicht abgeneigt ist und zwischendurch einen Sprint einlegen will (wenn die Zombies) angreifen, dem sei die App empfohlen, es macht ziemlich Spass. Und ist auch spannend, wie sich die Geschichte entwickelt…

[1]: Dank ein paar Franken, die ich bei tapiriik “investiert” habe, landen alle Aktivitäten auch auf anderen Fitness-Plattformen.

Das LikeMag kann’s nicht so mit Copyright

Ich bin eigentlich resistent gegen Click-Bait, aber die Links, die Mark vertwittert, schau ich mir amigs schon an. Letzhin hat er einen Link auf das LikeMag geteilt.

Hihi, lustig. Dachte ich zuerst, als ich die ironische Liste anschaute. Als ich dann etwas weiter nach unten scrollte, sah ich ein mir bekanntes Bild unter Nummer 9. Ich konnte mich dann nicht wehren, dem LikeMag ein Mail zu schreiben, in dem ich nett um ein Honorar für das unerlaubt verwendete Foto bat. Das Bild hätten sie verwenden können, wenn sie die in der CC-Lizenz geforderte Namensnennung gemacht hätten.

Ich war dann ehrlich gesagt erstaunt, als ich am folgenden Tag eine Antwort erhielt. Die Assistentin COO teilte mir mit, dass dies ein Versehen war und dass der Betrag von 150.- an die Buchhaltung weitergeleitet wurde.

Auf meine Nachfrage wegen Versehen schrieb mir die Assistentin wiederum, dass sie sich da

da ganz auf die Aussage meiner Mitarbeiter

verlasse und sich für das Versehen entschuldige. Ich fand das doch etwas weit aus dem Fenster gelehnt und konnte es nicht lassen, mit der Google Bildersuche etwas nachzuforschen. Nach kürzerer Zeit kam ich für die 12 Fotos im Listicle auf folgendes Resultat; Mindestens 10 der 12 Bilder wurden nicht korrekt verwendet.

Auf meinen Hinweis darauf ist das vielleicht ist das der Grund, wieso der Artikel jetzt nicht mehr online ist…

  1. Das Bundeshaus ist das dritte Bild im Header auf der offiziellen Bern-Seite.
  2. Das Foto vom Café des Pyrénées kommt von der Bern Süd-Infoseite.
  3. Die Kramgasse, mit Copyright-Zeichen auf der Seite.
  4. Die schöne Luftaufnahme von Bern stammt von der Wikipedia und ist in der sog. Public Domain, dieses Bild darf also ohne Weiteres so verwendet werden.
  5. Die älteste Veröffentlichung des Bundeshaus-Bildes von der Monbijou-Brücke aus fand ich auf dem Bern und Umgebung Blog.
  6. Die Gummiböötler tauchen in einem Blog-Eintrag der Berner Zeitung (oder auch beim Bund) auf.
  7. Das Foto aus der Kramgasse wurde auf der Wikipedia unter einer Namens-Nennungs-CC-Lizenz veröffentlicht.
  8. Die Zytglogge kommt von hier. Unklar, ob von dieser Webseite selber, oder ob diese das Bild auch geklaut hat.
  9. Von mir, da sprachen wir darüber
  10. Bild 7 im Karussell. Wahrscheinlich mit Copyright.
  11. Die Kornhausbrücke. Von Wikipedia unter einer Unter einer Namens-Nennungs-CC-Lizenz
  12. Die Gurtenbahn hat Swiss-Image-Fotograf Terence du Fresne fotografiert. Swiss-Image-Bilder dürfen nur mit Erwähnung der Agentur honorarfrei abgedruckt werden.

Fazit 1: Das LikeMag kann man nicht nur doof finden, sondern sollte es wahrscheinlich auch.
Fazit 2: Die Google-Bildersuche ist sehr, sehr gut.

update: Hier noch ein Screenshot der Seite.

Aline

In ein paar der letzten Posts waren zwischendurch Hinweise gestreut, wem’s bis jetzt noch nicht klar wurde: vor genau zwei Monaten bin ich Vater geworden.
Am 16. März 2015 hat Nina am Morgen um 07:49 unsere gesunde Tochter Aline auf die Welt gebracht, die Freude ist riesengross.

Während der Schwangerschaft hab’ ich alle paar Wochen den Fotoapparat gezückt und eine Idee umgesetzt, die Patrice Laroche vor mir gehabt hat; nämlich How to make a baby with an air pump.

Mit einem Stativ im Wohnzimmer, der Sofortbild-App und meiner Kamera hab’ ich ein paar Bilder geschossen.
Da die Bilder nicht immer genau gleich ausgerichtet waren, hab’ ich die paar Fotos mit hugin ausgerichtet, und etwas beschnitten.
Mit einem minimal bearbeiteten, frei zur Verfügung stehenden Clipart, etwas Handarbeit in ImageJ und einem kurzen ImageMagick-Umweg1 entsteht aus den Bildern ein animiertes Gif, welches unten eingebunden ist: Aline in 9 Monaten und Bildern.

Wer die einzelnen Bilder etwas genauer anschauen will, findet nebst dem Gif-Filmli unten auch noch die einzelnen Bilder als Filmstreifen.

AlineMontage

Aline, herzlichst willkommen bei uns.
Wir freuen uns wahnsinnig!


  1. convert -delay 75 -scale 800x800 aligned* out.gif

     

GlobalDiagnostiX

Seit gut zwei Jahren arbeite ich im Rahmen meiner PostDoc-Stelle in der Röntgen-Tomographie-Gruppe am GlobalDiagnostiX-Projekt mit.

Eine Gruppe von mittlerweilen 40 Personen aus jeglichen Fachrichtungen will versuchen, das Problem der medizinischen Bildgebung in Entwicklungsländern zu lösen. Es ist nämlich so, dass zwei Drittel der Menschheit keinen Zugang zu medizinischer Bildgebung haben, sei es Röntgen oder Ultraschall. Genau solche Untersuchungsmethoden sind wichtig, um korrekte diagnostische Entscheide zu treffen.

Die GlobalDiagnostiX-Allianz hat sich zum Ziel gesetzt, dieses Problem zu lösen und entwickelt und baut ein medizinisches Röntgengerät, welches an die Bedingungen in Entwicklungsländern (Klima, Stromversorgung, Kaufkraft) angepasst ist. Das Gerät soll standard-konforme digitale Röntgenbilder liefern und in Spitälern helfen, Patienten besser zu betreuen als dies heute möglich ist.

Der Detektor des Systems ist das Puzzle-Teil des Systems, zu welchem ich beigetragen habe. Weil klassische Film-Röntgenbilder veraltet sind und heutzutage verwendete Flat panel Detektoren zu teuer und fehleranfällig sind, um in diesen Regionen sicher eingesetzt zu werden, haben wir versucht, die Röntgenstrahlen nach dem Patienten mit einfachen Mitteln in ein digitales Röntgenbild umzuwandeln.

Einfach gesprochen werden die Röntgenstrahlen nach dem Patienten oder der Patientin von einer aktiven Schicht in sichtbares Licht umgewandelt, welches von einem kleinen Haufen Kameras abfotografiert wird. Nach ausgiebiger Vorarbeit und einer Testphase habe ich zusammen mit einem Master-Studenten verschiedenste Komponenten evaluiert und im Rahmen der gegebenen Spezifikationen die beste Zusammenstellung aus aktiver Schicht, Linsen und Fotoapparaten (um bei der einfachen Sprache zu bleiben) bestimmt. Ein Elektroniker der Fachhochschule Yverdon hat uns die Ideen so implementiert, dass selbst ich als Physiker einfach mit den einzelnen Kameras arbeiten konnte. All das zusammengesetzt in einer Kiste (um bei der einfachen Sprache zu bleiben) die eine Master-Studentin aus Lausanne gebaut hat ist dann schlussendlich eines der Puzzleteile, welches zusammen ein Röntgengerät werden. Dieses Röntgengerät haben wir Ende letztes Jahr zusammengebaut, getestet und am 15. Januar damit das erste Röntgenbild gemacht.

Das Ganze sieht dann im Imagefilm der EPFL so aus:

Nach ausgiebigen Tests, einigen Umbauten und vielen neuen Dingen auf unserer ToDo-Liste war’s dann gestern soweit; die Allianz hat das System mit einem Event an der EPFL präsentiert. Das Medienecho ist eine schöne Bestätigung unserer Arbeit; Das Schweizer Fernsehen hat darüber berichtet, Keystone-Fotografen waren da, heute las’ ich im Bund eine Notiz darüber auf der Wissens-Seite, die EPFL hat auf ihrer Startseite Informationen zum Projekt aufgeschaltet.

Ich muss gestehen, es macht mich ziemlich stolz, wenn der Aufhänger des unten eingebundenen RTS-Beitrages (ca. nach 10 Sekunden) etwas ist, an dem ich in den letzten Wochen gearbeitet habe.

Wer genau zuschaut, kann auch sehen, wie ich im Beitrag meinem Scheff die Details der FlatField-Korrektur und dem Zusammensetzen der digitalen Mosaikbilder erläutere, nach ca. 40 Sekunden.

Genau so stolz bin ich, dass wir alle, die an diesem Projekt mitgearbeitet haben, diesen Meilenstein erreicht haben.

Und jetzt; “back to the lab!“, es gibt noch viel zu tun!