Wie schreibe ich eigene / custom Funktionen in einem Makefile?

Mittels selbst definierter Funktionen kann man so ein Makefile deutlich effizienter und übersichtlicher gestalten.

Definiert wird eine Funktion wie folgt:

define name-meiner-funktion
	@ [hier steht dein shellcode] \
	[mehrzeiliger Code muss pro Zeile mit \ abgeschlossen werden] \
	[Variablen werden mit $1, $2, usw. angesprochen]
endef


Aufgerufen wird die Funktion dann mittels:

$(call name-meiner-funktion,parameter1,parameter2,...)

Wichtig ist hier, dass zwischen den Kommas KEIN Leerzeichen sein darf, sonst kommt es zu Fehlermeldungen!

[Quicktip] Aptitude meldet fehlerhafte Signaturen für Jenkins

Wenn ihr ein 

aptitude update

durchführt und die Meldung

W: GPG-Fehler: http://pkg.jenkins-ci.org binary/ Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 9B7D32F2D50582E6

erscheint, dann müsst ihr folgendes machen:

sudo apt-key adv --recv-keys --keyserver keys.gnupg.net 9B7D32F2D50582E6

Damit wird der angezeigte öffentliche Schlüssel auf den neuesten Stand gebracht und der Fehler hat sich erledigt. (9B7D32F2D50582E6 ist die Schlüssel-ID in meinem Fall, kann natürlich auch eine andere sein)

[Quicktip] Wie bringe ich der iOS Tastatur bestimmte Schreibweisen bei?

Die Autokorrektur von iOS ist schon ziemlich gut und sollte eigentlich auch mit der Zeit bestimmte Schreibweisen lernen. Nur tut sie das leider nicht immer. Um ihr etwas auf die Sprünge zu helfen, kann man die “Kurzbefehle” Funktion etwas missbrauchen. Eigentlich ist diese dafür gedacht, Abkürzungen wie “MFG” mit “Mit freundlichem Gruß” zu ersetzen. Man kann aber auch einfach ein Wort ohne Kurzschreibweise hinzufügen und prompt ist dieses in der Autokorrektur verfügbar.

In meinem Fall hat es mit genervt, dass der Name “Amelie” immer in die französische Schreibweise “Amélie” korrigiert wurde.

Um ein Wort hinzuzufügen, ruft ihr einfach folgendes auf:

Allgemein -> Tastaturen -> Kurzbefehle

IMG_3545.PNG

Anschließend fügt ihr über das “Plus” ein neues Wort hinzu. Hierbei reicht es aus, wenn ihr das Feld “Text” ausfüllt. In meinem Fall schreibe ich also in das Feld “Amelie”. Ab sofort wird diese Ersetzung höher gewertet. Sprich, die Autokorrektur verwendet jetzt nur noch “Amelie” bzw. bevorzugt diese Ersetzung.

[Quicktip] Fehlerhafte Festplatte unter OSX formatieren

Seit einiger Zeit habe ich einen ziemlich komischen Fehler mit meiner Time Machine Festplatte. Es handelt sich um eine 2 TB USB 3.0 Festplatte, die an meinem Retina Mac wunderbar funktioniert. Die Platte ist mit dem Mac OS Dateisystem in der verschlüsselten Variante formatiert und wird, wie gesagt, komplett für meine Timemachine Backups verwendet.

Sobald ich diese Platte jedoch an mein relativ altes Macbook mit USB 2.0 stecke, lässt es sich dort nach Ewigkeiten irgendwie mounten, funktioniert aber partout nicht. An sich nicht schlimm, ABER: sobald ich die Platte nun wieder an meinen Retina Mac hänge, ist sie kaputt. Trotz korrektem Passwort kann ich sie nicht mehr entsichern und das Festplattendienstprogramm meldet auch immer wieder, dass mit dem Laufwerk etwas nicht stimmt. Solltet ihr diesen Fehler auch haben, dann kommt ihr um die erneute Formatierung leider nicht herum. Aber hier lauert der nächste Fehler: die Platte lässt sich nicht mehr formatieren.

Mit folgendem Trick geht es aber nun doch wieder:

– öffnet das Terminal
– gebt “diskutil list“ ein und schaut, ob ihr die gewünschte Platte in der Liste findet. Wichtig hierbei ist die Angabe /dev/disk[x], wobei das „[x]“ für eine Zahl 0, 1, 2, 3 usw. steht. Das ist der internet Identifier eurer Platte.

– führt nun auf der Console ein “ps aux | grep fsck“ aus und schaut, ob ihr damit einen Prozess findet. Dieser sieht dann ungefähr so aus:

– Schaut euch vorn die ID des Prozesses an und killt diesen mit einem „sudo kill [ProzessID]“ auf der Konsole. Anschließend sollte die Platte ausgeworfen werden. Wenn ihr sie nun eurneut an den Rechner steckt, sollte sie erneut erkannt werden und sich dann zumindest wieder formatieren lassen.

Yosemite Preferences – Einfaches Tuning für OSX 10.10

Bereits für Mountain Lion gab es ein paar nette Tweak Tools, und auch in OSX Yosemite ist es nicht anders. Das Tool „Yosemite Preferences“ gibt ein paar sehr nützliche Funktionen frei: kompletten aktuellen Pfad in der Finder Titelleiste zeigen, in der Datei-Preview Text markieren und kopieren können, Emailadresse ohne den zugehörigen Namen kopieren usw.

Da die Tweaks ziemlich tief ins System eingreifen müsst ihr dafür Temporär die Sicherheitseinstellung „Gatekeeper“ deaktivieren (Systemeinstellungen – Sicherheit).

Die App findet ihr aktuell als Beta unter folgender URL:

http://www.ccard3.com/yosemite-preferences.html

[Quicktip] LTE mit dem iPhone 6 funktioniert bei Vodafone nicht

Als Wechsler vom 5er iPhone zur 6er Version war mir neben vieler toller Features auch die LTE Unterstützung im Vodafone Netz wichtig. Aber nix da, trotz eingeschalteter Option und definitiver Abdeckung mitten in Dresden kam ich einfach nicht in das 4G Netz.

Das Problem war, ähnlich wie bereits bei meinen SMS Problemen, die Mehrzahl an SIM Karten, die ich besitze – iPhone, iPad und nochmal iPad. Warum auch immer, die Nano SIM in meinem iPhone war nicht die Master Karte. Und nur diese unterstützt das Einwählen in das LTE Netz. Zumindest ist das bei Vodafone so.

Die Problemlösung ist also, solltet ihr über mehrere Nano SIM Karten (für den SELBEN VERTRAG!!!) verfügen: tauscht alle Karten durch und probiert es mit jeder mal im iPhone. Alternativ könnt ihr auch einfach die Vodafone Hotline 1212 anrufen. Die netten Leute vom Support können euch schnell sagen, in welchem Gerät die Masterkarte steckt.

Sobald ihr die richtige Karte im Gerät habt, einfach kurz unter “Einstellungen – Mobilfunk – 4G” den Schalter abschalten und anschließend wieder anschalten. Schon sollte, die entsprechende Netzabdeckung vorausgesetzt, in der Statusleiste eures iPhones ein “4G” statt dem “3G” stehen.

[Quicktip] Wie kann ich mit meinem iPhone unter iOS 8 Widgets nutzen?

Neben vielen netten Neuerungen hat Apple mit iOS 8 nun auch eine Möglichkeit integriert, Widgets, ähnlich wie man sie auch vom Android Betriebssystem kennt, zu nutzen.

Leider sind diese nicht ganz so offensichtlich auffindbar – daher zeige ich euch kurz, wie es geht:

Zieht einfach mit dem Finger von oben die Mitteilungszentrale auf:
IMG_3272.PNG

Dann scrollt ihr ganz nach unten, dort findet ihr den “Bearbeiten” Button. Über diesen gelangt ihr in folgendes Menü:
IMG_3273.PNG

Hier könnt ihr nun Widgets hinzufügen oder entfernen und natürlich auch sortieren.

Die Anzahl der Apps, die eigene Widgets mitbringen, ist derzeit noch gering. Ich denke aber, dass sich das zeitnah ändern wird.

Was kann ich mit meiner Pebble Smartwatch alles anstellen?

IMG_3116.JPG

