Comment Feeds, Please! (and other things about blogging)

Wed, 12 May 2010 18:46:05 +0000

Well, there may be a lot of „professional“ and „famous“ bloggers out there who might say what they like or dislike when reading blogs and if you want to create a „professional“ blog rather than a private little blog about the things you are interested in, then you might ask these people better than reading on what I am going to write. Because I will now tell you about a few things I dont like on some Blogs, and reasons why a blog might be thrown out of my RSS-Feed-List.

Have and Maintain a Feed

Yes, there are still people who proudly write their own Blog-Software but dont provide any feed. Even though their site might have interesting content, there are thousands of other sites who provide interesting contents, too, and at least for me, its rather hard to produce something so interesting that I am willing to periodically go to your Site and watch for news.

These times are gone. There are too much people writing their opinion online. I have just counted 439 Newsfeeds in my Feed-Reader, and at least half of them are providing information that interests me, but most of them dont do this often. I cannot manage to watch 439 Websites every time, especially because mostly I am just reading this stuff in my free time, mostly without getting anything out of it I really need, i.e. just for fun.

And something that especially gets on my nerves is when I already subscribed to a feed and then the blogger changes his Software and with it the Feed-URL, without writing a note on the old newsfeed. So I only get notice about it by the error messages of my feed reader. This is annoying!

Ah, and especially: Make it easily findable. Provide feed-links as well as link-tags which Feedreaders can recognize. I dont want to have to „search“ your site for them.

I dont care much about design, just make your site work with as little as possible

Many people like Websites which put great efforts into their site-design. There is nothing wrong with that, except that these efforts often lead to huge requirements of your browser.

In particular: If I go to your site, then dont expect me to activate JavaScript, if there is no explicit reason. If you use jsMath because you cannot use LaTeX on your provider’s Server, or you are writing browser games and therefore need JavaScript, then kindly excuse yourself when I go to your site, and ask me to activate JavaScript, rather than commanding me to do so. JavaScript uses my system resources and might produce additional security vulnerabilities – and if you are just too lazy to provide an Interface that doesnt need JS, without really needing it, I am not willing to give you the trust of letting your code execute on my Computer!

Same for Flash-Animations. Flash is like a cullender when it comes to security. There are a few domains which I trust. For example, I trust large Video-Portals like YouTube, Vimeo or Dailymotion. Because if they would become vulnerable, then they would fix it as fast as they could. I dont want to see Flash on your Website, except when its really necessary. Ok, its still necessary for embedding videos or sound – I hope that these times will go away soon, but there is no other possibility that really works by now. So yeah, I can understand that you might use Flash when its impossible not to do so.

Advertisement-Services also sometimes use Flash. I dont see why they do it, instead of just using GIF-Animations, but well, I can understand that you want to get back the money you pay for your provider, so well, keep your Flash-Advertisements – I will block Flash anyway if you dont give me a reason not to do so.

But as soon as your site has some fancy-looking sidebar or other shit programmed in Flash, I will certainly not use it.

Ah, and dont use Cookies, if there is no reason for it. Some Ad-Services might require them, but I will block them if I dont see a reason to give you the opportunity to save data on my PC!

You might use Cascading Style Sheets, and well, if you really want, you might provide additional functionality using JavaScript and Cookies – yes, these technologies are nice for some purposes, and if I read your website for a long time, I might feel comfortable with giving you the opportunity to save small pieces of data and execute small pieces of code on my PC. But if you try to force me to do so, I will not give an inch.

Oh, and a note on CSS: CSS is made to put design on your site to make it viewable with many technologies. Maybe I want to go to your site using lynx. Then please put the boilerplate-elements below the interesting stuff. I dont want to have to scroll down 5 screens of stupid login-, blogroll- and linklist-information before I finally can get to the content I want to see.

Allow comments to all people

There is a lot of comment-spam so I can understand why you might want to look at the comments I write before publishing them. I can understand when you want me to enter a captcha, I can even understand when you require JavaScript for commenting to prevent spam. But if so, dont just assume I have JavaScript turned on, tell me that comments need JavaScript before producing strange errors (or just doing nothing).

You want my name (or a representative Nickname) and of course an E-Mail-Adress of mine. Maybe you are kindly even adding my Gravatar-Icons. But dont forget to give me the possibility to put some Website-URL of mine on top of my comments. Maybe you are not interested, but other people reading my comment might be interested to get to know more about me – I help you to keep your blog alive, so in exchange you can help me. Fair is fair.

Dont expect me to register anywhere or have an OpenID. Yes, I have an OpenID, and if you kindly ask me to provide one, I might think about it. But requiring to have such a service or even registering on your blog before I can post is arrogant and if you dont give something really awesome to me, I just wont post comments on your site. And if I cannot discuss about what you write, well, your site might get less interesting to me.

