Kategorie: Linux

OpenProj: kostenlose Projektmanagement-Software

Die kostenlos erhältliche Projektmanagement-Software OpenProj ist in Java realisiert und somit unter Windows und Linux lauffähig. Die Open-Source-Software beherrscht die Projektablaufplanung mit Gantt-, PERT, WBS- und RBS-Diagrammen. Die Benutzeroberfläche ähnelt stark der von Microsoft Project. Wer sich in Project auskennt, wird auch mit OpenProj ohne Probleme arbeiten können. Die Funktionen sind fast identisch, lediglich der Funktionsumfang ist etwas geringer. Für kleine bis mittlere Projekte ist OpenProj völlig ausreichend. Es können sogar Project-Dateien geöffnet werden, was in einem kleinen Test gut funktionierte. Allerdings könnte ich nur Dateien öffnen, die mit Microsoft Project 2003 erstellt wurden. Dateien von Project 2010 können leider nicht verarbeitet werden.

Download OpenProj

Dropbox 1.3 mit verbessertem Upload / Download

Ganz neu erschienen ist eine erste Betaversion von Dropbox 1.3. Neben einigen neuen Features und Verbesserungen, die bisher noch nicht bekannt sind, wurde der Upload- und Downloadprozess verbessert. Vor allem bei vielen kleinen Dateien und bei einer Erstsynchronisation soll die Performance deutlich erhöht worden sein.

Wer die neue Version testen möchte, sollte auf jeden Fall vorher ein Backup seiner Dropbox anlegen. Bis die finale Version von Dropbox 1.3 erscheint, sollen alle paar Tage neue Betaversionen veröffentlicht werden.

Wer Dropbox noch nicht kennt und gerne testen möchte, sollte sich über diesen Link anmelden. Man startet dann bereits mit 2,25 GByte Speicherplatz, anstatt 2 GByte.

Download Dropbox 1.3.0 beta (Windows)
Download Dropbox 1.3.0 beta (Linux 32-bit)
Download Dropbox 1.3.0 beta (Linux 64-bit)

Alphaversion von Opera 12 veröffentlicht

Der norwegische Browser Opera 12 wurde in einer ersten Alphaversion veröffentlicht. Hauptneuerung ist die Hardwarebeschleunigung, wobei aktuell noch eine Grafikkarte mit OpenGL-Unterstützung notwendig ist. Später sollen auch DirectX und weitere Schnittstellen unterstützt werden. Aktuell läuft die Hardwarebeschleunigung unter Windows, Linux und Mac OS. Durch WebGL lassen sich 3D-Inhalte nun auch direkt im Browser anzeigen. Ebenfalls neu sind Themes, welche die bisherigen Skins ablösen. Linux-User werden die neuen Themes aber erst in eine der nächsten Versionen nutzen können. Bei HTML5 kommt der neue Parser „Ragnarök“ zum Einsatz. Auch insgesamt soll die Performance deutlich gestiegen und der Ressourcenbedarf gesunken sein.

Die finale Version von Opera 12 wird für Dezember 2011 oder Januar 2012 erwartet.

Download Opera 12 Alpha

VMware Player 4 mit Windows 8 Unterstützung

Gestern wurde der VMware Player in Version 4 released. Leider funktioniert ein direktes Update der 3er Version nicht. Diese muss zuerst komplett deinstalliert werden, was aber automatisch geschieht.

Mit dabei natürlich die Unterstützung für Windows 8. Zwar noch nicht offiziell, aber im Gegensatz zur vorigen Version lässt sich die Developer Preview von Windows 8 installieren und ohne Probleme benutzen. Dazu müsst ihr eine neue VM erstellen und folgende Schritte beachten.


Wie im Screenshot zu sehen ist, dürft ihr das Image nicht direkt angeben und müsst die unterste Option wählen.


Anschließend wählt ihr in folgendem Fenster für die 32-Bit-Version von Windows 8 einfach „Windows 7“ aus. Für Windows 8 64-Bit entsprechend „Windows 7 x64“ verwenden.