Mein persönliches Mitbringsel aus New York war die Smartwatch Pebble. Lange hatte ich schon ein Auge darauf geworfen, aber die Lieferung nach Deutschland war riskant – der Zoll mochte das Teil nicht. Vor wenigen Wochen änderte sich dies nun, und man kann auch über die offizielle Seite die Pebble nach Deutschland liefern lassen. Aber warum mehr zahlen, wenn man den Dollar-Kurs noch mitnehmen kann? So hat mich die Pebble nur ca. 120€ statt den derzeit 160€ bei Amazon bezahlt.

Anders als andere Smartwatches hat die Pebble kein hochwertiges Farbdisplay, sondern eine Art e-Ink Display – so, wie man es auch vom Kindle her kennt. Aber dieses Display hat eine relativ gute Bildwiederholungsrate von ca 10 Bildern die Sekunde, womit man schon ein paar nette Animationen darstellen kann. Das komplette System kann mit eigenen Apps und alternativen Uhren, den sog. Watchfaces, erweitert werden. Dazu benötigt man nur die entsprechende Pebble App auf seinem Smartphone. Dort integriert ist dann eine Art AppStore, der die komplett kostenlosen Apps und Watchfaces anbietet. Mittels dieser IOS/Android App werden auch gleich die Daten mit der Uhr ausgetauscht, neue Apps und Watchfaces auf die 8 Slots der Uhr verteilt oder auch gelöscht. Außerdem kann man für Apps und Watchfaces, die noch zusätzliche Einstellungen benötigen, diese hier ganz einfach setzen.

Ihr hört richtig – die Pebble hat keinen wirklichen internen Speicher, sondern einfach nur Slots. Zunächst erscheint das ein bisschen wenig, aber mit der Zeit findet man die persönlichen Favoriten. Viele Apps laufen eigenständig (also nur auf der Uhr), einige benötigen aber auch Partner Apps auf dem Smartphone. In der Regel kosten diese dann Geld und es scheint mir so, als ob das teilweise auch überhaupt der Existenzgrund dieser zusätzlichen Apps ist.

Die Pebble hat übrigens bereits drei Watchfaces vorinstalliert, die von den 8 Slots ausgenommen sind. Ihr könnt also bis zu 11 Uhren gleichzeitig drauf haben. Mit dabei sind eine klassische Zeiger-Uhr, eine normale Digitalanzeige und die Anzeige in Worten (“quarter past eleven”) – letztere ist leider nur englisch. Per Custom-Firmware kann man die Standard Watchfaces übrigens entfernen. Dazu später mehr. Die Watchfaces sind prinzipiell auch nur Apps, sie können neben der Anzeige der Uhrzeit auch andere Funktionen erfüllen. Eine meiner Uhren zeigt z.B. die gelaufenen Schritte und die Zeiten, in denen ich sitze, gehe, renne oder Auto fahre, an.

Die Pebble Apps umfassen nützliche Helfer wie z.B. Währungsrechner (hat mir mit dem Dollar sehr geholfen), Navigationshilfen, Kompass, Stoppuhren, Schrittzähler, Spiele (ja, auch Flappy Bird gibt es hier 😉 ) usw.
Es gibt auch nette Helfer, die einfach nur eine URL anfragen und das zurückgeleitete JSON ausgeben. Damit habe ich mir z.b. einen persönlichen Abfahrtsmonitor für die für mich relevanten Busse und Bahnen erstellt.

IMG_3115.JPG

Das Ökosystem von Pebble ist großartig. Selbst die Entwicklung ist idiotensicher – man kann sie nämlich komplett über die Cloud erledigen. Über cloudpebble.net kann man direkt im Browser coden und muss sich nicht – wie in der Headline schön beschrieben – um Dinge wie Linux, Compiler, Python usw. kümmern. Man drückt einfach auf Play, die App/Watchface wird auf den Servern von Pebble kompiliert und anschließend automatisch auf deine eigene Pebble übertragen. Natürlich inkl. Debugging-Rückkanal im Browser. Ich habe bisher noch nichts vergleichbares und derart integriertes gesehen. Hier können sich viele Hersteller ne ordentliche Scheibe abschneiden!

