ubuntuusers.de

16. Juli 2013

Aktuell finden bis zum 25. Juli 2013 die Ubuntu Core App Hack Days statt. Ziel der Veranstaltung soll es sein, die Kernkomponten des Mobilsystems Ubuntu Touch auf einen vorzeigbaren und benutzbaren Zustand zu bringen.

Planung

Bereits seit dem 10. Juli 2013 sind die Hack Days, zu denen jeder Entwickler eingeladen ist, im vollen Gange. Jeden Wochentag wird eine andere Kernkomponente des mobilen Ubuntu-Systems bearbeitet, wie z.B. der Kalender, Taschenrechner oder Dateimanager.

Ziel soll es sein, die Anwendungen in einen jeweils vorzeigbaren Zustand zu bringen (Dogfooding genannt). Zusätzlich will man natürlich auch kritische Fehler finden und beheben sowie Lücken bei der Funktionalität aufdecken und schließen. Die Ziele für die Arbeiten im Juli findet man auf der Dogfooding-Wikiseite.

Teilnahme

Die Hackdays werden virtuell im IRC-Raum #ubuntu-app-devel auf irc.freenode.net abgehalten. Jeder darf den Raum betreten und sich ein Thema heraussuchen, an dem er arbeiten will. Die Koordination findet über das Ubuntu-Wiki statt.

Fortschritt

Ubuntu-Entwickler und Canonical-Mitarbeiter Michael Hall zeigt in seinem Blog die täglichen Fortschritte der Hack Days. So gibt es bereits Einträge zum Kalender, zur Musik-App, zur Uhr und zum Taschenrechner. Weitere werden mit dem Fortgang der Entwicklung sicherlich folgen.

Automatisiertes Testen

Zusammen mit der Entwicklung der Core Apps ist auch das automatisierte Testen der Anwendungen sehr wichtig, um Fehler frühzeitig zu finden. Qualitätssicherungskoordinator von Canonical, Nicolas Skaggs, zeigt in seinem Blog unter dem Titel „Testing all the things“ derzeit, was man alles testen und vor allem welche Fehler man beheben kann.

Zum automatisierten Testen gibt es auch den ausführlichen Ikhaya-Artikel Workshops vom Ubuntu Quality-Team zum automatisierten Testen.

Links

git diff --stat --color v3.10..v3.11-rc1

Zwei Wochen Merge Window sind genug - der Entwicklungszyklus des kommenden Linux-Kernels hat begonnen. Der aktuelle Patch ist wieder etwas kleiner geworden, was im Vergleich zum 12700-Commits-Monster, das sich Linux 3.10 nannte, keine Schwierigkeit ist.

Was gibt es Neues? Die Virtualisierungslösung KVM läuft nun auch auf der 64bit-ARM-Architektur und die Treiber für die Temperaturregelungsfunktionen einiger TI-Prozessoren durften den Staging-Bereich verlassen, darunter auch für den OMAP4460, der in verschiedenen Android-Smartphones und -Tablets zum Einsatz kommt. Hinter den Kulissen wurden einige Fonts aus dem Grafik-Treiber-Bereich in den Bereich für allgemeine Bibliotheken des Kernels verschoben, um hier auch anderen Treibern zur allgemeinen Verfügung stehen zu können.

Ein ziemlich dicker Batzen ist die Client-Unterstützung für das auf den verteilte Dateisystem Lustre, das zumeist im Umfeld sehr leistungsfähiger Supercomputer zum Einsatz kommt. Es wird unter der GPLv2 entwickelt.

Und nach laaaaaaaanger Zeit hat der Linux-Kernel mal wieder einen neuen Namen bekommen. Aus dem einradfahrenden Gorilla („Unicycling Gorilla“) wurde nun „Linux for Workgroups“. Wobei Linux den Punkt der Windows-Version, auf die hier angespielt wird, meiner Ansicht nach meilenweit sich hat. Ein Schmunzeln entlockt es einem trotzdem.

Schauen wir mal, was der Entwicklungszyklus noch so mit sich bringt.

Die letzten rc1-Versionen:
Eine Übersicht über die ersten Entwicklerversionen der letzten Kernel

Commits geänderte Dateien eingefügte Zeilen gelöschte Zeilen Datum Tage *
3.0-rc1 7 728 7 345 515 283 434 481 30.05.2011 11
3.1-rc1 7 620 8 567 682 861 567 884 08.08.2011 17
3.2-rc1 10 730 12 103 1 628 367 1 406 543 08.11.2011 15
3.3-rc1 9 460 10 078 569 551 360 626 19.01.2012 15
3.4-rc1 9 859 10 526 553 618 344 653 31.03.2012 12
3.5-rc1 10 068 9 139 605 187 400 813 03.06.2012 14
3.6-rc1 9 160 7 629 512 898 248 227 02.08.2012 12
3.7-rc1 11 083 15 096 1 543 528 1 226 219 14.10.2012 14
3.8-rc1 11 737 10 482 554 790 340 624 21.12.2012 14
3.9-rc1 10 941 10 585 589 505 328 642 03.03.2013 13
3.10-rc1 12 714 9 909 641 289 386 291 12.05.2013 13
3.11-rc1 10 160 8 889 770 288 238 578 14.07.2013 14

* Tage seit dem letzten Release

Quelle: Linux Kernel Mailing List

WebFWD (Web Forward) ist der Name von Mozillas Inkubator für Open Web-Projekte. Mozilla fördert mit diesem Programm Unternehmensgründer und Startups. Die neun von Mozilla unterstützten Projekte für die vierte Runde wurden nun vorgestellt.

Mozilla WebFWD gibt es nun schon seit zwei Jahren und geht in die vierte Runde. Im Rahmen einer dreimonatigen Förderung werden Unternehmensgründer und Startups unterstützt – und das vollkommen kostenlos, Mozilla beziehungsweise das WebFWD-Projekt verlangt dafür nichts. Dies funktioniert von der ganzen Welt aus, da die Unterstützung größtenteils über das Web erfolgt. Lediglich zu Beginn und am Ende des Programms muss mindestens ein Mitglied des Projektes zu Mozilla nach Kalifornien. Diese Unterstützung erfolgt unter anderem durch Workshops und Coaching durch Experten. Das Ziel ist die Erschaffung eines innovativen Produkts oder Dienstleistung. Voraussetzung für die Unterstützung ist, dass mindestens ein Teil des Projektes Open Source ist. Außerdem muss bei der Bewerbung bereits ein funktionierender Prototyp vorhanden sein. Die Projekte müssen außerdem über den Anspruch einer reinen Machbarkeitsstudie hinausgehen, es sollen Geschäftsmodelle entwickelt werden.

