Seite wählen

NETWAYS Blog

Mac: Install binary packages with Cask

Unter Mac OS X sind die Anwendungen ziemlich gut organisiert. Alles ist an einem Fleck und die Vielfalt ist groß. Installiert man sich allerdings viele Anwendungen ohne die Verwendung des App Stores verliert man schnell die Übersicht. Mit Cask wird eine CLI zu Verfügung gestellt, welche genau diese Lücke schließt:
 

$ brew cask search sublime
==> Partial matches
sublime-text	  sublime-text-dev  sublime-text3
$ brew cask install sublime-text3
==> Caveats
Cask sublime-text3 installs files under "/usr/local".  The presence of such
files can cause warnings when running "brew doctor", which is considered
to be a bug in homebrew-cask.
==> Downloading 
######################################################################## 100.0%
==> Symlinking App 'Sublime Text.app' to '/Users/mhein/Applications/Sublime Text.app'
==> Symlinking Binary 'subl' to '/usr/local/bin/subl'
?  sublime-text3 staged at '/opt/homebrew-cask/Caskroom/sublime-text3/Build 3083' (106 files, 26M)
$ ls Applications/ | grep Sublime.*
Sublime Text.app

Okay, das haut jetzt den Geek mit samt seinem Lötkolben nicht unbedingt vom Hocker. Die Anwendung wird in den Benutzer-Application Verzeichnis installiert. Man spart sich allerdings viel Zeit beim aktualisieren und warten: Was ist installiert, in welchen Versionen und kann ich es upgraden.
Cask ist eine Erweiterung von Homebrew und befindet sich auf Github.

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Android, aber welches?

AndroidWarum in aller Welt muss denn jeder Hersteller seine eigenen Applikationen für Android bauen? Die Auswirkungen treffen jeden Android Nutzer, der nicht bereit ist, 500 Steine für das neue Nexus von Google durch den Abfluss zu spülen: Lange Updatezyklen, geänderte (meist zum Negativen hin) UX/UI und Bloatware. Von der Zeit die einem gestohlen wird, um einen Bootloader zu öffnen und Root zu flashen, möchte ich gar nicht erst anfangen (so einfach kann es sein). Kurzum – sehr unbefriedigend, verwendet man doch eigentlich gerne Android.
Aber es gibt Abhilfe: Hersteller springen mittlerweile auf den „Stock Image“ Zug auf und die Tools zum Flashen werden immer besser und verhindern schlechte Laune durch teure Bricks. Somit finden immer mehr User den Zugang zur Smartphone-Autonomie. Die Vorreiter sind unbestritten die Macher des Cyanogen Mod, die ein Open Source Android System Image massentauglich gemacht haben. Leider verfallen aber auch altgediente Dinosaurier in den Wahn, mit Apps die Welt ein Stückchen besser machen zu müssen. Und (klingeling), hier betreten die Nischen ROMs die Bühne. Einen dieser zurückhaltenden Vertreter möchte ich heute kurz vorstellen: „CyanideL“.
Kurzbeschreibung: Ursprünglich basierend auf CM orientiert sich CyanideL mittlerweile mehr zu AOSP (Android Open Source Project) und wartet mit großartiger Anpassungsfähigkeit auf. App Drawer und Launcher übernimmt Nova (wunderschönes Teil). Neben vielen App und Circle Bars sticht dann besonders noch der OmniSwitch hervor – eine App aus dem OmniROM zum swappen, killen und starten von Apps und Activities.
Irgendjemand müsste dann aber doch mal einen Designer bei den ganzen XDA Entwicklern vorbei schicken. Die Foren und Ressourcen ähneln so manchen Warez oder Astalavista-Klonen aus den 90ern und man ist sich trotz MD5 Summen nicht immer sicher, ob man sich jetzt das aktuelle ROM oder doch eher die (natürlich) beste App für Erwachsenenunterhaltung und (die besten) Viren eingefangen hat.
Herzlichen Dank and die Bauer, Supporter, Kompilatoren und Tester: Das ist wirklich sau gut geworden!
Ressourcen: CyanideL, Nova Launcher, OmniSwitch, Google Apps – welche, GAPPS – Download
Wer bis jetzt kein Ohrenbluten vom XDA Slang bekommen hat wird mit der Gallerie belohnt, gratuliere!
 

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Gulp und Bower: Automate Webdevelopment

NETWAYS DevelopmentDas Entwickeln von HTML Templates ist normalerweise ein sehr statisches unterfangen. Man braucht nicht viel mehr als einen Texteditor und einen Browser um ein Design zu entwerfen. Integriert man allerdings Gedanken zur Produktion bereits in der Designphase, steigt der Aufwand wesentlich. Denn folgende Dinge gilt es zu bedenken:

  • Kompilieren von Stylesheets wenn in LESS oder SASS geschrieben
  • Aufteilen von Inline-Styles und nachladbare Styles
  • Verwenden von JavaScript Frameworks
  • Optimiertes laden von JavaScript Code
  • Komprimieren von Bildern
  • Komprimieren von Styles oder Scripts

Die Liste ist lässt sich entsprechend fortführen. Um beim Release nichts zu vergessen, etablierten sich in den letzten Jahren einige Tools um einen Buildprozess für clientseitige Webanwendungen bereitzustellen und zu vereinfachen. Zwei davon möchte ich gerne vorstellen:

Bower

