Donnerstag, 31. Dezember 2009

Silvester Feier bei uns :)

So in weniger als 35 Minuten ist es soweit, dann beginnt das Jahr 2010.
Während die Kinder in der Umgebung bereits die ersten Feuerwerkskörper verschießen, sitze ich hier in meinem Zimmer, lade die aktuelle Version von jsync hoch und mache auch gleich Feierabend und schaue mir das Spektakel an.

Ich für meinen Teil spare mir das Geld für dieses Zeug lieber und investiere es in andere Bereiche.
Mein Sparbuch hat dadurch schon eine kleine Wohltat erfahren.
Ich freue mich schon auf die Zinsen am kommenden Jahresende :)

Ich wünsche allen einen guten Rutsch, viel Erfolg und Gesundheit im kommendem Jahr.

Donnerstag, 24. Dezember 2009

Weihnachten

Nun ist es endlich soweit.
Nach langem warten kann man sich heute endlich einem gemühtlichem Abend hingeben.
Ich werde heute mit meiner Familie schön entspannen, nachdem noch ein paar letzte Aufgaben erledigt wurden.
Dann gibt es zum Abendessen leckeren Kartoffelsalat und Würstchen.

Welche Geschenke es gibt, weiß ich zum Glück noch nicht.
Aber ein bisschen brauchbares Zeug wird es schon sein.

Ansonsten habe ich nun endlich 2 Wochen Urlaub und kann endlich mal wieder etwas Zeit zur Erholung einplanen und nutzen.
Auch etwas Zeit zum lernen wird eingeplant.

Des weiteren werde ich auch mal meine Finanzen etwas überdenken.
Ich möchte meine Rechner, 3 Stück im Moment, noch ordentlich aufwerten und einen sogar komplett neu aufbauen.

So kommt meine Windows 7 Maschine endlich mal in den Genuss von einem 4 Kern Prozessor, die neuen 6 Kerner werden viel zu teuer sein und sind für mich nicht direkt von Interesse, auch neuer Speicher wird eingebaut.
Dann wird auch noch ein neuens Gehäuse eingeplant, damit die Kiste auch ruhig ist.

Das aktuelle Gehäuse werde ich dann verkaufen.
Zwar sind 2 Ventilatoren im Gehäuse gut zur Kühlung aber leider auch entsprechend lauter beim Spielen.

Ansonsten wünsche ich natürlich auch allen Lesern und Leserinnen ein schönes Fest und auch gleich einen guten Rutsch ins neue Jahr.

Freitag, 11. Dezember 2009

Freie Grafiktreiber für Linux reifen

Nachdem die Situation zum Thema Grafiktreiber unter Linux meist so aussah, dass nur Intel volle Unterstützung mit freien Treibern bot, musste man bei ATI und Nvidia immer auf die proprietären Treiber setzen.

Nach Jahren scheint es sich nun so zu entwickeln, dass die freien Grafiktreiber für Radeon und Geforce Karten endlich in ein brauchbares Stadium kommen.

Wer mehr zu dem Thema wissen möchte, vorallem über DRI(Direct Rendering Interface), dem kann ich folgende Seite empfehlen.
http://dri.freedesktop.org/wiki/

Dort gibt es alle wichtigen Informationen zu Grafikkarten und 2d/3d Beschleunigung.
Dank AMDs Freigaben von einigen Spezifikationen am Anfang des Jahres, konnten die Radeon Treiber bis zur 4000 Reihe gebaut werden.
Ich habe hier wegen Debian noch also X800 Karte am laufen aber sobald auch OpenGL in einer aktuelleren Version als 2.1 erscheint in Form von Mesa, dann werde ich mal überlegen eine aktuellere Karte für meinen Desktop zuzulegen.

jsync beim hashen schneller

