Kategorie: IT

Neue pfSense Firewall

Im Dezember 2017 habe ich meinen Glasfaser Internet Anschluss von iWay Internet Economy 100/100 Mbit/s auf ewb.INTERNET VOUGAS 1000/1000 Mbit/s upgraded.

Mit diesem Update war auch ein Wechsel der Hardware für meine pfSense Firewall nötig. Der vorher eingesetzte APU1D4 mochte Gigabit Traffic nicht durchbringen. Trotz Gigabit Ethernet Karten, DualCore x64 CPU und 4GB RAM, konnte auch bei minimaler Firewall Konfiguration höchstens eine Bandbreite von 300MBit/s erreicht werden.

Obwohl ich bei ewb.INTERNET gratis eine Fritzbox 5490 erhalten hätte, entschied ich mich weiterhin für die pfSense Lösung. Anstelle der Fritzbox wählte ich einen CTS MCT-3002-DR Medien Konverter um das optische Signal in ein elektrisches umzuwandeln.

Nun musste nur noch die passende Firewall Hardware gefunden werden.
Folgende Bedingungen sollten erfüllt werden:

  • Passive Kühlung
  • Geringer Energieverbrauch
  • Kleines Gehäuse
  • Serielle Schnittstelle
  • Hardware / CPU Crypto Modul

Ich entschied mich schlussendlich für ein Shuttle DS77U Barebone:

Quelle: http://www.shuttle.eu/de/produkte/slim/ds77u/

  • Intel(R) Celeron(R) CPU 3865U @ 1.80GHz
  • Lüfterloses Heatpipe-Kühlsystem
  • Corsair ValueSelect SO-DDR4 4GB RAM
  • Transcend MTS600 M.2 2260 32 GB SSD
  • 2 x Intel Gigabit LAN (i211 und i219LM PHY)
  • 2 x COM-Port (RS-232)
  • Stromverbrauch im IDLE 7-8W

Kostenpunkt: ~360CHF (Dez 2017)

Vor der pfSense Installation habe ich das BIOS auf die neuste Version gebracht, anschliessend konnte ich pfSense (2.4.2) per USB Stick und Serial Konsole installiert. Nach erfolgter Basis Installation habe ich die Konfiguration der alten pfSense Firewall eingespielt.

Seit ein paar Tagen läuft darauf die neuste pfSense Version 2.4.3.



Die Firewall läuft im Dual Stack Betrieb (IPv4 mit NAT und IPv6), da ewb.INTERNET jeweils pro Kunde ein IPv6 /56 Subnetz zuweist.

Folgende Dienste sind im Einsatz:

  • Unbound (DNS Resolver)
  • pfBlocker-NG
  • Snort
  • HAProxy
  • OpenVPN
  • NtopNG

Die CPU Auslastung ist trotz der vielen Dienste, insbesondere Snort und pfBlocker-NG sehr gering. Auch die CPU Temperatur ist im Vergleich zum APU1D4 nur noch halb so hoch (28°C vs. 60°C).


Die maximale Bandbreite gemäss Speedtest.net ist wie folgt:



Damit hat die neue Hardware meine Anforderungen vollumfänglich erfüllt und die maximale Bandbreite kann abgerufen werden.

imapfilter selber kompilieren

Vor einiger Zeit habe ich in einem Artikel erklärt, wie ich meine E-Mails automatisch vorsortiere.
Nach einer Betriebssystem Aktualisierung funktionierte das Mail sortieren mit imapfilter nicht mehr.

Durch ein Paket Update des Betriebssystems wurden anscheinend einige Bibliotheken aktualisiert, welche vom Programm imapfilter verwendet wurden.

Das Ausgeben der Programmschritte förderte folgende Fehlermeldung zutage.

imapfilter: timeout period expired while waiting to read data

Nach einer kurzen Google Rechere fand ich einen Launchpad Bugreport mit Link zur Ursache des Problems.

Folgender Diff-Auszug zeigt die kleine Änderung, welche das Benützen des Programms verunmöglichte.

} else

return -1;

– return response_authenticate(ssn, t, NULL);

+ return response_generic(ssn, t);

}

#endif /* NO_CRAMMD5 */

