Project Ideas

Here are a few project ideas I would like to work on if I only had the time. Feel free to execute them, but please make sure that your results are freely/libre licensed, otherwise your work would be of no help.

  • Twitch allows not only live-streaming, but also video upload. As I’m boykotting YouTube, I have to upload my videos on Vimeo. With Twitch being a potential new upload candidate, I would like to automate the upload, for which Twitch provides an API. Not only could I “import” my “backlog” into Twitch, with Vimeo providing an API too, the project could very well aim for a multi-channel video publishing application.
  • In my browser, I have lots and lots of unstructured bookmarks. If I switch to one of my other machines, I can’t access them. It would be nice to have a synchronization feature which could be extended to check if the links are still live or dead. In case of the latter, the tool could attempt to change the bookmark to the historical version of the site as archived by the Wayback Machine of the Internet Archive, referencing the most recent snapshot relative to the time of the bookmarking, hopefully avoiding the pro-active archival of what’s being bookmarked. On the other hand, a bookmark could also be an (optional?) straight save-to-disk, while the URL + other metadata (timestamp) is maintained for future reference. The tool could do additional things like providing an auto-complete tagging mechanism, a simple comment function for describing why this bookmark was set or a “private/personal” category/flag for links which shouldn’t be exported to a public link collection.
  • Implement the Java StAX API in C++. There are several ways to deal with XML input: a famous one is to parse XML in order to create a representation of the data as a tree of objects in memory, so those objects can be accessed and manipulated in any random order – usually via the DOM API). This method has the disadvantage that large XML documents could exceed memory limits. It’s also relatively slow because it can’t provide access to the data before the entire document is loaded. Such properties conflict with concepts like RSS as an RSS application is supposed to stop reading bytes from the network as soon as it encounters an RSS item already seen before. XML Streaming APIs on the other hand interpret XML input as a series of “events”, dealing with only one of them at a time. As the bookkeeping regarding the structure of the document is left to the developer, this method usually leads to some kind of state machine, but using the callstack to build a parse tree could be explored, too. I already have some code to handle parts of: start elements, end elements, text nodes, comments.
  • An XML interface for PoDoFo. PoDoFo is a new library to create PDF files with C++. With an XML interface, PoDoFo would become accessible for other programming languages and would avoid the need to hardcode PoDoFo document creation in C++, so PoDoFo could be used as another PDF generator backend in automated workflows. The XML reading could be provided by the StAX library in C++.
  • Ad-hoc YouTube playlists. YouTube allows its users to create playlists, but only if they have an account and are logged in. Sometimes you just want to create a playlist of videos that are not necessarily your own without being logged in, for instance to play some of your favorite music in random order. If such external playlists should not be public, access could be made more difficult by requiring a password first or by only being available under a non-guessable URL. Embedding the videos shouldn’t be too hard, but continuing with the next probably requires some JavaScript fiddling. Could also be implemented for other video platforms.

If you’re not going to implement those ideas yourself, please at least let me know what you think of them or if you have suggestions or know software that already exists. If you want or need such tools too, you could try to motivate me to do a particular project first. Maybe we could even work together in one way or another!

Angriff auf die Privatsphäre der Geflüchteten und all ihrer Kontakte

Nun, unsere lupenreine und gleichzeitig leider bettelarme Bundesregierung hat für Geflüchtete leider, leider überhaupt kein Geld übrig, worüber noch zu anderer Gelegenheit ausführlicher geschrieben werden muss. Wenn es jedoch darum geht, den Geflüchteten eins auszuwischen, sind plötzlich Mittel im Überfluss vorhanden: 3,2 Millionen Euro + 300.000 Euro jährlich + Schulungskosten, alles für Kartenlesegeräte zwecks Verletzung der Privatsphäre von Geflüchteten und allen, die mit ihnen in Verbindung stehen oder gestanden haben.

