Netbeans start beschleunigen

Ich habe meinen Rechner über mehrere Jahre aktualisiert, wie auch Software die ich nutze. Dazu gehört Netbeans, was ich über mehrere Versionen aktualisiert habe. Leider musste ich feststellen, das Netbeans über Zeit immer langsamer wurde. So dauerte der Start gefühlte mehrere Minuten.

Als ich nun endgültig genug hatte, fing ich an nach den Ursachen zu suchen und bin unverhofft fündig geworden. Neben der sehr großen JDK Sammlung, die über mehrere Jahre entstand und immer mehr Platz einnahm, wuchs auch die Zahl der Netbeans Installationen. Das scheint auch die Ursache für die Verlangsamung zu sein.

Ich habe die älteren JDK-Versionen entfernt, ebenso auch ältere Netbeans-Versionen, sowie Daten (Cache unter OSX) die mit älteren Versionen installiert wurden. Und voila! Netbeans startet und reagiert sehr viel schneller 🙂

jEdit kompilieren

Wie bereits schon kurz vorher beschrieben, ist es mir gelungen jEdit aus den Sourcen zu bauen und mittlerweile auch einzusetzen. jEdit ist mittlerweile zu meinem “Lieblings-Editor” avanciert und wenn es mir möglich ist, nutze ich den. Mittlerweile habe ich mir den Source Code besorgt und ihn mir auch schon etwas angesehen. Da ich hauptsächlich mit PHP zu tun habe, ist mir Java im Code design “etwas” fremd. Aber vielleicht wachse ich in den Code auch mal rein.

Nichts desto trotz habe ich es geschafft jEdit zu kompilieren. Im großem und ganzem ist das gar nicht so schwierig. Schwieriger war es, die Dokumentation zu finden, wo es beschrieben wird und für eine erforderliche Umgebung zu sorgen. Kurzum, um jEdit zu kompilieren braucht man den jEdit Source-Code und Apache-Ant.

Apache-Ant besorgen.

Apache-Ant besorgt man sich direkt beim Hersteller selbst, nämlich hier. Das entpackt man und richtet am besten einen Pfad ins apache-ant/bin ein. Das hilft nämlich später ant aus jedem beliebigen Ort aufzurufen. Da es viele Betriebssysteme gibt, gehe ich nicht darauf ein. Zu viele Unterschiede…

jEdit aus dem SVN holen.

Auch jEdit holt man sich direkt beim Hersteller und am bestem direkt aus dem SVN, das gibt es hier. Ihr solltet euch schlau machen, wie ihr SVN auf euer System bringt, wiederum gibt es viele Wege und viele sind unterschliedlich. Wenn die Daten geholt worden sind, öffnet man einen Terminal-Emulator(Linux/Unix) oder die Eingabeaufforderung(Windows) und wechselt in den Source-Code Verzeichnis von jEdit.

Im Ordner findet ihr die Datei README.SRC.txt. In ihr viele nützliche Informationen, wie minimale Anforderungen für jEdit sowie unterschiedliche Optionen für kompilieren. So gibt es Anmerkungen, wie man ein Programm samt Windows Installer baut, etwas für Mac OSX, verschiedene Linux Distributionen usw.

jEdit kompilieren

Nun leitet man die kompilierung mit den Befehlen ant dist ein. Der Code wird von Ant nun kompiliert und das ausführbare Programm wird im Ordner dist abgelegt. In meinem Fall, erhielt ich sogar einen Installer, womit ich das neue jEdit auch richtig installieren konnte. Ob der Installer für jedes OS existiert, kann ich nicht sagen. Werde es aber auf jeden fall bei Gelegenheit mal prüfen. Ich bin den Dingen mal etwas nachgegangen und weiß nun ungefähr was passiert. Führt man ant dist aus, wird versucht sämtliche Programmformen zu bauen. In der besagten README.SRC.txt steht drin, wie man nur eine ganz bestimmte jEdit Version bauen kann. So kann man zb. jEdit nur für sein Betriebssystem bauen.

Fazit

http://community.jedit.org/cgi-bin/TWiki/view/Main/BuildingFromSource beschreibt noch einmal, wie man sich die aktuellste Version aus dem SVN besorgt und aus dem Source-Code übersetzt. Insgesamt bin ich sehr froh wie einfach es geklappt hat und es war eine sehr interessante Erfahrung aus der Entwickler-Sicht einer anderen Sprache, mal etwas anderes zu sehen. Als PHP-Entwickler muss man ja nichts kompilieren.

Die nächsten Schritte wären wohl, sich den Code anzuschauen, PlugIn zu erweitern/entwickeln oder vielleicht versuchen den ein oder anderen Bug aus dem Bugtracker zu beseitigen. Aber noch ist es Zukunftsmusik 🙂

JEdit erfolgreich kompiliert

Systemübergreifend nutze ich privat und auf der Arbeit jEdit. Der Editor steht unter einer Open Source Lizenz und somit ist der Code einsehbar und darf verändert und kompiliert werden.

Das kompilieren ist mir nun erfolgreich gelungen. Ich freu mich sehr 🙂