Da für Ubuntu 10.04 kein aktualisiertes Paket angeboten wird und von imapfilter bereits eine neuere Version vorliegt, habe ich mich entschieden das Programm selbst zu kompilieren.

Die aktuellste Version von imapfilter ist auf github zu finden und kann direkt aus dem Repository gecloned und kompiliert werden.

Mit dem Befehl

git clone https://github.com/lefcha/imapfilter.git

wird das ganze Repository auf den Rechner geladen.

Hat man git nicht installiert oder möchte es nicht verwenden ist es möglich die aktuellen Dateien als .zip von der github Seite zu laden und zu entpacken.

Um imapfilter unter Ubuntu Server 10.04 zu kompilieren müssen folgende Bibliotheken zuerst installiert werden, da ein Kompilieren sonst unmöglich ist.

liblua5.1-0-dev
libssl-dev
libpcre3-dev

Laut README wechselt man nun ins zuvor heruntergeladene Verzeichnis imapfilter und führt den Befehl make aus.
Dies funktioniert unter der gegebenen Ubuntu Version aber nicht richtig, da die lua Bibliotheken an einer andern Stelle zu finden sind als gewöhnlich.
Mit einer kleinen Modifikation gelingt das Kompilieren dann trotzdem, man muss lediglich folgenden Befehl ausführen:

make INCDIRS=-I/usr/include/lua5.1 LIBLUA=-llua5.1

Das Programm sollte nun kompilieren und kann anschliessend mit sudo make install ins Verzeichnis /usr/local/bin/ installiert werden.

Nun funktioniert das E-Mail sortieren wieder fehlerfrei. Allerdings muss beachtet werden das zukünftige Sicherheitsaktualisierungen von imapfilter nicht wie üblich über den Paketmanager eingespielt werden können, sondern durch das Kompilieren des neuen Source Codes installiert werden müssen.

E-Mail Postfach mit imapfilter (vor)sortieren

Seit einiger Zeit verwende ich das IMAP Protokoll, um meine E-Mails auf meiner Workstation, meinem Laptop sowie meinem Smartphone abrufen zu können. Das IMAP Protokoll bietet den Vorteil Ordner zu erstellen und die Mails so zu Sortieren.

Allerdings störte ich mich zunehmend daran, die Mails selber in die Ordner abzulegen, ich wollte dies automatisieren.
Zunächst verwendete ich die Filterfunktion von Mozilla Thunderbird, allerdings wurde es mir auf Dauer zu mühsam, die neuen Filterregeln jeweils auf der Workstation wie auch auf dem Laptop einzutragen. Auf dem Smartphone gab es eine solche Möglichkeit erst gar nicht.
So suchte ich nach einer Lösung, die unabhängig vom Endgerät die E-Mails (vor)sortieren würde.

Durch einen Blog Artikel stiess ich auf das Linux-Programm imapfilter, welches ich auf meinem Homeserver regelmässig ausführen kann.

Imapfilter sortiert E-Mails verschiedener E-Mailkonten ausgehend von einer einfachen Konfigurationsdatei.
Glücklicherweise ist imapfilter in den Ubuntu Quellen enthalten und lässt sich einfach via

sudo apt-get install imapfilter

installieren.

Die Konfigurationsdatei basiert auf der Skriptsprache LUA, diese Sprache ist sehr intuitiv und somit sind einfache Filterregeln schnell realisiert.
Mit einer Konfigurationsdatei können mehrere E-Mailaccounts sortiert werden, sogar ein Account übergreifendes verschieben oder kopieren von E-Mails ist möglich.
Anbei eine Beispielkonfiguration:
sample-config.lua

—————
— Options —
—————
options.timeout = 20
options.subscribe = true

—————-
— Accounts —
—————-

account1 = IMAP {
server = ‚imap.bluewin.ch‘,
username = ‚username‘,
password = ‚password‘,
}

account2 = IMAP {
server = ‚mail.unibe.ch‘,
username = ‚username‘,
password = ‚password‘,
ssl = ’ssl3′,
}

—————–
— Mail rules —
—————–

— Twitter
messages = account1.INBOX:contain_from(‚postmaster.twitter.com‘)
account1.INBOX:move_messages(account1[‚Twitter‘], messages)

