Homebrew der fehlende Paketmananger für OS X

Was ist ein Paketmananger?

Du kannst mit einem Paketmananger elegant und noch dazu praktisch benötigte Programm-Pakete installieren. Der Paketmanager löst dabei etwaige
Abhängigkeiten, zu anderer Software auf und installiert diese direkt mit.

Homebrew installieren?

Die beste Installationsanleitung befindet sich auch direkt auf der Homepage von Homebrew: Wie installiere ich Homebrew?. Homebrew ist mit wenigen Befehlen einsatzbereit und wird dann so genutzt.

Ein paar „Brew“-Befehle (Ausgabe gekürzt)

Wie kann ich ein bestimmtes Programm suchen?

tim at emmett in ~/
[14:07:00] $ brew search php56
php56 php56-pimple
php56-amqp php56-proctitle
php56-apcu php56-propro

Wie installiere ich ein Paket?

tim at emmett in ~/
[14:07:00] $ brew install php56

Wie kann ich mir lokal installierte Paket anzeigen lassen?

tim at emmett in ~/
[14:07:00] $ brew list
php56

Wie deinstalliere ich ein Paket?

tim at emmett in ~/
[14:07:00] $ brew uninstall php56

Installation von PHP 5.6 unter OS X (Ausgabe gekürzt)


tim at emmett in ~/
[14:07:00] $ brew install php56


tim at emmet in ~/ exited 1
[14:07:00] $ php -v
PHP 5.4.38 (cli) (built: Feb 24 2015 18:23:27)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Sublime Text 3 inklusive Plugins

Ein „ordentlichen“ Text-Editor muss her. Mir persönlich ist wichtig, dass der Editor die Möglichkeit besitzt Plugins zu verwenden und dazu noch relativ schnell ist.

Meine Wahl fällt dabei auf Sublime Text 3, diesen Editor bekommst du direkt hier zum „gratis“ Download.

Ich würde dir empfehlen, nach der Installation einen Paketmananger für Sublime Text zu installieren. Dazu startest du Sublime Text und öffnest dann direkt die Konsole des Editor, diese kannst du über View -> Console und fügst dann folgende Zeilen ein:

import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Plugins

SublimeLinter (Framework für Linter)

Wie installierst du jetzt diese Plugins? Das geht dank des Paketmanagers ganz einfach, über die folgende Tastenkombination „Umschalttaste + ⌘ + P“
nun erscheint ein Eingabefenster im Editor. In diesem Dialog fängst du jetzt an das Wort „install“ zu tippen und bereits nach „inst“ sollte der Eintrag „Package Control: Install Package“ erscheinen, diesen Eintrag wählst du aus, nach kurzer Ladezeit erscheinen bereits die ersten Plugins zur Installation.

Die von dir installierten Plugins benötigen teilweise externe Tool. Ich nehme als Beispiel das Plugin „SublimeLinter-contrib-eslint“, es benötigt um JavaScript „linten“ zu können noch das externe Tool eslint.

globale Installation von eslint mit npn(nodeJS) im Terminal

tim at emmett in ~/
[14:07:00] $ npm install -g eslint
/Users/tim/.node/bin/eslint -> /Users/tim/.node/lib/node_modules/eslint/bin/eslint.js
eslint@0.17.1 /Users/tim/.node/lib/node_modules/eslint
├── object-assign@2.0.0
├── escape-string-regexp@1.0.3
├── strip-json-comments@1.0.2
├── user-home@1.1.1
├── xml-escape@1.0.0
├── estraverse-fb@1.3.1
├── globals@6.3.0
├── estraverse@2.0.0
├── text-table@0.2.0
├── debug@2.1.3 (ms@0.7.0)
├── espree@1.12.0
├── mkdirp@0.5.0 (minimist@0.0.8)
├── chalk@1.0.0 (ansi-styles@2.0.1, supports-color@1.3.1, strip-ansi@2.0.1, has-ansi@1.0.3)
├── minimatch@2.0.4 (brace-expansion@1.1.0)
├── doctrine@0.6.4 (isarray@0.0.1, esutils@1.1.6)
├── concat-stream@1.4.7 (inherits@2.0.1, typedarray@0.0.6, readable-stream@1.1.13)
├── optionator@0.5.0 (type-check@0.3.1, deep-is@0.1.3, levn@0.2.5, prelude-ls@1.1.1, wordwrap@0.0.2, fast-levenshtein@1.0.6)
├── js-yaml@3.2.7 (esprima@2.0.0, argparse@1.0.1)
└── escope@2.0.6 (util-extend@1.0.1, esrecurse@1.2.0, es6-weak-map@0.1.2, es6-map@0.1.1)

[OS X] diese Tools brauchst du zum entwickeln!

Welche Entwickler-Tools gehören eigentlich zu der Grundausstattung eines
Softwareentwicklers der unter OS X arbeitet/entwickelt?

Dazu habe ich mir ein paar Gedanken gemacht und dabei ist eine Liste mit
Programmen entstanden die für mich zur Basis-Ausstattung gehören.

