tiny little gizmos

Colorflood für Commodore 64 – fertig

Vor zwei Wochen schrieb ich über das kleine Spielchen, dass ich für den Commodore 64 programmiere. Die Idee hatte ich bereits letzten Sommer. Das ganze alte Know-How über 6502 Assembler und die Systemarchitektur des C64 rauszukramen und sich wieder  daran zu gewöhnen, Daten direkt durch Speicher, Prozessor und Videochip zu schieben hat etwas gedauert. Nun ging es dann aber doch erstaunlich schnell. Das Spiel ist fertig (Download: siehe unten).

Stumm ist dumm

Die Spielmechanik hatte ich vor zehn Tagen fertig und nun wollte ich noch eine kleine Titelmelodie einbauen. Komponiert habe ich auf meiner Audioworkstation mit dem genialen Reason von Propellerheads. Um die Noten auf den C64 zu übertragen und abzuspielen habe ich den Soundmonitor von Chris Hülsbeck verwendet, der 1986 in der 64er erschienen ist. Die Software gilt als der erste Musik Tracker. Die Abspielroutine und die Daten verbrauchen leider sehr viel Speicherplatz und Prozessorzeit, aber da das Programm sehr klein ist und die Melodie nur im Titel und nicht während des Spiels läuft, macht das nichts.

So siehts aus

Das Spielprinzip ist absichtlich simpel, die Grafik und die Melodie ebenfalls. Spaß macht es (mir) trotzdem.

Colorflood - Titelscreen

Colorflood - Titelscreen

Farbwechsel von Braun zu Violett - Die Welle rauscht vorwärts

Farbwechsel von Braun zu Violett - Die Welle rauscht vorwärts

“Auch mal spielen?”

Alle Liebehaber des C64 sind herzlich eingeladen, Colorflood herunterzuladen und in ihre Spielsammlung aufzunehmen. Über Feedback freue ich mich natürlich auch.

Das Spiel ist Open Source; die Quelldateien und das fertige Programm (colorflood.prg) liegen auf GitHub:

https://github.com/dollmetzer/colorflood

Das fertige Spiel in einer D64 Datei (Diskettenimage) gibt es hier: colorflood.d64

Viel Spass!

Sonne, Wasser, Wald und frische Luft

Nur der Vollständigkeit halber – das Wochenende war ja wohl mal allererste Sahne. Sonne und Stadt ist nett, aber Cabrio öffnen und raus fahren ist noch netter.

Mitte - Sehr schön, aber raus in Grüne ist besser

Mitte - Sehr schön, aber raus in die Gegend ist besser

Müggelsee (gegenüber Friedrichshagen)

Müggelsee (gegenüber Friedrichshagen)

Malerischer Morast

Malerischer Morast

Wasserstrasse

Wasserstrasse

Farbflut auf dem Commodore 64

Seit letztem Jahr treibe ich mich in Berlin regelmäßig auf diversen Veranstaltungen mit dem Thema Retrocomputing herum. Ich habe viele interessante und teils verblüffende Dinge gesehen, die man mit den alten 8-Bit Maschinchen machen kann. Ich fand heraus, dass es noch immer eine lebendige Szene für meinen Lieblingscomputer Commodore 64 gibt und noch immer neue Software für das über 30 Jahre alte Schätzchen erscheint.

Ich will auch mal wieder…

Im letzten Sommer – nachdem ich den Vortrag von Berthold Fritz über die Programmierung eines Spiels für die 8 Bit Atari Heimcomputer gehört hatte – nahm ich mir vor, auch mal wieder ein kleines Spielchen zu programmieren. Und zwar so richtig maschinennah in Assembler – wie man das damals meist getan hat.

Es muss nichts aufregend, originelles, großes sein. Irgendwas nettes kleines, was man gerne mal für 10 Minuten spielt. Berthold Fritz hatte sich an Boulderdash orientiert, aber von solchen Spielen gibt es gefühlt hunderte für den C64. Was also tun?

Als ich meinen Raspberry Pi das erste mal eingeschaltet hatte, stolperte ich über ein kleines, in Python programmierte Spiel, bei dem man ein buntes Spielfeld durch Farbwechsel einfarbig bekommen soll. Total simpel und einfach – aber ich saß wie gebannt davor und habe das tatsächlich elend lange gespielt. Das Prinzip macht Spaß und man benötigt weder bombastische Grafik noch umwerfenden Sound. Bingo – so machen wir es!