Über 100 Projekte haben sich für die vierte Runde beworben. Die neun unterstützten Projekte für WebFWD IV wurden nun bekannt gegeben.

  • Clay.io – eine Plattform für HTML5-Spiele, welche Entwicklern dabei helfen soll, ihre Spiele mit Features wie Benutzerkonten, In-Game-Zahlungen, Bestenlisten und mehr zu verbessern. Für Endnutzer wird eine Plattform angeboten, um Spiele zu entdecken und zu spielen, welche auf jedem Gerät funktionieren.
  • CozyCloud – ein persönlicher Cloud-Server für jeden. In der eigenen Cloud können Daten gespeichert und Web Apps installiert werden.
  • Hyperaudio – verspricht Audio- und Videobearbeitung so einfach wie Textverarbeitung.
  • Multiplay.io – soll es besonders einfach machen, Multiplayer-3D-Spiele für das Web, Android, iOS und Windows Phone 8 zu erstellen.
  • Navvid – eine Autorensoftware zum Erstellen interaktiver Lehrvideos, Dokumentarfilme und mehr.
  • PLOM.IO – möchte intelligente Diskussionen und Entscheidungen ermöglichen. Dazu werden unter anderem eine Data-Streaming-API und eine Bibliothek an Daten, mathematischen Modellen und Ergebnissen entwickelt.
  • PredictionIO – ein Server für maschinelles Lernen für Software-Entwickler, um vorausschauende Anwendungen durch beispielsweise Personalisierung und Empfehlungen zu bauen.
  • Vizicities – bringt reale Städte in 3D samt Daten wie unter anderem zur Umweltverschmutzung, Kriminalität oder anderen sozialen Daten in den Browser.
  • Webshell.io – ein Framework, welches Entwicklern Zeit sparen soll, indem externe APIs von Drittanbietern in einem konsistenten JavaScript-Interface vereint werden.

Konsequenzen aus der NSA-Überwachung zu ziehen ist derzeit eines der beherrschenden Themen hier. Dropbox als fremdgehosteter Dienst mit vollem Zugriff auf wichtige Daten musste also irgendwann in meinen Fokus geraten. Meine erste Tendenz war zu wechseln, auf aeroFS oder BitTorent Sync. Doch letztendlich nutze ich Dropbox für meine derzeitige Beschäftigung, mehrere Freigaben von Projekten sind derzeit aktiv und überhaupt hab ich den Account damals nur angelegt, damit ein schwedischer Forschers mir seine Mistral-Konfiguration freigeben konnte. Also bleibt Dropbox, aber ich brauche irgendeine Absicherung.

Genug der Motivation. Dropbox zu sichern ist einfach genug. Ich folge dem Konzept von Boxcryptor und nutze dafür - wie andere vor mir - encfs: Es wird ein Ordner Dropbox/encrypted angelegt, der verschlüsselte Dateien enthält. Ein anderer Ordner im Homeverzeichnis, Dropbox-decrypted, zeigt die entschlüsselten Dateien - ein mount plus Entschlüsselung. Wird etwas diesem Ordner hinzugefügt, wird es automatisch in Dropbox/encrypted verschlüsselt gespeichert und so von Dropbox gesynct, ohne dass Dropbox je die entschlüsselten Dateien sehen würde.

Dropbox verschlüsseln

Installiert werden muss das Paket encfs. Danach:

encfs ~/Dropbox/encrypted ~/Dropbox-decrypted

Dem Wizard folgen, wobei die Voreinstellung p völlig ok sein sollte. Passwort wählen. Fertig.

Unmounten geht mit fuserumount -u, mounten mit dem gleichen Befehl wie bei der Erstellung.

Automount

Nun soll das ganze natürlich noch automatisch beim Login ausgeführt werden Da gibt es verschiedene Wege, von pam_mount zu pam_encfs bis hin zu gnome-encfs.

Die Grundidee bei den pam-Modulen ist, beim Login das Passwort gleich nochmal zu nutzen um encfs auszuführen. Bei meinem momentan noch genutzten rungetty-Autologin keine Option. gnome-encfs dagegen speichert das Passwort in Gnomes Keyring und startet encfs per Gnomes Autostart, wobei ersteres generell auch ohne Gnome eine tolle Idee ist, nur dass bei mir dbus nicht und damit kein Keyring funktioniert.

Deswegen meine händische Lösung: Bei jedem Login wird per .icewm/startup ein Skript ausgeführt, das die Dropbox entschlüsselt. So sieht es aus:

#!/bin/bash

i=0
decryptDropbox() {
    encfs --extpass="/usr/lib/openssh/gnome-ssh-askpass 'Decrypt Dropbox'" ~/Dropbox/encrypted ~/Dropbox-decrypted
    if [ $? != 0 ]; then
        zenity --title="encFS: mount failed" --info --text="The decryption failed" 0x0
        let i++
        if [[ "$i" -le 2 ]]; then
            decryptDropbox
        fi
    else
        notify-send "Dropbox" "successful decrypted"
    fi
}
decryptDropbox

Die benötigten Pakete sind ssh-askpass-gnome, zenity und libnotify-bin, was notify-send beinhaltet und alternativ samt dem else-Zweig weggelassen werden kann.

Langsam eicht sich das Nährhörnchen. Die NSA-Verteidigung hat hiermit eine Mauer mehr.

Konsequenzen aus der NSA-Überwachung zu ziehen ist derzeit eines der beherrschenden Themen hier. Dropbox als fremdgehosteter Dienst mit vollem Zugriff auf wichtige Daten musste also irgendwann in meinen Fokus geraten. Meine erste Tendenz war zu wechseln, auf aeroFS oder BitTorent Sync. Doch letztendlich nutze ich Dropbox für meine derzeitige Beschäftigung, mehrere Freigaben von Projekten sind derzeit aktiv und überhaupt hab ich den Account damals nur angelegt, damit ein schwedischer Forschers mir seine Mistral-Konfiguration freigeben konnte. Also bleibt Dropbox, aber ich brauche irgendeine Absicherung.

Genug der Motivation. Dropbox zu sichern ist einfach genug. Ich folge dem Konzept von Boxcryptor und nutze dafür - wie andere vor mir - encfs: Es wird ein Ordner Dropbox/encrypted angelegt, der verschlüsselte Dateien enthält. Ein anderer Ordner im Homeverzeichnis, Dropbox-decrypted, zeigt die entschlüsselten Dateien - ein mount plus Entschlüsselung. Wird etwas diesem Ordner hinzugefügt, wird es automatisch in Dropbox/encrypted verschlüsselt gespeichert und so von Dropbox gesynct, ohne dass Dropbox je die entschlüsselten Dateien sehen würde.

Dropbox verschlüsseln

Installiert werden muss das Paket encfs. Danach:

encfs ~/Dropbox/encrypted ~/Dropbox-decrypted

