philiKON – a journal

Philipp on software and other interesting things

Große Koalition — großer Unfug

with 7 comments

In wenigen Monaten wird vielleicht die zweite Große Koalition der bundesdeutschen Geschichte zu Ende gehen. Ich werde Ihr keine einzige Träne nachweinen. Denn wir haben unter Merkel, Münte & Co. die meiner Meinung nach schlechtesten Gesetze seit langem bekommen:

Der “Hackerparagraph” des Strafgesetzbuches verbietet die Herstellung und Verbreitung von Computerprogrammen, die Zugang zu gesicherten und nichtöffentlichen Daten ermöglichen. Zwar steht natürlich das Abhören bzw. Beschaffen von nichtöffentlichen Daten schon selbst unter Strafe, aber der Gesetzgeber sah es wohl als Notwendigkeit an, schon das Erstellen und Verbreiten sogenannter “Hackertools”, die z.B. auch von Systemadministratoren zur Sicherheitsüberprüfung des eigenen Netzwerkes benutzt werden könnten, zu verbieten. Nachträglich hieß es von Seiten des Justizministeriums, dass dies nicht illegal sei, sondern nur, wenn o.a. Aktivitäten ausgeführt würden mit der Absicht, eine Straftat zu begehen. Es bleibt also ein vager Gesetzestext und die Hoffnung auf die richtige Auslegung vor Gericht.

Online-Durchsuchungen mit dem “Bundestrojaner” sollen es dem Staat hingegen erlauben, Hackertools einzusetzen, um Privatcomputer auszuspionieren. Zum Glück hat das Bundesverfassungsgericht mittlerweile sehr strenge Auflagen dafür erlassen. Wie so oft musste also der Quatsch aus Berlin erstmal in Karlsruhe nachgebessert werden. Zumal bekleckerte sich die Bundesregierung, allen voran Bundesinnenminister Schäuble, in der öffentlichen Diskussion nicht unbedingt mit Ruhm: IT-Experten zweifelten von Anfang an an der Machbarkeit und dem Erfolg einer solchen Maßnahme.

Die Erweiterung des BKA-Gesetzes vom Dezember 2008 gesteht dem BKA nun zu, auch ohne konkreten Tatverdacht tätig zu werden und sich dabei der Kontrolle der Staatsanwaltschaft zu entziehen. Die eben schon erwähnten Online-Durchsuchungen bilden dabei nur ein erlaubtes Werkzeug. Video- und Audioüberwachung in der Wohung, auch von dritten Personen, sind nun ebenfalls möglich.

Eine weitere Präventivmaßnahme bildet die Vorratsdatenspeicherung, die Telekomunikationsanbietern vorschreibt, sämtliche Verbindungsdaten für sechs Monate zu speichern. Hier wird also nicht nur ohne konkreten Tatverdacht ermittelt, sondern schon gänzlich grundlos eine Überwachung aller Bundesbürger durchgeführt. Das schlimme daran ist nicht nur, dass nur ein winziger Anteil der so überwachten Personen überhaupt straffällig werden, sondern dass sich die Daten auch zum Missbrauch gegen rechtschaffene Bürger eignen.

Ebenfalls missbrauchgefährdet ist die Kinderporno-Zensur, wie sie von Ursula von der Leyen (”Zensursula”) kürzlich ausgedacht wurde. Wie beim Bundestrojaner schlugen auch hier wieder IT- und Rechtsexperten Alarm. Aber auch diesmal ließ sich das Kabinett nicht beeindrucken. Das Ergebnis ist ein eigenständiges Gesetz (anstatt eines weiteren Passus im Telekommunikationsgesetz), das unter dem Vorwand der Kinderpornographie eine Zensurinfrastruktur schafft, die sich leicht auf andere Bereiche ausdehnen lässt. CDU-Politiker beeilten sich dann auch, gleich nach der Verabschiedung des Gesetzes die Ausweitung auf “Killerspiele” zu fordern. Das schlimme ist, dass das Gesetz Kinderpornographie nicht bekämpfen wird, dem eigentlich Zweck also nicht zuträglich ist, sondern nur das Fundament weiterer Zensur darstellt.

Diese Zensur könnte z.B. auch beim Urheberrecht (2. Korb) umgesetzt werden: Diese Novelle des UrhG schränkt den Umgang mit digitalen Medien erheblich ein (z.B. innerhalb ein und derselben universitären Einrichtung) und verbietet die Umgehung von Kopierschutz (es sei denn, dies wird ausschließlich für den privaten Gebrauch gemacht).

Zwar zementiert das “Antidiskriminierungsgesetz” (AGG) nicht den Polizeistaat in Deutschland wie die vorhergehenden Gesetze, dafür ist es eine herrliche Bürokratieschleuder. Allein wer sich seit seinem Inkrafttreten einmal eine Stellenanzeige angeguckt hat, wird wissen, wovon ich rede. Dabei halte ich den eigentlichen Nutzen des Gesetzes für äußerst fragwürdig. Im Gegenteil: Das Gesetz kehrt die Beweislast für Diskriminierung um und schreibt sogar Privatleuten vor, wie sie nicht zu diskriminieren haben. Meiner Meinung nach führt das nur zu vorgefertigen Vorwänden und Lügen, nicht aber zu weniger Diskriminierung.