Proof of concept: colorflood in Basic

Proof of concept: colorflood in Basic

Den Algorithmus für den Farbwechsel habe ich zunächst in Basic programmiert, um zu überprüfen ob er wirklich so einfach ist, wie ich gedacht habe. Das Ergebnis war lauffähig, aber wie zu erwarten war auch unglaublich langsam. Immerhin – der Proof of Concept war erbracht. Den Programmcode habe ich bei Github hinterlegt.

Das Projekt colorflood ist mittlerweile in einem Stadium, in dem ich es auch mal zeigen kann. Es gibt:

  • Eine einfache Startseite. Los geht es mit Druck auf den Feuerknopf von Joystick 2.
  • Das Spielfeld wird aufgebaut
  • Die Farben werden zufällig gesetzt
  • Mit dem Joystick kann man die nächste Farbe auswählen und per “Feuer” setzen.
  • Der Farbwechsel wird animiert angezeigt
  • Die Anzahl der Farbwechsel wird gezählt (ist aber noch nicht limitiert)
  • Es gibt einen Countdown (der aber noch nicht bei 000 den Level beendet)
  • Wenn das komplette Spielfeld eingefärbt ist, wird der Level beendet (und damit zur Zeit auch das Spiel)

Als nächstes werde ich die verschiedenen Beendigungen eines Levels und die Erhöhung des Schwierigkeitsgrades im nächsten Level programmieren. Danach Sound und zum Abschluss hoffentlich noch eine Titelmelodie.
Die vollständigen Projektsourcen sind hier zu finden:

https://github.com/dollmetzer/colorflood

Wenn das Spiel fertig ist, werde ich es auch als fertig übersetztes Programm zur Verfügung stellen.

Online wie 1985 – mit dem C64

Es war einmal…
eine Zeit, in der kein normaler Mensch vom Internet gehört hat. Meine ersten eigenen Onlineerfahrungen in Mailboxen machte ich Anfang der 90er mit meinem brandneuen, teuren PC – einem 386SX, der noch hauptsächlich unter MS-DOS lief. Anstatt Internet und DSL gab es Telefonverbindungen und Modems. Meines übertrug 1.200 Bit/s, also ca. 130 Zeichen pro Sekunde. Das kann man ziemlich wörtlich nehmen, weil man nahezu ausschließlich Text übertragen hat. Etwas später habe ich mir dann ein ziemlich teures 28.000er geleistet.

Den Wunsch dazu hatte ich jedoch schon erheblich früher. Spätestens nachdem ich 1983 den Film “War Games” gesehen hatte, war ich brennend an Datenfernübertragung interessiert. Mit meinem heißgeliebten C 64 wäre es technisch möglich gewesen. Leider waren meine Mutter und die Bundespost irgendwie dagegen. Andere waren da weniger zimperlich als ich und haben es einfach gemacht.

Mein C64 am LCD Fernseher

Mein C64 am LCD Fernseher

In letzter Zeit habe ich wieder ein wenig mit dem alten Maschinchen beschäftigt und zwar sowohl mit der Original Hardware, als auch mit dem wirklich hervorragenden Emulator VICE. Nachdem ich auf einigen Seiten, wie z.B. “CBBS Outpost” festgestellt habe, daß es einige Nostalgiker gibt, die Commodore Mailboxen betreiben (sogar zum Teil auf original Hardware), musste natürlich ausprobieren, was ich in den 80ern verpasst hatte.

Mail in der Cottonwood BBS

Mail in der Cottonwood BBS

Kurze Erklärung: Der wichtigste Unterschied zwischen Internet und Mailboxen ist nicht etwa die Geschwindigkeit, sondern die Topologie. Heue hängt man seinen Computer in das Internet und kann so Millionen von Rechnern direkt erreichen. Früher hat man seinen Computer mit einem(!) anderen Rechner per Telefonleitung verbunden und aufgelegt, nachdem man fertig war. Das eigentliche Netzwerk war also das Telefonnetz.

Nun also mit dem C64 in eine Mailbox – bloß wie?