Dem Wizard folgen, wobei die Voreinstellung p völlig ok sein sollte. Passwort wählen. Fertig.

Unmounten geht mit fuserumount -u, mounten mit dem gleichen Befehl wie bei der Erstellung.

Automount

Nun soll das ganze natürlich noch automatisch beim Login ausgeführt werden Da gibt es verschiedene Wege, von pam_mount zu pam_encfs bis hin zu gnome-encfs.

Die Grundidee bei den pam-Modulen ist, beim Login das Passwort gleich nochmal zu nutzen um encfs auszuführen. Bei meinem momentan noch genutzten rungetty-Autologin keine Option. gnome-encfs dagegen speichert das Passwort in Gnomes Keyring und startet encfs per Gnomes Autostart, wobei ersteres generell auch ohne Gnome eine tolle Idee ist, nur dass bei mir dbus nicht und damit kein Keyring funktioniert.

Deswegen meine händische Lösung: Bei jedem Login wird per .icewm/startup ein Skript ausgeführt, das die Dropbox entschlüsselt. So sieht es aus:

#!/bin/bash

i=0
decryptDropbox() {
    encfs --extpass="/usr/lib/openssh/gnome-ssh-askpass 'Decrypt Dropbox'" ~/Dropbox/encrypted ~/Dropbox-decrypted
    if [ $? != 0 ]; then
        zenity --title="encFS: mount failed" --info --text="The decryption failed" 0x0
        let i++
        if [[ "$i" -le 2 ]]; then
            decryptDropbox
        fi
    else
        notify-send "Dropbox" "successful decrypted"
    fi
}
decryptDropbox

Die benötigten Pakete sind ssh-askpass-gnome, zenity und libnotify-bin, was notify-send beinhaltet und alternativ samt dem else-Zweig weggelassen werden kann.

Langsam eicht sich das Nährhörnchen. Die NSA-Verteidigung hat hiermit eine Mauer mehr.

Bei freiesMagazin ist zu Lesen, dass Layouter gesucht werden. Aufgabe ist die ordentliche Gestaltung von Artikeln, wofür man ein gutes Auge für Design haben muss. Aus Erfahrung weiß ich, dass man anfangs auch Geduld mitbringen sollte, da das Layouten eines Artikels mit LaTeX alles andere als einfach ist.

Ich plane für die Einarbeitung auch noch ein Screencast-Video, wie ich Artikel layoute. Vielleicht hat ja jemand Empfehlungen für ein Screencast-Programm. Ich habe so etwas noch nie genutzt und auch sonst nicht so viel mit Video- und Tonbearbeitung unter Linux gemacht.

Mitte Juni veröffentliche Canonical die Meldung, dass sich eine Carrier Advisory Group (CAG) zusammengeschlossen hat, um Ubuntu für die Verbreitung im Mobilfunkmarkt bereit zu machen.

Aufgaben der Gruppe

Die CAG will sich in regelmäßigen Abständen treffen und über den aktuellen Zustand und Entwicklungspunkte von Ubuntu Touch reden. Die besprochenen Themen umfassen dann unter anderem Marketplace-Integration, Portabilität von Android-Apps, HTML5-Performance und -Kompatibilität, Bezahlmechanismen, Marktaufteilung und -positionierung sowie vieles mehr.

Der Vorsitz der CAG hält David Wood, der derzeit Vorsitzender bei London Futurists ist und Leiter bei Symbian und der Open Mobile Alliance war. Er blickt auf einen 25-jährige Karriere in der Mobilindustrie zurück.

Mitglieder

Die Initialmitglieder der CAG sind Everything Everywhere, Korea Telecom, Telecom Italia, LG UPlus, Portugal Telecom, SK Telecom und vor allem auch die Deutsche Telekom. Man sieht, dass Europa stark vertreten ist, was die Verbreitung von Smartphones mit Ubuntu Touch in Europa bzw. in Deutschland erhöhen könnte. Im Laufe des Julis haben sich weitere Mobilfunkvertreter der CAG angeschlossen, darunter PT Smartfren Telecom, China Unicom und Verizon Wireless US.

Die Vorteile der Mitglieder der CAG liegen darin, dass sie sehr früh Zugriff auf Ubuntu-Entwicklungen haben und zusätzlich Exklusivverträge für ihren jeweiligen Markt erhalten. Daneben dürfen sie die Geräte branden, also sowohl extern als auch intern mit eigenen Anpassungen versehen.

Links

Apache in der Version 2 erhält von nun an keine Updates mehr, wie gestern bekannt gegeben wurde.

Nach dem Update 2.0.65 haben die Apache Entwickler den Support für diese Reihe eingestellt. User werden gebeten, so schnell wie möglich auf Apache2.2 oder 2.4 umzusteigen, da noch immer Sicherheitsrisiken bestehen, welche aber nicht mehr behoben werden(Liste).

Im letzten Patch wurden 6 Sicherheitslücken, sowie die Möglichkeit eines Zugriffes über den internen Integer-Overflow auf die Zugriffsrechte(CHMOD)- was über eine modifizierte .htaccess Datei geschieht -, geschlossen.

Nebenbei wurden noch mod_rewrite Modifiziert, dass keine Escape-Sequenzen in mehr in die Protokolldateien geschrieben werden, was Angreifern einen Zugriff auf den Webserver ermöglicht.
Dazu enthält dieser Bugfix noch kleinere Anpassungen, wie z.B ein Fix für die Kommunikation zwischen Eltern und Unterprozessen, wodurch provoziert werden kann, dass ein Elternprozess Abstürzt.. Weitere kleine Bugfixes verhindern DoS Angriffe, indem der Umgang mit Byte-Ranges verbessert wurde.

Von mir:
Na, es wurde auch endlich Zeit.. Ich kenne kaum noch Hoster, welche Apache2 einsetzen, was sich hiermit dann auch gänzlich gegen Null senken sollte.
Happy Coding! :)

Mozilla hat in die neuste Version seiner NSS-Bibliotheken Unterstützung für TLS 1.2 implementiert. Dies erlaubt Firefox und Chrome in Zukunft eine bessere Verschlüsselung bei der Datenübertragung im Internet.

Bei den Network Security Services (NSS) handelt es sich um eine von Mozilla entwickelte Sammlung von Programmbibliotheken mit Netzwerksicherheitsfunktionen zum Entwickeln plattformübergreifender Client- und Server-Anwendungen. NSS unterstützt unter anderem Transport Layer Security (TLS), vielen besser bekannt unter dem alten Namen Secure Sockets Layer (SSL), als Verschlüsselungsprotokoll für sichere Datenübertragung im Internet. Neben Firefox setzt auch der Google-Browser Chrome NSS ein.