Bower
Bower ist ein Open Source Paketverwaltungstool für Webapplikationen. Dadurch können für eine Website oder eine SPA (Single Page Application) softwaretechnische Abhängigkeiten definiert werden. Vorraussetzung zur Installation ist Node.js. Dann bietet Bower allerdings die Möglichkeit, Frameworks auch einfache Art und Weise in der benötigten Version zu installieren. Bekannte Vertreter dieser Art sind z.B. jQuery, AngualarJS oder HTML5 Boilerplate.
Ein einfaches bower.json sieht folgendermaßen aus:

{
  "name": "Website",
  "version": "0.0.9",
  "authors": [
    "Eduart Zimmermann <ez@website.foo.bar>"
  ],
  "description": "Our website",
  "keywords": [
    "website"
  ],
  "license": "GPLv2+",
  "homepage": "https://website.foo.bar",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ],
  "directory": "./src/scripts/vendor",
  "dependencies": {
    "jquery": "latest",
    "uikit": "latest",
    "modernizr": "2.8.x"
  },
  "devDependencies": {
    "html5-boilerplate": "latest"
  }
}

Sind die Abhängigkeiten definiert, werden sie mit diesem Aufruf in der Applikation installiert:

# bower install

Gulp

GulpGulp Logo ist nun das eigentlich Build Tool und wird ebenfalls mit Node.js (npm) installiert. Gulp selbst führt dabei nur weitere Tasks aus.
 
Diese Tasks übernehmen dann spezielle Aufgaben, z.B.:

  • Kompilieren, komprimieren, unleserlich machen von Javascript oder Stylesheet
  • Ausführen von Tasks, wenn sich Dateien geändert haben
  • Erstellen von Scripts und Styles aus verschiedenen Dateien
  • Ausführen von Tests

Die Tasks werden in einem gulpfile.js definiert und können ganze Gruppen ausführen (z.B. wie GNU Make) um Tarballs zu erstellen oder die Applikation allgemein für den Produktivbetrieb vorzubereiten. Das alleine haut uns nun nicht wirklich aus den Socken, aber: In Kombination mit Node.js und Verwendung aller hier genannten Techniken bauen wir uns mit 1-2 Anweisungen die komplette Entwicklungsumgebung auf:

  • Node Package Abhängigkeiten installieren
  • Bower Abhängigkeiten installieren
  • Webserver starten
  • Styles und JavaScript nur kompilieren nur wenn sich Dateien verändert haben
  • Per LifeReload im Browser die Seite neu laden wenn Code geändert worden ist

Damit kommt die Kiste dann richtig in Fahrt und Webentwicklung wird wieder zu einer spannenden und dynamischen Geschichte.
Weitere Informationen:

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Ein Knopf für alle Fälle

Wer hat nicht schon mal von einem Knopf geträumt der nach Betätigung einem die Probleme vom Hals schafft? Zugegeben, so einen Knopf zu bekommen ist ziemlich schwierig. Einen Hersteller gibt es allerdings, der besonders weit ist: The Button Corporation Oy.
Der Bttn ist ein internet fähiger Knopf mit Wlan Unterstützung. Ist kein Wlan in der Nähe kann man auch eine Sim Karte einlegen. Betrieben wird er mit vier Mignon Batterien und steht damit ca. 12 Monate dem drückenden zu Verfügung. Alternativ kann auch über einen USB Port Spannung zugeführt werden. Die Schnittstellen sind durchaus mannigfaltig und so stehen dem Anwender Dienste wie HTTP, RSS, IFTTT, SmartThings, Twitter, Facebook, E-Mail und SMS zur Auslösung zu verfügung. Nach einem Druck gibt der Button visuelles Feedback dass die Dinge nun so laufen wie sie sollen.
bttn_how
Der Kreativität sind keine Grenzen gesetzt. Von der Hausautomation über Software Steuerung lässt sich alles realisieren – Und genau da wo man eben so einen tollen Button braucht. Am Schreibtisch, im Auto oder auf der Toilette, z.B. um bei einem Drogerie Anbieter das Lieblings-Toilettenpapier per Expressversand zu bestellen. Jetzt muss man sich nur noch 6 Stunden entspannen 😉

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Entwicklung zum Zuhören

Hört eigentlich wer noch Podcasts?developer
In den letzten Jahren hat sich das deutsche Podcastangebot erheblich verbessert und immer mehr professionelle Produktionen drängen auf die Portale. Das Angebot ist sehr vielfältig: Vom Hobby-Philosoph über die Tagesschau bis zum Radio Tatort ist thematisch alles dabei. Ebenso aber auch der langweilige Einzelschwafler bis hin zur professionellen Hörspielproduktion.
Was gibts zum Thema Technik?
Jede Menge. Oft geht es allerdings „nur“ um Platformen, Gerätetechnologien oder Spiele. Hier folgt man meist stundenlangen Ergüssen eines undynamischen Duos und nimmt am Ende doch so gar nichts mit. Außer der Tatsache, dass man die Nacht über tief und fest schlief und sich nicht mit dem Kopfhörer erdrosselt hat.
Zum Glück gibt es da sowas wie den Heise Developer Blog – Einen Podcast zum Thema Softwarentwicklung. Bekannte Softwareentwickler erzählen über ihre Erfahrungen und Probleme. Die erste Episode startete im April 2009 und die Veröffentlichungsrate ist mit sieben Produktionen im Jahr ganz gut für so ein Nieschenthema. Was ich ziemlich spannend fand:

Barrierefreiheit

Hier erzählt Artur Ortega, ein blinder Diplom-Informatiker der über seine Erfahrungen mit Architekturen und Mythen.
Bei Interesse kann man einfach mal reinhören: http://www.heise.de/developer/podcast/
– Und Gute Nacht 😉
 

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.