Ich habe zwar einen C64, aber kein Modem oder Akustikkoppler. Allerdings sind die meisten Mailboxen auch nicht mehr per Telefonleitung, sondern per Internet erreichbar. Daher muss der C64 irgendwie ins Internet. Hardwarebasteleien sind möglich, aber ich habe dazu gerade keine Lust. Schneller geht es mit dem bereits genannten Emulator VICE, der neben dem C64 auch andere 8Bit Commodore Computer (VC20, C128, Plus4, PET, CBM-Serie…) emulieren kann.

Hier zeigt ein kurzes Video, wie man sich mit der VICE Emulation mit einer Mailbox (hier: Jamming Signal) verbinden kann. Schön zu sehen, wie man jeden Buchstaben quasi “per Handschlag” begrüßen kann.

 
Das Setup
Neben dem Emulator benötigt man ein Terminalprogramm für den C64. In dem Video ist das Turbo Term, aber man kann natürlich auch Nova Term oder irgendein anderes Programm verwenden. Nun muss man an den emulierten C64 über die emulierte RS232C Schnittstelle noch ein emuliertes Modem anschließen. Dazu wird die Software tcpser genutzt, die so tut, als wäre sie ein Hayes kompatibles Modem. Auf der Kommandozeile startet man es mit den folgenden Parametern:

tcpser -v 25232 -s 300 -p 6400 -l 4

Die Software wird auf dem eigenen Rechner auf Port 25232 angesprochen, mit 300 Baud verbunden, geht auf Port 6400 raus und nutzt Loglevel 4.

Jetzt startet man den C64 Emulator und “schliesst das Modem an”, indem man in den Einstellungen (Settings) die Option “Userport RS232 Emulation” aktiviert und die Geschwindigkeit auf 300 einstellt.
Auf meinem Linux System muss man abweichend von den Einstellungen in dem Video für das RS232 Gerät “Prozess ausführen” auswählen und unter “Auzusführendes Programm” folgendes eingeben:

|nc localhost 25232

Damit wird die Ausgabe per netcat auf Port 25232 des eigenen Rechners weitergeleitet (nicht den seknrechten Strich vergessen), an dem das “Modem” horcht. Nun kann das Terminalprogramm geladen und gestartet werden. Die Verbindung zur Mailbox (hier ist es die Cottonwood BBS) stellt man her, indem man im Terminalmodus folgendes eingibt:

atdtcottonwoodbbs.dyndns.org

Die Zeile beginnt mit dem Modembehl at (Attention) dt (Dial Tone) gefolgt von der Internetadresse der Mailbox. Hinter der URL sollte man noch einen Doppelpunkt, gefolgt von der Portnummer eingeben, aber die Cottonwood BBS hört auf Port 6400 und das war ja unsere Voreinstellung von tcpser.

Nun steht dem prähistorischen Onlineabenteuer nicht mehr im Weg.

Happy BBSing!

Jolla – Das Nerd-Smartphone

Vor knapp drei Wochen habe ich mein Smartphone von Jolla bekommen nutze es seitdem jeden Tag. Die Einschätzung der bisherigen Tester kann ich bestätigen: Das Smartphone funktioniert an sich schon ganz gut, aber für normale Verbraucher hat es noch etwas viele Kanten.

Viel Licht

An der Hardware gibt es überhaupt nichts auszusetzen. Gute Verarbeitung, Display und Kamera finde ich absolut ausreichend, für den wechselbaren Akku gebe ich einen Extrapunkt. Anfangs gab es ein Problem mit der Akkuleistung, aber seitdem ich den NFC Chip in der Gehäuserückseite mit Alufolie abgeklebt habe, läuft das Telefon zwei Tage.

Fast alle Verbindungsarten funktionieren einwandfrei: UMTS/GSM, WLAN und Kopplungen mit Computer und Freisprechanlage per Bluetooth sind problemlos. Was seltsamerweise überhaupt nicht richtig funktioniert, ist der Anschluss an den Computer per USB Kabel. Der Apple Mac erkennt überhaupt nicht, dass ein Gerät angesteckt wurde, Windows konnte ich nicht ausprobieren und Linux erkennt zwar ein Gerät, verweigert aber den Zugriff.

