Swift 2.2

Voraussichtlich ist Swift 2.2 die letzte Swift-Version vor dem großen, für Herbst geplanten Update auf Swift 3. Swift 2.2 bietet im Vergleich zu Swift 2.0/2.1 einige neue Funktionen. Beim Design von Swift 2.2 war die Kompatibilität zu vorhandenem Swift-2-Code ein wichtiges Ziel. Die meisten Neuerungen sind als Ergänzungen/Erweiterungen konzipiert, die optional verwendet werden können, aber keinen Einfluss auf vorhandenen Code haben.

Dennoch zeigt Swift 2.2 bereits in einigen Punkten die Richtung an, in die sich Swift weiterentwickelt. So wurden diverse Sprachmerkmale von Swift als deprecated gekennzeichnet. Das betrifft z.B. klassische for-Schleifen, die in Swift 2.2 weiter ausgeführt werden, in Xcode aber als deprecated gekennzeichnet werden. Diese Kennzeichnung gibt Entwicklern die Möglichkeit, schon jetzt damit zu beginnen, ihren Code möglichst Swift-3-konform zu gestalten.

Diese Artikel fasst die Neuerungen auf der Basis von Xcode 7.3 Beta 5 zusammen. Ich werde den Text nach der Freigabe von Xcode 7.3 nochmals aktualisieren. Inzwischen ist Xcode 7.3 freigegeben. Es hat keine für diesen Artikel relevanten Änderungen mehr gegeben.

Lesen Sie auch die Zusammenfassung über den aktuellen Stand der Pläne für Swift 3!

Swift 2.2 weiterlesen

Der Raspberry Pi 3

Innerhalb von vier Jahren hat die Raspberry Pi Foundation nicht nur 8 Millionen Minicomputer verkauft, sondern auch eine ganze Reihe von Modellen präsentiert. Mit dem »Raspberry Pi 3 — Modell B« ist seit einigen Tagen der jüngste Spross der Raspberry-Pi-Familie verfügbar.

Rein äußerlich ist der Raspberry Pi 3 (Modell B) kaum von seinem Vorgängermodell zu unterscheiden.
Rein äußerlich ist der Raspberry Pi 3 (Modell B) kaum von seinem Vorgängermodell zu unterscheiden.

Der Raspberry Pi 3 weiterlesen

Wie ich ein QCOW2-Image auf ein Drittel geschrumpft habe

Ich verwende auf meinem Root-Server KVM zur Virtualisierung. In einer der virtuellen Maschinen läuft meine Website https://kofler.info. Die virtuelle Festplatte dieser VM befindet sich in einer QCOW2-Image-Datei. Diese ist im Laufe der Jahre auf rund 30 GiB angewachsen (bzw. rund 32 GB bei dezimaler Rechnung). Tatsächlich beträgt die Virtual Size aber nur 24 GB (dezimal), und davon sind innerhalb der Maschine wiederum nur zwei Drittel genutzt. Da müsste es doch möglich sein, die QCOW2-Datei auzuräumen, oder?

Update 14.12.2019: Script, um nicht-allozierten Speicher aus QCOW2-Images zu entfernen.

Wie ich ein QCOW2-Image auf ein Drittel geschrumpft habe weiterlesen

Bluetooth-Konfiguration im Terminal mit bluetoothctl

In den letzten Tagen habe ich mich recht intensiv mit der Bluetooth-Konfiguration unter Raspbian Jessie auseinandergesetzt. Zur grafischen Konfiguration ist der Bluetooth-Manager vorgesehen (apt-get install bluetooth blueman), der mich aber in der Vergangenheit schon nicht glücklich gemacht hat und mit dem es mir auch diesmal nicht geglückt ist, zwei Bluetooth-Tastaturen einzurichten.

Wohl oder übel habe ich nun versucht, die Konfiguration auf Kommandoebene durchzuführen. Das von Raspbian Wheezy bekannte Werkzeug bluez-simple-agent steht unter Jessie nicht mehr zur Verfügung. Und so kam es, dass ich mit mit dem Kommando bluetoothctl angefreundet habe und damit eine Maus, zwei Tastaturen und einen Bluetooth-Lautsprecher mit dem Raspberry Pi verbunden habe.

Bluetooth-Konfiguration im Terminal mit bluetoothctl weiterlesen

Neuauflage der Linux-Kommandoreferenz

2010 habe ich mich dazu entschieden, damals noch in Abstimmung mit dem Addison-Wesley-Verlag, die Kommandoreferenz aus meinem Linux-Schmöcker herauszulösen und zu einem eigenen Buch zu machen. Das hat (glaube ich) beiden Büchern gut getan:

  • In meinem »klassischen« Linux-Buch wurde Platz für neue Themen frei. Das Buch hat seither wesentlich mehr Tiefgang im Server-Bereich.
  • Und die Kommandoreferenz konnte — ebenfalls ohne große Platzprobleme — konsequent als Referenz konzipiert werden.

Neuauflage der Linux-Kommandoreferenz weiterlesen

Der Raspberry Pi als DLNA-Server

DLNA steht für Digital Living Network Alliance (Wikipedia). Die in dieser Gruppe vereinten Hersteller von Unterhaltungselektronik haben sich auf diverse Standards geeinigt. So können DLNA-konforme Geräte beispielsweise unkompliziert im lokalen Netzwerk verfügbare Mediendateien (Bilder, Musik, Videos) anzeigen oder abspielen. Dieser Beitrag zeigt, wie Sie mit minimalem Aufwand aus einem Linux-Rechner einen DLNA-tauglichen Digital Media Server (DMS) machen.

Der Raspberry Pi als DLNA-Server weiterlesen

Raspbian Lite für den Read-Only-Betrieb konfigurieren

Raspbian Lite ist eine Raspbian-Variante ohne Grafiksystem und GUI-Programme, ohne Java und Mathematica. Sie eignet sich daher besonders gut für Anwendungen, bei denen ein Raspberry Pi ohne Monitor Steuerungs- oder Server-Aufgaben übernehmen soll.

Wenn es für die Anwendung keine Notwendigkeit gibt, Daten auf der SD-Karte zu verändern, kann Raspbian Lite mit geringem Aufwand in ein Read-Only-System umgewandelt werden. Das hat den Vorteil, dass eine Beschädigung des Dateisystems nahezu ausgeschlossen ist, wenn der Raspberry Pi ohne einen richtigen Shutdown ausgeschaltet wird (sprich: wenn einfach der Stecker gezogen wird).

Raspbian Lite für den Read-Only-Betrieb konfigurieren weiterlesen

Raspbian auf eine 128-GByte-SD-Karte installieren

Offiziell unterstützt der Raspberry Pi nur den SDHC-Standard (bis 32 GByte), nicht aber den SDXC-Standard für SD-Karten mit mehr Speicher. Das heißt aber nicht, dass es unmöglich ist, derartige SD-Karten zu verwenden. Da ich gerade einen DLNA-Server auf einem Pi-Zero einzurichten möchte, habe ich versucht, Raspbian auf eine 128-GByte-SD-Karte zu installieren — und siehe da: Probleme haben (wieder einmal) nur die Benutzer, die aus der Windows-Welt kommen …

Raspbian auf eine 128-GByte-SD-Karte installieren weiterlesen