MacOS: Bluetooth-Problem beim Aufstarten…

Vor einiger Zeit habe ich mir im Rahmen meiner aktuellen «Home Office»-Arbeit einen 24-Zoll-Monitor von Dell gekauft (Dell P2419H). Der Monitor hat nicht die höchste Auflösung; er reicht aber zum Arbeiten allemal.

Praktischerweise besitzt er eine Displayport und einen HDMI-Anschluss. So kann ich mein ThinkPad und mein Macbook Pro anschliessen. Abgerundet wird das Setup durch die Logitech Craft Tastatur und eine Logitech Maus. Beide Geräte können mit mehreren Computern verwendet werden; so spare ich Platz, Geld und Zeit.

Heute ist mir aufgefallen, dass bei einem kompletten Neustart meines Macbooks die Bluetooth-Verbindung nicht funktioniert. Ohne diese Verbindung funktionieren die Eingabegeräte nicht.

Also beschloss ich, mich dem Problem anzunehmen. Nach einigem Googlen fand ich auf «Reddit» die Lösung: Schuld ist offenbar FileVault, die Festplattenverschlüsselung des Macbook Pros. Denn, die Festplatte ist zum Zeitpunkt des Starts noch verschlüsselt, weshalb die Bluetooth Treiber nicht geladen werden können.

Offenbar kennt auch Logitech das Problem und rät ebenfalls dazu, FileVault zu deaktivieren.

Eine andere Option wäre, den Logitech Unifying Receiver zu verwenden. Aber wozu, wenn die Geräte ja Bluetooth unterstützen…

So gern ich die Eingabegeräte von Logitech verwende, so unverständlich ist mir hier ihr Vorgehen…

Meine IDE: «PHPStorm»

Seit ich in der Webentwicklung tätig bin, was immerhin seit 1997 mehr oder weniger der Fall ist, verwende ich dazu verschiedene Programme. Angefangen beim genialen «Netscape Composer» und dessen damaliger, direkter Konkurrenz: «Microsoft Frontpage Express» ging es recht schnell zu «Dreamweaver» der Firma «Macromedia». Bei letzterem Programm bin ich über die Jahre hängengeblieben und habe es ziemlich intensiv verwendet.

Seit 2007, seit ich den Umstieg auf die «OS X»-Plattform gewagt habe, verwende ich neben «Dreamweaver» ein kleines Programm der Firma «Panic» mit dem Namen «Coda». Anders als jedoch «Dreamweaver» handelt es sich bei «Coda» um einen reinen Editor, ohne «WYSIWYG»-Funktion. «Coda» begleitet mich nun schon seit einigen Jahren und ich bin eigentlich recht zufrieden mit dem Programm.

Inzwischen bin ich jedoch auf die Programme der Firma «JetBRAINS» gestossen. Anders als «Coda» gibt es das von mir verwendete Programm «PHPStorm» auch für die Windows- und die Linux-Plattform.

Seit nun knapp einem Jahr verwende ich nun vermehrt «PHPStorm», wenn ich Entwicklungen vornehme. Das Programm glänzt mit einer unschlagbaren Stabilität und Geschwindigkeit. Ausserdem gefällt mir die Funktion, in Drittprogrammen geänderte Dateien via «PHPStorm» automatisch auf einen Server hochzuladen. Da ich mit SASS arbeite und «CodeKit» als Kompilierungs-Tool verwende, kommt mir das durchaus entgegen. Natürlich ginge das auch mit «PHPStorm» selber. Ich mag aber das Handling von «CodeKit».

Die IDEs von «JetBRAINS» kann ich allen Entwicklern empfehlen, die eine stabile und schnelle Umgebung benötigen.

 

Projekt «NATHAN» – Teil 1 – Einleitung

Da ich viel mit neuen (Web)-Technologien herumexperimentiere, habe ich auch einige Programme bei mir lokal installiert. «Apache» gehört ebenso dazu wie das allgegenwärtige relationale Datenbankmanagementsystem «MySQL».

Um mich jedoch ein wenig tiefer mit der Materie zu befassen – bisher ging die Konfiguration der jeweiligen Programme immer komfortabel über eine «GUI» wie sie beispielsweise «MAMP (Pro)» zur Verfügung stellt, habe ich mich entschieden, einen eigenen Server einzurichten.