Die Bedienung ist zunächst etwas ungewohnt, aber nach ein- oder zwei Tagen kommt man problemlos klar. Seit ich mein Gerät am 24.01. zum ersten Mal eingeschaltet habe sind zwei Updates für das Betriebssystem erschienen, in dem Bugfixes und kleine Verbesserungen enthalten sind. So soll nun auch das Akkuproblem behoben sein, was ich aber aufgrund meines Hardware-Bugfixes nicht merke. Ich habe das Problem, dass das Jolla regelmässig meckert, meine SIM Karte müsse neu eingelegt werden, aber ich gehe eher von einer defekten SIM Karte aus, da ich dasselbe Problem auch schon mit dem HTC One S hatte.

Jolla arbeitet jedenfalls fleissig daran, das System zu verbessern. Es soll auch weiterhin ein Update pro Monat geben.

Richtig toll finde ich, dass das Jolla nur mit den absoluten Basis Apps (Phone, SMS, Browser, Kamera, Kontakte, Galerie und Store) ausgeliefert wird. Jedes Zusatzprogramme, dass man haben möchte, muss man explizit nachinstallieren. Aber ab hier wird es leider auch etwas finster. Die Apps sind nämlich sehr rudimantär und bieten kaum Einstellungsmöglichkeiten.

Viel Schatten

Mail z.B. unterstützt immerhin mehrere Konten, bietet aber z.B. nicht die Möglichkeit, das Nachladen von Bildern zu verhindern, was aus Datenschutzgründen absolut notwendig ist. Es werden leider auch keine selbsterzeugten Serverzertifikate akzeptiert. In so einem Fall funktioniert nur die unverschlüsselte Mailübermittlung. Ein echtes No-Go. Die Anzeige von HTML Mails ist auch so klein, dass man sie nicht lesen kann.

Ein anderes Beispiel ist die Fotogalerie. So kann man in der Übersicht zwar mehrere Bilder auf einmal markieren – aber nur zum Löschen und nicht um einen ganzen Schwung auf einmal per Bluetooth auf den Computer zu schieben. Sehr lästig – vor allem, weil der Weg über USB leider ebenfalls nicht funktioniert (s.o.).

Es gibt leider noch sehr viele solcher Ungereimtheiten. Die Kontakte und Termine möchte ich auch gerne mit meinem eigenen Server abgleichen und nicht mit Google. Standardmässig zur Zeit nicht möglich, aber…

Viel Nerd-Zeug

Das oben genannte gilt für normale Nutzer. Für Nerds gibt es aber oftmals Wege, die Normalsterblichen nicht zugänglich sind. Die Schlüssel dazu sind der Entwicklermodus und der SSH Zugang.

Gestern bin ich auf eine Erweiterung aufmerksam geworden, wie man Synchronisation per CardDAV und CalDAV nachrüsten kann. Genau das will ich haben, damit ich meine persönlichen Daten wieder von Google wegbekomme. Die Lösung heisst SyncEvolution. Diese Software ist aber noch Beta und nicht im Jolla Store zu finden. Man muss sich per SSH auf dem Smartphone einloggen, ein zusätzliches Repository registrieren und kann dann per Paketmanager die Software installieren. Ob und wie die Verbindung mit OwnCloud funktioniert, weiss ich noch nicht, weil ich erst noch den Server im Heimnetz aufbauen muss.

Da ich nun also schon eine SSH Verbindung zum Smartphone hatte, konnte ich auch per SFTP auf das Dateisystem zugreifen und die ganzen Fotos en bloc herunterladen.

Dass es die Möglichkeit gibt, so zu arbeiten, ist toll. Das es aber momentan oftmals nur so geht ist aber Mist. Für Leute mit UNIX Kenntnissen ist das alles nicht sonderlich aufregend, aber für normale Benutzer vollkommen indiskutabel.

 

Retro Events in Berlin

Während der letzten Tage gab es einige schöne, kleine Treffen in Berlin mit Retro-Schwerpunkt. Leider musste ich aus terminlichen Gründen auf ein Highlight verzichten: Den Workshop “Racing the Beam…“, bei dem am Samstag an der Humboldt Universität eine Einführung in die Programmierung der seeligen Atari VCS (bzw. Atari 2600) Telespiels gegeben wurde. Sehr ärgerlich, denn darauf hatte ich mich schon länger gefreut.