— EBay
messages = account1.INBOX:contain_from(‚reply.ebay.ch‘)
account1.INBOX:move_messages(account1[‚eBay – Ricardo‘], messages)

messages = account1.INBOX:contain_from(‚ebay.ch‘)
account1.INBOX:move_messages(account1[‚eBay – Ricardo‘], messages)

— Ricardo
messages = account1.INBOX:contain_from(‚ricardo.ch‘)
account1.INBOX:move_messages(account1[‚eBay – Ricardo‘], messages)
— Facebook
messages = account1.INBOX:contain_from(‚facebookmail.com‘)
account1.INBOX:move_messages(account1[‚Facebook‘], messages)
— Partyguide
messages = account1.INBOX:contain_from(‚partyguide.ch‘)
account1.INBOX:move_messages(account1[‚Partyguide‘], messages)

————————–
— Push to Uni Mailbox —
————————–

— Mails from students.unibe.ch
messages = account1.INBOX:contain_from(’students.unibe.ch‘)
account1.INBOX:move_messages(account2[‚INBOX‘], messages)

— SUB
messages = account1.INBOX:contain_from(’sub.unibe.ch‘)
account1.INBOX:move_messages(account2[‚INBOX/SUB‘], messages)

————————
— Mail rules Uni BE —
————————

— ILIAS
messages = account2.INBOX:contain_field(‚Received‘, ‚curtis.unibe.ch‘)
account2.INBOX:move_messages(account2[‚INBOX/Ilias‘], messages)

— Imatrikulationsdienst (IMD)
messages = account2.INBOX:contain_from( ‚info@imd.unibe.ch‘)
account2.INBOX:move_messages(account2[‚INBOX/IMD‘], messages)

— SUB
messages = account2.INBOX:contain_from(’sub.unibe.ch‘)
account2.INBOX:move_messages(account2[‚INBOX/SUB‘], messages)

— MSDNAA
messages = account2.INBOX:contain_from(‚billing@e-academy.com‘)
account2.INBOX:move_messages(account2[‚INBOX/MSDNAA – Software‘], messages)

— EPub
messages = account2.INBOX:contain_from(’support@epub.unibe.ch‘)
account2.INBOX:move_messages(account2[‚INBOX/ePub‘], messages)

Weitere Informationen zu den Konfigurationsparametern findet man unter:

  • http://imapfilter.hellug.gr/sample.config.lua.txt
  • http://imapfilter.hellug.gr/imapfilter_config.5.txt

Damit nun diese Konfiguration regelmässig ausgeführt wird, erstellt man sich einen Cronjob der das Skript in einem bestimmten Zeitabstand regelmässig aufruft.
Den Cronjob erstelle man folgendermassen:

sudo crontab -e

Anschliessend fügt man folgende Zeile an und speichert das ganze ab.

*/5 * * * * /usr/bin/imapfilter -c /path/to/config-example.lua > /dev/null 2>&1

Somit wird die Konfiguration alle 5 Minuten ausgeführt und allfällige Konsolenausgaben werden ins Datennirwana (/dev/null) weitergeleitet.

Zu guter Letzt muss man noch eine Option in Thunderbird aktivieren, damit man die bereits verschobenen neuen Mails angezeigt erhält, muss Thunderbird jeweils alle Ordner auf neue Mails prüfen anstatt nur des Posteinganges.

Im Menu Bearbeiten -> Einstellungen wählt man den Reiter Erweitert -> Allgemein anschliessend drückt man den Button Konfiguration bearbeiten.

Nun muss man nach der Einstellung:

mail.check_all_imap_folders_for_new

suchen und den Wert auf true setzen.

SoftwareRAID unter Ubuntu 10.04 SE

Diese Tage wollte ich unseren Familien Fileserver vom langsam ein bisschen angestaubten Kubuntu 8.04 LTS auf die neuste Long Term Support Version Ubuntu 10.04 Server upgraden. In der Hoffnung das ganze sei innerhalb einer Stunde erledigt, startete ich das Unterfangen, doch leider rechnete ich nicht mit Komplikationen beim Installieren des SoftwareRAID.