Vorab sollte man sich über einige grundlegende Dinge Gedanken machen: Was sind die Ziele, was die Motivation? Wie möchte man das ganze realisieren (hängt letztlich auch von der nächsten Frage ab)? Wie viel Zeit (und Geld) will man investieren? Und was will ich damit letztlich (können/tun)?

Ziele & Motivation

In erster Linie geht es mir darum, meine «Skills» zu verbessern und mich mit neuen Betriebssystemen und Programmen auseinanderzusetzen. Ich verwende absichtlich keine «OOTB»-Lösung («Out-Of-The-Box») hierfür. Das hat zweierlei Konsequenzen zur Folge: Ich muss mehr «googlen» und experimentieren. Ersteres ist kein Problem. Letzteres umso spannender.

Wie realisieren?

Nachdem ich unter Punkt eins eine «One-Click»-Lösung ausgeschlossen habe, musste ich mir überlegen, wie ich das ganze bewerkstelligen wollte. Als kostengünstiges Grundgerüst bietet sich eine der zahlreichen «Linux»-Distributionen förmlich an. Aus meinem Studium kannte ich noch «OpenSuse» und auch im beruflichen Umfeld habe ich zumindest mit einem «OpenSuse»-Server zu tun. «YAST», das «etwas andere Setup Tool» von «OpenSuse» ist natürlich eines der «Highlights».

Trotzdem habe ich mich nach langem Überlegen für «Ubuntu Server x64» entschieden. Auch (aber nicht nur) weil es unter «Ubuntu» kein «Yast» gibt und ich so mehr arbeiten muss und lernen kann.

Nachdem ich nun also das Grundgerüst hatte, musste ich entscheiden wie ich das ganze umsetze. Dabei gab es für mich drei Möglichkeiten:

  • als virtueller Server (bspw. unter «OS X» mit «VMWare Fusion»),
  • als virtueller Server auf einem «Hypervisor» (bspw. «VMWare Sphere» oder «Microsoft Hyper-V Core»),
  • als physischer Server direkt auf entsprechender Hardware.

(Punkt 1 & 2 unterscheiden sich lediglich durch das Untergerüst in Form des «Hypervisors». Während bei Punkt 1 das ganze neben einem normalen Betriebssystem weiterläuft, gibt es bei Punkt 2 nur die virtuelle Maschine)

Während ich im Office auf Möglichkeit 1 setze um nebenbei mit einem Linux Server zu arbeiten, setze ich für mein Projekt auf die Möglichkeit 3. Im folgenden gehe ich auf die Gründe hierfür ein:

Als Grundlage dient mir ein «HP ProLiant Microserver» mit einer «Xeon E3» CPU, sowie 16 GB Ram und 4 1-TB-Festplatten («WD Red Edition»). Darauf würde – natürlich – auch ein Hypervisor, egal ob VMWare oder Microsoft, laufen. Für Virtualisierungen habe ich jedoch einen anderen Server im Auge der zugleich leistungs- und auch ausbaufähiger ist. Für die ersten Schritte genügt dieser Server hier vollauf.

Zeit & Geld

Eine entscheidende, jedoch nicht die wichtigste, Frage war für mich der finanzielle Aufwand: Ich wollte ein möglichst gutes Preis-/Leistungs-Verhältnis für alle Komponenten. Sicherlich gibt es einfachere Möglichkeiten, einen Server zu betreiben. Man kann einen alten ausrangierten PC dafür nehmen und es muss nicht zwingend eine «Xeon»-CPU sein. Für mich war aber eine solide Hardwarebasis wichtig. Deshalb auch ein Markenprodukt wie der «HP ProLiant Microserver» (inkl. entsprechender Garantieerweiterung) und vier Festplatten, die für einen Server-Betrieb ausgelegt sind.

Die Hardware ist auch der einzige Punkt, die wirklich Geld kostet. Jeder, der einen alten PC hat, spart hier schon mal (je nach Konfiguration muss natürlich der Arbeitsspeicher und/oder der Speicherplatz aufgerüstet werden).

Da ich als Software auf «Open Source» setze und Linux verwende, habe ich hier keine Kosten. Zumindest nicht monetärer Art. Denn, wenn Probleme auftauchen muss ich selber Zeit aufwenden um diese zu lösen. So gesehen wird bei einer «Linux»-basierten Lösung «Zeit» als «Währung» eingesetzt. Aber immerhin ist der Lernfaktor deshalb um einiges höher.