Bei all diesen neuen und geänderten Gesetzes ärgert mich besonders, dass die historische Chance der Großen Koalition, nämlich die Föderalismusreform durchzuführen, völlig vernachlässigt wurde. Dabei brauchen wir sie dringender denn je. Überhaupt wurden sämtliche dringende Reformen vernachlässigt. Schröders Agenda 2010 war eine der wichtigsten Reformen der letzten zehn Jahre, eine Folgereform (”Agenda 2020″?) wäre längst überfällig.

Was mich an all dem aber am allermeisten ärgert: ich habe damals auch noch mitgeholfen, Gerd Schröder abzuwählen. Nun gut, selbst wenn er an der Macht geblieben wäre: durch den Linksrutsch der SPD, der die vorgezogenen Neuwahlen 2005 provoziert hatte, wäre es fraglich gewesen, ob er überhaupt so hätte weitermachen können. Dennoch wünsche ich es mir manchmal. Allerdings sollte man dabei nicht vergessen, dass wir auch unter Schröder Bürokratie- und Überwachungsmonster wie die Autobahnmaut (und damit die systematische Erfassung sämtlicher Nummernschilder auf deutschen Autobahnen) bekamen. Seinem Innenminister Otto Schily haben wir außerdem biometrische Reisepässe zu verdanken, wiederum trotz heftiger Kritik von IT-Sicherheitsexperten. Schily spendierte der Bundesrepublik zudem eine zweite Spiegelaffäre, indem er die Büroräume des Cicero-Magazins durchsuchen ließ.

Die beiden großen Parteien sind also nun endgültig unwählbar geworden, zumindest auf Bundesebene. Zum Glück gibt es Alternativen (die leider in Sachsen zur kommenden Bundestagswahl nicht antreten).

Update: Thomas Stadlers gestriger Blogeintrag zählt noch ein weiteres Gesetz auf, das in meiner Liste nicht auftaucht: das Luftsicherheitsgesetz. Dessen § 14 Abs. 3 räumt den Streitkräften die Möglichkeit ein, Waffengewalt gegen Flugzeuge anzuwenden, sofern diese gegen Menschenleben eingesetzt werden sollten (z.B. wie beim 11. September 2001). Trotz etlicher rechtlicher und ethischer Bedenken verabschiedete die Große Koalition das Gesetz, das Bundespräsident Köhler nur unter großen Bedenken unterschrieb. Das Bundesverfassungsgericht kippte schließlich den umstrittenen § 14 Abs. 3 — ein weiteres Beispiel, wie der Pfusch aus Berlin in Karlsruhe behoben werden musste.

Written by philikon

July 4, 2009 at 10:59 pm

Posted in Society

Altenrepublik Deutschland

with 6 comments

Willkommen in Deutschland! Sie werden sich hier sehr wohlfühlen. Bei uns herrscht nämlich noch Sitte und Ordnung. Bei uns regieren die Alten.

Ja, unsere Entscheider sind diejenigen, die noch wissen, was sich gehört und was nicht. Die gutes Benehmen eben nicht nur als Floskel kennen, sondern vor allem andere darin gerne belehren, anstatt sich selber zu benehmen. Zumal längst vergessene Tugenden wie Tischmanieren auch wichtiger sind als Vertrauen und Ehrlichkeit. Es sind diejenigen, die bei gesellschaftlichen Missständen nicht zögern, ein Gesetz gegen ebendiese zu fordern anstatt wirklich etwas zu unternehmen. Die ihren jüngeren Mitmenschen gerne vorschreiben, welche Vergnügung sittlich ist und welche nicht. Diejenigen, die ja eh nichts zu verbergen haben.

Ja, hier regiert die Generation, die Deutschland weder mit aufgebaut noch reformiert hat, aber dafür wenigstens keine lärmenden, ungezogenen Kinder bekommen hat. Es sind diejenigen, die den Generationenvertrag gebrochen haben und dennoch uneingeschränkt einfordern — aus Solidarität. Diejenigen, die wider Expertenwissen für eine Politik sind, die volkswirtschaftlich bedenklich, aber dafür vermeintlich gerecht ist. Diejenigen, die sich eben noch von der Ideologie leiten lassen.

Ja, willkommen in Deutschland! Bei uns regiert das Volk.

Written by philikon

June 19, 2009 at 12:42 pm

Posted in Society

What I did last year

with 4 comments

So I handed in my Diplom thesis last week, five days ahead of schedule! It was actually due today. This means that exactly twelve months have gone by since I joined the Institut für Kern- und Teilchenphysik (IKTP) to do elementary particle research. Because it has been such an amazing year, I can’t help but reminisce a little.

The Diplom thesis marks the end of a five year university course in physics. Unlike other majors, physicists get a whole year for it because that’s how long it typically takes to get acquainted with a topic, do meaningful research and write it all down. For me it was the best year out of the five and a half I’ve spent in university. That’s because the IKTP is an awesome place to work at. Mostly however I’m glad they managed to hire Dominik Stöckinger as a professor for particle theory. Because that meant I didn’t have to become an experimentalist :) . Dominik has been a great mentor and is probably partially responsible for my decision to carry on with research after my degree.

Looking at the log of my revision control system, here’s how I’ve mostly spent my time:

  • Studying Quantum Field Theory and Supersymmetry: 3 months
  • Learning Mathematica and related software: 1 month
  • Preparing and teaching the Quantum Field Theory tutorial: 2 months
  • Writing applications for PhD programmes and scholarships: 1 month
  • Vacation (in total): 1 month
  • Doing the actual research: 2 months
  • Visiting the DPG Spring Conference: 1 week
  • Writing down the thesis: 6 weeks
  • Printing, binding, handing in thesis and partying: 1 week

