QR Code Business Card

noctus.net

ねぇ、今日はどこに行こうかな?

Och ist die süß

keine Kommentare

Klein aber oho: diese Mini-Kanone mag auf den ersten Blick wie ein Spielzeug wirken, ist aber voll funktionstüchtig. Und das zeigt sie, mit passend epischer musikalischer Untermalung eindrucksvoll in diesem Video. Die Weltherrschaft ist zum Greifen nah. ;-)

Geschrieben von Mathias

8. August 2010 um 21:27

Tags: , ,

Gloobus

keine Kommentare

Ein sehr interessantes Projekt, auf dass ich kürzlich gestoßen bin ist Gloobus, hier insbesondere die Preview-Komponente:

Photo betrachtet in der Gloobus Preview

Erklärtes Ziel dieses Projektes ist es, eine allgemeine Vorschau für Daten aller Art zu implementieren. Besonderes Augenmerk wird hierbei auf die Geschwindigkeit gelegt, denn einer langsamer Start ist ein KO-Argument für eine Vorschau. Dazu gesellt sich noch eine äußerst ansprechende Erscheinung, die laut Beschreibung sogar anpassbar sein soll.

Bei einigen kurzen Tests erwies sich die Vorschau als recht gut benutzbar, auch wenn sie bei hochauflösenden Bildern ähnlich langsam ist wie allgemeine Bildbetrachter wie Ristretto im Vergleich zum hier sehr schnellen Gthumb. Möchte man die jeweilige Datei genauer unter die Lupe nehmen, gibt es einen Vollbildmodus, möchte man sie bearbeiten eine entsprechende Schaltfläche dafür. Schlau ist auch die automatische Anzeige von Album-Cover beim Abspielen von Audio-Dateien.

Ein guter Schritt in die richtige Richtung, nur würde ich mir wünschen, dass die Vorschau automatisch beim Hovern von Dateien aktiv wird. Natürlich verbunden mit einer konfigurierbaren Wartezeit, falls man doch einmal nicht möchte, dass ein 1080p-HD-Video mit einer entsprechenden Dateigröße geladen wird.

Geschrieben von Mathias

2. August 2010 um 14:43

Tags: , ,

Das Thema Killerspiele

keine Kommentare

Einige meiner Kommilitonen haben sich aufgerafft um endlich Tacheles zu Reden und klar Tisch mit dem oft falsch dargestellten Thema Killerspiele zu machen. Die Lage ist ernst und dringender Handlungsbedarf ist vonnöten, um das schlimmste zu verhindern. Man möge sich selbst ein Bild von der Sache machen:

Akut – Die Wahrheit über Killerspiele von NetCrack auf Vimeo.

Geschrieben von Mathias

29. Juli 2010 um 19:32

Tags: ,

Kyoto: Nachtrag

keine Kommentare

Ich habe es nun endlich – nach fast anderhalb Jahren – geschafft, meinen Artikel über unsere Reise nach Kyoto fertig zu stellen. Unbedingt lesen! :-)

Geschrieben von Mathias

29. Juli 2010 um 12:36

Tags:

Mausklicks in GtkLabel

keine Kommentare

Entgegen der landläufigen Behauptung ist es durchaus möglich, Mausklicks auf GtkLabel-Instanzen zu verarbeiten. Der Schlüssel liegt darin, GTK anzuweisen, dass das jeweilige Label ein GdkWindow haben soll. Aufmerksam gemacht wurde ich hierauf durch diesen Beitrag von Tadej Borovšak. Hier ein Beispiel:

#! /usr/bin/env python
 
import gtk
 
window = gtk.Window()
window.set_title('Label Button Press Test')
window.set_size_request(400, 300)
window.connect('destroy', lambda w: gtk.main_quit())
 
box = gtk.VBox(spacing=6)
window.add(box)
 
class ClickableLabel(gtk.Label):
    __gsignals__ = {'button-press-event': 'override'}
 
    def __init__(self, *args):
        gtk.Label.__init__(self, *args)
        # This is the important line to enable more signals
        self.set_has_window(True)
        self.add_events(gtk.gdk.BUTTON_PRESS_MASK)
 
    def do_button_press_event(self, event):
        print 'Clickable: %s' % event.type
 