Of course I can understand you if you have a blog-provider not allowing this. But well, then you might consider changing the provider. At least WordPress allows comments in general. If a blogging service doesnt allow it, just dont use it.

Have thread-based comment-feeds or at least mailing-notifications

So well, you have managed to make me put a comment on your page. Con grats! Now maybe I expect some reaction by you or some other person. If you are using one of the larger blogging-services like WordPress, the thread I just posted in has a Comment-Feed, telling me about comments given there. Sometimes, Blogs dont provide this, but they provide Mailing-Notifications if some new comments come up. I can live with that (I gave you my mail-adress anyway).

But you have to give me something. Otherwise I will have to keep that tab with the comments open. And since I am working on at least 3 distinct computers, partially with distinct browsers, I will certainly not follow these comments for a long time.

But if I cant follow the reactions on my Comment, I will think twice before posting a comment anyway.

Dont be professional

Except when you are a real journalist who has already worked for newspapers or plans to do something like a newspaper, or you host a science blog, dont be professional. I am sick of all this „professional blogging“ stuff. For me, a weblog must not be professional, except maybe when its about science – if its professional, it becomes an online newspaper, but then, it should be stated as such, and compete with others of its kind. In blogs, I want to read the opinions of many unprofessional people.


Well, thats what you should do if you want me to read your blog. If you are a famous blogger, than you might as well ignore me, because you have so much other followers. But surprisingly, most famous bloggers meet my requirements – a coincidence?

I like private blogs. I like scientific blogs. I like small blogs that dont write much more than once a month, as well as bloggers who write five articles a day. I wouldnt read your blog because its special, I would read it because its one of many.

Always remember that you are unique – just like everybody else.


Wieder eine Lappalie, mit der der Bundesgerichtshof zugemüllt wird

Thu, 29 Apr 2010 19:00:34 +0000

Ich kenne Personen, die den Bundesgerichtshof als einziges noch funktionierendes Staatsorgan ansehen. Zumindest erfüllt es die wichtige Aufgabe, unsere Politiker in ihre Schranken zu weisen, und in sich durch alle Instanzen hindurch nicht klärenden Streitfällen ein Machtwort zu sprechen.

Ich habe mal gehört, Anwälte müssen eine Gebühr zahlen, wenn sie mit einer Klage vor den Bundesgerichtshof gehen, um zu verhindern, dass man mit jedem Bagatellfall davor zieht.

Leider wird wohl dabei nur kontrolliert, ob es sich um eine Frage handelt, die noch nicht entschieden ist, und nicht, ob diese Frage in irgendeiner Weise sinnvoll ist. Und so konnte ich heute lesen, dass eine Künstlerin Google verklagt, weil die Bildersuche Thumbnails ihrer Bilder zeigt.

Zunächst mal finde ich die Bildersuche eine großartige Sache, und sie hat mir schon oft Dinge erleichtert. Nur um das mal vorweg zu sagen. Und ich verstehe auch nicht, was man als Künstler dagegen haben kann, dass man die eigenen Bilder in der Bildersuche findet. Es sind thumbnails. Vorschaubilder. Mehr nicht.

Desweiteren verstehe ich nicht, warum ein Künstler seine Werke ins Internet stellt, wenn er nicht will, dass diese auch gesehen werden. Ich nehme mal stark an, die betreffende Künstlerin wird so vorgegangen sein – denn befinden sich ihre Bilder im Internet ohne dass sie dazu beigetragen hat, dann war dies sicher nicht Googles Schuld, und sie sollte vielleicht den verklagen, der sie primär ins Internet stellte. Oder handelt es sich hierbei womöglich um das Missverständnis, das Internet sei nur eine große Verkaufsplattform für Inhalte?

Auch Googles Verhalten scheint in dieser Sache seltsam zu sein. Eigentlich kennt man es doch eher so von Google, dass sie Inhalte, die man nicht verlinkt haben will, nicht mehr verlinken, wenn man es ihnen direkt sagt. Um zum Bundesgerichtshof gehen zu dürfen muss man aber doch meines Wissens einige Instanzen durchlaufen. Einzig und Allein könnte ich mir vorstellen, dass Google hier ebenfalls ein Interesse an einer Rechtssicherheit hat. Immerhin: Wenn ein Gesetz draußen ist, müssen sich auch die Konkurrenten daran halten. Wenn nicht, wird Google als führender Anbieter vermutlich mehr Klagen an den Hals bekommen als Andere.

Dann ist natürlich die Frage, darf Google prinzipiell urheberrechtliches Material cachen und Daumennägel davon als Suchergebnisse anbieten, auch wenn der Urheber dies nicht will. Meine Antwort wird jetzt vielleicht manch einen erschüttern, aber dazu ist meine Meinung ganz klar: Nein.

Und nun kommt die für mich entscheidende Frage: Hat der betreffende Künstler Google auch entsprechend geltender Internetstandards mitgeteilt, dass er dies nicht will? Zum Beispiel in Form einer robots.txt, and die sich Google und Andere in der Regel halten? Irgendwie zweifle ich das an, denn sonst würde Google sie kaum anzeigen.