Here are some mostly unrelated thoughts and insights from the past year:

  • It feels like I’ve learned more Physics in this one year than I have in the four years before. This might not actually be true. All I know is I have gained an enormous amount of insights. Actually being able to understand what the professors are talking about is gives me lots of satisfaction. Being able to ask semi-smart questions even more.
  • The reason why I think I learned so much is the environment. I realized that I don’t get much from lectures and even tutorials aren’t that effective for me. Sharing an office with other Diplom and PhD students, however, as well as the numerous discussions with professors were much more insightful. Teaching a tutorial has also helped a lot because I was forced to work out every detail myself. But since I co-taught it with someone else, I also got to discuss the problems verbally a lot.
  • Mathematica is a great language. It borrows a lot from other functional and pattern-matching languages such as Lisp or Haskell. The notebook interface is a bit hard to get used to at first, especially as a software developer. In the end it’s quite alright, I guess, even though sometimes “using it still feels like unprotected sex with an HIV positive, nobel prize winning hooker that looks like Meatloaf“.
  • Even though they do a lot of software development, many scientists are lousy developers. Commenting is typically unheard of (unless it’s for commenting out code, then it’s used way too often) and only well-organized collaborations seem to use version control and enforce coding standards. Most code is written so that they understand it (maybe), but rarely written so that other people can work with it (which will eventually happen once you have students work for or with you, for instance).

Written by philikon

April 30, 2009 at 2:42 pm

Posted in Physics

Religion und Freiheit

with 19 comments

Nach einer kleinen Diskussion zum Thema Relgionsunterricht auf Twitter habe ich das Bedürfnis, meine Gedanken ein wenig zu sortieren. Ein Blogartikel scheint mir die geeignete Form zu sein. Die meisten meiner gestarteten Blogeinträge sind bislang im Draft-Nirvana geendet. Vielleicht schaffe ich es ja, diesen hier zu Ende zu bringen :) .

In Berlin steht am Wochenende ein Volksentscheid zum Thema Religionsunterricht an. Bislang gibt es für alle Schüler das Fach “Ethik” als Pflicht. In dem Volksentscheid geht es darum, Schülern die Wahl zwischen Ethik und Religion zu ermöglichen. Wie so oft in der deutschen Politik ist leider die Diskussion zu diesem Thema rein von Ideologie und so gar nicht von Pragmatismus getrieben. Gerade in puncto Religion scheinen gewisse Parteien so fürchterlich verunsichert zu sein, dass eine sachliche Behandlung der Dinge kaum mehr möglich erscheint.

Integration

Betrachten wir den Fall einmal. Eine nicht unerhebliche Anzahl Berliner Bürger (genug, um einen Volksentscheid ins Leben zu rufen) möchte gerne die Wahl zwischen Ethik und Religion in der Schule sehen. Warum möchten SPD und Linke ihnen diese Wahl verweigern? Als Argument wird meist die Integration genannt und die fatalen Folgen für die Integration, die diese Wahlmöglichkeit hätte. Nicht, dass es um die Integration in Deutschland momentan gut bestellt wäre und es um die Zerstörung eines Erfolges ginge, denn das ist nun wirklich nicht der Fall.

Nennen wir  das Kind doch endlich mal beim Namen. Es geht doch um den Islamunterricht, vor dem die Leute so panische Angst zu haben scheinen. Man fürchtet wohl eine Isolation der Muslime in Deutschland, weil sie sich alle in den islamischen Religionsunterricht flüchten. Und paff, die Integration ist dahin! So ist einfach ist es zum Glück nicht. Denn mit dem Integrationsproblem ist ja nicht die Isolation gemeint. Im mulit-kulti Berlin ist das sowieso eh nicht das Problem: Murat und Christian spielen schon längst zusammen im selben Fußballverein und verknallen sich in die selben Mädels (trotz Unterschiede in der Religion).

Das Problem ist doch die geringe Qualifizierung der Migrantenkinder. Und bislang hat der Zwang zu Ethik die Zahl der Schulabschlüsse in diesem Teil der Gesellschaft nicht zu heben vermocht. Ich kann mir nur schwer vorstellen, dass eine zusätzliche Wahlmöglichkeit die Zahl noch weiter nach unten drückt. Ich lasse mich allerdings durch Erfahrungswerte gerne belehren. Von reinen Spekulationen halte ich aber nichts.

Religion = suspekt

Noch ein weiteres Kind sollte beim Namen genannt werden. Es ist schwer zu verkennen, dass heutzutage immer weniger Leute religiös sind. Das ist prinzipiell kein Problem, allerdings scheint es mir so, dass von Seiten der Atheisten (man verzeihe mir die Benutzung dieses Wortes als Sammelbegriff für alle Nicht-Religiösen) ein immer größeres Misstrauen den Religionen entgegengebracht wird. Gerade beim Islam geht die Furcht vor religiösem Fundamentalismus um. Aber auch den anderen Kirchen ist man suspekt gegenüber eingestellt und möchte die Kinder lieber vor den Fängen dieser authoritären Organisationen fernhalten.

Diese Voreingenommenheit macht eine sachliche Diskussion nahezu unmöglich. Nicht nur das, ich finde es regelrecht anmaßend, den Religionsunterricht mit einer weltanschaulichen Indoktrination gleichzusetzen. Ich habe manchmal wirklich das Gefühl, dass die Gegner des Religionsunterrichts noch nie in den Genuss gekommen sind, einen selber besucht zu haben. Außerdem scheint gerne vergessen zu werden, dass der Religionsunterricht wie jedes andere Schulfach auch, einen Lehrplan bekäme. Im Übrigen stört die einseitige Sichtweise, denn auch der Ethik-Lehrer könnte seinen Unterricht zur Indoktrination dieser oder jener Weltanschauung benutzen.