Ich hatte eigentlich vor, diese Liste in einem Beitrag zu veröffentlichen,
nur beim Schreiben ist mir aufgefallen, dass die einzelnen Themen teilweise
schon relativ komplex sind. Ich habe mich deshalb entschlossen die Liste aufzuteilen und diesen Beitrag nur als Inhaltsverzeichnis zu verwenden.

1. „Homebrew“ der fehlende Paketmananger für OS X inkl. (GIT, nodeJS, PHP)
2. Sublime Text 3 inkl. Plugins
3. Vagrant verwalte deine Virtuellen-Maschine(n)
4. Ansible Orchestrierung, Konfiguration und Administration deiner Virtuellen-Maschine(n)

Ich werde die einzelnen Teile, nach und nach veröffentlichen und diese Seite
regelmäßig aktualisieren. Ich würde mich über Anregungen und Vorschläge freuen und diese dann gerne hier einfließen lassen.

HP ProLiant N40L – Stromverbrauch

In den Kommentaren zu dem Beitrag HP ProLiant N40L – Lüfter wechseln wurde über ein mysteriöses Problem berichtet. Ein N40L ausgestattet mit einer PicoPSU und 60W & 90W-Leistung startet mit gewechseltem Kühler nicht mehr. Es gab kurz nach dem Start die Bios-Meldung: Fan Missing! Critical System Error. Shutting down in 15 seconds. und der Microserver schaltet sich ab.

Es scheint so, als ob sich der Fehler jetzt erklären lässt. Der Server braucht bereits mit zwei 3.5-Zoll Festplatten, kurze Zeit über 100W-Leistung, die PicoPSU kann die Spannung nicht konstant halten und der Lüfter fällt unter die mindest geforderte Drehzahl von 500UpM.

HP ProLiant N40L – Lüfter wechseln

Ich habe den 120mm-Lüfter des HP Microserver N40L gewechselt, doch leider hat es akustisch wenig gebracht. Ich vermute, der wirklich anstregende Lärm kommt durch den 40mm-Lüfter im Netzteil.

Der be quiet! BQT T12025-MR-PWM Shadow Wings sollte jetzt dafür sorgen, dass der N40L etwas leiser wird, das tut er auch! Den 120mm-Lüfter hört man kaum aber es gibt ein neues Problem.

Die Temperatur im Gehäuse, der Festplatten und der CPU ist relativ stark gestiegen, dies sieht man gut in den folgenden Grafiken.

Original-Lüfter (~1100rpm):Original-120mm-Lüfter

be quiet! BQT T12025-MR-PWM Shadow Wings (~500rpm):be quiet! BQT T12025-MR-PWM Shadow Wings

Die Festplatten hat es nicht so schlimm getroffen, sie werden „nur“ ~8°C wärmer und laufen jetzt unter Volllast bei ~42°C.

Ich werde vorerst zum alten Lüfter zurückkehren und mir eine andere Lösung überlegen.

Wer den 120mm-Lüfter trotzdem wechseln möchte, muss die PIN-Belegung des neuen Lüfters nach dieser Anleitung abändern. Ich denke ein anderer Lüfter, der etwas mehr Durchsatz als der be quiet bringt könnte gut funktionieren, bleibt nur noch das krachende Netzteil.

iOS 5.1 für iPhone 3GS, 4 & 4S ohne rSAP erschienen

Heute ist das iOS 5.1 erschienen, leider ohne das lange erhoffte rSAP-Feature. Ich gehe inzwischen nicht mehr davon aus, dass Apple jemals das Remote-SIM-Access-Profil unterstützen wird.

Seit November gibt es eine gute Nachricht für iPhone 3GS & iPhone 4-Benutzer, es ist ein rSAPserver erschienen, der sich per Jailbreak installieren lässt.

 

iOS, iPhone, iPad „Hello World“-Tutorial Xcode 4.2 iOS 5

Ich probiere langsam in die iOS-Entwicklung einzusteigen un meine eigenen App(s) zu schreiben, allerdings ist dies für mich leichter gesagt als getan und ich musste so manche
Hürde nehmen.

Ich hab mich deshalb entschlossen, selber ein paar kleine Tutorials zu schreiben eventuell kann ich damit Anderen etwas bei dem Einstieg in das iOS SDK, Cocoa und Objective-C helfen.

Als Erstes habe ich mir vogenommen, ein kleines „Hello World“-Projekt zu erstellen. Ich denke in den nächsten Tagen, gibt es den ersten Entwurf davon hier zu lesen.

Das SIM-Access-Profil (SAP oder rSAP) und das iPhone 3GS,4 & 4S iOS 5 werden keine Freunde

Ich wünschte ich könnte heute bessere Nachrichten verbreiten, doch leider unterstützt auch das relativ neue iOS 5 rSAP und wird es wahrscheinlich auch nie tun.

Eine App im AppStore erscheint mir auch unmöglich, da Apple den Zugriff auf die Sim-Karte aus einer App nicht ohne weiteres möglich macht oder gar unterstützt.

Ich habe inzwischen ein ausgedientes Nokia-Handy im Kofferaum des Kraftwagens mit sammt Multi-Sim und bin mit der Lösung fast zufrieden. Wieso nur fast, ein automatischerAbgleich der Telefonnummer fehlt mir noch zu meinem ganz großem Glück.