Firefox und Safari unterstützen derzeit ausschließlich TLS 1.0, während Chrome auch TLS 1.1 unterstützt. Der Internet Explorer bietet zwar Unterstützung für TLS 1.1 und TLS 1.2, allerdings standardmäßig nicht aktiviert. Grund für die Zurückhaltung der Browserhersteller ist die Tatsache, dass manche Server die Verbindung abbrechen, wenn der Browser sich mit einer neueren Version zu verbinden versucht.

Mozilla hat in der neusten Version von NSS nun Unterstützung für den mittlerweile auch schon fünf Jahre alten TLS 1.2-Standard implementiert. Dies erlaubt Firefox und Chrome in zukünftigen Versionen die Unterstützung von TLS 1.2. Mozilla arbeitet derzeit aktiv an der Implementierung von TLS 1.1 und TLS 1.2 in Firefox. Die authentifizierte Verschlüsselung im GCM-Modus von AES als Schutz vor Angriffen wie BEAST oder Lucky13 wird derzeit allerdings noch nicht unterstützt, aber auch daran arbeitet Mozilla.

via heise security

15. Juli 2013

Am Montag, den 15. Juli 2013, haben sich die Ubucon-Helfer und -Organisatoren gemäß der Ankündigung im IRC #ubucon-de auf irc.freenode.net und zur Telefonkonferenz getroffen und ab 20 Uhr eine dreiviertel Stunde lang über aktuelle Punkte gesprochen.

Protokoll

Folgende Punkte wurden besprochen (es werden die IRC-Namen angegeben, wo notwendig):

Vor-Ort Organisation

Es wurden einige Hotels vorab ausgewählt. Diese Woche soll sich darum gekümmert werden, bei diesen ein Zimmerkontingent zu bekommen, sodass man demnächst buchen kann.

Linux-Quiz

Für das Linux-Quiz auf der Ubucon sollen erstmals nicht-technische Fragen aufgenommen werden, sodass auch der „normale“ Ubuntu-Nutzer mitmachen kann. Zusätzlich soll es Buzzer geben, um das Quiz Jeopardy-ähnlicher zu gestalten. Ggf. wird, um die Teilnehmer gleich stark zu halten, ein Teamspiel eingeführt.

Nächster Termin

Das nächste Treffen findet nächsten Montag, den 22. Juli 2013, um 20 Uhr im IRC statt. Die Absprache selbst soll dabei wieder über eine Telefonkonferenz erfolgen. Jeder, der Interesse an der Organisation der Ubucon hat, ist eingeladen teilzunehmen und sich einzubringen.

Die Steaminstallation auf Linux (explizit Ubuntu) ist ja neuerdings ein Kinderspiel und wird sowohl über die Kommandozeile als auch über das Ubuntu Software-Center unterstützt. Siehe Wiki von ubuntuusers.de.

Da ich in meinem Notebook allerdings zwei Festplatten verbaut habe (eine SSD mit Systempartitionen und eine SATA für alle möglichen anderen Daten) hatte ich nach einer Lösung gesucht die Datenpartition für die Steaminstallation und die jeweiligen Spiele zu nutzen.

Bei meinem Notepad ist die Datenfestplatte eine einzige große Partition /dev/sdb1 welche von mir nach /daten gemountet wurde. Dorthin sollte auch das ganze Steam mit Spielen usw.

Wenn man nun wie im obigen Wiki beschrieben Steam über die Kommandozeile oder über das Software-Center installiert, wird es standardmäßig in folgendes Unterverzeichnis im Homeordner des Users entpackt: ~/.local/Share/Steam

Bei jedem Spiel das man installiert kann man zwar einen eigenen Ordner oder eine eigene “Spielepartition” angeben, damit verteilt man seine Spiele usw. über seine bestehenden Ordner. Ich wollte allerdings alles in einem haben.

Dafür habe ich mir einfach vor der Installation von Steam folgendes überlegt. Ich legte einen eigenen Steam Ordner an und verweise mit einem symbolischen Link auf diesen.

mkdir /daten/Steam
ln -s /daten/Steam/ ~/.local/share/Steam

Es werden die gesamten Installationsexecutables und Spieledateien nach /daten/Steam gespeichert. Man wird zukünftig bei neuen Spielen trotzdem gefragt wohin die Spieledateien gespeichert werden sollen, als Default steht hier der Installationsordner:

steam

Dank Android gibt es Smartphones mit einem freien Betriebssystemen natürlich schon. Und Ubuntu Touch ist auch auf einem guten Weg. Dennoch schadet mehr Auswahl nicht und so ist es schön, dass ab Herbst auch Geräte mit Firefox OS erhältlich sein sollen.

Alcatel One Touch Fire
Alcatel One Touch Fire
(C) Rob Pegoraro (CC-BY-NC-SA 2.0)

Deutsche Telekom bietet Smartphones mit Firefox OS an

Am 11. Juli 2013 kündigte die Deutsche Telekom an, dass einen Tag später die ersten Smartphones mit Mozillas Firefox OS in Polen zum Kauf erhältlich sind. Noch schöner ist natürlich, dass ab Herbst auch Geräte in Deutschland angeboten werden sollen. Die Verbreitung übernimmt dabei die Telekom-Tochter Congstar.

Die Besonderheit von Firefox OS ist, dass das gesamte System auf Webtechnologien wie HTML 5 basiert. Zusätzlich will man entgegen iOS und Android völlige Freiheit bieten, auch was die App-Entwicklung angeht. Die Apps kann man dann über den Firefox Marketplace installieren. Dieses YouTube-Video zeigt die Funktionsweise des Betriebssystems. Ebenso wurde das System bereits in Ikhaya ausführlich vorgestellt.

Als Hardware wird das One Touch Fire der Firma Alcatel eingesetzt, welches auf der deutschen Webseite aber noch nicht gelistet wird. Das Smartphone besitzt einen 3,5-Zoll-Touchscreen mit einer relativ geringen Auflösung von 320x480 Pixeln. Intern arbeitet eine 1-GHz-schnelle Adreno-200-CPU mit 256 MB RAM. Die interne Speicherkapazität ist mit 160 MB recht gering, aber es liegt eine 2-GB-SD-Karte bei, die auf 32 GB erweitert werden kann. Eine 3,15-Megapixel-Kamera ist ebenfalls verbaut, die sogar Geotagging unterstützt. Als Anschlüsse gibt es microUSB und Bluetooth. Standards wie WLAN oder GPRS und EGDE werden ebenfalls unterstützt. (Alle Daten stammen von GSMArena.)

Firefox OS Simulator.
Firefox OS Simulator.
(C) Angelina Fabbro/Mozilla
(CC-BY-SA 3.0)

Firefox-OS-Entwicklung

Passend zur Veröffentlichung der ersten Geräte ist es sinnvoll, dass eine neue Version 4.0 des Firefox OS Simulator veröffentlicht wurde. App-Entwickler können damit auch ohne vorhandenes Smartphone Anwendungen entwickeln. Das ganze funktioniert dabei als Erweiterung des normalen Firefox-Browsers.