Freiheit

Ein Bestandteil des Ethiklehrplanes ist doch sicherlich die Toleranz. Nun, wo bleibt die Toleranz gegenüber denen, die religiös sind und auch so ausgebildet werden wollen? Und überhaupt, indem wir den Muslime wie Christen die Möglichkeit zu konfessionellem Religionsunterricht geben, schaffen wir nicht eine viel größere Gleichbehandlung und Ebenbürtigkeit? Ist das nicht am Ende ein viel größerer Beitrag zur Integration, wenn diese Leute in die Gesellschaft eingebunden statt marginalisiert werden?

Diese Fragen sind wirklich ernst gemeint, denn ich weiß es auch nicht. Aber ich möchte denen, die es probieren wollen, den Versuch nicht verwehren. Das bedeutet nämlich das Zugeständnis einer Freiheit, die es momentan nicht gibt. Es ist die Freiheit, seine Weltanschauung ohne Einmischung des Staates leben zu können, insbesondere in der Ausbildung. Friedrich II. hat diese Freiheit meiner Meinung nach am schönsten formuliert:

Jeder soll nach seiner Façon selig werden.

Schade, dass sich einige Berliner an diese Freiheit ihres Stammlandes Preußen nicht mehr erinnern. Stattdessen nimmt man lieber Anleihen an der Gleichmacherei eines viel dunkleren Kapitels der ostdeutschen Geschichte. Schade.

Written by philikon

April 22, 2009 at 12:55 pm

Posted in Society

Announcing the Zope 4 book

with 7 comments

I know people have been eagerly waiting for an updated version of my Zope 3 book, Web Component Development with Zope 3. While the first edition targeted Zope 3.0, the second and third are targetting Zope 3.3, a release that is several years old now. Since then, Zope 3 technologies like the Component Architecture have equally found adoption among the Plone project and hatred among the rest of the Python web developers. Time then for an update of the most popular Zope book, right?

There were some original plans to base the fourth edition on Grok, the upstart project within the Zope world. With its developer-friendly attitude and pragmatism, it seemed like a viable path out of the Zope 3 complications. With the advent of Zope 4, however, this has completely changed. Zope 4 certainly makes Grok look old and used. Grok is so 2008 now. That’s why I’m happy to announce that the next edition of my book will target Zope 4:

cover4th

I’m also happy to announce that the book will be available soon! Writing the 4th edition really was a breeze, thanks to Zope 4’s completely non-enterprisey approach, the adoption of interfacelets (which allow you to write the generally disliked Zope interfaces with much less code in much less time), and the automatic componentizer which turns any Spaghetti code (e.g. a Django webapp) into nice reusable components. Zope 4 also fixes some mistakes that were made in Zope 3, for instance by bringing back proven Zope 2 technologies such as DTML and Acquisition. This sped up the writing of the 4th edition tremendously as well, as I was able to simply cobble the relevant chapters together from all those $4.99 Zope 2 books on Amazon.

Right now I’m just finishing the last chapter. It’s about the Zope Stallion, a feature that was introduced to compete with the Django Pony. After this it shouldn’t take long for the book to go into print. I think Amazon will even be taking your preorders soon, so act … uhm … soon!

Written by philikon

April 1, 2009 at 11:11 am

Posted in Zope

I dig git

with 6 comments

Last Christmas I investigated some distributed revision control systems (so that I could keep on working normally despite the spotty internet connection over the holidays). Since then I’ve been using git on a daily basis for my research work and just love it. Thanks to git-svn I can still keep the original SVN backend. This has a number of advantages (sorry for reiterating a couple of points here):

  • I access my SVN repositories via HTTPS. That means they’ll work even in the most ridiculously firewalled network as long as HTTPS connections are allowed. It also means that I can browse files with just a regular web browser (and nowadays even my phone has a web browser built-in!)
  • While git’s Windows support is said to be getting better (I haven’t tried), SVN still has the best interoperability. When you’re not 100% sure what platforms have to access and commit to the project, SVN still is the best common denominator.
  • Even with git you’ll sooner or later want to create a certain central repository that you or others can push to and pull from. Like with SVN, that too will require the server to have git installed, by the way. So that repo might just as well be in SVN, given the two points above.

So, I’m still using SVN for the backend and for the frontend where necessary. Otherwise I use git. I’m probably only using 10% of its features (which is fine by me), but boy I’m sold:

  • git’s really well documented, I particularly like the insightful tips from gitready.com but the man pages and the online user manual are just as good. Compared to that, the Mercurial book is close to being useless.
  • It simply makes sense. Lots of people say git is weird and compared to SVN, it sometimes really is. But the more time I spend using git, the more I feel that this is the way it should be done. Mercurial is conceptually very similar to git and both are increasingly popular which to me seems to indicate that both must be doing something right.

One thing that falls under the “the way it should be done” category is that you can just walk up to a directory and decide you want this stuff to be version controlled. The other day I realized I wanted to extend a piece of software. I couldn’t find out whether it was still maintained and where, so I just turned the directory into a git repository and started hacking away. Maybe it is still maintained, in which case I can always ask git to spit out my modifications as patches. Or the original author could pull my changes from the public repository I’ve set up. Come to think of it, I should probably tell the original author that :)