Nachdem ich die Programmierung nun etwas aufgeräumt habe, ist jsync nun schneller.
Leider habe ich in der letzten Zeit einen sehr offensichtlichen Fehler mitgeschleppt.
Und zwar habe ich Dateien in der Kopiermethode der FileManager Klasse nochmals auf Änderungen prüfen lassen.
Und beim hashen heißt dies natürlich doppelte Arbeit was bei großen Dateien lange dauern kann.
Der aktuelle Entwicklungsstand ist aber noch nicht ganz reif für eine neue Version.
Ich werde den neuen Stand aber in den nächsten Tagen ins SVN spielen.

Donnerstag, 10. Dezember 2009

jsync bekommt größere Logs

Nachdem ich in letzter Zeit immer wieder sehe, dass bei mir Dateien täglich gemergt werden die eigentlich unverändert sind, habe ich das logging ausgebaut.
Nun werden entweder Dateinamen mit den entsprechenden hashes oder die Dateinamen, Änderungsdatum sowie die Größe in Byte geloggt.
Somit wird sichergestellt, dass es beim vergleichen keinen Fehler gab und auch alles problemlos funktioniert.

Ebenfalls kann man somit erkennen, ob sich der Hash der Datei oder Änderungszeit und Größe geändert wurden.

Ich teste dies noch bei mir durch und beheben noch andere Schwierigkeiten.
Wenn alles gut geht, kann ich in der kommenden Woche ein Update ins SVN spielen.

Mittwoch, 9. Dezember 2009

Datensicherung unter Windows auf Linux Server

Da ich meine Daten recht häufig sichere und jsync noch keine Möglichkeit bietet direkt über Netzwerke zu arbeiten, habe ich es mir etwas einfacher gemacht.

Da ich schon minimale Erfahrungen mit Shellscript Entwicklung unter Linux habe und auch ein paar kleine Stapelverarbeitungsdateien(.bat für Batch) lesen kann und das Prinzip das selbe ist, habe ich mir ein paar einfache Skripts zusammen gebastelt.

Ich habe dafür auch den Task Scheduler von Windows genutzt.
Unter Windows 7 und Vista werden Backups auf einer zweiten Festplatte gesichert.
Auf diese kann man als einfacher Benutzer nicht zu greifen.
Damit dies aber funktioniert, lasse ich die Backups in einem tmp Ordner auf meiner Multimedia Festplatte kopieren.
Von dort aus kann ich mit meinem einfachem Benutzer per Batchscript die Dateien über das Netzwerk kopieren lassen.

Somit kann ich dann die Sicherungen aus dem tmp Ordner per eingebundenen Netzwerkpfaden direkt mit xcopy die Dateien sichern.
Dank Gigabit Ethernet sind selbst mehrere Gigabyte in wenigen Minuten gesichert.

Und dank jsync werden die Daten vom Server direkt auf eine Backup Platte gesichert.
300 Gigabyte Sicherungen täglich in 3 Stunden auf eine USB Platte zu schieben ist zwar schon ein Aufwand aber damit kann ich auf tägliche Backups im Falle eines Hardwaredefekts zurückgreifen.

Insgesamt betrachtet funktioniert also eine Sicherung auf Debian Lenny über Samba sehr gut.

Neues iX Special Heft "Programmieren Heute"

Ich habe seit einigen Tagen das neue Heft der iX Special Reihe in meinem Besitz.
Darin geht es um aktuelle Programmiersprachen sowie neue Techniken in der Softwareentwicklung.

Das Heft ist mit rund 13€ etwas teuer, doch dafür sind für Entwickler reichlich Tools auf der enthaltenen DVD.
Dort findet man z.B. die Visual Studio 2008 Express Editions, Eclipse und weitere Entwicklungsumgebungen.
Auch andere Entwicklertools sind enthalten und machen den Kauf gerechtfertigt.

Leider muss ich auch etwas Kritik üben.
Anstelle von neuen Artikeln finden sich aus den regulären iX Heften genommene Artikel wieder.
So ist ein alter Artikel im Heft über LUA sowie einem Vergleich zwischen Java, C#/ASP .Net, Ruby und PHP wieder zu finden.
Dies ist leider sehr schade.
Trotzdem war der Kauf keine schlechte Idee.
Somit muss ich nicht immer die Visual Studio 2008 Express Versionen für C#, C++ und Web Edition herunterladen.