Nach dem Erstellen der VM müsst ihr nochmal in die Einstellungen gehen und in der Sektion „CD/DVD (IDE)“ das Win-8-Image auswählen.

Ansonsten halten sich die Neuerungen in Grenzen. Lediglich die virtuelle Hardware bekommt ein paar Updates. So können einzelne VMs nun maximal 64 GByte Speicher verwalten und die Anzeige im Unity-Modus wurde verbessert. Außerdem können Bluetooth-Geräte des Hosts mit dem Gast geteilt werden, Linux unterstützt USB 3.0 und ein neues HD Audio Gerät ist unter Windows verfügbar.

Download VMware Player 4.0.0 build 471780

Erste Beta von Firefox 8 veröffentlicht

Nur drei Tage nach dem Erscheinen von Firefox 7 hat Mozilla die erste Betaversion von Firefox 8 veröffentlicht. Eine wesentliche Neuerung ist die bessere Kontrolle über installierte Add-ons. So sollen Toolbars z.B. nicht mehr automatisch ausgeführt werden, sondern müssen in den Optionen explizit eingeschaltet werden. Durch Cross-Origin Resource Sharing (CORS) sollen externe Texturen im WebGL sicher nachgeladen werden können. Auch die Sicherheit von Websockets wurde verbessert. Außerdem können Webentwickler nun das native Kontextmenü im Firefox beim Rechtsklick mit HTML5 anpassen.

Was mich persönlich am meisten erfreut sind die neuen Tab-Animationen beim Verschieben von Tabs. Dadurch wird das Verschieben von Tabs deutlich angenehmer. Auch interessant ist eine neue Option unter Einstellungen im Reiter Allgemein. Damit kann festgelegt werden, ob alle Tabs direkt nach dem Start geladen werden sollen oder das Laden erst mit Klick auf das jeweilige Tab beginnen soll. Dadurch kann auch die Startzeit von Firefox deutlich reduziert werden.

Sofern es keine größeren Probleme gibt, wird die finale Version von Firefox 8 am 8. November 2011 erscheinen.

Download Firefox 8 Beta 1
Portable Firefox 8 Beta 1 @ Caschy

Firefox 7 freigegeben

Wie ursprünglich geplant wurde heute die finale Version von Firefox 7 veröffentlicht. Die zahlreichen Veränderungen verbergen sich jedoch alle unter der Oberfläche.

Durch eine optimierte Speicherverwaltung soll sich der Speicherbedarf des Browsers um 20 bis 50 Prozent verringern. Die Garbage Collection wird in regelmäßigen Abständen ausgeführt, wobei nicht mehr benötigter Speicher aus geschlossenen Tabs freigegeben wird. Auch der Start von Firefox 7 soll deutlich schneller sein. Dazu wird das Betriebssystem angewiesen, die XUL-Bibliothek bereits bei Systemstart zu laden. Weitere große Veränderung ist die Integration des neuen Grafiksystems Azure, welches sich an Microsofts Direct2D anlehnt. Dadurch soll die Darstellung von Webseiten beschleunigt werden. Zunächst kommt Azure aber nur zur Darstellung von 2D-Canvas-Elementen unter Windows 7 und Windows Vista zum Einsatz. Erst in späteren Versionen soll Azure das alte Grafiksystem namens Cairo auch in anderen Bereichen ersetzen. Darüber hinaus wurde die Synchronisation von Lesezeichen und Passwörtern beschleunigt und neue HTML5 und CSS3 Befehle werden unterstützt.

In den kommenden Tagen wechselt Firefox 8 in den Beta-Channel, Firefox 9 in den Aurora-Channel und es wird erste Nightly-Builds von Firefox 10 geben. Läuft alles nach Plan, wird Firefox 8 bereits am 8. November 2011 erscheinen. Firefox 9 soll am 20. Dezember 2011 folgen und Firefox 10 am 31. Januar 2012.