Am Donnerstag gab es aber bereits einen netten Abend in einem Hackerspace, bei dem an einem Commodore 64 gezockt wurde. Spiele des Abends waren unter anderem Maniac Mansion, ein Galaxian Clone, Great Giana Sisters und Matrix. Etwas bedrohlich ist, dass immer mehr Disketten aus den 80er und 90er Jahren nicht mehr lesbar sind. Da nützt die bestgepflegte Hardware nichts. Hoffentlich sind die Wechselplatten der PDP11 langlebiger…

Links Wechselplatten für PDP11, rechts Galaxians auf C64

Links Wechselplatten für PDP11, rechts Galaxians auf C64

Am Freitag fand an der Humboldt Universität die Veranstaltung “Game Circuits – Operative Computerspielanalyse” statt, die im Wesentlichen eine Ergebnispräsentation eines Workshops des Studiengangs Medienwissenschaften ist. Die Studentinnen (tatsächlich überwiegend Damen) haben sich mit der Technik der Konsolen der 3. und 4. Generation auseinandergesetzt. Bis auf eine Ausnahme war die Original Hardware aufgebaut und es konnte gezockt werden.

Eine meiner absoluten Lieblingskonsolen war 1982 das CBS ColecoVision, weil man darauf Donkey Kong in Automatenqualität spielen konnte – was ich an diesem Abend natürlich tat.

CBS ColecoVision

CBS ColecoVision

Von Atari waren gleich zwei Konsolen aufgebaut, die ich beide noch nie im Original gesehen hatte.

Auf dem Atari 7800 spielte ich eine Runde Asteroids. Das System, das 1986 in Europa auf den Markt kam, hatte ich damals kaum wahrgenommen. Entweder hatte man einen Computer, oder ein Videospiel von Nintendo oder Sega.

Das ungeheuer grosse Atari 5200 aus dem Jahr 1982 kam in Europa nicht auf den Markt. An diesem Abend war es mein heimlicher Favorit, was vor allem an dem genialen Trackball lag, der bei den Spielen Missile Command und Centipede für Original Spielhallenfeeling sorgte.

Atari 5200 (links) und Atari 7800 (rechts)

Atari 5200 (links) und Atari 7800 (rechts)

Es hatte schon etwas Besonderes, wenn man sich ein Videospiel, das man als 11jähriger gerne gehabt hätte, 35 Jahre später von einer charmanten jungen Studentin erklären und vorführen zu lassen. Die Rede ist von Dracula auf dem 1979 erschienenen Mattel IntelliVision. Das erste Spiel, bei dem man die Spielfiguren eindeutig erkennen konnte. Die Spielsteuerung ist zwar etwas zäh, aber Charme hat die Software immer noch. Wir spielten auch noch eine Runde Astrosmash gegeneinander. Hier war die Steuerung recht geschmeidig und ich konnte in dem kleinen Turnier sogar einen Preis gewinnen (Kinderschokolade). Leider gab es diese Konsole nur als Emulation, da die Original Hardware zwei Tage zuvor kaputt ging und erst repariert werden muss.

Dracula auf Intellivision Emulation

Dracula auf Intellivision Emulation

Weiterhin gab es an diesem Abend noch Nintendo SNES, SNK NeoGeoNEC TurboGrafx-16 (alias PC-Engine), MB Vectrex und Sega MegaDrive zu bestaunen und zu bespielen.

Es geht noch älter!

Nicht ganz zum Thema passend (weil zu alt) war auch eine RCA Studio II Konsole aus dem Jahr 1977 zu bespielen. Die Spiele waren allerdings selbst für die damalige Zeit schon etwas mager und nur in Schwarz/Weiß Grafik.

RCA Studio II

RCA Studio II

Nach der Veranstaltung zog sich eine kleine Gruppe in das Signallabor zurück um sich einem wirklich kostbaren Gerät zu widmen: Einer Originalverpackten Magnavox Odyssey von 1972. Das erste verkaufte Videospielsystem überhaupt. Ich hatte das Gerät zwar bereits als Austellungsstück gesehen, aber hier gab es zum ersten Mal die Gelegenheit zum Anfassen und Ausprobieren.

