vmx

the blllog.

Printing panics in Rust

2017-12-05 22:35

This blog post is not about about dealing with normal runtime errors, you should really use the Result Type for that. This is about the case where some component might panic, but that shouldn’t bring the whole system to halt.

I was debugging some issue in the Node.js binding for Noise. It is using the noise_search crate which might panic if there’s an unrecoverable error. Though the Node.js binding should of course not crash, but handle it in a more graceful way. Hence it is catching the panics.

The existing code was only printing that there was some panic, but it didn’t contain the actual cause. I wanted to improve that.

I thought it would be easy and I could just print the debug version of the panic. So I changed the println!() to:

println!("panic happend: {:?}", result)

But that resulted only in a:

panic happened: Err(Any)

Which isn’t really that meaningful either. In the documentation about catch_unwind I read

…and will return Err(cause) if the closure panics. The cause returned is the object with which panic was originally invoked.

I didn’t really understand what this meant. Is the object that invokes the panic the function where the panic happens? I wanted the text I was putting into the panic!() call.

Thanks to rkruppe on IRC I learnt that panic!() can take any object, not just strings. Now the documentation made sense. He also mentioned that I can downcast Any if I know that type. As I always only use strings for panics that was easy:

if let Err(panic) = result {
    match panic.downcast::<String>() {
        Ok(panic_msg) => {
            println!("panic happened: {}", panic_msg);
        }
        Err(_) => {
            println!("panic happened: unknown type.");
        }
    }
}

If you want to play a bit around with it, I’ve created a minimal example for the Rust Playground. Happy panicking!

Categories: en, Noise, Rust

Possible future direction for Noise

2017-10-06 22:35

I've applied for a grant from the Prototypefund to get some funding for Noise. It was a great opportunity to put some thoughts into which direction I might go with Noise. I've already posted my application in German, but I figured out it might also be interesting for a bigger audience. Hence here's the translated version of it.

On which open source project have you've worked before

What's the relation to main focus of the third round?

Note: The third round is about diversity.

Noise enables people that aren't computer experts to do data analysis. In my experience such analysis so far has been the privilege of a small group of people – developers – that know how to deal with raw data. Shouldn't the analysis of data be opened to a broader community? For example to people that have basic coding skills, but that don't have a deeper understanding how databases work, or how to administrate them. For those it should be easily possible to put the data into the environment they know and to get immediately started with the analysis.

Which social issues do you want to fix with your project?

Thanks to the open data movement there's a democratisation in data world happening. This has huge potential for freer formation of opinions and more self-determination. Statements and facts can get reproduced and verified. This potential must be exhausted in a broader way. Having the data available is not enough. The challenge is creating software solutions that makes such data analysis more accessible.

How do you want to implement your project?

Noise is a library written in Rust for searching and analysing JSON data. There's already a first working version. On the lowest level it's using Facebook's key-value store RocksDB, which was modified to support spatial queries.

There will be a C-API to integrate with other programming/scripting languages. Then it would also be possible to use it as a backend/driver for projects like GDAL or R. Integrating with programming/scripting languages doesn't stop with the API. Most languages have a full ecosystem including a package manager. Therefore it's important that Noise can be installed through those native mechanisms. This lowers the bar to get started. It already works for Node.js via “npm install noise-search”.

Which similar existing solutions are there and how is your project better?

Apache Lucene is a library for full text search. As it's pretty low-level it mostly isn't used directly, but together with Elasticsearch/Apache Solr. Noise is on a higher level than Apache Lucene and works with JSON. The processing/analysis is done with a simple query language.

Who is the target audience and how will your tool get a hold of them?

The target audience are people with basic programming knowledge. This could be scientists that want to do analysis for their empiric studies. Or it could be citizens from the civil society that want to do some fact-finding. With the integration into several programming/scripting languages, Noise is just another dependency/library and can easily be found and installed with the corresponding package manager.

Have you already worked on this idea? If yes, describe the current state and the future advances

The first version already supports basic full text search and it's also possible to query for numeric ranges and spatial queries on geodata (GeoJSON). The next steps are making the system more robust and to add additional interfaces. There could e.g. be a Python API in addition to the already existing Node.js one. Also there should be small projects doing some analysis to demonstrate the possibilities of Noise. Those can then be documented as tutorials for lowering the bar to get started even further.