Download Firefox 7.0
Portable Firefox 7.0 @ Caschy

Linux: Autostartskript erstellen und einbinden

Am Beispiel von Ubuntu möchte ich euch zeigen, wie ihr ein Skript erstellen könnt, das automatisch beim Systemstart ausgeführt wird.

Zunächst wird eine Datei mit dem Namen „local.autostart“ unter „/etc/init.d/“ erstellt.

sudo touch /etc/init.d/local.autostart

Als Ausgangsbasis für das Skript kann die offizielle Vorlage „/etc/init.d/skeleton“ verwendet werden. Für einfache Aufgaben kann alternativ folgendes Beispiel verwendet werden:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          local.autostart
# Required-Start:    $start
# Required-Stop:     $shutdown
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Kurze Beschreibung
# Description:       Lange Bechreibung
### END INIT INFO
# Author: Name

# Aktionen
sh /home/username/scripts/test.sh

Der Kopfteil ist sehr wichtig und muss vorhanden sein, denn er wird später vom Befehl „update-rc.d“ verwendet. Er darf nicht gelöscht und sollte entsprechend angepasst werden. Unterhalb von „# Aktionen“ stehen dann die eigentlichen Befehle. Im Beispiel wird ein weiteres Skript ausgeführt.

Die Datei wird nun ausführbar gemacht:

sudo chmod 755 /etc/init.d/local.autostart

Abschließend fügt man das Skript mit dem Befehl „update-rc.d“ in die entsprechenden Runlevel ein.

sudo update-rc.d local.autostart defaults

Unter Fedora und openSuSE ist die grundlegende Vorgehensweise identisch. Lediglich der Befehl zum Einfügen in die entsprechenden Runlevel ist anders:

chkconfig --add local.autostart
chkconfig local.autostart on

Kategorien: Linux

Linux – Bandbreitenmanagement von Netzwerkverbindungen

Durch die vielfältigen Möglichkeiten im Netzwerkbereich kann Linux sehr gut als Router eingesetzt werden. Nicht umsonst kommt Linux auch auf vielen Hardware-Routern, beispielsweise den Fritz!Boxen von AVM, zum Einsatz.

Steht ein PC mit zwei Netzwerkanschlüssel zur Verfügung, lässt sich daraus mit relativ wenig Aufwand ein Router für Testzwecke aufsetzen. Nachfolgend möchte ich euch zeigen, wie ihr unter Linux die Bandbreite beschränken könnt.

Token Bucket Filter (TBF)

TBF ist ein ein Queueing-Algorithmus der im Grunde nur Pakete weiterleitet. Dabei wird die festgelegte Geschwindigkeit nicht überschritten. TBF arbeitet sehr präzise und benötigt wenig Rechenpower. Um ein kompletten Interface zu verlangsamen sollte deshalb TBF gewählt werden. Weitere Infos zu TBF gibt es hier.

tc qdisc add dev eth0 root tbf rate 2mbit burst 10kb latency 70ms
tc qdisc change dev eth0 root tbf rate 500kbit burst 10kb latency 70ms

# Alle Settings löschen
tc qdisc del dev eth0 root

Mit der ersten Zeile wird die Geschwindigkeit an eth0 auf 2 Mbit/s beschränkt. Dabei ist zu beachten, dass nur ausgehender Traffic davon betroffen ist.
Die zweite Zeile ändert die Bandbreitenbeschränkung auf 500 Kbit/s.
Zum Löschen aller Beschränkungen wird die letzte Zeile angewendet.

Hierarchical Token Bucket (HTB)

HTB eignet sich sehr gut dazu, die verfügbare Bandbreite für verschiedene Verwendungszwecke aufzuteilen. Es arbeitet wie CBQ, hat aber einige Vorteile hinsichtlich Verständlichkeit und Zuverlässigkeit. Hier gibt es weitere Infos zu HTB.

tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil
1mbit burst 10kb
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 800kbit ceil
1mbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 200kbit ceil
500kbit
# Zuweisung von Paketen
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip
dst 192.168.10.2 flowid 1:10 ## Ziel-IP
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip
sport 80 0xffff flowid 1:11 ## Quell-Port

# Weitere Beispiele für Zuweisung von Paketen
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip
src 1.2.3.0/24 flowid 1:10 ## Quell-IP
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip
dport 80 0xffff flowid 1:11 ## Ziel-Port
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip
protocol 1 0xff flowid 1:11 ## ICMP-Protokoll
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip
protocol 27 0xff flowid 1:10 ## RDP-Protokol

Die erste Zeile erstellt die „qdisc“ für das Interface eth0. „default“ gibt an, in welche Klasse der Traffic standardmässig einsortiert werden soll. Dies kann auch weggelassen werden.
Die zweite Zeile erstellt die „Root-Klasse“, welche die maximalen Bandbreite auf 1 Mbit/s limitiert. „ceil“ ist das oberste Limit welches möglich ist. „burst“ gibt an, dass Daten bis 10 KByte ohne Limitierung übertragen werden dürfen.
Zeile drei und vier legen Klassen fest. Dabei ist darauf zu achten, dass die Summe aller „rate“-Geschwindigkeiten nicht mehr als die „rate“ der „Root-Klasse“ ergibt. Wenn eine Klasse ihre Bandbreite nicht ausnutzt, wird die übrige Bandbreite unter den restlichen Klassen verteilt. Dabei greift aber wieder „ceil“, welches nicht überschritten werden kann.
Die restlichen Befehle legen fest, welcher Traffic in welche Klasse gehen soll. Im Beispiel werden alle Pakete mit der angegebenen Ziel-IP der Klasse 1:10 zugewiesen. Alle Pakete mit dem Quell-Port 80 werden der Klasse 1:11 zugewiesen. Die Pakete können aber auch nach Ports oder Protokolle („/etc/protocols“) gefiltert werden, wie in den unteren Beispielen gezeigt wird.
Das Löschen der Settings erfolgt wie bei TBF.

Class Based Queueing (CBQ)

CBQ ist sehr komplex und deutlich schwieriger als TBF und HTB zu konfigurieren. Hier gibt es weitere Infos zu CBQ.

tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 100mbit
tc class add dev eth0 parent 1: classid 1:1 cbq rate 10mbit allot
1500 prio 5
bounded isolated
# Zuweisung von Paketen
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip
dst 192.168.10.2 flowid 1:1 ## Ziel-IP

Die erste Zeile erstellt die „qdisc“ für das Interface eth0. Für Kalkulationszwecke gibt man hier die gesamte Bandbreite der Leitung an.
Die zweite Zeile erstellt die „Root-Klasse“, welche die maximalen Bandbreite auf 10 Mbit/s limitiert.
Die fünfte Zeile legt fest, welcher Traffic in die limitierte Klasse gehen soll. Im Beispiel werden alle Pakete mit der angegebenen Ziel-IP der Klasse zugewiesen. Wie bei HTB gezeigt, können die Pakete aber auch anders gefiltert werden.
Traffic, welcher nicht von der Regel betroffen ist, erhält die volle Bandbreite der Leitung.
Das Löschen aller Einstellungen erfolgt wie bei den beiden anderen Beispielen.

Kategorien: Internet Linux Tutorials

Firefox 7 Beta 1 verbraucht weniger Speicher