Die Überlegung dahinter ist natürlich, dass man bei Geflüchteten, die keine Originaldokumente vorweisen können oder absichtlich nicht vorweisen wollen, die Identität der Person feststellen möchte, indem man deren Handys und Smartphones entsprechend ausliest. Was aber will das Amt machen, wenn das Handy mit allen Daten darauf kürzlich verloren gegangen ist und das neue (noch?) keine dahingehenden Informationen enthält oder jemand schlicht kein Handy hat? Neben der Unverschämtheit, den Leuten die digitale Nacktmachung abzuverlangen, ist das Verfahren aber auch methodisch Unfug, da keineswegs sichergestellt ist, dass die Eigentümer der Geräte beim Anlegen ihrer Accounts ihren realen Namen hinterlegt haben oder dieser sich aus den Daten zuverlässig ermitteln lässt. Außerdem wird nicht nur die Privatsphäre der Geflüchteten verletzt, die ein unveräußerliches Naturrecht darauf haben müssen, dass der Staat nicht deren politische Gesinnung, religiöse Überzeugung, familiäre und geschäftliche Beziehungen usw. durchstöbern darf, sondern auch aller Leute, die mit dem Geflüchteten elektronisch Kontakt hatten. Neben Angehörigen, Freunden und Kollegen des Herkunftslandes wird zwangsläufig auch die Privatsphäre deutscher Staatsbürger durch diese Maßnahme mit Füßen getreten werden.

Man kann sich aber auch einmal fragen, was in den Thomas de Maizière gefahren sein muss, dass er diesen Quatsch auch nur in Erwägung zieht: es ist die Unterstellung, dass viele Geflüchtete ihre Ausweisdokumente des Herkunftslandes absichtlich nicht aushändigen, weil sie anderenfalls eine negative Entscheidung über den Asylantrag und einen Ausreisezwang fürchten. Dass Thomas immer noch nicht verstanden hat, dass Länder, bei denen die Rückreise aus dem Urlaub dort für einen deutschen Staatsbürger vom Auswärtigen Amt organisiert werden müsste, die Furcht vor Abschiebung dorthin begründet, sei erstmal geschenkt, aber es gibt in der Tat auch Personen, denen im Rahmen der Flucht die Dokumente abhanden gekommen sind oder abgenommen, gestohlen, zerstört wurden. Hinzu kommen klassische Staatenlose, für die sich kein Land zuständig fühlt. Dass diese Leute unter den gleichen Generalverdacht gestellt werden wie andere Personen, die ihre Dokumente absichtlich zurückhalten, zeugt nicht gerade von Rechtsstaatlichkeit. Der Vorschlag ist dann, dass die Betroffenen doch einfach zu ihrer Botschaft gehen sollen, um sich dort ein Identifikationsdokument ausstellen zu lassen, aber wenn ein Land gar nicht weiß, dass sich die Person nicht innerhalb der eigenen Grenzen aufhält, ist das natürlich auch keine besonders kluge Idee für geflüchtete Journalisten/Aktivisten/Deserteure. Wenn die in Frage kommenden Länder kein Dokument ausstellen, weil sie die Person nicht im Computer registriert haben, ihrerseits die Identität genausowenig zweifelsfrei feststellen können oder sich schlichtweg weigern, weil sie den Asylbewerber nicht zurückhaben wollen, bleiben auch die ausgelesenen Daten ohne jede Aussagekraft, weil sie nicht von offizieller Stelle bestätigt sind und so richtig oder falsch sein können wie die Angaben, welche die Person von sich aus gemacht hat.

Von daher können wir entweder diese Lesegeräte gleich wieder abschaffen und eine Menge Geld einsparen, oder halt den Thomas und seine unchristliche Clique [aus ihren Ämtern entfernen].

Simin Amiri gesucht

Mohammad Hosseini Hosseini oder Mohammad Hosseini Hossseini (mit drei ‚s‘) sucht seine Frau Simin Amiri und die zwei gemeinsamen Kinder, bei denen es sich um Zwillinge handelt. Es ist möglich, dass seine Frau unter anderem Namen gemeldet ist, andere mögliche Namen oder Schreibweisen sind jedoch nicht bekannt. Überdies sind ihm die Namen seiner Kinder unbekannt geblieben.

Von ungefähr 2011-2013 hielt sich Mohammad mit seiner Frau zusammen in Griechenland auf, von wo aus er seine damals noch schwangere Frau nach Deutschland schickte, während er selbst nach Afghanistan zurückkehrte, um für seine Familie Geld zu verdienen. Nachdem er wegen der dort anhaltend lebensbedrohlichen Lage 2015 nach Deutschland flüchtete, war es ihm von November 2015 bis Januar 2016 während seiner Unterbringung in der Landeserstaufnahmestelle für Flüchtlinge in 72469 Meßstetten möglich, über die noch in Griechenland ausgetauschte Nummer mit seiner Frau zu telefonieren, dann jedoch ging ihm sein Handy verloren oder wurde entwendet. Gleichzeitig muss seine Frau ihre Telefonnummer geändert haben, da sie unter der alten Nummer seither nicht mehr erreichbar ist. Seine Frau und seine Kinder leben seit 5 Jahren in Deutschland, letztere sind auch hier geboren. Der Aufenthaltsstatus von Frau und Kindern ist unbekannt.