Magnavox Odyssey Originalverpackung

Magnavox Odyssey Originalverpackung

Die Überraschung begann schon beim Auspacken: Zuerst bekommt man nämlich neben sechs Spielmodulen tonnenweise Zubehör zu sehen: Bunte Bildschirmfolien in zwei Grössen, Karten, Spielgeld und so weiter.

Viel buntes Zubehör

Viel buntes Zubehör

Darunter dann endlich das Prachstück in absolut einwandfreiem Zustand ohne Gilb am Gehäuse. Nur das Netzteil ist nicht mehr Original.

Magnavox Odyssey

Magnavox Odyssey

Nachdem das Schätzchen ausgepackt und angeschlossen war, wurde sogleich eine Runde Pong gespielt. Dabei merkt man, dass das Gerät noch nicht Mikroprozessorgesteuert ist, sondern zum grossen Teil aus Analogelektronik besteht. Die sehr dicken Kabel an den Controllern verleiteten jemand zu der scherzhaften Vermutung, dass die Konsole nicht elektrisch sondern “noch mit Hydraulik” gesteuert wird.

Magnavox Odyssey in action

Magnavox Odyssey in action

Abgesehen von der extrem groben Schwarz/Weiß “Grafik” sind aus heutiger Sicht viele Eigenarten etwas irritierend:

  • Man kann nicht gegen die Maschine spielen, da überhaupt keine geeignete Steuerelektronik vorhanden ist.
  • Die Maschine zählt auch keine Punkte. Das müssen die Spieler schon selber machen
  • Das System prüft nicht einmal die Einhaltung der Spielregeln. Ob man bei dem Spiel “Skifahren” auf der Piste bleibt, muss man ebenfalls selbst entscheiden.

Eigentlich ist die Odyssey somit gar kein “richtiges” Videospiel, sondern ein Gesellschaftsspiel, von dem zufällig ein Teil am Fernseher stattfindet. Verblüffende Erkenntnis!

Bewegungserkennung per Webcam

Für ein kleines Projekt stand gerade vor der Aufgabe, Standbilder per Webcam aufzunehmen und zu speichern – aber nur, wenn sich etwas vor der Linse bewegt.
Das klingt zunächst reichlich kompliziert, aber mit den richtigen Werkzeugen ist es tatsächlich verblüffend einfach. Die Werkzeuge der Wahl sind:

  • Python – Eine populäre Skriptsprache
  • OpenCV – Eine Funktionsbibliothek für Bild-, Videobearbeitung, Mustererkennung u.ä.

Den rechten Weg wies mir Matthias Stein mit seinem Artikel “Motion detection using a webcam, Python, OpenCV and Differential Images“. Die Bewegungserkennung funktioniert so, dass drei kurz nacheinender aufgenommene Bilder übereinandergelegt werden und daraus ein Differenzbild errechnet wird. Dort wo sich nichts verändert hat, ist das Differenzbild schwarz. Stellen, die sich verändert haben, werden weiß. Das führt zu recht eigenwilligen, geisterhaften Bildern, wie man in dem Beispielvideo auf Youtube sehen kann.

Die Lösung

Die Methode musste ich nun nur noch etwas ergänzen. Aus dem Differenzbild errechnet die OpenCV Methode countNonZero die Anzahl, der weißen Pixel. Falls dieser Wert oberhalb eines gesetzten Schwellwertes (sinnvollen Wert ausprobieren) liegt, soll das Bild gespeichert werden. Jetzt muss man nur noch dafür sorgen, dass das Ursprungsbild in Farbe vorliegt und nur zur Differenzberechnung in Schwarz/Weiss gewandelt wird. Et voilá…

Für die interessierten ist hier der Code:

#! /usr/bin/python

import time
import cv2

def diffImg(t0, t1, t2):
    d1 = cv2.absdiff(t2, t1)
    d2 = cv2.absdiff(t1, t0)
    return cv2.bitwise_and(d1, d2)

print "Start Capturing"
cam = cv2.VideoCapture(0)

# Threshold for minimum movement
threshold = 130000
targetdir = './'
winName = "MovementIndicator"
cv2.namedWindow(winName, cv2.CV_WINDOW_AUTOSIZE)