Und als wäre das noch nicht genug gibt es auch die Möglichkeit, Custom-Firmwares auf dem Teil zu installieren. Unter pebblebits.com/firmware/ kann man sich seine Wunschfirmware zusammenklicken, bekommt die fertige Firmware als Download und kann diese dann direkt per Pebble App auf die Uhr spielen. Ich konnte das komplett auf dem Handy und ohne Rechner machen. Auch hier: das ist der Hammer!

Übrigens ist die Pebble eines der Produkte, für die man Plattformen wie Kickstarter und co. lieben sollte. Sie wurde durch Crowdfunding überhaupt erst möglich gemacht und zeigt nun, dass sie auch erfolgreich verkauft werden kann.

Mein Fazit: mit Smartwatches tut sich gerade ein sehr geiles neues Feld auf – und die Pebble macht da schon mal einen sehr guten Wurf. Ich weiß, dass es bereits deutlich bessere Smartwatches gibt – aber das Preis-Leistung Verhältnis IST hier das beste, was ich finden konnte. Und man darf nicht vergessen: die Pebble ist die derzeit einzige Smartwatch, bei der der Akku mehrere Tage durchhält. Nachdem Apple gestern nun seine neue “Apple Watch” vorgestellt hat, kann man annehmen, dass dieser Markt nun ordentlichen Zulauf bekommen wird. Damit werden auch die Preise im Allgemeinen fallen. Ich denke, dass die Pebble hier durch ihren deutlich anderen Ansatz und der damit verbundenen Sparsamkeit gut punkten wird. Von mir gibt es jedenfalls eine klare Kaufempfehlung!

[Quicktip] Wie kann ich fragmentierte Videos von akamaihd herunterladen?

Video Streaming ist eine tolle Sache, aber unterwegs auf dem iPad wird es etwas schwierig – entweder ist das Netz schlecht, oder der Stream Anbieter unterstützt gar nicht erst mobile Geräte. Bei Viewster fand ich vor kurzem eine interessante Doku, die ich mir gerne in Ruhe anschauen wollte. Ein einfacher Download direkt oder mittels der üblichen Tools funktionierte nicht. Das Problem ist, dass Viewster mit einem fragmentierten FLV arbeitet – sprich, das Video ist in viele hundert kleine Dateien unterteilt, die man irgendwie wieder zusammenführen muss, um ein einzelnes Video zu erhalten. Diese Vorgehensweise scheint bei Videos, die unter akamaihd.net liegen, öfter vorzukommen.

Glücklicherweise gibt es Scripte, die genau dieses Problem beheben und ich möchte euch kurz zeigen, wie das funktioniert (geht unter Mac, Linux und auch Windows – letzteres benötigt allerdings erstmal eine php Installation):

  1. Ladet euch das Script “AdobeHDS.php” von folgender Seite herunter: https://github.com/K-S-V/Scripts
  2. Ruft die von euch gewünschte Video Seite auf, öffnet die Debug Konsole in eurem Browser und schaut euch den Netzwerkverkehr an. Am besten öffnet ihr dazu die Konsole und den Tab “Network” und ladet dann die Seite neu. Wir sind auf der Suche nach der sogn. Manifest Datei, die die Übersicht für alle Videofragmente ist. Ihr könnt alernativ auch im Quellcode der Datei schauen, ob ihr das Manifest findet. Kopiert euch die URL zu diesem Manifest.
  3. Ruft die Konsole eures Betriebssystems auf und gebt dort folgendes ein:
  4. php AdobeHDS.php --manifest "[URL_ZUM_MANIFEST]"
  5. Anschließend werden alle Einzelteile heruntergeladen und zusammengeführt. Die einzelnen Dateien könnt ihr nach Abschluss des Vorgangs löschen, übrig bleibt dann die zusammengesetzte FLV

[Test] Kingston MobileLite Wireless G2 (Akku, Router und Karten/USB Lesegerät)

20140725-192145-69705396.jpg

Für meine kommende Reise nach New York war ich mal wieder auf der Suche nach einem Gerät, mit dem ich von meinen Kameras bzw. Speicherkarten Sicherungen auf eine USB Festplatte machen kann. Ich möchte meinen Rechner nicht mit auf die Reise nehmen, aber eben auch nicht auf mein Backup verzichten. Nun gibt es ja Festplatten mit integriertem Kartenleser für genau solche Zwecke, die aber auch ihren Preis haben.