Mohammad wohnt nun schon bald ein Jahr lang in einer temporären Gemeinschaftsunterkunft in 74321 Bietigheim-Bissingen. Die Suche nach Frau und Kindern war ihm bisher kaum möglich, da er wenig Deutsch spricht, obwohl er sich sehr bemüht – seine Lernschwierigkeiten können auch darauf zurückzuführen sein, dass er in Afghanistan nie eine Schule besuchen durfte. Das Bundesamt für Migration und Flüchtlinge (kurz: „BAMF“) hält es in seiner Entscheidung vom 2017-01-12 für angebracht, Mohammad aus Deutschland auszuweisen und eventuell sogar nach Afghanistan abzuschieben, ohne dass eine Suche nach seiner Frau gestartet werden konnte. Das BAMF kann niemanden mit dem Namen „Simin Amiri“ im MARIS-System finden. Unklar ist, ob nicht viel eher im Ausländerzentralregister (kurz: „AZR“) nachgeforscht hätte werden müssen. Eine Reaktion des BAMF auf ein Foto von seiner Frau sowie ein gemeinsames Hochzeitsfoto, welche beide vom Handy vorgezeigt wurden, ist nicht erkennbar. Es scheint, als ob die Behörden die Suche nach vermissten Angehörigen weder betreiben noch unterstützen.

Wenn jemand die gesuchte Person kennt, bitte einfach kurz Bescheid geben. Uns geht es zunächst darum, als neutrale Partei sorgsam zu vermitteln.

Goodbye, mobileread.com

On 2014-01-05, I joined the mobileread forum. At that time, I was just starting to work on automated EPUB generators for text in general and therefore appreciated that the people on the mobileread forum didn’t focus on reader hardware alone, but also had a fair share of technical discussion going on.

On 2015-04-03, somebody called Ranwhp asked in the German section of mobileread forums if there is a way to download all German titles of the Patricia Clark Memorial Library at once, which led me to look into it. The Patricia Clark Memorial Library is a collection of e-books uploaded by mobileread members and hosted by the mobileread site operators. Patricia Clark was one of the uploaders which passed away, and in memory of her, the collection was named after her. The collection has no real stewardship nor curation except what’s required by the law and forum rules, which is why I would hesitate to call it a library. The individual uploaders take care of their own uploads only as long as they’re still interested in them and the licenses vary from Public Domain over Creative Commons BY-SA-NC (nonfree) to all rights reserved and distributed by mobileread with special, non-transferable permission, rendering the work of the contributors and the collection as a whole pretty useless for anything other than personal entertainment.

For a downloader tool, such considerations were irrelevant, of course, so I started to develop one in order to help out Ranwhp and save him hours of manually downloading every single file. I myself did not have an interest in the ebooks themselves as I mostly do not read for entertainment purposes, I was primarily motivated by experimenting with client programming and EPUBs as found in the wild, to automatically read and transform them with code. The high quality of the XHTML page source code generated by mobileread’s forum software made it quite easy to follow the links and retrieve the actual ebooks, which is a good thing.

On 2015-05-01, I released the first version of my mobileread_wiki_ebook_list_downloader1 (md5sum eff1b8a28a0a9af8f6d5982cf7150ca8). In my post from that day, I pointed out that automatic downloads could be considered to be denial-of-service attacks and conflicting with the mobileread terms of use, which I tried to avoid right from the beginning by an enormous delay of 5 seconds between each download, making the client a very friendly, cooperative client in contrast to some rogue crawlers out there on the web. As far as I can tell, this was perfectly well for mobileread staff.

On 2015-05-11, Ranwhp provided his report on running my client: after 10 hours and 52 minutes, a total of 2728 files were downloaded with a zipped size of 1.8 Gigabyte. One day later, Ranwhp posted a link to Google drive where it was possible to download the Zip archive. On the one hand, his offer did not consider the legal obligations of the restrictive licensing of many titles from said collection, while on the other hand such an archive would save a lot of bandwith and server resources for mobileread. I immediately notified Ranwhp about the legal problems which might come with some of the ebooks, and he disabled the download link shortly thereafter. Until this point, no other members of the forum joined our conversation, and as soon as they did, they raised concerns about the legal status of the Zip archive in a friendly manner at first. Because of undiplomatic answers, lack of knowledge about copyright law and the assumption that the Patricia Clark Memorial Library would be 100% in Public Domain, things escalated quickly, as uploaders saw their rights violated. What followed was a long conversation about why a local, full copy of the library wouldn’t make sense and about the legal status of the collection, which are strange questions to discuss on a website dedicated to electronic reading. Some posts were quite constructive, other authors made clear that their approach towards media is set up in a way that prevents everything else from happening.