Bisher war die Festplatten Konfiguration wie folgt:
2 x 400 GB Samsung SATA II Disks.
Software RAID 1 (Mirror) unter Kubuntu 8.04
3 Partitionen:

  • System Partition 15 GB: Mountpoint /
  • Swap Partition 2 GB
  • Daten Partition ~ 383GB: Mountpoint /srv

Der Plan war die bestehende RAID Konfiguration zu übernehmen und nur die System Partition zu formatieren und das neue Betriebssystem zu installieren.

Doch weit gefehlt, die Installationsroutine von Ubuntu 10.04 SE lief zwar wie gewünscht durch, doch nach dem Neustart hatte man bereits die erste Fehlermeldung betreffend des RAIDs. Trotzdem lies sich das System booten und ich entschloss mich zu einem Systemupdate, von welchem ich eine Verbesserung des Zustandes erhoffte.
Diese Entscheidung allerdings war fatal, nach dem obligaten Neustarten beim Updaten von Kernelpakete, bootete das System nicht mehr.

Nach einigen weiteren misslungenen Installationsversuchen, entschied ich mich eine zusätzliche Festplatte für das Betriebssystem einzubauen und in Zukunft nur noch die Datenfestplatten im SoftwareRAID-Verbund zu betreiben.
Nach der Neuinstallation auf die Systemfestplatte sollten die Datenfestplatten neu partitioniert werden, zu einem SoftwareRAID verbund zusammengefügt werden und anschliessend das zuvor gemachte Backup zurück gespielt werden.

Nach dem ich endlich ein lauffähiges, mit allen Sicherheitsupdates versehenes System aufgesetzt hatte, konnte ich mich an die Neu-Konfiguration der Datenfestplatten machen.

Dazu bin ich nach dem ubuntuuser Wikiartikel über Software-RAID vorgegangen.

Allerdings erhielte ich beim erstellen des RAID Arrays immer folgenden Fehler, den ich mir nicht erklären konnte.

user@server:/$ sudo mdadm –create –verbose /dev/md0 –auto=yes –level=1 –raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm: Cannot open /dev/sdb1: Device or resource busy
mdadm: Cannot open /dev/sdc1: Device or resource busy
mdadm: create aborted

Obwohl die Partitionen nicht gemounted waren und problemlos unter sudo fdisk -l angezeigt wurden, konnte nicht darauf zugegriffen werden.

Ein cat /proc/partitions lieferte dann des Rätsels Lösung.
Zusätzlich zu den in fdisk sichtbaren Partitionen wurden zwei Partitionen: dm-0 und dm-1 angezeigt.

Nach einigen Recherchen fand ich heraus, dass der Device-Mapper für diese Partitionen / Geräte verantwortlich war.
Aus einem unerfindlichen Grund erkannte der RAID-Device-Mapper, den per Jumper deaktivierten onBoard fake-RAID Controller und erstellte ein RAID-Array-Set, welches die beiden Festplatten blockierte.

Durch das deinstallieren des Paketes dmraid via

sudo apt-get remove dmraid

und anschliessendem Neustarten des Systems, wurden die Devices nun endlich freigegeben und der SoftwareRAID konnte korrekt installiert werden.

HTC Desire: Update auf Android 2.2 „Froyo“

 

Symbolbild HTC Desire mit Android 2.2 "Froyo" (Frozen Yoghourt)

Symbolbild Desire mit Android 2.2 „Froyo“ Quelle: http://www.mobilfunk-talk.de

Letztes Weekend hat HTC endlich Wort gehalten und das Update von Android 2.1 („Eclair“) auf Android 2.2 („Froyo“) in Europa veröffentlicht.

Das Update ist momentan nur für nicht gebrandete Handys verfügbar, die gebrandeten Versionen sollen nach ausgiebigen Tests im Zeitraum Ende August veröffentlicht werden.

Glücklicherweise bin ich im Besitz eines nicht gebrandeten Handys, da ich das Gerät ohne Handyabo gekauft habe.

Etwa um 14.30 Uhr war das Update dann endlich auf meinem Handy verfügbar.
Dabei handelte es sich um eine 90MB grosse Zip-Datei, welche alle Daten enthält.
Wichtig ist es, vor dem Software-Update 25MB Telefonspeicher frei zu machen.