Do a quick sketch of the most important milestones that you want to achieve during the period of funding

Note: The period of funding is 6 months.

  • C-API: Change the current Nodejs.API which is using Rust directly to a clean C-API
  • Python API: Deep integration as the Node.js one to get an easy installation through the package manager
  • More examples/documentation: Do small demo projects which are documented as tutorials to make the concepts of Noise more accessible
  • Internal improvements: The tightly coupled query parser needs to be refactored, i.a. for better error messages
  • Benchmarks: Benchmarks should prevent regressions and make Noise being able to be compared to other systems

Categories: en, Noise, funding

Bewerbung bei Prototypefund

2017-10-02 22:35

Update 2017-10-06: There's also an English translation of this blog post now.

Ich habe mich für die dritte Runde des Prototypefund mit Noise beworben (vielen Dank an alle die Korrektur gelesen haben). Nachdem Jon seine Bewerbung mit Transforlabs veröffentlicht hat, will ich diesem Beispiel folgen und meine auch online stellen. Zudem bin ich Transparenz-Fan und natürlich auch neugierig was andere so geschrieben haben. Und obendrein gibt es noch eine Idee wohin die Reise mit Noise gehen könnte.

An welchen Open-Source-Projekten hast Du bisher gearbeitet?

Wie bezieht sich Dein Projekt auf den Themenschwerpunkt der 3. Runde?

Noise bietet Menschen die keine Computexpert_innen sind, die Möglichkeit selbst Datenanalysen durchzuführen. Meiner Erfahrung nach ist dies bisher meist einer kleinen Gruppe vorbehalten – Entwickler_innen – die wissen, wie sie mit Rohdaten umzugehen haben. Sollte man nicht die Auswertung der Datenschätze einer größeren Benutzergruppe eröffnen? Zum Beipiel Personen, die sich Grundkenntnisse im Programmieren angeeignet haben, denen aber tiefergehende Kenntnisse über die Funktionsweise oder Administration von Datenbanken fehlen. Für all jene sollte es möglich sein, die Daten ganz einfach innerhalb ihrer gewohnten Umgebung einzuspielen, um anschließend direkt mit der Analyse beginnen zu können.

Welches gesellschaftliche Problem willst Du mit Deinem Projekt lösen?

Durch die Open-Data Bewegung findet eine Demokratisierung der Datenwelt statt. Diese bietet großes Potential für freiere Meinungsbildung und mehr Selbstbestimmtheit. Aussagen und Fakten können direkt nachvollzogen und verifiziert werden. Allerdings muss dieses Potential noch besser ausgeschöpft werden. Das alleinige vorhanden sein der Daten reicht dafür nicht aus. Eine zentrale Herausforderung besteht darin Softwarelösungen zu schaffen, um die Analyse der Daten zugänglicher zu gestalten.

Wie willst Du Dein Projekt technisch umsetzen?

Noise ist eine in Rust geschriebene Bibliothek zum Durchsuchen und Analysieren von Daten im JSON-Format. Es gibt schon eine erste funktionsfähige Version. Die unterste Ebene des Systems bildet Facebooks Key-Value-Store RocksDB, das angepasst wurde, um räumliche Anfragen zu unterstützen. Grundlage für die Integration mit anderen Programmier-/Scriptsprachen bildet eine C-API. Damit wäre es auch denkbar, Noise als Backend/Treiber für Projekte wie GDAL oder R zu nutzen. Das Zusammenspiel mit Programmier-/Scriptsprachen hört aber nicht bei der API auf. Mittlerweile haben die meisten Sprachen ein ganzes Ökosystem mit einem Paketmanager. Daher ist es wichtig, dass Noise über die nativen Installationsmechanismen der jeweiligen Umgebung installiert werden kann. Dadurch wird auch der Einstieg erleichtert. Bei Node.js funktioniert dies bereits per "npm install noise-search".

Welche ähnlichen Lösungen gibt es schon, und was wird Dein Projekt anders bzw. besser machen?

Apache Lucene ist eine Bibliothek zur Volltext-Suche. Da sie sehr low-level ist, wird sie meist nicht direkt, sondern in Verbindung mit Elasticsearch/Apache Solr verwendet. Noise befindet sich im Gegensatz zu Apache Lucene auf einer höheren Ebene und arbeitet mit Daten im JSON Format, deren Verarbeitung/Analyse mit Hilfe einer einfachen Querysprache stattfindet.