Einen Ordner mit PHP auslesen und anzeigen

Momentan fange ich an, mich in JavaScript einzuarbeiten. Ich gehe meist so vor. Ich lege einen Projekt-Ordner an und fülle es nach und nach mit Skripten. Um sie später “zentral” alle beisammen zuhaben, erstelle ich eine zentrale Datei und rufe sie über links auf. Bei wenigen Skripten ist der Aufwand überschaubar, bei mehr als fünf Skripten nervt es aber. Über diese zentrale Datei läßt sich dann ein Skript schneller finden, als zb. erst in der Ordner wechseln, nach Namen suchen, um es anschließend in der URL einzutippen.

Deshalb will ich das ganze automatisiert ablaufen lassen. Kurze Analyse über das was ich nun mache und machen möchte…

Was mache ich?

Ich schreibe viele “Beispiel”-Skripte in einen Ordner. Über einen “zentralen” Skript, das ich händisch erstelle, navigiere ich zu den jeweiligen Skripten.

Was will ich erreichen?

Ich will den Ordner automatisch analysieren lassen und das Ergebnis in dem zentralem Skript anzeigen lassen. Somit brauch ich nur die Skripte im Ordner selbst anzulegen, der gute Rest erledigt sich von selbst.

Da ich Webentwicklung immer unter einem Webserver betreibe, in meinem Fall entwickle ich unter XAMPP, und als Skript-Sprache PHP zu verfügung habe, will ich das ganze schnell mit PHP lösen. PHP stellt mir die Funktion scandir zur Verfügung.

http://php.net/scandir

Mit scandir lese ich einen von mir angegeben Ordner in ein Array aus. Das Array lese ich wiederum in einer Schleife aus und das Ergebnis schreibe ich in ein <a>link</a>-Element. Das Element leite ich in die Ausgabe und die gebe ich schließlich mit echo aus.

Also immer wenn ich nun in den von mir bestimmten Ordner ein Skript ablege, wird es in der zentralen Datei, zb. index.php, als link sofort angezeigt. Banal einfach wie auch praktisch… für mich 🙂

Hier der Code:

<?php

$ordner = '.';
$ausgabe = '';

$ordner_arr = scandir($ordner);

foreach($ordner_arr as $link) {
	$ausgabe .= sprintf('<a href="%s">%s</a><br />', $link, $link);
}

echo $ausgabe;

Wozu heute noch programmieren?

“Es gibt doch schon alles!”

Bestimmt wurde dem ein oder anderem “angehendem” Programmierer diese Frage auch schon gestellt. In dieser Frage und darauf folgenden Aussage steckt meiner Meinung nach, viel “vernichtendes” Potenzial. Es heißt nämlich auch:

“Mensch, hör auf dich weiter zu Entwickeln”.

jEdit als meine Alternative zu Notepad++

In der Arbeit nutze ich überwiegend den Notepad++-Editor. Er ist sehr einfach zu nutzen, läßt sich auf Wunsch mit Plug-Ins und Makros sehr stark erweitern und hat eine sehr praktische Suche das über ganze Ordner nach einem Begriff suchen kann. Vor allem wegen der Suche, mag ich den Notepad++ sehr und habe lange nach einer Alternative suchen müssen, den Notepad++ gibt es nur für Windows.

Das ist für mich ein Nachteil den privat nutze ich Windows nicht. Auch nutze ich kein Linux und bin Windows gar nicht abgeneigt. Privat nutze ich eben kein Windows. Es gibt viele tolle Editoren, die sich unter mehreren Betriebssystemen nutzen lassen, meist sind diese aber auch irgendwie speziell, wie Emacs/Vim oder SublimeText.

Sicherlich keine schlechte Editoren und sind auch sehr mächtig wenn man sie beherrscht. Die Betonung liegt hier auf “sehr mächtig wenn man sie beherrscht”. Um sie zu beherrschen, muss man oft und relativ lange viele Tastaturbefehle auswendig lernen, nur um am Ende so etwas einfaches wie Kopieren eines Textes etwas komplizierter zu machen, was man mit Strg. + C auch erreicht.

Also habe ich mich lange umsehen müssen und meist nutze ich für die Programmierung doch eine IDE, wie zum Beispiel Netbeans. Ein Problem zwang mich jedoch auch unter Windows nach anderen Lösung für den Notepad++ zu suchen. Gelegentlich stürzte der Notepad++ bei mir komplett ab, was erstmals nicht weiter tragisch ist. Nur falls der Editor abstürzt, leert es die gerade geöffnete Datei und überschreibt sie vollständig.

Falls man nicht irgendwo ein Backup parat hat, ist der Inhalt verloren. Zum Beispiel 1500 Zeilen Code, werden dann genau 0 Zeilen Code. Und das ist sehr hässlich, weil es doch schnell und unerwartet passieren kann. Hardware habe ich schon überprüft, jedoch scheint es in Ordnung zu sein. Also muss ein erstmal ein anderer Editor her… und einige habe ich schon versucht.

jEdit