clickable_label = ClickableLabel()
clickable_label.set_markup('<span size="25000">Clickable label</span>')
box.pack_start(clickable_label, False)
 
def on_button_press_event(widget, event):
    print 'Regular: %s' % event.type
 
label = gtk.Label()
label.set_markup('<span size="25000">Regular label</span>')
# Does not work and renders the label invisible
label.set_has_window(True)
label.add_events(gtk.gdk.BUTTON_PRESS_MASK)
label.connect('button-press-event', on_button_press_event)
box.pack_start(label, False)
 
window.show_all()
gtk.main()

Wie zu sehen ist, lassen sich unter Nutzung einer einzelnen Zeile weitere Signale für ein GtkLabel „freischalten“. Jedoch nur für abgeleitete Typen, nicht für die Standard-GtkLabels, wie am zweiten Label zu erkennen ist. Warum dies so ist ist mir trotz Blick auf gtkwidget.c noch nicht ersichtlich. Erklärungen zur Methode set_has_window() erwähnen, dass diese nur in der Initialisierung eines Widgets aufgerufen werden sollte. Intern wird hier nur das GTK_NO_WINDOW-Flag gesetzt oder gelöscht und infolge dessen unter anderem das Zeichnen von Widgets anders gehandhabt. Aus diesem Grund hat ein GtkLabel bspw. auch keinen Hintergrund welchen man ändern könnte.

Geschrieben von Mathias

26. Juli 2010 um 18:43

Tags: , ,

Favoriten beim Eurovision Song Contest

keine Kommentare

Durch ihren Auftritt bei „Schlag den Raab“ rechnete ich bei Lenas Auftritt beim Eurovision Song Contest schon mit dem schlimmsten, sie konnte da allerdings mit einem makellosen Auftritt wieder sprichwörtlich punkten. Und wie sie gepunktet hat; 246 Punkte und damit ein meilenweiter Abstand zu den Folgeplatzierten. Somit hat es also 28 Jahre gedauert, bis Deutschland es wieder schaffen konnte, die musikalische Nummer 1 in Europa zu sein. Und auch wenn ich nach wie vor nicht vom musikalischen Talent Lenas überzeugt bin, so gönne ich ihr doch den Sieg.

Nichtsdestotrotz sind mir vom Verlauf des Contest jedoch zwei andere Beiträge ganz besonders in Erinnerung geblieben:

SunStroke Project & Olia Tira – Run Away (Moldavien)

Die Kombination aus Violine (immer gut) und treibenden elektronischen Beats liegt gänzlich auf meiner Wellenlänge. Die Abrundung durch das kleine aber markante Saxophon-Solo ist gänzlich gelungen und dass Olia Tira auch noch etwas fürs Auge ist tut dem ganzen keinen Abbruch. Lediglich den Beitrag des Sängers vom SunStroke Project hätte man sich meiner Meinung nach sparen können.

maNga – We Could Be The Same (Türkei)

Einfach nur bombastisch und überzeugend vom allerersten Ton. Interessanterweise zählt auch hier eine Violine zum Ensemble. In typischer New-Metal-Fasson gibt es hier kräftige E-Gitarren und Drums zur Genüge nebst eingängigem Gesang. Und mit dem Bandnamen kann man bei mir eigentlich fast gar nichts falsch machen.

Dass ich mir diese Videos hin und wieder erneut anschaue ist deutlicher Beleg dafür, dass sie mir für immer in Erinnerung bleiben werden. Ich weiß nicht, ob ich das von „Satellite“ auch behaupten kann.

Geschrieben von Mathias

29. Mai 2010 um 16:48

Tags: ,

Iteration durch gtk.TreeModel

keine Kommentare

Zur Verarbeitung von Einträgen in einem gtk.TreeModel bedient man sich in Python üblicherweise der Iteration. Hierbei bietet gtk.TreeModel einige Methoden zur Arbeit damit. Ein übliches Konstrukt sieht damit so aus:

iter = model.get_iter_first()
while True:
    value = model.get_value(iter, 0)
    # Do something with value
    iter = model.iter_next(iter)
    if iter is None:
        break

Ziemlich umständlich und daher oft auch in dieser etwas vereinfachten Version vorzufinden:

iter = model.get_iter_first()
while iter:
    value = model.get_value(iter, 0)
    # Do something with value
    iter = model.iter_next(iter)

Doch wie so oft in Python gibt es eine viel intuitivere und simplere Lösung; gtk.TreeModel implementiert __iter__ und __next__, womit sich das obige Konstrukt auf folgenden Zweizeiler reduzieren lässt.

for row in model:
    value = row[0]

Bei row handelt es sich um eine gtk.TreeModelRow, welche intuitiven Zugriff auf die Daten der jeweiligen Spalten ermöglicht.

Geschrieben von Mathias

7. Mai 2010 um 21:35

Tags: , ,

Operatoren-Verkettung in Python

keine Kommentare

Eher durch Zufall bin ich heute auf etwas gestoßen, was ich mir seit jeher in einer vernünftigen Programmiersprache gewünscht aber bis jetzt nie vorgefunden habe:

if a < b < c
    # …

Ein völlig intuitives und sehr gut lesbares Konstrukt zum einfachen Vergleich dreier oder mehr Operanden. In praktisch jeder Sprache muss man sich jedoch mit diesem Konstrukt behelfen:

if a < b and b < c
    # …

Nicht so jedoch in Python. Dort ist genau obiges möglich. Hierbei können offenbar beliebig viele Operanden verkettet werden. Eine feine Sache.

Geschrieben von Mathias

30. März 2010 um 17:44

Tags: ,

凸凹

keine Kommentare

Dass viele dem Chinesischen entstammenden Kanji oft optisch sehr ihrer Bedeutung entsprechen ist nichts Neues. Aber heute bin ich auf eine Kombination zweier Kanji gestoßen, die einfach Herz allerliebst ist.

Die beiden betreffenden Kanji sind und . Diese beiden sind aus meiner Sicht herausragend, da sie über deutlich ihre Bedeutung versinnbildlichen: 凸 bedeutet konvex, 凹 dagegen konkav. Kann man diese beiden Begriffe noch offensichtlicher darstellen?

Und als ob dies nun noch nicht genug wäre ergibt sich durch die Kombination dieser beiden Kanji das Wort 凸凹, was Unebenheiten beschreibt. Wenn doch nur alle Kanji so intuitiv wären. ;-)

Geschrieben von Mathias

15. März 2010 um 23:59

Tags:

USK: doof

keine Kommentare

Nachdem ich mir nun nach langer Zeit einmal wieder ein neues DS-Spiel gegönnt hatte, musste ich feststellen, wie kreativ und rücksichtsvoll hier offenbar die Alterseinstufung seit einiger Zeit von Statten geht:

Deutsches Cover von Dragon Ball Origins mit riesiger USK-Markierung

Die USK-Markierung nimmt ¼ des gesamten Covers ein … Im Vergleich hierzu die europäische Variante:

Und auch einmal die amerikanische:

Beides weitaus humaner und in keiner Weise so enorm entstellend wie die deutsche Fassung. Und im Gegensatz zu dieser ist die einzig wichtige Information („12+“ und „T“) sofort auf einen Blick zu sehen, da prominent dargestellt. In der deutschen Variante nimmt die Information nicht einmal die Hälfte der Markierung ein. Wen interessiert der Text auf der Markierung? Wen interessiert, auf welches Gesetz dies fußt? Würde man die Markierung auf die einzig wichtige Information (hier: „16“) beschränken, gäbe es auch keinen Grund, diese so monumental darzustellen. Sehr passend zu diesem Thema ist auch dieser Vergleich mit Verkehrsschildern.

Und dass nicht nur Käufer sondern auch Entwickler nicht sonderlich von der Kennzeichnungspflicht in diesem Umfang angetan sind, lässt sich an der kreativen Variante des Spiels Mäh-Jongg erkennen: „Großes Label: doof“ – Amen.

Geschrieben von Mathias

14. Februar 2010 um 18:05