Wer ist die Zielgruppe, und wie soll Dein Tool sie erreichen?

Die Zielgruppe sind Personen mit Grundkenntnissen im Programmieren. Dies können zum einen Wissenschaftler_innen sein, die Analysen für ihre empirischen Studien machen. Zum anderen aber auch Bürger_innen der Zivilgesellschaft, die einen Sachverhalt genauer unter die Lupe nehmen wollen. Durch die Integration in verschiedene Programmier-/Scriptsprachen ist Noise dort nur eine weitere Abhängigkeit/Bibliothek und somit sehr leicht über die jeweiligen Paketmanager aufzufinden und zu installieren.

Hast Du schon an der Idee gearbeitet? Wenn ja, beschreibe kurz den aktuellen Stand und erkläre die Neuerung.

Die erste Version unterstützt bereits grundlegende Volltext-Suche, zudem können Zahlbereichsanfragen und räumliche Anfragen auf Geodaten (GeoJSON) gemacht werden. Die nächsten Schritte bestehen darin, das System robuster zu machen und weitere Schnittstellen zu schaffen. Der bereits bestehenden Node.js API könnte beispielsweise eine für Python folgen. Auch sollen kleine Analyseprojekte durchgeführt werden, um die Fähigkeiten von Noise zu demonstrieren. Diese können dann in Form von Tutorials aufgearbeitet werden und dadurch den Einstieg wiederum erleichtern.

Skizziere kurz die wichtigsten Meilensteine, die Du im Förderzeitraum umsetzen willst.

  • C-API: Umwandlung der bisherigen Node.js API, die auf Rust aufsetzt, in eine saubere C-API.
  • Python API: Tiefgreifende Integration wie bei der Node.js API, um eine einfache Installation per Paketmanager zu ermöglichen.
  • Mehr Beispiele/Dokumentation: Kleine Beispielprojekte, die in Form von Tutorials dokumentiert werden, um die Konzepte von Noise zugänglicher zu machen.
  • Interne Verbesserungen: Der sehr eng mit dem Rest des Systems verbundene Query-Parser soll entflochten werden, u. a. für bessere Fehlermeldungen.
  • Benchmarks: Benchmarks sollen Regressionen verhindern und eine Möglichkeit bieten, Noise mit anderen Systemen zu vergleichen.

Categories: de, Noise, funding

Introducing Noise

2017-09-19 22:35

I meant to write this blog post for quite some time. It's my view on the new project I'm working on called Noise. I work together with Damien Katz on it full-time for already about a year now. Damien already blogged a bit about the incarnation of Noise.

I can't recall when Damien first told me about the idea, but I surely remember one meeting we had at Couchbase, were plenty of developers were packed in a small room in the Couchbase Mountain View office. Damien was presenting his idea on how flexible JSON indexing should work. It was based on an idea that came up a long time ago at IBM (see Damien's blog post for more information).

Then the years passed without this project actually happening. I've heard again about it when I was visiting Damien while I was in the Bay Area. He told me about his plan actually doing this for real. If I would join early i would become a founder of the project. It wasn't a light-hearted decision, but I eventually decided to leave Couchbase to work full-time on Noise.

Originally Damien created a prototype in C++. But as I was really convinced that Rust is the future for systems programming and databases, I started to port it to Rust before I visited him in the US. Although Damien was skeptical at first, he at least wanted to give it a try and during my stay I convinced him that Rust is the way to go.

Damien did the hard parts on the core of Noise and the Node.js bindings. I mostly spent my time getting an R-tree working on top of RocksDB. It took several attempts, but I think finally I found a good solution. Currently it's a special purpose implementation for Noise, but it could easily be made more generic, or adapted to other specific use cases. If you have such needs, please let me know. At this year's Global FOSS4G conference I presented Noise and its spatial capabilities to a wider audience. I'm happy with the feedback I got. People especially seem to enjoy the query language we came up with.

So now we have a working version which does indexing and has many query features. You can try out Noise online. There's also basic geospatial bounding box query support, which I'll blog more about once I've cleaned up the coded-in-rush-for-a-conference mess and have merged into the master branch.