Zusätzlich wurde die Webseite Building Firefox OS ins

Leben gerufen, mit denen die App-Entwickler weiter unterstützt werden sollen. Man findet dort neben Dokumentationsmaterial für die Firefox-OS-Schnittstelle auch Vorlagen für HTML- und CSS-Komponenten.

Quellen

14. Juli 2013

Ich habe vor kurzem nach einer Software gesucht, um das vereinseigene Evaluation-Board mit einem ARM Cortex-M0 zu programmieren. Die unterstützten µC findet ihr in der Projektbeschreibung. Da ich Linux benutze, konnte ich nicht das Programm nutzen, welches die anderen nutzen. Also fragte ich beim Verein nach und der Projektleiter hatte auch schon gesucht und schickte mir den Link. lpc21isp heißt das nette Tool und man kann es sich auf http://sourceforge.net/projects/lpc21isp/ herunterladen. 

Ich will euch aber etwas Arbeit ersparen und stelle euch hier ein Shell-Script zur Verfügung, welches nach dem Durchführen lpc21isp nach /opt/lpc21isp installiert hat und gleich einen Symlink in /usr/bin angelegt hat. Damit ist das Programm von überall aus aufrufbar. 

Zum Programmieren  verwendet man beispielsweise:

~$ lpc21isp -hex -control yourprogram.hex /dev/ttyUSB0 95000 14746

Die Syntax ist folgende:

lpc21isp [Options] file[ file[ ...]] comport baudrate Oscillator_in_kHz

 

Mozilla bietet mit Collusion ein Add-on für Firefox an, welches das Tracking der Nutzer durch Webseiten visualisert. Derzeit arbeitet man intensiv an der Version 1.0, deren neues Design hier gezeigt werden soll.

Mozilla zeigte sich schon immer sehr bemüht, wenn es um den Datenschutz und die Privatsphäre der Nutzer ging. In diese Bemühungen passt auch das Firefox Add-on Collusion, welches das Tracking der Nutzer durch Webseiten visualisiert. Mozilla arbeitet derzeit an der Fertigstellung der Version 1.0, über deren Neuerungen ich kürzlich berichtete (inkl. Video). Unter anderem wird Collusion damit zu einem Werkzeug, um Tracking kontrolliert zu beschränken und zu erlauben, womit Collusion über ein reines Visualisierungs-Werkzeug hinausgeht und zu einer Alternative zu Add-ons wie Ghostery & Co. wird. Das neue Design wird an dieser Stelle präsentiert.

Bilderquelle: GitHub

Das neue Design ist bereits teilweise implementiert. Der aktuelle Stand kann auf GitHub heruntergeladen und mittels cfx zu einem Add-on gepackt werden.

Wer unter Windows eine Datei packt, findet nach dem Entpacken unter Linux teilweise die Dateien mit ? (Fragezeichen) im Namen vor. Nun kann es etwas mühsam werden, jeden Datei-Namen per Hand zu ändern (vor allem, da sich Dolphin weigert, dies durchzuführen und man mittels Terminal und “mv” sowie einem Platzhalter-Sternchen Abhilfe schaffen muss).

Dank dem User “slhck” von http://superuser.com, der im Quell-Beitrag das folgende Script veröffentlicht, kann man nun den Inhalt eines ganzen Ordners auf einmal bereinigen (die Fragezeichen werden entfernt).
Quelle: http://superuser.com/questions/538161/how-to-bulk-rename-files-with-invalid-encoding-or-bulk-replace-invalid-encoded-c