Wenige Tage nach Veröffentlichung der finalen Firefox 6 Version hat Mozilla die Beta 1 von Firefox 7 freigegeben. Durch die optimierte Speicherverwaltung soll der Browser bis zu 50 Prozent weniger Platz im Arbeitsspeicher belegen. Bei mir persönlich ist der RAM-Bedarf von 800 auf rund 500 MByte zurückgegangen. Außerdem soll die Garbage Collection nun effizienter arbeiten und regelmäßig den nicht mehr benötigten Speicher freigeben. Weitere große Veränderung ist die Integration des neuen Grafiksystems Azure, welches sich an Microsofts Direct2D anlehnt. Dadurch soll das Rendering von Webseiten beschleunigt werden. Außerdem verspricht Mozilla, dass der Browser schneller startet und die Synchronisation von Lesezeichen und Passwörtern flotter mit dem Server abläuft.

Nach der Installation ist mir sofort die geänderte Schriftdarstellung aufgefallen. Wer die Änderung ebenfalls wie ich rückgängig machen möchte, öffnet „about:config“ und ändert dort folgende zwei Werte.

gfx.font_rendering.cleartype_params.force_gdi_classic_for_families
Wert leeren ""
gfx.font_rendering.cleartype_params.force_gdi_classic_max_size
Wert von "15" auf "1" ändern

Die Veröffentlichung der fertigen Version von Firefox 7 ist für 27. September 2011 geplant. Zeitgleich mit Erscheinen der ersten Betaversion von Firefox 7 gibt es auch erste Nightly-Builds von Firefox 9.

Download Firefox 7.0 Beta 1
Portable Firefox 7.0 Beta 1 @ Caschy

Java 7: Verbesserungen an der Programmiersprache

Nach mehr als fünf Jahren Entwicklungszeit erschien vor kurzem Java in Vesion 7. Insgesamt enthält die neue Version rund 9.500 Verbesserungen. Nachfolgend eine Liste der wichtigsten Neuerungen:

  • neue API für Dateisystem-Operationen (NIO.2)
  • neue API für Multi-Core-Systeme
  • neuer Garbage Collector (G1)
  • verbesserten Unterstützung von dynamischen Programmiersprachen (Ruby, Python und Javascript)
  • Unterstützung von Unicode 6.0
  • Überarbeitung zahlreicher Bibliotheken

Eine detaillierte Übersicht aller Neuerungen findet ihr in den Release Notes.

Programmieren in Java soll leichter werden

Zu den oben genannten großen Änderungen kommen noch einige kleinere Verbesserungen, die vor allem das Programmieren in Java erleichtern sollen. Nachfolgend ein paar Beispiele.

Numerische Literale lassen sich nun neben der dezimalen (36), hexadezimalen (0x24) sowie oktalen (044) auch in der binären (0b100100) Schreibweise definieren.

[sourcecode language=“java“]public static final float PI = 3.141592f;
int decimal = 36;
int hex = 0x24;
int octal = 044;
int binary = 0b100100;
[/sourcecode]

Zur besseren Lesbarkeit dürfen numerische Literale nun mit Unterstrichen versehen werden. Allerdings nicht am Anfang oder am Ende und an zweideutigen Stellen, wie beispielsweise vor oder nach dem „x“ in der hexadezimalen Schreibweise. Der Compiler entfernt beim Parsen die Unterstriche.

[sourcecode language=“java“]int longBinary = 0b1001_0011_0110_1011;
int longHex = 0xAA33_BE41;
int million = 1_000_000;[/sourcecode]

Das Anlegen von Objekten mit generischen Parametern wurde durch die Einführung des Diamond-Operators (<>) erleichtert. Auf der rechten Seite muss die Zuweisung nicht mehr wiederholt werden. Dadurch spart man sich Tipparbeit und der Quellcode wird kürzer und übersichtlicher.

[sourcecode language=“java“]HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>();
HashMap<String, List<Integer>> map = new HashMap<>(); // kürzere Schreibweise
ArrayList<String> liste = new ArrayList<String>();
ArrayList<String> liste = new ArrayList<>() // kürzere Schreibweise;[/sourcecode]

Switch-Case-Anweisungen funktionieren ab Java 7 neben primitiven Datentypen nun auch mit Zeichenketten. Dabei wird der String im Switch-Ausdruck mit der Methode „equals“ mit dem Case-Fall verglichen. Anschließend gibt er die entsprechende Zahl zurück.