Ich frage mich manchmal ohnehin, ob den Leuten überhaupt bewusst ist, dass bei Google nicht ein paar Millionen Heinzelmännchen im Internet surfen und Suchergebnislisten erstellen. Dass da nicht bei jeder Seite irgendwer das Impressum und die speziellen Vorlieben bezüglich welche Seiten jetzt angezeigt werden dürfen und welche nicht durchgelesen und interpretiert wird, sondern ein Automatismus eine syntaktische und semantische Analyse durchführt und dann dass Zeug indiziert. Kein Mensch ist daran beteiligt.

Mein Vorschlag wäre, den robots.txt-Standard rechtlich festzuschreiben. Webcrawler und Bots sind inzwischen viel zu wichtig für das Internet, als dass man sie in dieser starken Weise einschränken sollte, zumal auch die meisten Künstler auch eher ein Interesse daran haben dürften, gefunden zu werden. Per robots.txt könnte dann jeder, der nicht will, dass seine Inhalte Indiziert werden, dies den Webcrawlern mitteilen, und solange diese sich daran halten, und sie in angemessenen Zeitabständen überprüfen, sollte Rechtssicherheit gelten.

Update: Ich bin froh zu lesen, dass der BGH meine Ansicht teilt. Ich frage mich dennoch, brauchte es dafür wirklich den Bundesgerichtshof? Hätte ein wenig Menschenverstand nicht ausgereicht?

A rant about non-commercial IM-Servers and Clients

Sun, 25 Apr 2010 18:42:44 +0000

This rant is SO necessary! I am SO pissed off!

Today, my FOURTH Jabber-Account on a free server is failing.

Jabber – the great free decentralized XMPP-Network on which even commercial services like Google Talk participate. So the default procedure is: Someone who likes to be admin of a server creates an XMPP-Server, making it freely available, and maintaining it. But it happens what always happens: The Admin gets older and therefore more work to do, and so, the XMPP-Server gets forgotten. Instead of giving some other person the possibility to maintain it, the server either goes down completely, or has downtimes and bugs whenever you want to use it.

Thats what already happened three times to my accounts. I had to switch the server and port my contactlist every time. I will try to keep my current account as long as possible, but at the moment I am just totally switching to google talk.

Basically, Google Talk works and has almost no downtime – yes, it already had maintenance-timeouts, but these were announced before and were short. Thus, well, Google is open to external Jabber-Servers, and thus part of the Jabber-Network, but as it appears to be the only long-term reliable server besides, the „freedom“ behind Jabber becomes arguable.

Then well, having an own little vserver should be sufficient for having an own Jabber-Server. The question is: What server-software to use? Jabberd2 seems very strange, and everyone suggests using ejabberd. But ejabberd – under Debian … well, most people suggest not to use the package, and I actually also do so, because not even the initscript works properly. But lets be honest. Ejabberd works – sort of. If you leave it to the basic configuration and hope that your server will be accepted by the other Jabber-Servers – and, above all, will accept other Jabber-Servers – there may come a time when you can actually use it (except when it crashes or refutes to connect because of some misconfiguration you didnt even notice before connecting to it from another IP-Address).

If you only want the service for yourself, you could also think of running a server locally on your Home-PC, using dyndns. Well, this solution is not very stable for a huge Jabber-Server, but for you and a few friends it should be sufficient. But then you are almost guaranteed to not being able to connect to the larger Jabber-Servers – because they mostly deny access of such IP-Addresses – which is obvious, since otherwise they would be flooded with spam.

And above all, having an own server is nothing for everyone. It is basically not what Instant Messaging was thought for. Instant Messaging contains the word „instant“ – which means you want to use it instantly. You dont want to have to configure a complex server infrastructure everytime you want to ask a friend if he likes pizza when he arrives visiting you, or if he will join you in the canteen this noon. Especially, you as a conscious free-software-user could even be willing to take the extra efforts to maintain such a thing, but will the handsome neighbour-girl you want to date do so, too? IM is only an option if it is easily available to anyone.

This includes a simple Client which runs under Windows – which doesnt want to know lots of strange settings, but just a small User-ID and password, and then connects and then just works. Is that really so hard?

Well, facebook has an XMPP-Service meanwhile, which is a good thing (and does certainly produce some costs to facebook) which works perfectly as far as I see – except with the newest Pidgin-Version (which is the client which is most commonly recommended to users). I tried with other clients. I tried with older Pidgin-Versions. It worked perfectly. Only the new Pidgin-Version doesnt like facebook’s XMPP-Service. And – above all – I asked #pidgin for help. But nobody could imagine what the problem is.

This is an XMPP-Service – it uses an open protocol. And it used to work with the same client on an older version. But nobody can even tell how to trace the problem. Now, isnt that nice?