You may have noticed there, I’ve simply placed a bare git repository on a web server. I love how easy and low-tech this felt: just scp’ed it over. Just to make it a bit user friendly, I added an index.html explaining what it is. I wonder how other people deal with this. I suppose folks without SSH access to webspace prefer sites like github.com and bitbucket.org? What do you do?

Written by philikon

February 13, 2009 at 12:47 am

Posted in Technology

Windows 7 is the best Windows so far. Or is it?

with 14 comments

Virtual machines are a cheap commodity these days, so I thought I’d give Windows 7 beta a whirl. Before I dive into the details, though, a word of warning is in order: The last time that I used Windows on daily basis was ten years ago. I rarely used Windows 2000, occasionally use XP today (for tax software) and know virtually nothing about Vista. I do think that this makes for an excellent scenario, though, because I feel much like my mom when she’s using the computer: I have no idea how to do anything!

That said I have high standards when it comes to usability and OS X has been able to live up to some of them –not all– in the past years. So Windows has quite some big shoes to fill when I’m testing it. Especially because I’ve never really felt the pain that I’m told Vista users have to endure. I’m sure to them Windows 7 is a like fresh breeze of liberating spring air. And I agree, it’s the best Windows I’ve seen so far.

Things I like

I like the new Taskbar. Because it’s much like the Dock we’ve known in OS X since, ooh I don’t know, 2000. Actually in some ways it’s better than the Dock. The Taskbar spans over the whole screen so its size and the position of the icons in it are always the same, no matter how many icons you’ve got in it. Then again, it becomes all unusable again when it has to cope with more icons than Microsoft deems necessary. And when you want to switch back to a program that has more than one window open, it doesn’t just open all of them and shows the one you used last. It first needs you to decide which window you want to see. Listen, sweet cakes, people these days have 22″ or 24″ screens and can fit two windows next to each other (even though they don’t, due to a disease Windows users often have which I call maximizitis). The Taskbar’s biggest problem, however, is its sheer ugliness. It really looks as though I’ve drawn it. On an Etch’n'Sketch.

I also like the Start Menu that we first saw with Vista, in particular the Spotlight-like search function. I believe Microsoft didn’t nick this from Apple, even though OS X has had it first (it was launched with OS X Tiger in April 2005). I find search the single most important tool in a computer system and it’s highly underrated. It’s good to see that Microsoft puts it at a much more visible and accessible place than Apple.

I also like the ribbon menus that made their debut in Office 2007. They’re now fitted to some of the built-in programs like WordPad and Paint. It feels to me they make the sheer amount of  stuff you can do with some of these programs these days more visible. Now if we could only get rid of duplicate ways of doing things (I’m looking at you, context menus!).

Test drive

To explore Windows 7 a bit further, I came up with a small test. This wasn’t supposed to be scientific in any way. I just thought I’d try to do what I do most of the time when I’m on the computer: surf the web, use web apps, read and write email, read and sometimes write documents, work with spreadsheets.

Well, it’s got a browser, the good old Internet Explorer. So Windows 7 won’t stop anyone from procrastinating on Twitter and Facebook. It’s got a text editor of sorts, WordPad, which to my delight supports the new OOXML format (docx) and the OpenDocument format (odt). Of course, what it doesn’t support is the old Word format (doc), not even read-only. Even Apple’s otherwise inferior TextEdit does!

Next I tried checking my email. That’s when things turned for the worse. There’s no built-in email client, at least in the public beta. Ok, I suppose in a world of webmail systems as good as Gmail, that may be acceptable to some people. But I just think they want me to buy Office.

This wasn’t anything compared to what came next, however. After failing to check my email I tried to do what any researcher does every day: read scientific articles. Like pretty much anything else that’s distributed in a printable fashion, these come in PDF form. So you’d think that the most popular operating system in the world would be able to deal with the de-facto standard of distributable document formats. But it isn’t. Even in its latest and greatest version, Windows fails to open PDF, let alone modify or produce PDFs.

I know I can install Adobe Reader for free at any time. But that’s not a solution because it’d be another thing I’d have to explain to my mom or granny, when it should really just be built in. I mean, seriously, is it so hard to include a half-decent PDF viewer program? Apple can do it just fine with Preview which can not only visualize pretty much any PDF, it’ll also let you delete pages and merge several PDF documents to one. And please don’t tell me that this is stuff nobody needs. As said, the de-facto standard for distributing printable documents is PDF and not Word’s stupid doc format. And definitely not Microsoft’s unilateral attempt called XPS. If Windows had the same PDF capabilities as the Mac, viz. being able to generate PDF out of pretty much any application, people would actually use PDFs even more often. By the way, I’m praising OS X a lot here, but the same goes for a modern Linux system: it too can generate and manipulate PDFs easily and pretty much any Linux distro out there will install some sort of PDF viewer by default.

Lastly I wanted to see whether Microsoft has finally fixed an old wart: USB storage media removal. You see, in previous Windows versions, in order to remove a USB stick you had to find a small and unfathomable icon in the system tray and click on it. Then a window would open and let you choose the device to remove and then click some button. The procedure was perhaps even more elaborate, I don’t remember. All I know is that it has always been a total failure in terms of usability. And have they fixed it in Windows 7? No. They’ve made it worse: that unrecognizable icon for external storage media is now hidden from the system tray. People then will bother even less about unmounting their USB sticks. Perhaps unmounting is not necessary anymore and I would gladly welcome that. But why is the icon then still there? I can only imagine that Microsoft has some secret plot playing against USB sticks, I couldn’t explain their total failure in this regard otherwise.

The verdict