Insgesamt muss man sich entscheiden ob man eine ordentliche Zusammenfassung der iX Artikel + DVD für 13€ kaufen möchte oder nicht.
Ich kann den Kauf jedem empfehlen, der eine kleine Tool Sammlung an Entwicklerwerkzeugen sucht und auch eine Artikel lesen will.

Montag, 7. Dezember 2009

jsync, jFileLib, jConfigLib und jLogLib endlich aufgeräumt

Nachdem sich im laufe der Zeit einige Unklarheiten im Code angesammelt haben, habe ich am frühen morgen damit begonnen die genannten Teile endlich mal aufzuräumen.
Darunter fällt lediglich ein ordentlicher Clean up der Klassen sowie der interne der Libs.
So war die jFileLib mit dem FileReader mal eine Kombination zum lesen von Textdateien sowie von Ressourcedateien wie .jar Archiven.

Nachdem ich dort nun aber Klarheit verschafft habe, kümmert sich die Klasse nur noch um Textdateien.
Später wird eine eigene Klasse für Binärdateien folgen.
Einige Methoden aus jsync, lesen und schreiben von Binärdateien, werde ich auch noch in jFileLib auslagern.

Somit kann ich auch in Zukunft besser mit Dateien hantieren.

Sonntag, 6. Dezember 2009

Die Programmiersprache D

Ich habe schon zum Release der Version 1.0 von der Sprache gehört.
Konnte mich aber damals noch nicht so ganz damit anfreunden.

Nachdem ich nun einen Artikel in der I'X Spezial "Programmieren Heute" gelesen habe, habe ich mich doch sehr gefreut wie toll diese Sprache eigentlich ist.
Insgesamt ist es ein Mix aus C, C++, Java, C# und vielen anderen Sprachen.

Die Vorteile der Sprache sind vor allem auch eine Speicherverwaltung(Garbage Collection) sowie Entwicklung mit Modulen ala Java(packages).
Dies ist für mich ein sehr interessanter Teil.
Somit entfällt das lästige inkludieren von Header Dateien und die Speicherverwaltung ist ebenfalls vorhanden.
Natürlich hat man hier auch die Möglichkeit die Speicherverwaltung selbst zu übernehmen, was ich aber für eine schlechte Idee halte.
Natürlich gibt es auch Gründe für eine manuelle Speicherverwaltung.
Nur leider sind es immer Speicherlöcher oder eine schlechte Speicherverwaltung, die ein Programm eher unbrauchbar oder gar zu einer Gefahr für den Anwender machen kann.

Samstag, 5. Dezember 2009

jsync Optimierungen sowie Netzwerkfähigkeit

Nachdem jsync sich nun schon eine Weile in einem recht guten Stadium befinden, wird es Zeit noch mehr Optimierungen zu machen.
Leider ist jsync immer noch sehr lastig was den Speicher angeht.
Hier habe ich schon durch diverse Optimierungen zwar Einsparungen machen können, doch insgesamt bin ich damit noch nicht ganz zufrieden.

Auch wenn jsync mit drei Threads, die auch drei unterschiedliche Pfade mit mehren Gigabyte abgleichen, "nur" rund 200 MB Ram benötigt, bin ich doch etwas unzufrieden.

Ich möchte es im besten Fall soweit reduzieren, dass man keine 100 MB RAM dafür benötigt.

Auch ist noch das Thema Netzwerkfähigkeit ein großes Problem.
Aktuell kann ich mit jsync nur lokale Datenträger verwenden.
In der heutigen Zeit ist dies aber nicht mehr sehr vorteilhaft.
Viele Benutzer wollen vielleicht auch auf einem FTP Server ihre Daten sichern.
Und hier bin ich bereits am überlegen, wie ich dies am besten umsetze.
Aktuell könnte ich eine Netzwerk Library für Java verwenden.
Da ich aber so sparsam wie möglich sein möchte, werde ich ggf. eine eigene minimale Implementierung erbringen müssen.

Aber dies werde ich noch genauer prüfen.