Our Archive

Welcome to your Archive. This is your all post. Edit or delete them, then start writing!

brain.flush(); > Development

Eclipse Kepler 4.3 was released a few days ago which includes version 3.8.200 of the org.eclipse.jface.text plugin. Unfortunately my line number ruler patch did not make it into Kepler so I had to create a new version of the org.eclipse.jface.text plugin.

You can download the new version on its project website which is compatible with Eclipse Kepler 4.3. Install it manually or use the following update site: http://dev.cdhq.de/eclipse/updatesite/kepler/

In fact my plugin is the same as it is included in Kepler but with a fixed LineNumberRulerColumn class. For the word wrap plugin nothing has changed. ;)

Read More

A few weeks ago I found this nice Fallout 3 Terminal Hacking mini-game that was created with HTML5 and JavaScript. There are even sound effects! :eek3:


To my mind this port turned out very well. The words are fetched from a server via AJAX to keep the fun up by prevent people from reading the words from the source code, I guess. ;) Instead of unlocking and gaining access to the terminal you will receive a neat haiku afterwards. Nice! :)


Read More

I created a first update for my Eclipse word-wrap plug-in that I mentioned before. If you already downloaded the previous version you should be able to update it via "Help > Check for Updates". :)

The new feature adds an action to the "Edit" menu that activates word wrap in all open text-editors of your workbench. This is of course not persistent and will turn back to normal (deactivated word wrap) on the next start of Eclipse. This may change if the word wrap plug-in and line number ruler fix will make it as a bug-fix into the main Eclipse release. ;)

"Activate all" Command in the Eclipse "Edit" menu

Please note that the execution can take a few seconds because if there are many inactivate editors they will be activated one after the other. In fact, if you left five editors open when you closed Eclipse there will be one active and four inactive editors on a restart. When you click on one of the tabs (and therefore switch to another editor) it will be activated. This is what the new feature has to do for every inactive editor (but without giving you any visual feedback apart from the activated word-wrap on your current text editor).

If you are new to the Eclipse word-wrap plug-in please have a look at the project website and install it by using the update site. ;)

I really appreciate any feedback or bug reports! Please comment on this post or send me an email if you encounter any problems.

Read More

Please hit F5, CTRL+R, CMD+R, clean your browser's cache, turn your computer off and then back on again, ... :D

What I wanted to say: If you refresh this page you should see the new header which is in fact recreated from the old one. ;) This is a Retina-ready version based on the Clean-Retina theme. I like the way themes can be customised in WordPress. You just add a folder named "themeXYZ-child", put a style.css in it referencing the original one and you are good to go.

The menu bar previously had a solid background and was replaced by a semi-transparent image which makes the header less rigid.

Of course I could not resist to add my personal formula to the header. It represents definitely an awesome aim to strive for. :}

Read More

Hello and welcome back on brain.flush();!

As you may have noticed in the previous post about my Eclipse Word-Wrap plug-in I changed the writing language. ;) I made this choice due to the simple fact that it is possible to address a wider audience by writing in English. This makes sense especially with the idea in mind to write more often about programming and software development in general which may be also interesting for non German speaking readers. :)

I also see this as a challenge with the aim to improve my English on a regular basis. So please feel free to correct my spelling and grammar as often as possible. Write a comment or send me an email when you find any mistakes. ;)

Under the hood of this blog things changed too. The software changed from Serendipity (s9y) to WordPress. It worked really well for almost five years, but WordPress definitely evolved since then and there are great features that made me change the software. I like the ease of embedding images without worrying about resizing and uploading them via FTP. The update mechanism is also a huge timesaver. In retrospective I should have listened to Gavin, who advised me to stick to WordPress before changing to Serendipity. :D

The old posts will remain in German as an archive and to be able to reference them in new posts if necessary. Maybe I will translate some of them when I think they might be interesting for many people. Another reason is of course the huge amount of 476 posts which I cannot simply delete. ;)

The next step is to add more categories and recategorise older posts. I wasn't exactly happy with the old ones. So expect some changes around here in the next few weeks until everything is set up. The random quotations, the list of weblinks and a Twitter connection is still missing. The theme and overall design is also considered as work in progress. :D

One final hint: If you subscribed to the newsfeed of this blog please change the URL to: http://blog.cdhq.de/feed :)

Read More

A few days ago I released the first contribution to the Eclipse open-source project. :)

While using TeXlipse I found it hard to write long paragraphs because Eclipse did not have a soft line wrapping feature. Usually for every problem there is an Eclipse plug-in. And so I found the word wrap plug-in by Ahti Kitsik which enabled the missing feature. The only problem was the line number ruler which displayed the wrong numbers for wrapped lines but I could live with that.

Unfortunately by changing to Eclipse Juno 4.2 the word wrap feature did not work anymore because the utilised extension point was deprecated now. So I rewrote the plug-in from scratch and made it compatible with the latest Eclipse release and set me as a goal to fix the line number ruler column too. After creating a working word wrap plug-in I tried to figure out where the line ruler column was rendered and how I could make it work together with the word wrapping. It turned out that the LineNumberRulerColumn class within the org.eclipse.jface.text plug-in has to be modified.