I said earlier Windows 7 is the best Windows I have seen so far. But that’s not much to shout about, really, because previous Windows versions have been horrid. In terms of things I actually need every day, it can’t do anything except surf the web. I thus fail to see how Windows 7 is actually better than Windows 98.

Come to think of it, Windows 98 came with Outlook Express, an email client. So I’ll take back what I said previously. The best Windows I’ve ever seen is Windows 98.

Written by philikon

January 26, 2009 at 10:51 pm

Posted in Uncategorized

LHC, here I come!

with 13 comments

When the Large Hadron Collider (LHC) at CERN began operation last year, I wrote why so many particle physicists are excited about it. To be honest I really wasn’t one of them. See, the masters thesis I’m in the process of writing concerns a phenomenon simply unobservable at the LHC. However, I’ve decided that I shall be excited about the LHC from now on and therefore applied for a PhD scholarship programme. This programme might fund my researching things and stuff that will be observable at the LHC. How exciting!

Anyway, because it took me a long time to write and I’m pretty excited about it (see above), you now get to read my research proposal:

Distinguishing Between Models of New Physics at the LHC

Even though the Standard Model (SM) of Particle Physics is extremely successful in its experimentally confirmed predictions, it must be incomplete: it does not describe gravity, suffers from the hierarchy problem, provides no possibility for the unification of the forces, and lacks a dark matter candidate.

The most studied extension of the SM is Supersymmetry, but other models such as the Little Higgs Model, Randall-Sundrum models and Universal Extra Dimensions (UED) also provide solutions for some of these problems. In particular, even though their theoretical underpinnings differ greatly, all these models propose a range of new exotic particles of which the lightest stable one may serve as a dark matter candidate.

Discovering new physics beyond the Standard Model (BSM) by detecting such new particles is one of the main objectives of the Large Hadron Collider (LHC). Yet their mere detection would not assert which model was implemented by Nature. The goal of the proposed research project is to devise methods that allow one to distinguish between the different models based on phenomena observed at the LHC. This analysis will focus on cascade decays of heavy exotic particles into SM particles and other lighter exotic particles because we know from previous work that such decays allow the study of couplings, invariant mass hierarchies and spin correlations. These in turn are predicted by the various BSM models and therefore have discriminatory power.

Most previous studies on this subject only covered particular models and particular mass scenarios. For example, relevant works on Supersymmetry have focused on the Minimal Supersymmetric Standard Model (MSSM) and a particular parameter point (SPS 1a), neglecting not only other equally likely scenarios but other supersymmetric models as well. This research project therefore aims to improve on previous work by including models and scenarios favouring different mass hierarchies than the ones studied so far, with the ultimate goal of providing more refined means for distinguishing between BSM physics models at the LHC.

Now wish me luck. Please.

Written by philikon

January 22, 2009 at 10:45 am

Posted in Physics

Choosing a distributed revision control system

with 17 comments

What’s nice about Subversion is that it’s easy enough for most people to wrap their head around it and therefore it’s supported well. Admittedly it can make branching a pain. Actually, that isn’t quite true. It’s a bit like speed which itself doesn’t kill you, just the sudden impact does. Likewise he problem is not with branching, it’s the merging that can make you pull your hair out. But it’s gotten better at that over the past releases.

Another issue with Subversion is the central repository. I however think the central repository idea fits many projects or even individuals in need of revision control very well. And if you want to mirror a repository for bandwidth or high-availability reasons, well that’s possible too since version 1.4 or so. I know, these mirrors have to be read-only, otherwise it’ll easily get messy. If you want to be able to commit to some local mirror and push back your changes, you should consider SVK. It mirrors foreign repositories locally, lets you create local branches and merge them back. SVK has a few problems of its own, but I’m not going to get into them here. Point is, if your project works best so that there’s a central repository, Subversion is a sensible choice. Thanks to solutions like SVK, people will also be able to work offline (I’ve used it this way) or be able to follow a project and add their modifications without leaving their cave.

Distribution is not for everyone

Since lately people have been trying to convince us that central repositories are not the way of the future, and neither is Subversion because it’s not suitable at all in a distributed environment. But in all honesty, after many years of contributing to various Open Source projects I haven’t actually had the need for such an environment. I get Linus’ points about how the Linux Kernel is developed, how he receives patches from his lieutenants who in turn receive them from somebody else. Surely all that needs a distributed system. But I’m sorry, the projects I’ve worked on just don’t have the man power to have people do nothing else but review patches sent to them, merge them with their private branches, push them along to other people, etc. In our central repositories we’re happy with having a few knowledgeable people watch the commit list (we call them the “checkin police” in Zope) and make sure that code and patches committed as well as the log messages match our quality standards. For everything else there’s buildbot.

All that’s not to say that distributed revision control systems aren’t nice because they are. I do understand why their users are smug. But I just won’t have their arrogance. Subversion has served many of us well over the years and now all of a sudden we’re idiots if we still like it?

That said, all distributed systems can do what Subversion can do (except partial checkouts of the repository apparently) so they seem worth a look. After all you get more features and no drawbacks, right?

Sorting out the contenders

There seem to be three serious options when it comes to distributed version control that all have about the same feature set: Bazaar, Mercurial and Git. Actually, that’s not quite correct. If you’re like me and have to or want to work with several Subversion repositories, Mercurial isn’t an option. As nice as Mercurial may seem (though a bit weird in its understanding of branches), you’ll have to realize that only Bazaar and Git have decent Subversion plugins that allow you to pull and push to a Subversion repository.