And to get your client being able to transfer files from point to point is another story. It isnt even always sufficient to have one open port on one side.

Actually, I dont see the point to XMPP at all. Seems like the main purpose it is used for is Instant Messaging. There may be multiuser-chats, but IRC is far more wide-spread, and far more usable, and has a simple protocol. Actually, IRC could be used for Instant-Messaging, too, when slightly modified or extended.

I cannot understand why its so hard to create a working protocol for instant-messaging. I mean, its not that instant messaging is something that has just been invented.

Warum ich kein Pragmatiker bin

Sat, 24 Apr 2010 00:14:52 +0000

Die Pragmatiker haben die Oberhand, so scheint es. In der Politik, der Wirtschaft, der Softwareentwicklung, dem Ingenieurswesen, überall hört man von Praxisorientiertheit, von der Praxis™, und, gerade wenn man sich als Mathematiker fühlt, davon, wie sinnlos die Theoretiker sind, die keine Ahnung davon haben, worauf es wirklich ankommt.

So kommt es, dass ich mir von einem Fachinformatiker sagen lassen muss, dass ich in meinem Informatikstudium nichts sinnvolles lerne – obgleich ich in der Universitäts-Informatik prinzipiell dasselbe lerne, was ein Fachinformatiker lernt, und unzählige zusätzliche Dinge, die er nicht lernt, und deren Sinn er somit nicht beurteilen kann, und ansonsten der hauptsächliche Unterschied eine Verlagerung der Schwerpunkte ist. Ich muss mir anhören, ich würde nur funktionale Programmierung lernen, die ja so sinnlos sei und in der Praxis™ keinerlei Relevanz hat und je haben wird, da de facto alle wichtigen Softwareprojekte die kommerziell relevant sind in C++ geschrieben sind. Dass C++ sich im Laufe der Zeit einiges aus der Ecke der funktionalen Sprachen abgeschaut hat, und generell theoretische Erkenntnisse einflossen, was auch pragmatisch gesehen die Forschung an funktionalen Sprachen rechtfertigt, sei mal ungeachtet, denn darauf will ich garnicht hinaus.

Nein, worauf ich hinaus will ist, dass mir die ganzen Pragmatiker inzwischen generell wahnsinnig auf den Senkel gehen, weil in dem, was man als Pragmatik ansieht, eigentlich der Ursprung vieler schlechter Entwicklungen steckt. Wie immer bei solchen Posts von mir, erstmal die Definition von Wikipedia:

„Der Ausdruck Pragmatismus (von griech. pragma „Handlung“, „Sache“) bezeichnet umgangssprachlich ein Verhalten oder Handlungen, die sich nach den bekannten Gegebenheiten richten und auf eine theoretische Analyse und genaue Begründung der Wirkungen verzichtet. Pragmatisches Handeln ist nicht an unveränderliche Prinzipien gebunden.“

Nun, das klingt nach einer ganz guten Definition. Ich persönlich würe es rein Betonungstechnisch sogar eher so ausdrücken, dass Pragmatismus das Arbeiten mit den Gegebenheiten, ohne ein Interesse einer Veränderung oder Verbesserung, ist. Und diese Form der Arbeit ist die sinnloseste überhaupt – jede Arbeit hat in der Regel im Sinn, eine Verbesserung in irgendeiner Weise herbeizurufen, und sei es nur, den Verfall etablierter Strukturen zu verhindern. Dies setzt ein grundsätzliches Interesse an der Arbeit die man erledigt voraus, und ich persönlich könnte nur schwer an irgendetwas arbeiten, was mich in keiner Weise interessiert.

Selbstverständlich muss nicht jeder in jeder Beziehung ein großes, tiefgründiges Interesse einer Verbesserung haben. Ein Webdesigner darf meinetwegen Flash verwenden, eine Büroangestellte muss die Office-Lösung verwenden, die sie vorgesetzt bekommt.

Hier komme ich aber gleich zum ersten Beispiel, das ich für falschen Pragmatismus anbringen will: Ich hatte bereits Gesprächspartner, die meinten, sie würden grundsätzlich nur Microsoft Office verwenden. Microsoft Office sei ein de-facto-Standard, und jeder, der sinnvoll am Geschäftsleben teilnehmen will, muss eben erstmal in Microsoft Office investieren, weil es schlichtweg zu dem Gehört, was man grundsätzlich benötigt. Und ich gebe zu, würde ich ein Unternehmen gründen, ich würde mir wohl auch einen Windows-Rechner mit einem Microsoft Office irgendwo hinstellen. Einfach, weil ich dann ein kleines Unternehmen wäre, das zumindest die Möglichkeit haben sollte, doc-Dateien richtig zu lesen. Andererseits würde ich von meinen Sekretärinnen erwarten, dass sie mit einem anderen System, am Besten LaTeX, schlimmstenfalls aber OpenOffice, zurechtkommen.