# Read three images first:
colorimg = cam.read()[1]
t_minus = cv2.cvtColor(colorimg, cv2.COLOR_RGB2GRAY)
t = cv2.cvtColor(colorimg, cv2.COLOR_RGB2GRAY)
t_plus = cv2.cvtColor(colorimg, cv2.COLOR_RGB2GRAY)

start = time.time()
while True:
    dimg=diffImg(t_minus, t, t_plus)
    cv2.imshow( winName, dimg )

    # save picture, when movement above threshold
    print cv2.countNonZero(dimg)
    if cv2.countNonZero(dimg) > threshold:
        timestamp = round(time.time() - start)
        filename = targetdir + str(timestamp) + ".jpg"
        cv2.imwrite(filename, colorimg)

    # Read next image
    colorimg = cam.read()[1]
    t_minus = t
    t = t_plus
    t_plus = cv2.cvtColor(colorimg, cv2.COLOR_RGB2GRAY)

Firefox: URL vervollständigen ausschalten

Wenn ich etwas hasse, dann sind es Computer, die schlauer als der Nutzer sein wollen. Darunter fällt das unsägliche automatische Ergänzen der URL um www und .com, das Firefox ungefragt vornimmt. Die Grundannahme, dass eine Domain immer mit www. anfängt und mit .com aufhört ist ja totaler Quatsch. Das stimmt schon bei “richtigen” Domains häufig nicht, bei der Entwicklung aber schonmal gar nicht. Ich benutze gerne einfache URLs, wie zum Beispiel http://shop/.

In den normalen Einstellungen von Firefox steht dazu nichts. Wie wird man den Quatsch also los?

Man gibt in der Adresszeile about:config ein und bestätigt, dass man vorsichtig ist. Dann sucht man nach dem Schlüssel keyword.enabled und ändert den Wert von true auf false.

Zur Sicherheit löscht man auch noch die Werte der Schlüssel browser.fixup.alternate.prefix und browser.fixup.alternate.suffix.

Happy browsing!

Jolla Ahoi!

Der Paketdienst hat mir gestern ein heiß ersehntes Päckchen aus Vantaa/ Finnland gebracht. Ein neues Smartphone. Aber nicht irgendein 08/15 iPhone-/ Android-/ Windows-Teil, sondern ein Jolla.

Das schmucke Päckchen aus Finnland

Das schmucke Päckchen aus Finnland

Wer oder was zum Geier ist Jolla?

Jolla ist ein neuer – wie ich finde sehr spannender – Handyhersteller aus Finnland mit Sitz in Helsinki. Das Team rekrutiert sich überwiegend aus ehemaligen Nokia Mitarbeitern, die nach dem Niedergang und Ausverkauf an Microsoft freigestellt wurden. Und anstatt arbeitlos und depressiv zu werden, haben sie sich auf das besonnen, was sie gut können – Handys entwickeln.

Auf der Basis von Linux/ MeeGo hat Jolla das Betriebssystem Sailfish OS entwickelt (für die etwas verwirrende Geschichte verweise ich auf den Wikipedia Artikel) und seit Dezember ist nun das erste Handy der Finnen erhältlich. Man kann es in Deutschland aber nur über die Website von Jolla ordern.

Auf dem 30C3 Kongress in Hamburg hatte ich das Modell bereits in den Händen und führte mit einem der Entwickler eine längere Diskussion. Insbesondere der Ansatz eines offenen Betriebssystems überzeugte mich und so habe ich die €400,- investiert. Bloß weil man an der Software nach Herzenslust rumändern kann, bedeutet aber nicht dass hier ein unfertiges Hackerspielzeug vorliegt, wie wir gleich sehen werden.

Der erste Eindruck

Das schicke Päckchen erfreut und zeigt bereits, dass hier mit Liebe zum Detail gearbeitet wurde. Viel auszupacken gibt es indes nicht: Handy, separater Akku (vorbildlich!), Ladegerät mit USB Kabel und eine Mini Anleitung – das wars.
Mehr braucht man aber auch nicht. Kopfhörer sollte man sich ohnehin besser separat zulegen.

Inhalt des Päckchens

Inhalt des Päckchens

Hardware