After playing around with that class und adding several lines of new code I can now present a working fix for the line number ruler column to you. :smile: You can find a detailed explanation on its project website and to see it in action please take a look at the closely related word wrap project website. :smile:

Eclipse with Word Wrap plug-in and fixed line number ruler column

This is a solution for a bug that was reported almost ten years ago. I really hope that my work will make it into an official Eclipse release. ;)

It was very nice from Holger Voormann to mention me on Twitter and writing a blog post including a video about my work. Thank you very much! :)

Further Information:

Read More

Es ist immer merkwürdig, wenn ein Programm von jetzt auf gleich ohne Vorwarnung Probleme bereitet. Man hat doch nichts anders gemacht! Kennt jeder, oder? :rolleyes:

So geschehen in meinem LaTeX-Workflow. Ich habe eine Literatureferenz via \cite{} in das Dokument eingefügt, die jedoch nach dem Kompilieren nicht gefunden wurde. In der Literaturliste war sie auf jeden Fall vorhanden. Ein wenig Herumprobieren und Logfile-Studieren zeigte, dass die Literaturliste (Biliography) nicht korrekt erstellt werden konnte. Zur Erstellung verwende ich Biber, was von TeXlipse auch immer korrekt ausgeführt wurde.

Die Log-Dateien zeigten bis auf Meldungen wie "empty bibliography" keine nützlichen Informationen, sodass ich Biber manuell auf der Kommandozeile ausführte. Da kam ich der Sache schon näher, denn das Programm war etwas auskunftsfreudiger: "data source /var/folders/m6/bn7r45zx6cx55rr9g4qh6s6w0000gn/T/par-agoldst/<..>/inc/lib/Biber/LaTeX/recode_data.xml not found in ." Damit konnte ich dann dieses Blog finden, das eine simple Lösung parat hatte. Das Caching-Problem konnte einfach durch Löschen des temporären Ordners gelöst werden: "sudo rm -rf /var/folders/m6/bn7r45zx6cx55rr9g4qh6s6w0000gn/T/par-agoldst/"

Danach lief alles wieder ohne Probleme. ;)

Read More

In Eclipse ist eine vernünftige Code-Formatter-Konfiguration bereits eine gute Grundlage für aufgeräumten Code. Neben der strikten Anwendung der Java Coding Conventions ist vor allem in größeren Projekten mit mehreren Beteiligten auch ein Java-Doc-Kommentarblock für jede geschriebene Methode ziemlich sinnvoll.

Hier gibt es die @author-Annotation, die den Ersteller der Methode und dessen E-Mail-Adresse üblicherweise in der Form "Name Nachname <mail@example.com>" enthält. Die Autovervollständigung von Eclipse hilft einem hier bereits auf die Sprünge und fügt als Inhalt der Annotation den aktuellen Benutzernamen ein, den das Betriebssystem liefert.

Jetzt habe ich mal recherchiert wie man das etwas steuern kann, sodass dort sofort der gewünschte Text erscheint. Auf Dauer spart das natürlich Zeit. ;)

Man kann den Benutzernamen durch folgende zusätzliche Zeile am Ende der eclipse.ini festlegen:

-Duser.name=Name Nachname <mail@example.com>

Unter Windows sollte sich die eclipse.ini im Eclipse-Verzeichnis befinden. Bei OS X muss man dafür den Paketinhalt der Eclipse.app öffnen (Rechtsklick: "Paketinhalt zeigen") und dann in den Ordner "Eclipse.app/Contents/MacOS/" wechseln.

Nachdem Eclipse neugestartet wurde ergänzt die Autovervollständigung ab sofort den hinterlegten Text mit dem gewünschten Namen und der E-Mail-Adresse. :)

Read More

Ich hatte vor längerer Zeit ja mal etwas zum Workflow beim Schreiben wissenschaftlicher Arbeiten geschrieben.

Den Eclipse-Workspace in die Dropbox zu legen ist anscheinend keine gute Idee. Ist Eclipse geöffnet, verlangt der Dropbox-Prozess nach einiger Zeit gut und gerne 450MB Arbeitsspeicher und hat eine konstante CPU-Auslastung von 13-14%. Wenn Eclipse geschlossen ist, genügen ihm 50MB und <1% CPU-Last. Dropbox scheint also mit den temporären Dateien von Eclipse nicht ganz klarzukommen und will diese ständig synchronisieren. Ich bin daher dazu übergegangen den Workspace außerhalb der Dropbox zu verwenden und diesen dann mit folgendem Befehl mit einem Ordner in der Dropbox zu synchronisieren:

rsync -acv --delete --exclude ".DS_Store" --stats "/SourceFolder/" "/Dropbox/TargetFolder/"

Man kann sich den Befehl auch in einer ".command"-Datei speichern und ausführbar machen, sodass man die Ordner mit einem Doppelklick synchronisieren kann. Das "-c"-Flag erzwingt übrigens den Vergleich auf Basis von Prüfsummen, was vielleicht ein wenig länger dauert, jedoch exakter arbeitet. Außerdem schließt die "--exclude"-Option das Kopieren von .DS_Store-Metadateien aus.

Im System.out.println();-Blog gibt es dazu auch ein Update, in dem Stephan als Workaround vorschlägt, dass man die Dropbox vor der Arbeit pausiert und danach wieder startet.

Read More