Folgende Änderungen habe ich festgestellt:

  • Froyo ist kleiner als Eclaire, nach der Installation war etwa 10MB mehr Speicher vorhanden
  • WLAN Empfangsanzeige wurde verändert
  • Videos lassen sich jetzt auch in HD 720p (1280 x 720) aufnehmen
  • Neue Apps: WLAN-Hotspot, Taschenlampe, News und Wetter, Google Suche, Senden von App
  • Apps lassen sich nun auf die SD-Karte installieren bzw. verschieben
  • Das Kalender Widget, das Appmenü und die Google Galerie scrollen viel flüssiger
  • Die Einstellungswidgets haben Farbe bekommen
  • Anwendungen laden merklich schneller
  • Bilder im Telefonbuch synchronisieren sich jetzt mit Facebook
  • Kamera App hat neue Animationen beim Drehen des Handys erhalten
  • Installation von Apps läuft jetzt flüssig im Hintergrund, d.h. Telefon hängt sich nicht mehr auf beim Installieren
  • Lautstärke im Menü lässt sich jetzt einzeln für Klingelton, Medien, Wecker, Benachrichtigungen Regeln
  • Telefonsperre nun nicht mehr nur durch Muster, sondern auch durch PIN oder Passwort
  • Neuer Menüpunkt, welcher die Dauer der Inaktivität bis zur Sperre abfragt.
  • Kalender öffnet sich jetzt beim Klick auf das Widget verzögerungsfrei
  • Facebookgeburtstage werden im Kalender angezeigt
  • Neues Design der SMS App
  • Der Browser unterstützt nun Flash 10 vollständig

Anbei ein paar Screenshots von den wichtigsten Änderungen in Froyo.

APC USV Master / Slave Konfiguration

Nachdem wir immer wieder Probleme mit unseren USV-Anlagen (schwache Batterie und Probleme mit dem Netzkommando) an unseren zwei Servern hatten, haben wir uns entschlossen die alten eigentlich für den Desktopeinsatz vorgesehenen Geräte durch ein leistungsfähigeres Gerät für den Serverbetrieb zu ersetzen.
Da wir bereits zuvor unter ubuntu mit dem USV Dienst apcupsd sowie einer APC USV gearbeitet haben, lag der Entscheid nahe wieder ein Gerät vom Hersteller APC zu erwerben.

Nach kurzer Selektion entschieden wir uns für das Model APC smartUPS 1000.

 

APC Smart-UPS 1000

Quelle: http://www.apc.com

Da die USV nun für zwei Server zuständig ist, musste die Software, die das automatische Herunterfahren der Server bei längerem Stromausfall steuert, im Master/Slave Modus konfiguriert werden.
Die USV ist mit dem Masterserver durch ein serielles Kabel (RS-232) verbunden. Durch diese Verbindung lassen sich die wichtigsten Daten der USV auslesen.
Der Slave-Server bezieht seine Informationen vom Masterserver über eine Ethernet Verbindung.

Der apcupsd Dienst übernimmt je nach Konfiguration die Funktion des Master oder Slave Servers.
Zur Überwachung der expliziten Werte verwende ich das apcupsd-cgi Paket in Verbindung mit einem Apache Server.

Die Installation von apcupsd und apcupsd-cgi gestaltet sich unter ubuntu wie folgt:

  • Die Pakete befinden sich in den Quellen und lassen sich via:

    sudo apt-get install apcupsd apcupsd-cgi

    installieren

  • Das Konfigurationsfile unter /etc/apcupsd/apcupsd.conf gemäss folgenden Beispielen bearbeiten
  • Die Datei /etc/default/apcupsd öffnen und is_configured=yes einfügen/überschreiben
  • Dienst neu starten mit

    sudo /etc/init.d/apcupsd restart

  • Das Monitoring-Tool ist erreichbar über http://servername/usv/multimon.cgi
    Zuvor muss allerdings noch die Apache Konfiguration angepasst werden

# apc ups scripts
ScriptAlias /usv/ /usr/lib/cgi-bin/apcupsd/
<directory „/usr/lib/cgi-bin/apcupsd“>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</directory>