Man mag mir an dieser Stelle entgegnen, dass das keine Schlüsselqualifikation einer Sekretärin sei – schließlich könne sich nicht jeder mit der tiefgreifenderen Technik auskennen, und es müsse reichen, dass Sekretärinnen Arbeitsprozesse auswendig gelernt haben, die auf diese Weise nur in den etablierten Office-Anwendungen funktionieren.

Dem kann ich nicht zustimmen. Office-Anwendungen sind Handwerkszeug von Sekretärinnen. Freilich sind sie in erster Linie Nutzer, aber zumindest so gut, dass man einen Umstieg auf ein vergleichbares Produkt ohne größere Probleme autonom hinbekommt, sollte man sein Handwerk beherrschen.

Hier ist jedenfalls Pragmatismus komplett falsch, weil er ein Monopol erzeugt, und unzählige Unternehmen abhängig von Einem macht. Vor Allem wenn der Pragmatismus sich in die Ausbildung auswirkt, womit ich beim nächsten Punkt wäre: Der Pragmatismus in der Ausbildungspolitik.

Mehr Praxisbezug, mehr Nähe zu den Unternehmen, ich kanns manchmal nicht mehr hören … ständig hört man solchen Müll. Die Akademische Welt hat ihre Berechtigung, auch ohne Wirtschaft, auch wenn man ihr dies gerne absprechen würde. Grundlagenforschung brachte bereits mehr als Einmal wichtige Erkenntnisse. Das große Problem des Pragmatismus ist hier, dass er möglicherweise dafür sorgt dass man sehr viel was sehr lange nichts bringt nicht durchführt, nur leider gibt es gerade für die Dinge, die die Welt wirklich voranbringen, keinen Detektor, keine Garantie, keine Methode, sie zu finden. Wenn man revidiert wie viele Erkenntnisse sich ergeben haben, ist die Frage, ob die allzu pragmatische Sicht sinnvoll ist – sie garantiert kurzfristige Gewinnmaximierung, mehr auch nicht.

Wirtschaftlicher Pragmatismus – etwas, das ich zum politischen Pragmatismus zähle. Da gab es zum Beispiel die Politiker die meinen, eine Stimme für die Piratenpartei wäre eine Stimme für den Gulli, da diese die 5%-Hürde ohnehin nicht erreicht hätte. Mit dieser Argumentation hätte man noch vor garnicht so langer Zeit gegen die Grünen argumentieren können. Mit dieser Argumentation hätte man generell gegen jede Auflehnung gegen ein Establishment argumentieren können. Klar behalten die Pragmatiker nicht selten tatsächlich Recht mit der Aussage, eine kleine Bewegung setzt sich nicht durch. Die Frage ist nur, ob es sich nicht dennoch lohnt, sie zu unterstützen? Immerhin ist auch dies die einzige Möglichkeit, die Welt relevant zu verändern. Die Welt wird eben nicht von etablierten Mainstream-Ansichten verändert.

Die Struktur all dieser Beispiele ist ungefähr die Gleiche: Pragmatismus schließt große Veränderungen aus. Bisweilen sind aber große Veränderungen notwendig um ein System zu verbessern.

Ich sage nicht, dass Pragmatismus generell schlecht ist. Auch ich bin bisweilen pragmatisch, in kleinen Dosen. Generell bin ich aber eher idealistisch. Ich habe mir das pragmatische Denken mühsam antrainieren müssen, aber ich beherrsche es inzwischen denke ich ganz gut – teils zu gut, denn viele Menschen, die sich selbst als Pragmatiker sehen, haben subtil selbst Ideologien.

Pragmatismus vs. Ideologie sind zwei entgegengesetzte Haltungen. Man benötigt beide in einem entsprechenden ausgeglichenen Maß. Aber eben auch wirklich beide – das darf man nicht vergessen.

Free Software deficit rant and wishlist

Sat, 17 Apr 2010 23:54:00 +0000

There are some things that were nice to have as Free Software and some things that totally suck. Don’t get this wrong. I like Linux and Free Software in general, and prefer it to any other closed source piece of Software, because of this openness and because it is more written for geeks than for dumb noobs. Like this other OS which gets more and more tedious to work with. Which gets worse with every version. Now you have to literally dive through piles of much to verbose and mostly nonsensical description „essays“ and error „novels“ only to find out that this OS won’t tell you at all whats going on. Like „A problem has ocurred. Ask your Administrator.“  %$§$&% I AM the Administrator!!!!  „…want to… ask a friend?“ yeah.

Video conferencing

Needed: Skype equivalent.