Der Kingston MobileLite Wireless G2 ist mir über viele Umwege förmlich entgegen gesprungen und nachdem ich mich etwas belesen hatte, bestellte ich das Teil. Doch was kann dieses multifunktionale Genie nun alles: es handelt sich zunächst einmal um einen mobilen SD Kartenleser, der auch über einen USB Port verfügt. Über beide Ports können alle auf den jeweiligen Datenträgern verfügbaren Daten über spezielle Apps von Kingston freigegeben werden – sprich, man kann per Handy oder Tablet direkt die Daten einlesen. Dazu muss man nur mit dem vom G2 eröffneten WLAN beitreten – wo wir auch schon bei der nächsten Funktion sind: das Teil ist auch ein mobiler Access Point und verfügt über einen RJ45 LAN Port. Damit kann man an Orten, an denen nur Internet per Kabel verfügbar ist, ganz einfach ein eigenes WLAN aufspannen. Alternativ kann sich der MobileLite G2 auch auf ein vorhandenes WLAN aufschalten und dieses repeaten.

Aber das ist noch nicht alles: ein kompatibler UMTS Stick vorausgesetzt, kann man damit auch unterwegs ein mobiles Internet-Signal weiter verteilen. Und zuguter letzt: das Teil ist auch noch ein simpler mobiler Akku, mit dem man alle möglichen Geräte per USB Kabel laden kann.

Der G2 selbst wird per Micro USB Kabel geladen. Mit einer vollen Akkuladung soll der kleine Freund gute 13 Stunden seinen Tätigkeiten nachgehen – was ich erst noch ausgiebig testen muss. Richtig gut finde ich aber, dass auch normale 2,5″ Magnetfestplatten im Akkubetrieb laufen. Leider scheint der g2 aber Probleme mit USB 3.0 Platten zu haben – zumindest konnte ich keine davon bei mir in Betrieb nehmen.

Der Hauptgrund, warum ich mir den MobileLite gekauft habe, ist wie gesagt meine kommende Reise nach New York. Da ich so wenig wie möglich an Equipment mitschleppen möchte, aber keinesfalls auf mein Backup verzichten kann, soll er mein kleiner Image Tank werden. Dazu hängt eine normale USB 2,5″ Festplatte dran, auf die ich dann per App meine SD Speicherkarten aus der Spiegelreflex kopieren kann. Vergleichbare andere Geräte kosten schnell mehrere hundert Euro, was ich nicht als gerechtfertigt ansehe. Mit ca. 50€ ist der G2 dann doch eine deutlich günstigere und zudem noch funktionsreichere Variante.

Neben der Kopierfunktion kann man natürlich auch sämtliche anderen Daten auf den angeschlossenen Datenträgern lesen. Hier scheinen besonders Android User im Vorteil zu sein, da sie Daten einfach in das lokale Dateisystem kopieren können. Bei iOS geht das eingeschränkt – die entsprechende App muss das “öffnen mit” Feature unterstützen. Pdfs z.b. lassen sich problemlos direkt in iBooks öffnen, Bilder wandern in die Bildgalerie des iPhones/ipads. Alle diese Aktionen führt man man der schlichten, aber doch funktionalen App von Kingston durch. Außerdem kann die App auch alle Bilder und Videos eures Handys / Tablets auf einen angeschlossenen Datenträger kopieren. Außerdem kann die kingston App einfache Aktionen wie Bilder anzeigen oder Videos abspielen auch gleich selbst erledigen. Bei Videos ist es aber z.b. Notwendig, dass diese in h264 vorliegen. Dieses Streaming direkt auf das Gerät wird mit bis zu 3 gleichzeitigen Teilnehmern erlaubt. Es können also gleichzeitig 3 Geräte verbunden sein und Videos ansehen.

Ein kleiner Hinweis: das WLAN das g2 ist im Werkszustand unverschlüsselt. Im Setup wird man gleich darauf hingewiesen und kann ein entsprechendes wpa2 Kennwort vergeben und auch gleich die Verbindung zu einem anderen WLAN für den Repeater Modus einrichten.