Both Bazaar and Git are installed easily on OS X if you have MacPorts. Just beware that if you want to build Git with SVN support, you should install it as follows:

sudo port install git +svn

For the following tests I took one of my private Subversion repositories (the smallest one in which I keep all the files related to my work at the university) and tried interacting with it from Bazaar and Git.

Bazaar

The first thing you’ll hear about Bazaar is that while the documentation is pretty good, it’s slow. And boy they aren’t lying. I haven’t done any measurements, but it felt even slower than Subversion on operations like printing the status of the working copy.

Like with Mercurial, Bazaar’s command set is quite easy to grasp for people who’ve been brainwashed by Subversion. In other words, people like me. However, I can’t help but think that’s because Bazaar isn’t actually too far away from Subversion, conceptually speaking. Sure, it has local repositories and all that, but in essence it seems to be geared towards a central repository when it comes to sharing your work. Not that that’s a bad thing, as I tried to point out above. I just somehow expected more. For instance, let’s say you have a checkout of something. This checkout can only be bound to one branch in a remote repository at a time. That means you can’t push some work to several repositories at the same time.

Like SVK, Bazaar has the concept of a working copy directly associated with a remote branch and working copies that represent local branches. If you have one of the former, the unbind/bind feature is quite neat. It tells Bazaar to temporarily stop sending every commit to the remote repository (e.g. while you’re hacking away on the train). Once you’re back with network connectivity, you rebind to the remote branch and can push your changes. Unfortunately, Bazaar wants you to push all these changes as one revision (to Subversion) even if you made several commits when offline. I’d rather have it reflect the individual commits.

Another downside in the communication with a Subversion repository is that it leaves turds in the repository, that is special directory properties that it uses to track which revision it has synced. In this respect it’s similar to SVK.

Git

Having read tutorials and guides a la “Git for SVN refugees”, I must get the impression that Git is surrounded by a cloud of fanboyism. Fanboyism per se is tolerable, but as I said above, I don’t like when it’s mixed with arrogance. I know that Subversion isn’t the bee’s knees, that’s why I’m reading this tutorial. You don’t have to tell how stupid I’ve been using Subversion all along and not helping Linus come up with Git.

That said, once you look past the fanboyism, you’ll realize Git is actually quite well composed. The commands are a bit weird at first but so far each one has done exactly what I expected it to do. Its concept of remote and local branches is absolutely easy to understand and since Linus designed it to do kernel development, you can easily manage a gazillion local and remote branches, do merges between them, etc. I’ll admit that it feels a bit weird in the beginning, but you’ll soon appreciate the niftiness.

Something that definitely takes getting used to is the way it represents branches. A checkout and a repository are inseparably the same thing, therefore switching between branches happens within the same checkout. I’m not yet entirely sure yet what to think of that, all I know is that you might easily forget which branch you’re currently in and do something to a branch that you meant to do in another one. That’s not a big problem with Git, though, because you can easily roll back commits. What is annoying, however, is that you can’t switch branches or rebase your changes on top of the latest changes from the repository you’re tracking (e.g. SVN) while having local modifications. I tend to keep local modifications in my working copy almost forever, for instance when I have a canonical version of a configuration file in the repository and I change it locally for a test installation. Git has ways around that annoyance, too, for instance I could use git stash to hide the local modifications temporarily, or I could make a local branch in which I can check in the modifications but never push them back to the tracked repository, just pull the latest changes.

Git’s Subversion integration is superb. There’s an excellent tutorial for people who’ve deserted from Subversion/SVK to Git. It also mentions how to interact with a Subversion repository. In fact, generally you read that Git’s supposedly not as well documented as, say, Bazaar. I can’t come to that conclusion. I’ve rarely needed the online user guide, the man pages are quite well sorted out. You’ll actually see them by either typing man git-cmd or git cmd --help.

The winner

So which is it going to be? Well, despite Bazaar’s Python bonus and Git’s initial weirdness, I’ve gone with Git for now. On the server side I’m keeping my Subversion repositories, at least for now. Because at some university machines or on Windows I only have a Subversion client (I suppose I could compile Git myself, not that the uni sysadmins like seeing such a thing). Also, I’ve set up my Subversion repository access via HTTP/HTTPS. That means I can view my repositories with a simple web browser or download the HEAD with wget if I don’t happen to have a Subversion client at hand at all. Finally, keeping Subversion around gives me the possibility to change my mind again and go for something else.

Written by philikon

December 30, 2008 at 11:39 am

Posted in Technology

Two hard drives in a MacBook Pro (2005-2008 model)

with 17 comments

When I bought my 2nd gen MacBook Pro 15″ in late 2006, it was the top of the range with a Core2 Duo (Merom) processor clocked a 2.33 GHz, 2 GiB RAM and a 160 GB harddisk. Two years later it may look a bit shabby compared to the 5th gen Unibody MacBooks, but its inner values suggest that it can still take them on in a benchmark. Surely it wouldn’t be better but I suspect it would still put up a good fight, as a draw between the 4th gen and 5th gen MacBook Pros in the GeekBench results suggests.[1]

One thing that makes a huge difference in the real world is RAM which is why I decided to spend about € 50.- on two 2 GiB DDR2 bars. I now have 4 GiB installed, though my chipset can only address 3 GiB (which I knew beforehand). I can report that this has made the machine a bit smoother when running many apps in parallel (which in my case is, uh, always). It’s not exactly warp drive, though.