Available Solutions: ekiga, empathy, kopete, pidgin, kphone, linphone.
Problems with existing solutions: none has the ability to encrypt video and/or audio which I consider essential for a modern communication tool. Skype’s encryption is at least good enough to frustrate the common network admin, which is way better than any open source has to offer out of the boy until now.
And no, additional vpn tunnels or zrtp proxies don’t cut it. They are a PITA to setup and maintain. Zfone has unclear licensing terms which seems to be the reason it isn’t packaged by distributions.
Ekiga seems to be the most usable at this time. Searching google for „ZRTP ekiga“ gives many results, it seams they attempt to include it since 2006, but it isn’t here until now. Additionally ekiga has a clumsy interface and is very hard to setup with things like sip-over-vpn or serverless sip. I guess it’s the typical gnome/windows thing: do some 50% standard things automatically and don’t care about the rest. They seem to be busy plumbing an instant messenger onto sip at the moment.
Empathy and the telepathy framework seems to be most promising now in my opinion because of their modular architecture.
I want: theora(x264) + speex,celt, builtin encryption, easy NAT traversal, easy installation. Everything is here: zrtp/srtp or dtls, stun, ICE, all codecs have open implementations, there are many open media frameworks.
Jingle seemed promising, doing away with the SIP cruft, I have seen many attempts to implement it into OS messaging clients, but none was usable. Don’t know why.

All in all it seems most of the developers are not at all interested in adding encryption to their program, some even seem to oppose it. Hey, lets create a new Conspiracy Theory (TM): „They“ prevent the development of free and open voice/video encryption software.

Video editing

Cinelerra was an utter failure regarding stability and usability. The Lumiera project by some people out of the cinelerra community sounds great, but will apparently not be usable in the foreseeable future. Pitivi and openshot are severely lacking in features until now but may have their userbase. Kdenlive has made large advancements and is the most usable at the time of writing, but it’s lacking basic features like keyframes for effects and stable effects. (ever tried to anonymize e.g. a video of a political demonstration?) Also there are only very few video format presets, and you cannot easily define custom ones.
Let’s hope Lightworks goes the Blender way and not the Xara way… The feature list looks really nice.

64bit runtimes for java, flash

Oh please Adobe and Sun/Oracle: Would you please finally make 64 bit versions of your runtimes that simply work as „well“ as in 32 bit?
As flash is mostly used for videos and advertisements, we can hope it will be replaced by html5 in near future, whereas the lack of a 64 bit java vm with a non-memory-eating client mode is really bitter. At least there is now an applet plugin. Now that memory and cpu time are so abundant that we write whole applications in Javascript, Java would have been a great technology for client apps and web, but of course Sun decided to totally botch it with their former stupid licensing policy and their neglegience for everything else than „Enterprise Business yaddahh“.

Java ME DevKit for Linux

Who in his right mind wants do cross-develop using Windows if he could use Linux, the developer’s platform?

Video recording/synchronization

Have you ever tried to record video directly from webcam to disk? Perhaps you even have an mjpeg camera and hoped it could simply dump frames beneath some audio? I tried ffmpeg, mencoder, vlc, gstreamer, transcode. I was lucky when they handled v4l2 at all, then some of them didn’t even have alsa input drivers (alsa is around since 1998…)

Main problem here is:
There a two completely separeate streams: Video as a somewhat irregular timed sequence of jpegs and audio as a normal alsa stream from an usb-audio-driver. One would expect that it should be possible to simply write both streams nicely timestamped into a container format and process (cut, recode, whatever) the whole thing afterwards in non-realtime. Nope.Vvlc doesn’t work with raw mjpeg, and doesn’t have alsa input. Mencoder does have raw mjpeg, but it segfaults immediately. And it can only write avi files which need a regular framerate.
With ffmpeg A/V-sync was a total mess, although it otherwise worked.
Gstreamers gst-launch is a great tool, but no matter how many buffers and timestamper plugins one inserts audio is not in sync with avi. Mkv works fine, but no other program can open mjpeg-in-mkv or at least convert it to a different mjpeg container format.

Video transcoding

What I want: Start with a DVB recording as one or more TS files and an edit decision list consisting of cut-in/cut-out times.
Goal: Get a properly a/v-synced mp4/mkv file in one single step:

magical-encode -edl blah.txt -o out.mp4 -crf 25 *.ts

At the moment you do this:

ts –cut+sync+demux (projectx)–> m2v+mp2+ac3 –encode video, copy/encode audio–> .avi,vorbis/aac/ac3 –multiplex–> mp4/mkv

This needs 2 – in theory – superfluous sets of temp files. Helped to kill my hd once…

Proper video drivers

Nvidia’s binary blob works as long as you have a new graphics card and as long you are lucky. I have to use an old „legacy“ version now with my old graphics card. At the moment it seems I have some settings wrong. It’s sluggish as hell. Switched to nouveau today. I can live without 3D and power management on this computer as I use it mostly for surfing and as a server. I’m confident nouveau will improve.
Ati’s binary driver was really bad some time ago, but has improved. You still can’t make screencasts with a decent framerate, the computer hangs completely when you start a second x-server, and so on. I’ll change to the open source driver the day they implement power management.
Yeah @Intel: H.264 acceleration in Q3