Master /etc/apcupsd/apcupsd.conf:

UPSNAME SchmidUSV
UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/ttyS0
NOLOGINDIR /etc
ONBATTERYDELAY 6
BATTERYLEVEL 15
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0

Slave /etc/apcupsd/apcupsd.conf:

UPSNAME RadonUPS
UPSCABLE ether
UPSTYPE net
DEVICE 192.168.1.38:3551
LOCKFILE /var/lock
ONBATTERYDELAY 10
BATTERYLEVEL 20
MINUTES 3.5
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 127.0.0.1
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
NETTIME 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0

iPhone: It Can’t Display Flash

iPhone without Flash

Quelle: http://www.sadanduseless.com/image.php?n=490

Ohne Worte 😀
via @CarolinN

Must Have Android Apps

Nach einigen Tests und durchstöbern diverser Foren habe ich nun eine Liste meiner Must-Have-Apps für mein HTC Desire zusammen gestellt.
Die Liste ist geordnet nach Kategorie.
Fast alle Apps werden gratis angeboten.

GPS / Position / Sensoren
Compass
Navigon MobileNavigator
Wasserwaage
Sensor List

Netzwerk / Wireless
NetCounter
G-MoN

Kamera
BarcodeScanner

Musik
Shazam

Social Networking / Messenger / Messaging
Seesmic
MSN Talk
SMS Popup

Daten- / Taskmanager
ASTRO FileManager
Advanced Task Killer

Officetools
Documents To Go
MoneyManager

Akku
BatteryTime Lite

Erste Eindrücke: HTC Desire

 

HTC Desire

Quelle: HTC.com

Nachdem im letzten Sommer bei meinem Sony Ericsson W950i das Touchscreen ausgefallen war, hatte ich bis auf weiteres verschiedene Ersatzgeräte. Unter anderem das Qtek 9100 Windows Mobile Handy sowie ein etwas betagtes Sony Ericsson K750i. Leider hatte Letzteres immer wieder Displaystörung, was mich zwang nach einem neuen Gerät Ausschau zu halten.

Seit der Ankündigung von HTC, hatte ich das Desire und das Legend im Auge und beobachtete immer wieder die neusten Meldungen.

Nach langem evaluieren war der Entscheid gefallen, das HTC Desire sollte meins werden. Es freute mich umso mehr, als ich über den Verkaufsstart in der Schweiz las.
Kurzer Hand bestellte ich das Gerät bei digitec.ch, so dass ich zu den ersten Besitzern gehören durfte.

Das Gerät ist quasi der Nachfolger vom Google Handy „Nexus One“, wird jedoch unter dem Namen von HTC verkauft.
Die Hardware Ausstattung spricht für sich, bis auf wenige Details ist das Desire dem Nexus One überlegen.

Am Donnerstag nun ist das Gerät bei mir eingetroffen. Die Verpackung wirkt ähnlich wie bei Apple-Geräten sehr elegant und das Zubehör lässt sich leicht entnehmen (siehe Unboxing Videos).
Im Lieferumfang sind enthalten:

  • HTC Desire
  • Akku 1400mAh
  • USB Ladegerät
  • USB Kabel mit microUSB Anschluss
  • Headset mit 3.5mm Klinkbuchse und Fernsteuerung
  • Einige Kurzanleitung in allen Landessprachen

Nach dem alles fein säuberlich ausgepackt war, war ich ein bisschen enttäuscht, in der Verpackung befand sich nämlich kein Etui wie ich erwartet hatte. Die Enttäuschung war allerdings von kurzer Dauer, beim einsetzen der SIM-Karte bemerkte ich die vorinstallierte 4GB microSD-Karte, von der ich nirgends im Lieferumfang gelesen hatte.

Nach dem einsetzen der SIM-Karte und des Akkus war es nun so weit, das Geräte konnte gestartet werden.