#!/bin/bash
find "$1" -depth -print0 | while read -r -d '' file; do
  d=$( dirname "$file" )
  f=$( basename "$file" )
  new=${f//[^a-zA-Z0-9\/\._\-\ \&\,\']/}
  if [ "$f" != "$new" ]      # if equal, name is already clean, so leave alone
  then
    if [ -e "$d/$new" ]
    then
      echo "Notice: \"$new\" and \"$f\" both exist in "$d":"
      ls -ld "$d/$new" "$d/$f"
    else
      echo mv "$file" "$d/$new"      # remove "echo" to actually rename things
      mv "$file" "$d/$new"      # remove "echo" to actually rename things
    fi
  fi
done

Der Aufruf erfolgt im Terminal mittels:

rename.sh /pfad/zum/ordner

 

Wie jedes Jahr veranstaltet der Musikpiraten e.V. einen Free! Music! Contest. Dieses Jahr läuft der Wettbewerb unter dem Motto „Viva la FreevoluCCión“. Schirmherr der Veranstaltung ist dieses Jahr Victor Love, Frontmann der Band Dope Stars Inc. aus Italien.

Mitmachen

Wer bei dem Wettbewerb mitmachen möchte, lädt einfach sein Lied bei ccMixter hoch und meldet sich zum Wettbewerb an. Bedingung ist, dass das Werk unter einer Creative-Commons-Lizenz veröffentlicht wird. Wer den ND-Zusatz (keine Ableitung des Werkes) weglässt, gibt zusätzlich die Möglichkeit Remixe zu erlauben. Für jeden Remix bis zum Ende des Wettbewerbs gibt es Bonuspunkte. Ebenso gibt ein Video Bonuspunkte oder wenn man den Song „Lies Irae“ von Dope Stars Inc remixt. Die Anmeldung ist bis zum 31. Juli 2013 möglich.

Nach der Einreichung bis zum 31. Juli 2013 entscheidet eine Jury bis zum 31. August 2013, welche Songs auf den Sampler kommen. Wie gewohnt werden dabei alle Musikrichtungen betrachtet, sodass am Ende für jeden Musikgeschmack etwas auf den CDs zu finden sein sollte. Als Preise für die Gewinner winken 100-Euro-Gutscheine und eine Band wird in Heidelberg bei „Rock im Feld“ 2014 auftreten dürfen.

Finanzielle Unterstützung wird auch wieder gesucht, da es wie jedes Jahr Doppel-CD-Sampler mit den besten Musikstücken geben soll. Wer CD-Pate werden will, um CDs zu kaufen und zu verteilen, kann sich über das Kontaktformular bei den Musikpiraten melden. Ebenfalls sind auch Spenden für die Preise für die Teilnehmer gern gesehen.

Hintergrund des Mottos

Das Motto soll an den Ärger der Musikpiraten mit der GEMA erinnern. Die GEMA hat bei dem Verein Geld eingefordert für einen Künstler, der seinen Realnamen nicht offenlegen möchte. Die GEMA nimmt daher einfach an, dass der Künstler bei Ihnen (oder einer anderen verwandten Verwertungsgesellschaft) unter Vertrag ist, auch wenn der Künstler dies verneint.

In den letzten Tagen habe ich mehrere Cryptoparties als Vortragender rund um das Thema Verschlüsselung unterstützt. Bisher habe ich, aus Gründen der Einfachheit zum Durchblättern der Präsentationen einfach eine normale USB Maus genommen und ggf. mit einem entsprechenden Kabel verlängert. Das ganze ist natürlich keine sonderlich schöne Lösung, und daher musste so ein Wireless Presenter her.

Recht schnell ist mir aber aufgefallen das dieses Gerät nach wenigen Sekunden keine Befehle mehr annimmt, im Journal waren darauf nur Einträge zu finden das ausgerechnet der Funkempfänger in den Schlafmodus geschickt wurde. Ein sehr unpraktisches Verhalten für so ein Gerät.

Das Problem kommt daher das ich unter anderem auch den Laptop Mode zum Strom sparen installiert habe, dieser sorgt zuverlässig dafür das der USB Powersaving Mode bei dem Gerät auch schön aktiviert wird, was natürlich recht dämlich ist.

Das Workaround einfach auf den Laptop Mode zu verzichten finde ich wenig brauchbar, aber es gibt natürlich auch eine korrekte Lösung für dieses Problem: Laptop Mode kann über die Konfigurationsdatei /etc/laptop-mode/conf.d/usb-autosuspend.conf angewiesen werden bestimmte Geräte nicht entsprechend zu konfigurieren.

Es genügt hierzu einfach die Zeile AUTOSUSPEND_USBID_BLACKLIST um die entsprechende USB-ID (lsusb hilft) zu erweitern, was in meinem Fall so aussieht:

AUTOSUSPEND_USBID_BLACKLIST="046d:c52d"

Nachdem das Gerät neu angesteckt wurde sind diese Änderungen (dank udev Integration) direkt aktiv, sehr schön.

In den letzten Tagen habe ich mehrere Cryptoparties als Vortragender rund um das Thema Verschlüsselung unterstützt. Bisher habe ich, aus Gründen der Einfachheit zum Durchblättern der Präsentationen einfach eine normale USB Maus genommen und ggf. mit einem entsprechenden Kabel verlängert. Das ganze ist natürlich keine sonderlich schöne Lösung, und daher musste so ein Wireless Presenter her.

Recht schnell ist mir aber aufgefallen das dieses Gerät nach wenigen Sekunden keine Befehle mehr annimmt, im Journal waren darauf nur Einträge zu finden das ausgerechnet der Funkempfänger in den Schlafmodus geschickt wurde. Ein sehr unpraktisches Verhalten für so ein Gerät.

Das Problem kommt daher das ich unter anderem auch den Laptop Mode zum Strom sparen installiert habe, dieser sorgt zuverlässig dafür das der USB Powersaving Mode bei dem Gerät auch schön aktiviert wird, was natürlich recht dämlich ist.

Das Workaround einfach auf den Laptop Mode zu verzichten finde ich wenig brauchbar, aber es gibt natürlich auch eine korrekte Lösung für dieses Problem: Laptop Mode kann über die Konfigurationsdatei /etc/laptop-mode/conf.d/usb-autosuspend.conf angewiesen werden bestimmte Geräte nicht entsprechend zu konfigurieren.

Es genügt hierzu einfach die Zeile AUTOSUSPEND_USBID_BLACKLIST um die entsprechende USB-ID (lsusb hilft) zu erweitern, was in meinem Fall so aussieht:

AUTOSUSPEND_USBID_BLACKLIST="046d:c52d"

Nachdem das Gerät neu angesteckt wurde sind diese Änderungen (dank udev Integration) direkt aktiv, sehr schön.

In eigener Sache: Wer in den bislang 722 auf diesem Blog veröffentlichten Artikeln (und täglich werden es mehr) nach etwas sucht, kann dies ab sofort tun, auch wenn er sich gerade nicht auf dem Blog befindet. Dazu muss der Blog lediglich einmalig als Suchmaschine zum Browser hinzugefügt werden.

Dieser Blog bietet zahlreiche Artikel zu Mozilla und anderen Themen. Bei mittlerweile über 700 Artikeln, von welchen es jeden Tag mehr werden, kann eine Suchfunktion mitunter hilfreich sein, wenn man nach Artikeln zu einem bestimmten Thema sucht. Um den Komfort zu steigern, kann dieser Blog ab sofort als Suchmaschine zum Browser hinzugefügt werden.

Firefox-Nutzer klicken bei Besuch des Blogs soeren-hentzschel.at einfach auf das Symbol im Suchmaschinenfeld und wählen aus dem dann aufpoppenden Menü den Eintrag “soeren-hentzschel.at” hinzufügen aus. Und schon kann dieser Blog als Suchmaschine ausgewählt und durchsucht werden, ohne sich gerade auf dem Blog zu befinden. Firefox erlaubt dabei jederzeit bequem den Wechsel zwischen den verschiedenen Suchmaschinen über das Menü im Suchfeld.

Google macht es den Nutzern von Chrome leider unnötig schwerer. Hier muss zunächst der Blog soeren-hentzschel.at aufgerufen und anschließend in die Einstellungen von Chrome navigiert werden. Hier geht es unter dem Abschnitt Suche zum Button Suchmaschinen verwalten, wo schließlich in der Zeile mit soeren-hentzschel.at der Button Als Standard festlegen geklickt werden muss. Der Wechsel der Suchmaschine führt jedes Mal über den Einstellungs-Dialog.

13. Juli 2013

Der freie Medienplayer VLC kann bereits ab Version 0.9 bzw. unter Windows ab Version 1.1 MIDI-Dateien abspielen. Nun sollte man denken, sobald man eine Midi hineineinpackt sollte es funktionieren. Leider ist es nicht ganz so einfach. Wen man dies versucht bekommt man folgene Fehlermeldung:

MIDI-Synthese nicht eingerichtet:
Für die MIDI-Synthese wird eine Sound-Font-Datei (.SF2) benötigt.
Bitte Sound-Font installieren und über VLC-Einstellungen (Input / Codecs > Audiocodecs > FluidSynth) konfigurieren.

Kein passendes Decodermodul:
VLC unterstützt das Audio- oder Videoformat „MIDI“ nicht. Leider können Sie daran nichts ändern.

Die Meldung sagt dabei eigentlich schon alles. Es fehlt der passende Soundfont. Zu finden ist ein solcher unter http://www.schristiancollins.com/generaluser.php - dort sollte man sich für die FluidSynth Variante entscheiden. Unter Linux reicht es meist das entsprechende Paket mit den Soundfonts zu installieren.

Die Einstellungen von VLC

Die Einstellungen von VLC

Nach dem Download, kann man in den Einstellungen unter „Codecs -> Audiocodecs -> FluidSynth“ die SF2 Datei angeben. Sieht man die entsprechende Option nicht, so sollte man von der einfachen in die erweiterte Ansicht schalten. Nachdem die Einstellung getätigt ist, kann der VLC MIDI-Dateien ohne Probleme abspielen.

Ende August findet der nächste Ubuntu Developer Summit statt, bei dem sich Ubuntu-Entwickler und interessierte Anwender treffen, um über den weiteren Weg von Ubuntu zu diskutieren. Die Diskussionen sind dabei offen für alle Anwender. Jetzt werden Beiträge gesucht.

Treffen

Der Ubuntu Developer Summit August 2013 (kurz UDS) findet vom 27. bis 29. August von jeweils 16 bis 22 Uhr (mitteleuropäische Sommerzeit) statt, wie bei Ubuntu Fridge zu lesen ist. Um am Treffen teilzunehmen, muss man sich zuerst mit Hilfe eines Launchpad-Kontos auf der Webseite anmelden. Teilnehmen kann jeder, der Ubuntu verbessern möchte oder auch nur den Diskussionen zuhören will.

Die Treffen finden alle im IRC (Internet Relay Chat) in verschiedenen Räumen statt. Diskussionen werden per Google Hangout geführt, wofür man aber ein Google-Konto benötigt, wenn man aktiv teilnehmen möchte. Für die reinen Zuhörer/Zuschauer gibt es einen Video-Stream auf der UDS-Webseite, der auch ohne Google-Konto funktioniert. Die Teilnehmerzahl pro Hangout ist auf 10 bis 15 begrenzt.

Zeitplan

Der UDS 13.08 ist auf fünf „Tracks“ aufgeteilt (dahinter stehen immer die jeweiligen Trackleiter):

  • App-Entwicklung: Alan Pope, David Planella & Michael Hall
  • Community: Daniel Holbach, Nick Skaggs & Jono Bacon
  • Client: Jason Warner & Sebastien Bacher
  • Server & Cloud: Dave Walker & Antonio Rosales
  • Basissoftware: Steve Langasek

Call for Contribution

Wer selbst ein Thema leiten oder anregen möchte, kann entweder einen Blueprint (Blaupause, die das Thema und Ziele der Diskussion beschreibt) einreichen oder dieses über die Summit-Seite selbst vorschlagen, wie dieses Video zeigt. Da alle Themen mit den Track-Leitern abgesprochen sein müssen, sollte man sich vorher bei diesen (siehe oben) melden und das Thema mit ihnen abstimmen.

Wer wissen möchte, welche Themen normalerweise auf dem Summit besprochen werden, kann sich die Ergebnisse des letzten UDS 13.05 durchlesen. Neben Unity und Mir war vor allem das Thema Ubuntu Apps ein großes Thema. Ebenso kann man die Videos der Hangouts auf der UDS-Webseite anschauen.

Links

12. Juli 2013

Qmlweb ist eine Javascript-Bibliothek, welche in QML geschriebene Dateien nach HTML/Javascript umwandelt(parst).
Unterstützt werden bisher, laut Anton Kreuzkamp – welcher das Projekt vor kurzem für KDE übernommen hat -, unter anderem items, Rectangle, Text, (Border-)Image, MouseArea. Repeater, ListModel und Animationen (Nochmal: Artikel).
Dazu werden auch schon viele Basis Elemente von HTML wie Boxen und Buttons unterstützt.

Herr Kreuzkamp erhofft sich durch die übernahme nach KDE eine breitere Ünterstütztung seitens der Community. Das Projekt ist über den Git Server des KDE-Projekts erreichbar/Downloadbar.

Im GIT-Repo liegen noch verschiedene Präsentationen vor.
Ein paar Screenshots:
Erste Eindrücke…

QMLIntro (c) CC by-SA 3
QMLIntro (c) CC
by-SA 3

…Klappe die Zweite…

QMLIntro2 (c) CC by-SA 3
QMLIntro2 (c) CC by-SA 3

QML-Beispiel “Test-Resizing”:

QMLview  (c) CC by-SA 3
QMLview (c) CC by-SA 3

QML-Beispiel Animiertes Verfärben Nr.1 Aufgrund von Mausposition:
Funktioniert leider nur mit Doppel-Klicks
Update 17:40: Funktionierte nach Cache löschung doch perfekt!

QMLview2 (c) CC by-SA 3
QMLview2 (c) CC by-SA 3

QML-Beispiel Animiertes Verfärben Nr.2 Aufgrund von Mausposition:

QMLview3 (c) CC by-SA 3
QMLview3 (c) CC by-SA 3

QML-Beispiel “Repeater”…Einwandfrei!

QMLview4 (c) CC by-SA 3
QMLview4 (c) CC by-SA 3

Ich finde ja besonders toll, dass dort direkt ein Beispiel mitgegeben wird. Deswegen hier gleich mal ein Beispielcode:

import QtQuick 1.0

Rectangle {
    id: page
    width: 500; height: 500
    color: "lightgray"

    Rectangle {
        anchors.right: parent.horizontalCenter
        anchors.bottom: parent.bottom
        width: 100
        height: 30
        color: "lightgreen"
        border.color: "grey"
        border.width: 1

        Text {
            anchors.centerIn: parent
            text: "Add"
        }

        MouseArea {
            anchors.fill: parent

            onClicked: tModel.append({ label: "Hullo!" });
        }
    }
    Rectangle {
        anchors.left: parent.horizontalCenter
        anchors.bottom: parent.bottom
        width: 100
        height: 30
        color: "lightgreen"
        border.color: "grey"
        border.width: 1

        Text {
            anchors.centerIn: parent
            text: "Remove"
        }

        MouseArea {
            anchors.fill: parent

            onClicked: tModel.remove(Math.floor(rep.count * Math.random()));
        }
    }

    ListModel {
        id: tModel
        ListElement {
            label: "Hello World!"
        }
        ListElement {
            label: "Heyo World!"
        }
        ListElement {
            label: "Morning, World!"
        }
        ListElement {
            label: "Hi, folks!"
        }
        ListElement {
            label: "G'day, World!"
        }
    }

    Repeater {
        id: rep
        model: tModel

        TestComponent {
            x: 5 + (width + 10) * (index %2)
            y: 5 + 100 * Math.floor(index /2)
            width: page.width / 2 - 10
            height: 90
            onTest: {
                color = newColor;
                console.log("random number: " + number);
            }

            Text {
                anchors.centerIn: parent
                text: label + " (Element " + index + "/" + rep.count + ")"

                Component.onCompleted: console.log("Added an element (index: " + index + ")");
            }
        }
    }
}

Der Screenshot dazu ist über dem Quelltext. Schön und kurz, nicht wahr? Für dieses Potential sind die JS-Dateien aber erstaunlicherweise recht klein. Alles in allem sind das 200KB-Javascript. Im Vergleich: JQuery-UI hat über 500KB.

Mal sehen was daraus wird. Ich finde dies jedenfalls sehr interessant und werde es weiter verfolgen.. Eventuell auch mal ein paar Beispiele schreiben :)