[sourcecode language=“java“]public static int getDay(String day) {
int dayNumber = 0;
if (day == null) { return dayNumber; }
switch (day.toLowerCase()) {
case "montag": dayNumber = 1; break;
case "dienstag": dayNumber = 2; break;
case "mittwoch": dayNumber = 3; break;
case "donnerstag": dayNumber = 4; break;
case "freitag": dayNumber = 5; break;
case "samstag": dayNumber = 6; break;
case "sonntag": dayNumber = 7; break;
default: dayNumber = 0; break;
}
return dayNumber;
}[/sourcecode]

Bei den Exceptions gibt es nun die Möglichkeit mehrere Exceptions in einem Catch-Block zu fangen. Zwischen den verschiedenen Typen steht dann jeweils ein OR-Zeichen (|). Sehr hilfreich um eine Aneinanderreihung von Catch-Blöcken zu vermeiden.

[sourcecode language=“java“]
try{
// …
} catch (IOException e) {
System.out.println("Operation xyz fehlgeschlagen: " + e);
} catch (ParseException e) {
System.out.println("Operation xyz fehlgeschlagen: " + e);
}

try {
// …
} catch (IOException | ParseException e) {
System.out.println("Operation xyz fehlgeschlagen: " + e);
}[/sourcecode]

Finale Version von Firefox 6 veröffentlicht

Rund acht Wochen nach der Veröffentlichung von Firefox 5 steht ab heute Version 6 zum Download bereit. Ursprünglich sollte die Version erst nächsten Dienstag am 16.08.2011 erscheinen.

Durch den beschleunigten Entwicklungsprozess halten sich die Neuerungen allerdings in Grenzen. Neben einem neuen Adressleisten-Design für verschlüsselte Seiten wird nun auch die aktuelle Domain in der Adressleiste hervorgehoben, damit Anwender leichter nachvollziehen können, auf welcher Seite sie sich befinden. Außerdem besitzt der neue Firefox einen verbesserten Addon-Manager, welcher überprüft, ob alle installierten Plugins auf dem aktuellen Stand sind. Auch neue HTML5-Elemente sowie CSS-Eigenschaften werden unterstützt. Des Weiteren ermöglicht das neue “Scratchpad” Web-Entwicklern Javascript Code direkt im Browser zu testen. Die Unterstützung von Websockets, eine bessere Übersicht des Speicherverbrauchs unter “about:memory” und eine reduzierte Startzeit bei Verwendung der Panorama-Funktion runden die Neuerungen ab. Linux-User sollen zudem eine deutliche Leistungssteigerung bemerken.

Download Firefox 6.0
Portable Firefox 6.0 @ Caschy

Fritz!Box VoIP von überall aus nutzen

Viele Provider bieten mittlerweile neben einer Internet-Flatrate auch eine Telefon-Flatrate ins deutsche Festnetz, welche mit Voice over IP (VoIP) realisiert wird. Natürlich würde es sich anbieten, den VoIP-Telefonanschluss von unterwegs aus zu nutzen. Allerdings wissen das die meisten Provider zu verhindern. Oftmals werden die Zugangsdaten erst gar nicht herausgegeben oder eine Verbindung ist nur aus dem eigenen Netzwerk möglich. Auch sich ständig ändernde Zugangsdaten können vorkommen. Doch es gibt einen relativ einfachen Weg, wie man den eigenen VoIP-Telefonanschluss von der ganzen Welt aus nutzen kann.

Das Tutorial wurde mit der Fritz!Box Fon WLAN 7270 v2 und der Firmware-Version 54.05.05 getestet, sollte aber auch auf anderen Modellen und Firmwares einwandfrei funktionieren. Ich übernehme keine Garantie für eventuelle Beschädigungen oder Beeinträchtigungen an eurer Fritz!Box. Alle User handeln auf eigene Gefahr.
(mehr …)