Am interessantestem fand ich jEdit. Erstmal kommt jEdit dem klassischem Editor und Notepad++ für mich am nächstem. Laut Wikipedia ein Editor für Programmierer und es ist für verschiedene Betriebssysteme verfügbar. Ganz klares Plus gegenüber Notepad++. Aber das allein reicht natürlich noch nicht, um als eine Alternative zu gelten. Anforderungen sollten natürlich auch passen, den schließlich sollte man zumindest die gleiche Produktivität aufbringen können, wie mit dem altem Editor.

Unter Notepad++ nutze ich folgende Dinge:

  • Syntax-highlightning
  • globale Suche über Verzeichnisse hinweg
  • whitespace-Ansicht um den Code lesbarer und sauberer zu gestalten
  • Explorer-Plugin für schnelle Navigation im Projekt-Ordner
  • Compare-Plugin für Code vergleiche

Bis auf die globale Suche, glänzen viele andere Editoren mit genau solchen Features, wie auch jEdit.

  • Syntax-highlightning
  • globale Suche über Verzeichnisse hinweg
  • whitespaces mit WhiteSpace-Plugin
  • jDiff-Plugin für Code-Vergleiche

Was etwas gegen jEdit spricht, ist seine Anfangs langsame Geschwindigkeit und relativ häßliches Design. Ich für meinen Geschmack habe den Editor erstmal anpassen müssen. Gute Neuigkeit ist zumindest, der Editor läßt sich sehr stark anpassen und erweitern. Auch hat jEdit einige sehr nette Features zur Code-Navigation gleich mit an Bord, wo ich beim Notepad++ wiederum suchen müsste. Man kann sehr schnell und einfach mehrere Skripte gleichzeitig anzeigen lassen, was unter Notepad++ etwas umständlicher ist.

Mein erstes Fazit

Einiges was Notepad++ standardmäßig liefert, muss unter jEdit über Plugins nachgerüstet werden. Umgekehrt aber genauso. Was das Explorer-Plugin unter Notepad++ macht, bringt jEdit im Grundpaket mit. whitespace-Ansicht muss unter jEdit via Plugin nachgerüstet werden, das wiederum bringt Notepad++ mit. Mir ist wichtig, beide Editoren sind ungefähr gleich und kommen auf einen ähnlichen Funktionsumfang durch Plugins.

Beide Editoren haben somit ihre Pluspunkte. Globale Suche existiert bei beiden Editoren, für mich bietet jEdit sogar die bessere Variante, den während der Suche, wird nicht der ganze Editor blockiert, anders als beim Notepad++. Wiederum ist Notepad++ gefühlt schneller und hat “noch” die bessere Syntax-Hervorhebung.

Wer nach einer Alternative zum Notepad++ sucht, sollte jEdit eine Chance geben. Für meine Arbeit macht es seine Sache prima und lässt vieles nicht so stark vermissen. Ausserdem kann jEdit sehr stark angepasst werden, was bestimmt den einen oder anderen Anwender überzeugen kann.

Ich arbeite vorerst mit jEdit weiter, Beruflich wie Privat und lerne den Editor erstmals kennen und kann dann auch genauer über ihn schreiben.

Worum geht es hier

Ich bin seit Jahren begeisterter Techniker und neuerdings auch Programmierer. Diese Domain habe ich schon über ein Jahr, aber mangels an Zeit, Lust und Fleiß blieb es die meiste Zeit ziemlich leer. Im Jahr 2015 habe ich damit begonnen, eine eigene “Blogging”-Software als Projekt zu schreiben und wollte damit auch meine Domain schmücken. Es sieht auch schon ganz gut aus und funktioniert unter XAMPP lokal super. Es ist jedoch immer noch nicht fertig und für den Online-Betrieb habe ich mich erstmal dazu entschieden meine Seite mit WordPress zu betreiben. Es spart einfach Zeit und ich kann mich anderen Dingen zuwenden… und ich kann ich Ruhe an meinem Projekt weiter arbeiten 🙂

Also ich habe vor vielen Jahren schonmal gebloggt und damals überwiegend, weil ich es auch als einfach empfand, über OpenSource und über Linux unter vinicsblog.blogspot.de. Heute nutze ich Linux nur noch auf einem Raspberry Pi, bin aber hin und wieder geneigt mal wieder ein Linux-System in einer Virtuellen Umgebung zu installieren und zu testen. Mit Software beschäftige ich mich nach wie vor und habe als letztes eine Umschulung zum Anwendungs-Entwickler gemacht und arbeite inzwischen in der Entwicklung.

Hier soll es sich meist also um Technik drehen und um sonstige Dinge, aber überwiegend eben um Technik. Momentan beschäftige ich mich verstärkt mich PHP, JavaSript und HTML und darüber möchte ich hier schreiben. Auch möchte ich über weitere Dinge wie dem Pi schreiben…. aber die Vergangenheit hat nur allzu deutlich gezeigt. Man kann viel Reden, aber ohne Tun passiert einfach nichts. Als eines der Vorsätze für 2016, schreibe ich wieder 🙂

Seit gespannt.