Decent Open Multi-VPN

Tinc has a great feature list, but what use is a Virtual Private Network that is not guaranteed to be private? I consider their security issues severe and find their reaction to it dubious at best.

Strange:  Most of these issues are related to video, encryption, or bytecode-runtime. Perhaps these are the most difficult and/or boring fields in software development.

If you happen to stumble over a solution to any of the aforementioned, feel free to comment.

Ist es Zeit für eine neue Programmiersprache?

Tue, 09 Mar 2010 23:52:12 +0000

Huch, eine gefährliche Sicherheitslücke in Opera erlaubt die Ausführung von beliebigem Code. Schon irgendwie episch, dass sowas heutzutage immernoch passiert. In Zeiten, wo man jedes Bit noch dreimal verwenden musste, kann ich ja verstehen, dass sich hin und wieder Fehler eingeschlichen haben – man musste ziemlich lowlevel programmieren, um zu optimieren.

Nun, spätestens seit DOM und dynamic HTML sollten diese Zeiten aber zumindest für Browser so langsam zu Ende sein. Nun weiß ich freilich nicht, in was Opera genau geschrieben ist, aber ich vermute doch stark einen ziemlich großen C++-Kern, mit ziemlich vielen lowleveligen Aufrufen (ich bin bekanntermaßen kein C++-Freund, aber selbst C++ erlaubt einem  zum Beispiel, Arraygrenzen automatisch prüfen zu lassen, wenn man entsprechende Kapselungen verwendet – diese sind freilich ineffizienter).

Ich persönlich tendiere aber eher zu der Meinung, ein Browser sollte in einer sinnvollen Hochsprache geschrieben sein, mit einer guten Grundengine. Nachdem man von sämtlichen Browsern immer wieder hört, sie hätten Speicherlecks, was mich bei der Notwendigkeit der Behandlung dynamisch wachsender und sich verformender DOM-Bäume nicht wirklich wundert, ist hier vermutlich sogar ein Garbage Collector angebracht – letztendlich wäre nämlich alles, was man erzeugt, um dieses Problem effizient zu lösen, sowieso bereits ein Garbage Collector (zumal JavaScript sowieso einen Garbage Collector voraussetzt). Hochsprachen die das leisten gäbe es genug. Common Lisp und Scheme fielen mir da ein, Perl (ok, sort of) und Python, Haskell, *ml, Java, aber selbst ein konservativer Boehm Weiser GC sollte es bei entsprechender Kapselung in C++ tun. Sicherlich, Runtimes können auch Bugs haben. Aber es ist sinnvoller, auf eine Runtime zu setzen, die – sofern sie korrekt funktioniert – Sicherheit garantiert, und diese ggf. zu patchen, und damit gleich ziemlich viel Software abzusichern.

Wenn man sich nun aber die oben aufgelisteten Sprachen anschaut, fällt recht schnell eines auf: Irgendwie haben alle Sprachen inzwischen ziemlich viele Gemeinsamkeiten. Es mag sein, dass mit Haskell das imperative Programmieren erheblich schwerer ist (aber dank Syntaktischem Zucker im Zusammenhang mit Monaden eben nicht wirklich unmöglich – ja, man kann darüber streiten, ob das wirklich imperative Programmierung ist, aber … es fühlt sich so an, es sieht so aus, also ist es für mich imperativ), während C++ gerade mal Lambda-Konstrukte bekommen hat, die – wie ich C++ einschätze – kaum benutzbar sind. Trotzdem: Im Grunde bekommen momentan die meisten Programmiersprachen die Features von so ziemlich allen anderen. Das liegt wohl wiederum daran, dass die meisten derartigen Features eher kleine Anpassungen voraussetzen.

Wie dem auch sei, was entsteht ist also mehr oder weniger ein Einheitsbrei – zumindest habe ich momentan diesen Eindruck. Alle Programmiersprachen bekommen mehr oder weniger alle existenten Features irgendwie hinzugepfriemelt. Das ist auch nicht wirklich etwas schlechtes – an sich ist es gut, wenn man versucht, verschiedene Features irgendwie ineinander zu integrieren um sie kompatibel zu machen. Nur fehlt es mir persönlich momentan an echten Neuerungen. Ich sehe auf Freshmeat z.B. ständig irgendwelche neuen Interpreter, aber ich sehe selten irgendetwas wirklich neues.

Einen dann doch ganz anderen Weg gehen aber zum Beispiel Logikprogrammiersprachen, wobei ich gestehen muss, bis auf eine Vorlesung und ein wenig Doku über LogTalk wenig bis nichts darüber zu wissen. Logikprogrammierung scheint zwei Aspekte zu kombinieren, die ich mit meinem begrenzten Wissen als Trends prognostiziere: Kontextorientierte Auswertung und Programmverifkation bzw. -extraktion.