UPDATE 10:36 … Hab da mal ein kurzes Beispiel mit Rectangle geschrieben :)
Screenshot:

QML-darksidersForgeExample (c) CC by-SA 3
QML-darksidersForgeExample (c) CC by-SA 3

…Und die Dateien:
qmlweb-example-darksider3.zip (c) CC by-SA 3

Update 17:40: Hab mal den Namen Kreuzberg im zweiten Absatz nach Kreuzkamp korrigiert, und Repeator nach Repeater bei den Bildern korrigiert… Änderun

Die Universität von Southampton(UK) hat weitere Erfolge, nach der Entdeckung von 1996, beim Speichern von Daten auf Quarzglas erzielt.
In einem PDF Dokument wird beschrieben, wie das Experiment von Statten ging und was auf die Datenträger übertragen wurde.

Die Forscher haben in dem Experiment eine 300 Kbyte große Textdatei durch das beschießen des Glases mit Femtosekunden andauernden Lichtimpulsen(“Laser”) auf das sog. Quarzglas geschrieben(5D Superman Memory).

Quarzglas wird als die “große” Hoffnung gegenüber heutigen Speichermedien bezeichnet, da diese über Millionen von Jahren Haltbar sein sollen, 360TB Speicherkapazität haben und Feuer und Wasser resistent sind. Das Projekt hat den Namen Femtoprint.