There are exciting times ahead as now it's time to get some funding for the project. Damien and I don't want to do the venture capital based startup kind of thing, but rather try to find funding through other channels. This will also define the next steps. Noise is a library so it can be the basis for a scaled up distributed system, and/or to scale down into a nice small analytics system that you can run on your local hardware when you don't have access to the cloud.

So in case you read this, tried it out and think that this is exactly what you've been looking for, please tell me about your use case and perhaps you even want to help funding this project.

Categories: en, Noise, RocksDB, Rust, geo

Distributed systems class with Aphyr

2017-09-14 22:35

I was in luck. Nuno Job organized a distributed systems class for his YLD crowd and invited friends over to join. The class was thought by Kyle Kingsbury (Aphyr) who is probably best known for Jepsen. I obviously couldn't say no to such an offer.

I really enjoyed it. Although I've been working on a distributed system for the most of my career, it was good to get a general overview of distributed systems from ground up. There is obviously more than just databases or what you learn at university.

We touched many topics, real world stories were told. Kyle did a great job, leading seamlessly from one topic to the other. He really knows what he's talking about, is funny and makes it an overall great experience. You find the contents of the class on Github, but you really want to have Kyle teaching it to you.

New things I've learned about

So there was something to learn for everyone. Here's a few things that I need to dig into deeper:

Categories: en

FOSS4G 2017

2017-09-01 22:35

The Global FOSS4G 2017 conference was a great experience as every year. Meeting all those people you know already for years, but also those you’ve so far met only virtually.

The talks