Kontextorientierte Auswertung geht in Richtung Lazy Evaluation, und bietet eine ideale Möglichkeit, Berechnungsprocesse zu verteilen –  nachdem Prozessoren jetzt eher dazu tendieren, mehr zu werden, als schneller, sehr sinnvoll. Außerdem lässt sie sich sehr gut in bestehenden Programmcode integrieren, und steht Typsystemen und Verifikation nicht im Weg.

Programmverifikation und Programmextraktion hingegen sind wiederum Techniken, die moderne Softwareprojekte brauchen werden. Spätestens, wenn man wirklich mal relevantes Cloud Computing betreiben will, wird man auf das Problem stoßen, sinnvoll und effizient Berechnungsprozesse eines anderen Rechners ausführen zu müssen, ohne Angst vor Exploits zu haben. Und man wird auf das Problem stoßen, eine fertige Berechnung zu verifizieren, in signifikant kürzerer Zeit als die Berechnung selbst gedauert hat.

Dabei ist Programmverifikation keine Möglichkeit, alle Exploits zu verhindern – das hört spätestens dann auf, wenn die Hardware Fehler macht. Aber es ist eine Möglichkeit, bekannte Sicherheitslücken zu verhindern, indem man Spezifikationen erstellt, die ein Programm erfüllen muss. Somit lassen sich Probleme wie Buffer Overflows effektiv beheben. Programmextraktion wiederum ist eine meiner Meinung nach sehr schöne Möglichkeit, Prototypen für Spezifikationen zu erzeugen, die man später effizienter macht. Ich  vermute, der höhere Aufwandt bei der Erzeugung der Software würde sich bald Amortisieren.

Das sind die Trends, die ich vorhersage. Freilich gibt es das alles schon, aber es führt momentan noch eher ein Nischendasein, während funktionale Konzepte inzwischen ziemlich weitreichend verbreitet sind. Was natürlich auch mit der Jahrzehntelangen Forschung auf diesem Gebiet zu tun hat. Da müssen diese Gebiete noch nachlegen.

Soweit meine Meinung. Andere Meinungen und Ergänzungen dazu würden mich interessieren.

Frustrational Blogging #1

Fri, 12 Feb 2010 21:06:31 +0000

I already had a lot of „Frustblogging“-s, this time I will try to post one in english, creating a neologism „frustrational“ (at least I couldnt find that word anywhere in a dictionary, so I assume it is free to be given a meaning).

Firstly, since about a month my mobile phone is behaving strange, and since I have a lot of phone calls to do in the next days, I need a reliable one. In April, my provider would pay me a new one anyway, but of course it had to get broken now, one and a half month before this. I also had an older mobilephone which worked well when I stopped using it, but it doesnt accept SIM Cards anymore, seems like it cannot read them or something. The cheapest mobile phone without simlock was 30€ … which is a lot of money for a phone you mainly buy for six weeks. But no choice – I had to buy it. There is no cheaper one without simlock, and the next cheapest was 80€. This 30€-Phone was made in China – so thank you China for producing cheap stuff!

Well, I am late with my project thesis, so I wanted to hurry up today. On the other hand, I wanted to drive home. So – well, took my MacBook and went home. At home, I have a large screen, where I usually put my laptops on when I am there – but this time I have forgotten the adapter one needs to connect the new MacBooks to external screens – thank Apple for not adding a simple DVI-socket to the macbooks, requiring them to have an external adapter!

At least I didnt forget the power supply.

So well, then since my thinclient refuted to start its X-Server for some reason (and now refutes to boot), I am bound to this little screen. Well, then, lets think of this problem later and connect to the internet. So I was – as usual – starting my 100€ OpenWRT-Compatible Router … booting … connecting … getting a correct dhcp-answer and everything … but not being able to connect to the internet. The stupid Windows Network Diagnose wasnt helpfull at all. And … hm … the router password is on the harddisk I have also left at my workplace. Urks!

So I digged out my old 25€ Digitus Router (which has no Wireless LAN – but who cares), and well, it worked. Since I dont have the router password at the moment (maybe its on another HardDisk I have here, but its … encrypted via LUKS, which makes it harder to access under Windows, but maybe I find time to do so), I will for now just continue with my old Router. Now having an internet connection I was thinking about setting up a new Syslinux-Live-System for my thinclient, so maybe I can use the large screen. This will now take about one and a half hour, since … well … Germany does its best to become an LDC, and thus there must not be fast internet in the countryside.

Just think about it: In Munich, Internet which is eightteen times faster than here is cheaper (luckily, we have DSL Connections here – in some other countrysides, they still use Dial Up connections). And through UMTS and HSDPA you will get mobile internet which is seven times faster than the cable internet here is – cheaper! Thank our politicians for the privatisation of telecommunications!

That being said, I am curious about rdesktop – I never used it so far. Maybe I get it work on my ThinClient.