However, this incident with the uploaders didn’t affect the downloader software at all, so I continued development and started other controversial threads about the technical quality of the collection. Then, for a long time, silence. On 2016-09-29, Ranwhp revived the original thread and published a link to MR-eBook-Downloader, another downloader for German titles of the mobileread collection. Again, I immediately mentioned that the developer of this tool should better have a delay in place between each download, so mobileread server resources wouldn’t get used excessively. One day later, the entire thread was deleted without any explaination.

I asked mobileread staff to provide an explaination or to restore the thread, but until now I did not receive an answer. Therefore I decided today that I’ll leave mobileread and not look at their stuff again. I’m not angry or something, it’s more that I’m utterly confused about what happened to that thread after all this time, and I don’t like that my time invested into posting goes to waste within the blink of an eye. For me, this is another glaring example for the broken web we inhabit, and that technology can never become better than what the mentality of people is prepared to allow it to become.

Brother MFC-J4420DW

Der Brother MFC-J4420DW hat zwar einen Anschluss, mit welchem man von einem USB-Stick direkt drucken kann, jedoch ist dieser leider von geringem Nutzen, weil die Drucker-Firmware nicht in der Lage ist, auch PDFs vom Stick zu drucken, sondern nur Bildformate. Dies ist insbesondere deshalb nicht nachvollziehbar, weil der Drucker aus anderen Quellen problemlos PDFs drucken kann. Es existiert überdies die Funktion, dass der Scanner auf den USB-Stick scannt und das Scan-Ergebnis im PDF-Format ablegt. Da Brother für dieses Modell keinen frei lizenzierten GNU/Linux-Treiber bereitzustellen scheint und der Drucker sich auch bei Verbindung mit einem WLAN nicht wie ein standardkonformer Netzwerkdrucker verhält, kann ich mit dem Gerät wenig anfangen. Von Brother gibt es auf Anfrage keine Antwort, wie es dazu kommen konnte oder ob dem Abhilfe geschaffen wird, per Firmware-Update zum Beispiel. Für mich daher eindeutig ein Rückgabe-Kandidat.

Intro – Warum dieser Blog?

Weil ich Christ bin, bin ich früher immer in eine Gemeinde/Kirche gegangen. An einem Tag hat die Gemeinde Volker Kauder eingeladen, um über die Verfolgung von Christen zu sprechen. Volker Kauder ist der Chef der Parteien CDU/CSU im Bundestag. Über die Verfolgung von Christen spricht Volker Kauder, weil er und die CDU/CSU viele Wähler hat, die in eine Gemeinde/Kirche gehen.

Wenn er nicht über die Verfolgung von Christen spricht, damit seine Wähler ihn gut finden, möchte er Menschen im Irak töten lassen – das ist illegal und verboten. Er sagt, der IS/Daesh ist in Syrien gestartet – das ist nicht richtig. Er findet gut, dass die USA Krieg machen. Volker Kauder findet Krieg und Waffen gut, weil die CDU in seinem Wahlkreis von der Firma Heckler&Koch Geld bekommt. Weil die CDU Geld von Heckler&Koch bekommt, probiert Volker Kauder in der Politik, dass das deutsche Militär bei Heckler&Koch Waffen einkauft. Volker Kauder ist egal, dass die Waffen von Heckler&Koch nicht richtig funktionieren, weil seine CDU-Partei von Heckler&Koch Geld bekommt. Volker Kauder ist egal, dass die Waffen von Heckler&Koch ohne Kontrolle in der Türkei, Myanmar, dem Iran, dem Irak, Pakistan, Saudi-Arabien, Thailand, Mexiko, Malaysia und Ägypten produziert, benutzt und verkauft werden [1, 2]. In diesen Ländern gibt es Krieg, Kriminalität und die Verfolgung von Christen.

Mit Jesus Christus hat das nichts zu tun. Ich gehe nicht mehr in diese Gemeinde, weil die Gemeinde keine Politik machen soll. Eine christliche Gemeinde darf keine Werbung für Volker Kauder oder die CDU/CSU machen. Jetzt helfe ich Flüchtlingen, weil Volker Kauder den Menschen nicht hilft.