Nach einer kurzen Bootzeit und eingeben des PINs erschien das Einrichtungsmenü.
Mangels Datenflatrate beschränke ich mich momentan auf eine Internetverbindung mit WLAN, glücklicherweise konnte die Mobilfunk Internetverbindung bereits beim Einrichten deaktiviert werden, so dass keine ungewollten Kosten
Nachdem dann das heimische Wireless Netzwerk eingerichtet war, ging es bereits darum sich mit Google und den Social Networks zu verbinden.
Bereits im Einrichtungsmenü konnte man sich mit Google-, Facebook- und Twitteraccount anmelden und die Konten wurden über WLAN synchronisiert.

Da ich bereits Tage zuvor meine Kontaktdaten bei den Googlekontakten eingefügt hatte, war meine Kontaktliste sogleich nach dem Einrichten vollständig.

Nachdem einrichten war ich dann erstmals ein bisschen überfordert mit der Vielzahl der Applikationen und verschiedenen Widgets. Nach etwa einer halben Stunde herumspielen wurde mir dann das Konzept von Android klar und ich machte mich daran den Android Market zu erforschen und zusätzliche Software zu suchen. Eine Liste meiner bevorzugten Apps folgt in einem späteren Blogeintrag.

Zurück zum Betriebssystem selber, das Android System reagiert sehr schnell und die Elemente sind im Grossen und Ganzen sehr intuitiv angeordnet.
Die spezielle HTC Sense Oberfläche lässt sich sehr gut personalisieren, man hat 7 verschiedene Arbeitsflächen die man beliebig mit Widgets, Ordnern und Verknüpfungen belegen kann. Sobald es mir möglich ist werde ich Screenshots nach reichen.

Mit der Akkuleistung bin ich bisher zufrieden, trotz regem Gebrauch am ersten Tag konnte ich denn Akku nicht in die Knie zwingen, am Abend wurde immer noch eine Restladung von 30% angegeben. Allerdings ist anzumerken, dass bei der Verwendung der Internetverbindung ausschliesslich über WLAN weniger Strom verbraucht wird, als über das Mobilfunknetz.

Soweit sind dies meine ersten Eindrücke, nach intensiver Nutzung werden ich sicher weitere Beiträge über das Desire schreiben, vielleicht werde ich mich sogar an einer eigenen App versuchen, das SDK ist nämlich bereits installiert.

Anbei eine kurze Zusammenfassung der wichtigsten technischen Daten:

Size / Weight
Size h x w x d: 119 x 60 x 11.9mm
Weight: 135 grams (4.76 ounces) with battery

CPU / Storage
Qualcomm Snapdragon QSD8250 1 GHz
ROM: 512 MB
RAM: 576 MB
Expansion slot: microSD™ memory card (SD 2.0 compatible) up to 32 GB

Battery
Battery: Rechargeable Lithium-ion battery 1400 mAh

Camera
* 5 megapixel color camera
* Auto focus and flash
* Geotagging

Sensors
* G-Sensor
* Digital compass

Display
Type: AMOLED capacitive touch screen with pinch-to-zoom capability
Resolution / Size: 480 X 800 WVGA / 3.7 inches

Plattform
Android™ 2.1 (Éclair) with HTC Sense™

Network Bands
* 3G: HSPA/WCDMA
* GSM / GPRS / EDGE
* Wi-Fi®: IEEE 802.11 b/g

Location
* Internal GPS antenna

Quelle: HTC.com

SVN Webinterface Style ändern

Auf der Suche nach einer Möglichkeit den Style des SVN Webinterfaces zu ändern, bin ich auf die Seite reposstyle.com gestossen.

SVN Reposstyle

Quelle: reposstyle.com

Die Installation dieses Styles ist relativ einfach, der SVN Ordner muss jedoch über einen WebDAV Ordner via Apache Server erreichbar sein.

  1. Benötige Files von der Seite downloaden.
  2. Entpacken der Dateien in Ordner repos-web.
  3. Dateien ins Hauptverzeichnis des Webservers hochladen
  4. /etc/apache2/mods-enabled/dav_svn.conf anpassen:

    SVNIndexXSLT /repos-web/view/repos.xsl

    hinzufügen

  5. Damit die Versionshistory ausgelesen werden kann, muss in der Datei index.php im Verzeichnis /repos-web/open/log

    $repo = ‚@@Repository@@‘;

    zu

    $repo = ‚file:///path/to/svn/repo‘;

    geändert werden.