BlogAn overview of all posts of all sections. |
Oh-my-god. I just learned about this insane habit of vsftpd to mix plain text error messages (that do not show up in any log otherwise) into the encrypted data stream for an FTP connection. In conjunction with this recent change in behavior that makes debugging connection errors real fun. Not. |
Ever wondered how to get the total size of all files added in a Git commit in order to find a fat commit? Well, here's a script for that:
|
As BerliOS will be closed by the end of the year, I've copied the Git repository (for GALE 2, GLEX 1 and GLEX 2) and the SVN repository (for GALE 1) to SourceForge. As SourceForge was already hosting another project with the Unix name gale, my project is now called gale-opengl. Usually, SourceForge would not have been my first choice for hosting an Open Source project (e.g. GitHub is much nicer these days), but I wanted to have a common place for both the Git and SVN repositories, and according to this table I thought I could use the shell server to create a Cron job which generates the documentation once a day, just to learn that SourceForge has Cron currently disabled. Bummer. So I'm hosting the documentation on here now. |
While installing the developer preview, I was learning from the table on this page that the upcoming Visual Studio 2011 still won't support variadic templates. Now that's a bummer. This means Visual Studio will still not be able to compile such cool projects like clutil or libfbi ... |
A few days ago at work, I was able to reproduce a case where Git is overwriting unstaged local changes in files known to Git when recursively merging another branch. While it's certainly good practice to commit before you merge, according to the git-merge documentation (I'm linking the Ubuntu man pages while kernel.org is down) this should never happen: "In particular, the local modifications you had before you started merge will stay the same and the index entries for them stay as they were, i.e. matching HEAD." Curiously, someone else had the exact same issue at about the same time, although the bug seems to have existed in Git for almost a year! The issue was introduced in Git 1.7.4 and was just recently fixed in Git 1.7.7. Loosing code is about the last thing a version control system should do, so my confidence in Git (which I'm otherwise a big fan of) just got a crack. |
As I just learned from the Git mailing list, the issue about native Git support on Google Code just been marked as fixed, and support has been added. According to this blog post there are some minor limitations, but nothing that would affect my current projects, so I'll certainly switch from Subversion soon! |
In case you haven’t guessed so since my post about moving GALE 2 to Git: I’m quite a big fan of the Git distributed revision control system. As such, I’m using it a lot in my job and for my hobby projects. From time to time, I stumble upon some good tips, undocumented functionality, or peculiarities that I find worth documenting somewhere. This is the first post in my “Git tips” series, and without further ado, here’s what I have to say:
|
Just in case you ever wanted to meet me in person, see me at the Qt Contributors' Summit ;-) |
Heute hatte ich plötzlich das Problem, dass mein Notebook sich sporadisch nicht mehr per WLAN mit meiner FRITZ!Box 7390 verbinden wollte. Nachdem ich zunächst den Fehler am Notebook vermutete, doch diverse Maßnahmen nichts brachten, fiel mir auf, dass die WLAN-Leuchte an der FRITZ!Box aus war. Ein Druck auf den WLAN-Taster an der Oberseite der FRITZ!Box brachte nichts, und der Schalter ging auch verdächtig schwer (bzw. ich spürte keinen Druckpunkt), doch ich dachte mir zunächst nicht allzu viel dabei. (Vielleicht war es ein Mikro-Taster mit sehr geringem Druckpunkt?) Daraufhin habe ich das Notebook per LAN-Kabel mit der FRITZ!Box verbunden und per Web-Oberfläche WLAN wieder angeschaltet. Als ich das Kabel wieder trennte, ging plötzlich auch die WLAN-Leuchte wieder aus. Was zunächst wie ein Zufall oder Streich von Kobolden aussah, bestätigte sich nach nochmaligem Versuch: Ein Herausziehen des LAN-Kabels schaltet das WLAN ab. In Zusammenhang mit der Verdächtig schwergängigen WLAN-Taste vermutete ich dann doch eher ein mechanisches Problem. Dank der Hinweise zum Öffnen des Gehäuses (und des Torx-Schraubendrehers meines netten Nachbarn) offenbarte sich dann bald die Ursache: Die dünne Kunststoffbrücke über den LAN-Ports auf die der rote Pfeil in nebenstehendem Bild zeigt kann sich leicht in Richtung des Pfeils verbiegen. Durch den Druck, den der aufgeschraubte Deckel nach unten (hier: senkrecht zur Tischplatte) erzeugt, rutscht die Kunststoffbrücke dann an der Vorderkante des Blechkäfigs für die LAN-Ports nach unten. Dadurch wiederum liegt der Gehäusedeckel tiefer auf als er sollte und der WLAN-Taster drückt manchmal mehr, manchmal weniger doll auf den Schalter, wodurch die WLAN-Verbindung getrennt wird. Interessanterweise scheint die DECT-Taste nicht mehr betroffen zu sein. Was hat das ganze jetzt mit einem eingesteckten LAN-Kabel zu tun? Mein Stecker war so dick (bitte nicht missverstehen ;-), dass er den Gehäusedeckel leicht anhob und dadurch das Problem verschwand. Meine Lösung bestand darin, die Kunststoffbrücke leicht in die dem roten Pfeil entgegen gesetzte Richtung zu drücken und sie dann entlang der grünen Linien mit Heißkleber zu fixieren. Und siehe da, schon waren meine sporadischen WLAN-Verbindungsabbrüche behoben! Ich würde mal sagen, das ist dann wohl so etwas wie ein klassicher Konstruktionsfehler ;-) |
As a follow-up to the previous post, the mystery about VTK crashing when using DirectX in the same application has been finally resolved about one month ago. To quote myself from the bug report: "D3D's CreateDevice() by default sets the FPU to single precision (i.e. 24 bits of mantissa) and round-to-nearest mode. While round-to-nearest is the default for C / C++, the default precision is 53 bits, and the magic numbers in vtkResliceRound() rely on it. If vtkResliceRound() is used to calculate the dimensions of an image after the call to CreateDevice(), it returns 0, which leads to the observed crash." The easiest fix is to specify D3DCREATE_FPU_PRESERVE as a flag to CreateDevice() which "set[s] the precision for Direct3D floating-point calculations to the precision used by the calling thread". |
| — ©opyright 2004-2012 by eyebex — Validate XHTML 1.0 — Validate CSS — |