Was ich noch einplanen musste: Wie viel Zeit wollte ich in dieses Projekt investieren? Was sollte es mir wert sein? Ich habe hier bewusst kein «Zeitmanagement» aufgestellt und auch bewusst die Stunden nicht aufgeschrieben. Denn, ansonsten wäre ich wahrscheinlich ziemlich frustriert gewesen… Manchmal kann die Fehlersuche ganz schön lange dauern…

«Nutzen»

Neben der Möglichkeit, mein Wissen zu erweitern, soll der linuxbasierte Server folgende Aufgaben/Features in meinem Office haben:

Entwicklungsplattform

  • Webserver auf Basis von «nginx» (schnellere Alternative zu «Apache 2»)
  • Datenbank mit «MariaDB» (Alternative zu Oracles «MySQL»)
  • Installation von PHP5 / Ruby on Rails / etc.

Kommunikation

  • Kommunikation mit dem Server via SSH
  • Mail-Server inkl. Weboberfläche
  • VPN Server und Gateway für andere Geräte

XAMPP und ASP.NET

In meinem Studium bin ich ja – trotz gegenteiliger Meinung einiger Dozenten – fast zu 90 % auf Windows-Programme angewiesen. Deshalb habe ich mir ja vor einigen Monaten ein Thinkpad angeschafft.

Ich bin allerdings meinem Macbook Pro treu geblieben und habe nun die neueste Version der Virtualisierungssoftware «Parallels Desktop 6» installiert. Hier habe ich mir nun eine kleine Entwicklungsumgebung inkl. «XAMPP» eingerichtet, die es mir nun erlaubt, schulische Projekte auch auf meinem heimischen Rechner zu realisieren.

Als Webserver (inkl. MySQL) habe ich mich für das «XAMPP»-Package entschieden. Eine «One-Click-Lösung», die relativ leicht zu installieren ist.

Diese Lösung kann standardmässig allerdings keine ASPX bzw. «.net-Applikationen» ausführen. Hierzu sind noch folgende Schritte notwendig:

  • Den «Apache»-Server von XAMPP zuerst einmal deaktivieren
  • Download und Installation von «mod_aspdotnet» auf «SourceForge.net»
  • In die Datei «httpd.conf», welche man mit einem x-beliebigen Editor öffnen kann, schreibt man noch folgende Zeilen (Achtung, die fettgedruckten Zeilen müssen an die eigene Installation angepasst werden):


LoadModule aspdotnet_module modules/mod_aspdotnet.so
# Use the asp.net handler for all common ASP.NET file types
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
# Mount the sampleapp example application
AspNetMount /sampleapp "C:/www/webroot/sampleapp"
# Map all requests for /sampleapp to the sampleapp application files
Alias /sampleapp "C:/www/webroot/sampleapp"
# Allow asp.net scripts to be executed in the sampleapp example
<Directory "C:/www/webroot/sampleapp">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.html Default.aspx
</Directory>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
# NOTICE "C:/Windows/" -- change to %systemroot%
# "C:/Windows/" for WinXP, "C:/WINNT/" for Win2k
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
# NOTICE "C:/Windows/" -- change to %systemroot%
# "C:/Windows/" for WinXP, "C:/WINNT/" for Win2k
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>

  • Danach kann man den Server wieder starten und eine Test-ASPX-Datei aufrufen. Das ganze müsste dann laufen.

Falls es nicht laufen sollte, hilft ein Neustart des Systems bzw. von «XAMPP».

iPhone-App-Review: Prolog

iTunes Apps Screenshot
iTunes Apps Screenshot

Seit einiger Zeit bin ich ja wieder von meinem «HTC Hero» zu meinem «Apple iPhone» zurückgekehrt und seit knapp drei Wochen bin ich nun auch ein stolzer Besitzer eines neuen «iPhone 4G». Ausschlaggebend war für mich das «iPad», welches ich mir im August angeschafft habe: Es ersetzt nun vielfach meinen Computer beim «Couchsurfing» oder meine «PS 3» beim Spielen von kleineren Spielen. Neben der unbeschreiblich genialen Ergonomie ist auch die grosse Vielfalt an verfügbaren Applikationen ein grosser Pluspunkt des gesamten Apfel-«Öko»-Systems. Ich werde in der nächsten Zeit in loser Folge einige meiner Lieblings-«Apps» hier vorstellen. Vielleicht findet der eine oder andere Leser ja gefallen an der einen oder anderen «App».