Die Verabeitung ist tadellos. Touchscreen, Alu-Chassis und Kunststoff-Rückseite sind extrem passgenau. Nichts wackelt oder knirscht. Sehr vorbildlich ist, dass man sehr einfach an der wechselbaren Akku, die Micro-Sim und die Micro-SD Karte herankommt. Genau so muss es sein.
Das Jolla ist trotz seines 4,5″ Displays kaum größer, als das HTC One S mit 4,3″ Display – allerdings eckiger und nicht so ein Handschmeichler. Das Display ist hell und die Auflösung ist mit 960×540 Pixeln absolut ausreichend. Ich konnte nirgendwo Pixeltreppen erkennen.

Jolla vs. HTC One S

Jolla vs. HTC One S

Kamera

Die Kamera hat 8MP Auflösung und zumindest die Bilder, die ich heute auf Stralau in der Wintersonne gemacht habe, sind recht gut: Farbecht und mit guter Dynamik: Sonne auf Schnee überstrahlt nicht und Schatten saufen nicht in Schwarz ab. Wie es bei weniger Licht oder mit Blitz aussieht, weiss ich noch nicht.

Sonnige Winterlandschaft

Sonnige Winterlandschaft

Harte Kontraste zwischen Schatten und Spiegelung

Harte Kontraste zwischen Schatten und Spiegelung

Bedienung

Die Bedienung ist natürlich anders, als bei iPhone, Android oder Windows Phone. Es wird alles mit Wischgesten in alle vier Richtungen gesteuert, wobei es wichtig ist, wo man ansetzt: Auf dem Display (innen) steuert man innerhalb der aktuellen App, wenn man am Rand ansetzt (aussen) steuert man ausserhalb der App. Nach der Inbetriebnahme des Gerätes gibt es dazu eine kleines Tutorial. Die drei Minuten sollte man investieren um nicht im Anschluss verwirrt zu sein. Spätestens nach einer Stunde hat man das System kapiert und kann flüssig arbeiten.

Software

Heutzutag ungewohnt ist, dass das Smartphone softwaremässig nahezu nackt ausgeliefert wird. Nur die Kernfunktionen sind vorhanden: Telefon, SMS, Kamera, Galerie, Webbrowser, Kontakte, Einstellungen und der Jolla Store. Über den letzteren können die wichtigsten Funktionen nachgerüstet werden. Ich habe mir zunächst das Betriebssystem Update installiert und danach Kalender, E-Mail, Wecker, Taschenrechner und Karten (Nokia Here) nachinstalliert.

Ich finde diesen schlanken Ansatz sehr gut, weil man so keinen unnötigen Mist mitschleppt. Ich denke mit Grausen an den ganzen Sch… auf dem HTC. Permanent poppt irgendwas auf und nötigt den Nutzer:

“Nein, ich will NICHT den Twitter Client nutzen, Nein ich will NICHT die scheiss Facebook App nutzen, nein, ich will NICHT Google Now nutzen, nein ich will NICHT Google Plus nutzen – ach so, dann geht auch sonst nix mehr? Herrgott, wenn es denn sein muss…”.

Gängelei ohne Ende auf Android. Ab-so-lut zum Kot….
Hier wesentlich besser gelöst. Ich kann nur sagen: DANKE JOLLA!

Alles wichtige habe ich jetzt also an Bord. Manchmal fehlen mir aber doch noch ein paar Features. Z.B. möchte ich in der Galerie mehrere Bilder markieren um sie in einem Rutsch per Bluetooth zu senden. CardDAV und CalDAV möchte ich haben, damit ich meine Kontaktdaten und den Kalender endlich von Google wegekomme, aber ich denke, dass das alles demnächst kommen wird. Das iPhone konnte ja am Anfang ausser Internet auch nahezu nichts richtig – von der grottigen ersten Andriod Version ganz zu schweigen…

An das erste Andriod Gerät (HTC G1) erinnert mich aber das grösste Manko – der unglaubliche Stromverbrauch. Vollgeladen hielt das Jolla kaum mehr als einen halben Tag durch. Das Problem ist aber bekannt (liegt am NFC Sensor, der permanennt Strom zieht) und soll mit dem nächsten Software Update behoben werden.

Der Eindruck nach einem Tag ist recht gut. In ein paar Tagen werde ich mal Bilanz ziehen.

« Previous PageNext Page »