The program committee did a great job with the selection. Especially since there were so many to select from. Here are the most memorable talks:

  • “Optimizing Spatiotemporal Analysis Using Multidimensional Indexing with GeoWave” by Richard Fecher: The talked also touched the technical details on how they solve building a multidimensional index on top of distributed key-value stores. Currently they support Apache Accumulo, Apache HBase and Google’s Bigtable, but in theory they could also support any distributed key-value store, hence also [Apache CouchDB](http://couchdb.apache.org/ or Couchbase. I really enjoyed the technical depth and that it is based on solid research and evaluations.

  • “DIY mapping with drones and open source in a humanitarian context” by Dan Joseph: It was really nice to see that not everyone is using quadcopters for drone mapping, but that there’s also fixed-wing drones (they look like planes). It gave good details about failures and success. I wish good look with future models and the mapping itself.

  • “GPUs & Their Role in Geovisualization” by Todd Mostak: GPUs are now so powerful that you can do your multidimensional queries on points with doing table scans. That’s quite impressive. It’s also good to see that the core of MapD got open sourced under the Apache License 2.0.

Sadly I’ve missed two talks I wanted to see. One was [Steven Ottens](https://twitter.com/stvno_ speaking about “D3.js in postgres with plv8 V8/JavaScript”. It sounds daunting at first, but if you think about the numerous JavaScript libraries for geo processing that are out there, it makes sense for rapid prototyping.

The other one was Steven Feldman’s talk on “Fake Maps”. I always enjoy Steven’s talks as he digs into maps as much as I’d love to, but sadly don’t take the time to. Though he said that once the recording of the talk is out, I should grab a beer and enjoy watching it. I’m looking forward to do so.

My own talk went really well. Originally I thought being on the last slot on Friday — the last conference day — is bad, as people don’t have my time to approach you after the talk. But in the end it was actually good as I had several days to promote it to people who are interested. I loved that I was in the smallest room of the venue, hence it was packed. I’ll write more about the talk once I’ve cleaned up the code and pushed it to the master branch, so that you can all play with the spatial features yourself.

The keynotes

This year there were 5 keynotes, which I think is a good number. You always need to keep in mind that depending on the length, you might kick out 10–20 normal speaker slots. I enjoyed all of them, although in my opinion, for most of them 30 mins (instead of 45 mins) would’ve been sufficient. But I have to admit that I could probably see Paul Ramsey talking for hours and it would still be great.

Of course one keynote — the one from Richard Stallman — stood out. It surely lead to lively discussion within the community, which is really a great thing. I share the opinion of Jeff McKenna that I really respect what Stallman did and is doing and how much he is into it. Though it came clear to me that I am an Open Source developer who cares about openness and transparency.

The venue

The venue was a typical conference center, which had the benefit that the rooms were close together. This made switching rooms even within slots easily possible.

One thing I didn’t like was the air conditioning. Some rooms were cooled down way to much. Did anyone measure? I know, it’s a cultural thing and not the fault of the organizers. Though I wonder how much energy and money could’ve been saved when the temperature would’ve been lowered to an acceptable level only.

Sometimes there are discussions about the location of the OSGeo booth within the exhibition area. I think this year it was in a good spot. It wasn’t at the most prestigious place, that’s for Diamond sponsors. But at a spot where people actually gather/hang out, that’s a way better fit in my opinion.

The social events

The social events were nice and I was happy that I was able to bring in a well known and liked former community member into the icebreaker event. The icebreaker reminded me a bit of last year’s one. There it was possible to bring anyone who wanted to go there. I think the attendees had some vouchers, but I can’t recall really the details. Anyway, I think it’s a good idea to have one social event where you can bring in people that are in the area, but don’t attend the conference.

The code sprint

The code sprint was hosted at the District Hall which is a innovation/startup/co-working place. We had the whole space which was really nice. The different tribes, Java, MapServer, Postgres and Fancy Shit assembled at different spots and put up signs, so it was easy to find your way to the right group.

JS.geo

I also need to mention that the day before the FOSSS4G there was the JS.Geo at the same place as the code sprint. It was a really nice event and if I ever organize an English single track geo conference, I’ll get Brian Timoney as a moderator. He was so entertaining and really contributed to the great vibe this conference had.

Miscellaneous

This year there wasn’t a printed program brochure. It was all just available online at — the certainly cool — https://foss4g.guide/ or as app. I on my FirefoxOS phone was using the website. I think it could’ve been better to navigate, but it was OK and I didn’t really miss the brochure. The website based guide was OK when you were on your phone and on-site, to see which talks are up next. I don’t think it worked well if you tried to do some ahead of time planning.

The FOSS4G t-shirts look great, but I’m a bit sad that they were grey (a nice one though) and the Local Team had t-shirts in my favourite orange color.

Notes for future years

It might really make sense to not producing a printed program brochure anymore as probably all attendees have a smartphone anyway (though this needs to be checked by Local Team depending on the area). If you decide to go Web only, you should make sure it works offline and perhaps spending the time you would’ve spent on the printed one instead on the usability of the web one.

Categories: en, conference, geo

An R-tree implementation for RocksDB

2017-02-14 22:35

It's long been my plan to implement an R-tree on top of RocksDB. Now there is a first version of it.

Getting started

Checkout the source code from my RocksDB rtree-table fork on Github, build RocksDB and the R-tree example.

git clone https://github.com/vmx/rocksdb.git
cd rocksdb
make static_lib
cd examples
make rtree_example

If you run the example it should output augsburg:

$ ./rtree_example
augsburg

For more information about how to use the R-tree, see the Readme file of the project.

Implementation

The nice thing about LSM-trees is that the index data structures can be bulk loaded. For now for my R-tree it's just a simple bottom up building with a fixed node size (default is 4KiB). The data is pre-sorted by the low value of the first dimension. This means that data has a total order, hence also sorted results based on the first dimension. The idea is based on the paper On Support of Ordering in Multidimensional Data Structures by Filip Křižka, Michal Krátký, Radim Bača.

The tree is far from optimal, but it is a good starting point. Currently only doubles are supported. In the future I'd like to support integers, fixed size decimals and also strings.

If you have a look at the source code and cringe because of the coding style, feel free to submit pull requests (my current C++ skills are sure limited).

Next steps

Currently it's a fork of RocksDB which surely isn't ideal. I've already mentioned it in last year's FOSS4G talk about the R-tree in RocksDB (warning: autoplay) that there are several possibilities:

  • Best (unlikely): Upstream merge
  • Good: Add-on without additional patches
  • Still OK: Be an easy to maintain fork
  • Worst case: Stay a fork

I hope to work together with the RocksDB folks to find a way to make such extensions easily possible with no (or minimal) code changes. Perhaps having stable interfaces or classes that can easily be overloaded.

Categories: en, RocksDB, geo

Freifunk in Augsburg-Hochzoll

2016-11-29 22:35

Vor ca. einem halben Jahr gab es den ersten Kontakt zwischen dem Helferkreis Asyl-Helferkreis Aufwind Augsburg SüdOst und mir bei einem Info-Abend zur geplanten Unterkunft in Augsburg-Hochzoll. Wenig später wurde es dann konkreter und wir fanden eine mögliche Lösung um die Geflüchteten mit Internet zu versorgen.

Die Idee war die Internetverbindung per Freifunk vom Hotelturm zu St. Matthäus zur Unterkunft hin zu übertragen. Glücklicherweise hat es wie geplant funktioniert, das erste Youtube-Video wurde dort auch schon angeschaut.

Insgesamt wurden 3 NanoStations verbaut (inkl. jeweils einem Überspannungsschutz), die per Kugelgelenk angebracht wurden. Zwei davon in St. Matthaus, eine Richtung Hotelturm, eine Richtung Unterkunft und eine in der Unterkunft in Richtung St. Matthäus. Zusätzlich ein Router (TP-Link WR1043ND) im Haus und insgesamt viele viele Kabel. Zusammen sieht das dann so aus…

Tisch voller Hardware

…und hat einen Wert von ca. 400 €.

Finanziert wurde das Ganze durch 32 großzügigen Spendern die innerhalb nur 20 Tage 510 Euro gespendet haben. An dieser Stelle nochmal einen herzlichen Dank an alle die beigetragen haben! Das überschüssige Geld (103.16 €) wird dem gleichen Zweck, Freifunk für Asylunterkünfte, zugutekommen.

Konfiguriert haben wir die Hardware an einem Abend vor der Installation (3 Stunden). Die Installation selbst war nach 4 Stunden fertig, da wir zwei Teams bilden konnten. Vielen Dank auch an die Leute vom Freifunk Augsburg, ohne Euch wäre das nicht möglich gewesen. Hier noch ein paar Bilder damit man einen Eindruck bekommt wie aus einem Haufen Hardware und Kabeln eine funktionierende Internetverbindung wird.

Wie man sieht war auch im Kirchturm von St. Matthäus einiges an Arbeit nötig. Mein Dank gilt deshalb auch der Gemeinde und dem Pfarrer von St. Matthäus, die diese Installation ermöglicht haben und die darüber hinausgehende problemlose Zusammenarbeit.

Laptop und NanoStation im Kirchturm

Blick auf Hotelturm von NanoStation aus

Kabel und PoE-Adapter ordentlich verlegt

Außenansicht St. Matthäus

NanoStation der Unterkunft im Sonnenuntergang

Categories: de, Freifunk

Goodbye Couchbase

2016-07-04 22:35

I'm no longer with Couchbase. That's a pretty significant change for me. I've been with Couchbase (Couchio, CouchOne) for over 6 years, it was on May 12th 2010 when I got my Couchio email address. I was even still studying back then. It was a great time, I learnt a lot and it was a pleasure to work with so many skilled people.

Though there are exciting times ahead. I'm working with Damien Katz on a fancy new project which includes the technologies I really like to work with. It's build with Rust and the storage back-end is RocksDB. More on that as we go.

Surely some may wonder what will happen to GeoCouch. I don't know about the future of it when it comes to Couchbase, that's beyond my control. Though I do control GeoCouch in regards to Apache CouchDB. I surely want to get it working with the upcoming Apache CouchDB 2.0 release. GeoCouch might look pretty different from what it is now. I'd like to base the back-end on RocksDB. That's the reason why I'm implementing an R-tree on top of RocksDB. This also means that GeoCouch again is a free-time project of me, though that isn't necessarily a bad thing.

Categories: en, Couchbase, GeoCouch

Berlinale 2015

2015-02-18 22:35

The great Berlinale Internaltional Film Festival 2015 is over. Time for a short wrap up of the films I've watched. I'll include the one sentence review that I always tweeted right after each film.

This overview is sorted by ranking, so you can easily spot the must watch films.

Must watch films

The films that were outstanding got a rating of 5/5. Those are the ones that I feel everyone should watch and will probably enjoy.

Feature films

Taxi

Berlinale program page

Unforeseeable, amusing trip that paints a diverse picture of today's Iran

The Golden Bear is really well deserved. Given that Jafar Panihi is not allowed to work as a film maker, makes this movie even more astonishing.

Varieté

Berlinale program page

Classic tragic suspenseful love story

Although the film is originally from 1925, it shows that stories about love are timeless. The top rating is mostly due to the atmosphere the live music created. I'm not sure if it is that impressive when watched with audio through speakers.

Vergine giurata (Sworn Virgin)

Berlinale program page

Touching film about family and finding the gender identity

This drama doesn't need much words, it evolves a lot through the pictures. It's one of the films that moves slowly without being lengthy.

Mariposa (Butterfly)

Berlinale program page

Uncommon, clever and complex film about love and relationships

It took me a while to really understand what's going on, but it's exactly that cluelessness that makes that film that great.

Documentaries

Tell Spring Not to Come This Year

Berlinale program page

Extremely disturbing/moving documentary about Afghan troops after ISAF

There's not much news how things are in Afghanistan with the ISAF troops leaving, it got quite silent. It's thanks to one of the film makers that served himself in Afghanistan for the British troops that made it possible to have such an great insight view on how the war against the Taliban is still ongoing. The Panorama Audience Award is well deserved.

Danielův Svět (Daniel’s World)

Berlinale program page

Stunning must-watch documentary about coming-out as pedophile

This documentary touches a topic I've never thought of before. How can you live with being a pedophile? I really admire the protagonist. He speaks openly about his life, desires and problems. How shows well, that pedophiles shouldn't be lumped together with child abusers. The vast majority of child abusers are not even pedophiles, children are often just an easier target for them.

Great films

These are the films that I really liked (a rating of 4/5). Though I guess some of them depend really a lot on my personal taste.

Feature films

Nadie quiere la noche (Nobody Wants the Night)

Berlinale program page

Tragic critism of humanity about love and friendship

It was the first film I watched at the Berlinale, I didn't know what to expect and how many great movies I was going to see. Looking back I think it's only a 3/5.

Nasty Baby

Berlinale program page

Starts slow, get's disturbing film about different moral concepts and anger management

It sometimes has a great use of pop music.

Hedi Schneider steckt fest (Hedi Schneider is Stuck)

Berlinale program page

Anxiety states and the effect on the family

I mostly decided to watch this one as one of my favourite films Farland starring the same main actress Laura Tonke. I wasn't disappointed. It was also interesting to hear that a lot of scenes that were in the original script got left out during the cutting process. And this is really what the film feels like, it's reduced to the story it wants to tell.

El Club (The Club)

Berlinale program page

Weird moral concepts under the cover of the Catholic Church

This is really a dark and sometimes bizarre movie. The Silver Bear is well deserved.

Selma

Berlinale program page

Gripping film about Martin Luther King Jr's fight for the voting rights of the black

I had the luck to be at the gala event of the film. It luckily doesn't feel as lengthy as the running time suggests.

Knight of Cups

Berlinale program page

In search of life fulfilment

I'm sure many people dislike the movie. If you don't know the feeling of emptiness inside, although you have everything. And don't know how it feel to search for something without neither finding, nor what you're exactly looking for, then don't watch it.

Virgin Mountain

Berlinale program page

A film full of emotions about unconditional love

I needed to watch this movie as I generally enjoy films from Iceland and additionally the director Dagur Kári also directed on of my favourite films Nói albínói. This one didn't touch me as much as Nói albínói back in the days, but it's still a pleasant film to watch.

De ce eu (Why me?)

Berlinale program page

Solid film portraying a young prosecutor fighting the system in Romania

It wasn't that easy to follow the film, given that it was a complex matter and with sub-titles. I rated the film higher after I got to know that it is heavily based on a real person (even the affair is part of that).

Stories of Our Lives

Berlinale program page

Pleasant collection of episodes about homosexuality in Kenya

It's a collection of short films, all in the same style. Some are funny, some are tragic.

Ten no chasuke (Chasuke’s Journey)

Berlinale program page

Funny japanese style film about prevision

The idea of having someone writing our lives is a good one and leads to very funny situations. It reminded me a bit of Bruce Almighty and The Truman Show.

Madare ghalb atomi (Atom Heart Mother)

Berlinale program page

Getting pulled into something without much choice

I changed that tweet three times. First the rating (up to 4/5), then the contents. Thanks to someone nice sitting next to me in the next film, I was able to hear what others thought about it as it wasn't really clear to me. During the next film I then suddenly felt like understanding what it was about and how great it was.

In case you also don't feel like getting the point, feel free to get in touch with me and we can discuss it.

Chrieg

Berlinale program page

"Anger without opponent" [quotation of the director]

It's not a film about a shiny world where everything is fine. It shows well that things go wrong and there needs something to be done in our society. It manages to be drastic without getting unrealistic.

Documentaries

Flotel Europa

Berlinale program page

Interesting retrospective of yugoslavian refugees from the view of a child

It was interesting to see a film whose footage was shot many years ago an is solely based on VHS tapes.

Me’kivun ha’yaar (Out of the Forest)

Berlinale program page

Documentary showing personal perspectives on the WWII mass murder in Ponary

If war crimes happen, people often pretend they didn't knew it, don't remember or are just not talking about it. This documentary shows that it can also be a relief for some to be able to finally speak about what happened.

Average films

These are films that I enjoyed but are not really special (rating of 3/5).

Feature films

Mr. Holmes

Berlinale program page

Solid film about hindsight making a change even at old age

I consider this a harmless main stream movie that is good to watch.

Seeds of time

Berlinale program page

Interesting documentary about Cary Fowler's mission to preserve the bio diversity

The topic it covers is really interesting. I didn't rate it higher as the documentary itself isn't done that well. Sometimes I felt like I've heard that information before. It could have been condensed. It was also not really pushing forward a story as other documentaries did. I wonder if a 40 minutes version of it could say the same.

Petting Zoo

Berlinale program page

Beautiful pictures about an end of high school girl dealing with pregnancy

It's a very atmospheric film. I enjoyed watching it. Though it's sadly nothing special.

Elser (13 Minutes)

Berlinale program page

Being fed up with the system and the urge to take action on your own

It's a solid main stream movie based in Nazi Germany. It's interesting, well told and played. It reminded me of a TV production you'd watch with your family on a Friday evening on public TV.

Cha và con và (Big Father, Small Father and Other Stories)

Berlinale program page

Living as young gay in today's Vietnam

I really liked the pictures, but the story is a bit shallow.

Superwelt (Superworld)

Berlinale program page

Mysterious film about self-doubts and self-discovery

It almost got a rating of 4/5, but somehow the overall movie didn't cut it for me.

Documentary

Freie Zeiten (After Work)

Berlinale program page

Entertaining documentary with interesting views on recreational activites

It was OK to watch with some funny situations, though overall just too average

Sergio Herman, Fucking Perfect

Berlinale program page

A workaholic trying to get out of it

Well made documentary, but sadly too much of a portrait of Sergio Herman. I found documentaries about people that change or try to change the world more interesting.

Cobain: Montage of Heck

Berlinale program page

Solid, but average documentary about Kurt Cobain

I don't know what I expected, but somehow I expected more of the documentary. It was interesting and well made, but just wasn't as good as other documentaries I've seen.

Other films

The following are films with no rating or a rating of 2/5 or less. All of them were feature films.

Body

Berlinale program page

Coping with sorrow

I might have been too tired when I watched that, but somehow I couldn't connect to it, hence it only got a 2/5.

Journal d'une femme de chambre (Diary of a Chambermaid)

Berlinale program page

Waiting for the grand finale to no avail

I was always waiting for the twist or the scene that adds another perspective, but it just didn't happen, hence it's only a rating of 1/5.

Pod electricheskimi oblakami (Under Electric Clouds)

Berlinale program page

Desolate future

The film is divided into seven episodes spanning over two hours. After each episode some people left the cinema. I also felt like one episode would've been enough. Rating: 1/5.

Aferim!

Berlinale program page

Historic narration of the situation in Walachia in the 19th century

As my interest is not in historic movies about Walachia it's a 1/5.

Berlinale Shorts I

No notable short film

The shorts were really disappointing. I would've expected more of a short movie selection at the Berlinale. The Filmtage Augsburg do a better job on the selection.

Mar

Berlinale program page

#didnotunderstandit

I don't really understand what the intention of this film was. It even wasn't much clearer after the Q&A session. It's supposed to be about the tension of the relationships of the main character between his girlfriend and his mother. I also didn't understand the end. As it had nice pictures and someone might get the point I decided to not giving a rating.

Black President

Berlinale program page

#lackingknownledgeofarts

I accidentally bought a ticket for this one. I thought it would be short films, but it was a movie in the Forum Expanded section. It seemed like a well made documentary, but I felt knowing too little about art and the culture in South Africa. Hence I refrained from rating it.

Categories: en, film, festival

By Volker Mische

Powered by Kukkaisvoima version 7