If you want warp drive you’ll have to change, well, the drive! Most of the time when you’re waiting for your computer to do something (open an application, find a file, etc.), it’s not because it’s lacking processing power. It’s because it has to read files that are randomly scattered all over the harddisk. Harddisks are terrible at random access. They’re a bit like good old lazy V8s: huge capacity, but reluctant to change pace (and incidentally, not great in terms of power consumption).

Fortunately, there are alternatives to harddisks called Solid State Drives (SSDs) which are supposed to be much better at random access. But while most of the affordable ones merely provide impulse power, two models actually seem[2] to deserve to be called warp drives: the Samsung SSD and Intel’s X25-M.[3] These two are pretty much neck to neck in most of the benchmark, and since the Intel has the same price per capacity ratio but a bit more capacity (80 GB vs 64 GB) than the Samsung, I chose to buy the X25-M. Due to the strong demand for this device, it took me a while to secure one for a reasonable amount of money and so it finally arrived earlier this week.

Unboxing Intel X25-M (3)

Unboxing Intel X25-M (3)

Now, 80 GB isn’t much these days and certainly a step down from my 160 gigabytes of V8 muscle. But I wanted the best of both worlds, speed and capacity, so I decided to ditch the optical drive and trade it in for some harddisk space. After all, software isn’t distributed on CDs or DVDs anymore (except for proprietary operating systems, perhaps), nor are music and movies. Should I ever require an optical drive (e.g. to watch a rented movie), chances are good I’m at home where I can use my external USB/Firewire thingy.

On the 5th gen MacBooks, replacing the optical drive with a harddrive is, at least in theory, trivial because the optical drive is SATA as well. On previous MacBooks, the optical drive has a PATA connector so you’ll need a small controller that translates from ATA to SATA. In either case you’ll want to fit the harddrive into a cage that has the same dimensions and mounting points as an optical drive.

MCE Technologies offers a solution for this called OptiBay, custom tailored for the MacBook or MacBook Pro. If you purchase the harddrive cage by itself, it’s $129. Add $43 to that for international shipping with FedEx. A cheaper solution comes from newmodeus: an HDD cage that’s intended to take the place of a removable optical drive that some laptops have. It’s a mere $42. Shipping with regular US postal service costs just $8 and it only took a few days to get to Germany. The only minor inconvenience was that unlike UPS or FedEx, the regular postal service doesn’t do the customs stuff for you, so I had to go to the local customs office and pick it up. Normally I would have to have paid German V.A.T. on it, but since this is a business expense, I didn’t.

Unboxing the newmodeus HDD optical bay (3)

Unboxing the newmodeus HDD optical bay (3)

Unfortunately, the MacBook Pro doesn’t have a regular size optical drive. It’s thinner which means the cage won’t fit as is. I had to “adapt” it therefore with some cutting tools (a fine metal saw or a sharp side cutter will do, use sandpaper to smoothen the edges). I also removed the top lid and the front cover since those are unnecessary in the MacBook Pro. With these adaptions, the cage fit rather nicely into the empty space that the optical drive had left.

Fitting the HDD cage to the size of the MBP optical drive

Fitting the HDD cage to the size of the MBP optical drive

All this means I now have a fast SSD drive for the operating system, apps, personal data, etc. and my old big harddisk for large files such as my MP3 collection and movies (for which random access isn’t as crucial anyway). But has it worked?

Oh yes. The system is biblically fast. Even while I was copying all my data files over from the old harddrive to the SSD, every single application still opened in an instant. OpenOffice is up and running within 2 seconds. System upgrades now take longer to download than to perform. When automatic login is enabled, the system boots from power off to a fully functioning UI in less than 10 seconds… I could go on.

Admittedly there are a few disadvantages. The “adapted” cage isn’t the best soundproof location to install a harddisk. The CD/DVD slot right in front of the mounting position doesn’t help either. So the noise has slightly gone up, but it’s hardly noticeable, really. I also have no idea whether the motion sensor will put the harddrive to sleep in case the MacBook Pro falls (don’t care about that much, though). And then there’s power consumption. I haven’t done any tests yet, but I have the feeling it’s a bit worse than what it was before. It’s hard to tell because I failed to do a proper test before the operation. One thing I’d quite like to find out is whether the OS X can put the harddisk to sleep once in a while. It only has my MP3 collection and other large files, so it’s quite possible to completely avoid using the harddisk when on the road.

All these are minor issues, really. If you want to speed up your machine, forget everything else. Just get an SSD. And not just any, get one of the warp drives. The really good news is, however, you don’t have to compromise on space. If you’re like me and don’t need your optical drive much, you can have your cake and eat it, too. Warp drive and good old V8 muscle.

Both drives installed

Both drives installed

P.S.: If you’d like to attempt this at home, don’t worry, it’s not difficult. Fitting the cage to the right size was the hardest part, but if you’re willing to spend a bit more money, you can avoid that altogether by buying the OptiBay. You need a few good tools (Torx T6, Philips PH00 and PH0 screwdrivers, pair of tweezers). Then simply follow the excellent instructions on the iFixIt website.

[1] I know that the 4th gen machines have a newer generation processor, but its clock-speed is only marginally faster. And yes, they have a slightly faster chipset and graphics card, but how much of a difference is that going to make. As the benchmark shows, the factor 1.5 speed up of the frontside bus (667 to 1033 MHz) has nearly remained without effect.

[2] Judging from the various test reports I’ve read on different SSD models.

[3] These are MLC models and therefore affordable (which is the criterion here). Certainly there are faster SLC models, but they’re much less affordable.

Written by philikon

December 10, 2008 at 2:47 pm

Posted in Technology