Ubuntu ist frei (Open Source) und samt Updates gratis, das stellt Canonical auf seinen Webseiten mehrfach klar. Nun hat golem.de heute die Story des Hosting-Unternehmens OVH präsentiert. OVH wurde offensichtlich von Canonical aufgefordert, Lizenzgebühren in der Höhe von 1 bis 2 Euro pro Ubuntu-Instanz zu zahlen.
@ubuntu asks us to bill you 1e-2e per month for each VPS/PCI/PCC/SD. If not, prohibition to use the mark "Ubuntu" on our website.
Meine beiden Kinder, aktuell 9 und 11 Jahre alt, sind wie die meisten ihrer Altersgenossen vernarrt in Smartphone-Spiele. Sie haben gesehen, dass ihr Vater Spiele programmiert, und wollen das nun auch können. Nicht irgendwelche Spiele, die auf einem Computer laufen, nein — es müssen Smartphone-Apps sein.
Update 21.10.2016: ZIP-Code-Archiv aktualisiert für Swift 3 final.
Mitglieder des Apple Developer Programs können seit gestern die erste Xcode-8-Beta herunterladen. Sie enthält erwartungsgemäß die erste offizielle Prerelease-Version von Swift 3. Aufgrund des Confidentiality-Regeln, die für Teilnehmer am Apple Developer Program gelten, kann ich hier keine Screenshots zeigen und nur über Dinge schreiben, die ohnedies schon öffentlich bekannt sind (z.B., weil Apple auf der WDDC darüber berichtet hat oder entsprechende Dokumente veröffentlicht hat). Aber auch mit diesen Einschränkungen gibt es ein wenig zu berichten.
Immer wieder passiert mir das: Ich probiere etwas Neues aus, geben dem Projekt einen Namen wie hello-spritekit und zwei Wochen später ist eine richtige App daraus geworden. Der ursprüngliche Name ist dann unpassend. Wie kann man also einem Xcode-Projekt einen neuen Namen geben?
In den letzten Wochen habe ich recht intensiv unter Swift 2.n mit dem SpriteKit gearbeitet. Ein großes Ärgernis ist dabei das umständliche Hantieren mit CGPoint, CGSize, CGRect– und CGVector-Strukturen. Lästig sind auch die ständig erforderlichen Typumwandlungen zwischen den im SpriteKit üblichen CGFloat-Zahlenformat und »gewöhnlichen« Integer- und Fließkommazahlen. Das ist umso absurder, als CGFloat auf 64-Bit-Plattformen ohnedies eine Double-Zahl ist. Einzig auf 32-Bit-Architekturen ist CGFloat tatsächlich ein Float.
Wie auch immer: Swift wäre nicht Swift, könnten wir uns das Leben nicht mit ein paar neuen Operatoren, nachträglichen Erweiterungen vorhandener Strukturen sowie mit globalen Funktionen leichter machen.
Vor ca. einem Monat wurde Ubuntu 16.04 freigegeben. In den Release Notes und in diversen Tests wurde damals auf etliche Probleme und Kinderkrankheiten hingewiesen. Heute habe ich nochmals eine Neuinstallation von Ubuntu 16.04 vom offiziellen ISO-Image durchgeführt, wobei ich die Installationsoption Herunterladen der Aktualisierungen aktiviert habe, damit ich von Anfang an ein möglichst aktuelles und fehlerfreies Ubuntu erhalte. Das Ergebnis ist leider ernüchternd.
Wenige meiner Bücher haben zehn Auflagen erreicht — das Excel-VBA-Buch (1. Auflage 1994) mit dem aktuellen Titel Excel 2016 programmieren gehört jetzt dazu. Schon zum vierten Mal hat Ralf Nebelo eine Menge Zeit, Mühe und Praxiswissen investiert und das Buch vollständig überarbeitet, erweitert und verbessert. Darüber bin ich ausgesprochen glücklich!
Gerade habe ich eine Anfrage zu meiner Übungsaufgabe aus meinem Java-Grundkurs erhalten. Ich habe in der Lösung eine for-Schleife mit einer int-Variable vorgeschlagen. Warum nicht eine double-Variable als Schleifenvariable verwenden?
Die Steuerung von tvOS erfolgt durch eine Art Cursor, der mit der Fernbedienung über Objekte am Bildschirm bewegt wird. Wenn es beispielsweise drei nebeneinanderliegende Buttons am Bildschirm gibt, dann gibt es horizontal nur drei mögliche Cursorpositionen. Ohne weitere Maßnahmen wäre die Cursorbewegung sehr ruckartig.
Um den Übergang von einem zum nächsten Objekt feiner darzustellen und damit die Cursorposition exakter aufzulösen, kippt tvOS die Buttons während sich der (an sich unsichtbare) Cursor darüber bewegt. Diese Kippbewegung wird durch 3D-Effekte und Schatten visualisiert. Das war Apple aber nicht genug: Auch die Icons an sich sollen sich beim Kippen verändern.
Während sich der unsichtbare Cursor über das Icon bewegt, ändert sich nicht nur der Schatten, sondern auch die Position der Zahnräder zueinander. (GIF-Animation)
Mit der vierten Generation des Apple TVs hat Apple das Gerät (endlich) auch für Entwickler interessant gemacht. In Xcode können Sie nun tvOS-Apps programmieren und in der Apple-TV-Sparte des App Stores zum Download bzw. Verkauf anbieten. Dabei gibt es grundsätzlich zwei Arten von Apps: Native Apps, die in Objective C oder Swift entwickelt werden, sowie JavaScript-Apps, die auf einen externen Server zugreifen (Konzept in der Apple-Dokumentation). Ich gehe hier nur auf die Native-Swift-Variante ein.
Diese Website verwendet Cookies nur in minimalem Ausmaß. Es gibt weder Werbung noch Analytic-Funktionen.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.