In dem Verfahren werden Mikroskopisch kleine Punkte auf dass Glas gelasert, welche die Nullen und Einsen darstellen. Die Daten wurden in dem vorgestellten verfahren auf drei Ebenen geschrieben(deswegen wohl 5D). Die dadurch auf dem Stück Quarzglas erstellten Punkten und Nullen stellen, logischerweise, die Matrix für die Zugriffe dar.

Mein persönliches Bedenken dabei ist, wie das dann beim zerstören aussieht: Schaffen wir dadurch wieder etwas, was wir niemals weg kriegen(*auf Atomkraft guckt*) oder ist es einfach harmlos, sodass es keine Bedenken geben kann.(Mein Englisch ist nicht gut genug, um das aus dem PDF zu lesen)

Dabei weise ich nun gerne daraufhin, dass das ganze verfahren durch einen Linux Kernel möglich gemacht wurde :)

Wer Apps für Mozillas kommendes mobiles Betriebssystem Firefox OS erstellen möchte, benötigt kein Smartphone, um diese zu testen. Mit dem Firefox OS Simulator gibt es eine Firefox OS-Umgebung als Add-on für den Firefox-Browser. Mozilla hat nun die Version 4.0 mit vielen Verbesserungen veröffentlicht.

Mit dem Firefox OS Simulator stellt Mozilla eine Test-Umgebung für Firefox OS als Add-on für Firefox bereit. Über ein Dashboard lassen sich ganz einfach Web-Apps oder auch als App verpackte Webseiten in den Simulator übertragen und dort ausführen. Dazu muss einfach die URL zu einer Webseite oder zur Manifest-Datei einer App eingetragen werden. Eine Autovervollständigung macht Vorschläge anhand der aktuell geöffneten Tabs. Aber auch lokale Manifest-Dateien auf dem Computer lassen sich hier auswählen. Außerdem lässt sich über das Dashboard der Simulator starten sowie stoppen.

Gegenüber der letzten Version bietet die neue Version 4.0 zahlreiche Neuerungen. So gibt es im Simulator Dashboard einen neuen “Connect”-Button für jede App, welcher die jeweilige App im Simulator öffnet und im Browser eine entsprechende Instanz der Entwickler-Werkzeuge öffnet. Dadurch können die Webkonsole, der Debugger, die Laufzeitanalyse und ab Firefox 23 außerdem der Netzwerk-Monitor und der Stil-Editor von Firefox zum Manipulieren des CSS benutzt werden.

Zu den weiteren Neuerungen gehören das Testen von Bezahlvorgängen und deren Verifizierung und simulierte Touch-Events; Interaktionen mit der Maus im Simulator generieren nun reale Touch-Events. Schließlich gibt es noch eine neue Tasten-Kombination. Bei Drücken der Kombination Strg + Shift + R respektive Cmd + Shift + R auf einem Mac wird nicht nur die App aktualisiert, der Simulator löscht außerdem persistente Daten wie den AppCache und Daten aus dem localStorage, sessionStorage sowie IndexedDB.

Zusammen mit der Veröffentlichung der neuen Version hat Mozilla auch die Dokumentation sowie das Simulator Walkthrough für den Firefox OS Simulator überarbeitet.

11. Juli 2013

Anfang Juli hat das Debian-Projekt die Online-Suche im Quellcode aller angebotenen Pakete ermöglicht. Ziel des Angebots ist es, Code-Reviews einfacher durchzuführen. Dank einer API kann der Dienst aber auch anderweitig benutzt werden.

Der Webdienst

Die Debsource-Webseite

Über die Adresse sources.debian.net kann jeder Besucher entweder nach Paketen oder direkt reguläre Ausdrücke im Quellcode aller Debian-Pakete suchen. Wenn man nach einem Paket sucht, gibt es in der Regel nach der Auswahl des richtigen Treffers verschiedene Versionen des Pakets zur Auswahl. Danach kann man den gesamten Quellcode bzw. den gesamten Paketinhalt im Browser anschauen.

Für die Suche im Quellcode wird auf das Angebot von codesearch.debian.net zurückgegriffen, wobei dies derzeit nur die Pakete der Debian-Unstable-Version durchsucht.

Mit aktivierten JavaScript gibt es bei der Anzeige auch ein Syntax-Highlighting des Quellcodes. Ebenso gibt es eine API-Dokumentation, sodass man die Suche auch von anderen Webseiten oder anderen Anwendungen aus starten kann.

Beispielanwendung

Auch wenn der Dienst nicht vorrangig dafür gedacht ist, kann man Debsource auch für Linkprobleme beim Kompilieren von Programmen benutzen. Erhält man beispielsweise beim Übersetzen von Quellcode den Linker-Fehler

programmer_usb.c:(.text+0xbb): undefined reference to `usb_find_busses'

so weiß man entweder in welcher Datei und damit in welchem Paket das Symbol usb_find_busses zu finden ist oder man bemüht die Suche in Debsource und sieht, dass dies aus der Datei usb.c des Paketes libusb stammt. Schnell das Paket nachinstalliert bzw. den Kompilieraufruf angepasst und die Übersetzung sollte ohne Fehler durchlaufen.

Links