Pberndt V4

Direkt zum Inhalt springen


News & Blog

Willkommen auf pberndt.com, der privaten Homepage von Phillip Berndt. Diese Webseite dient der Information über mich, meine Arbeit und als Downloadportal für meine Projekte.

Unter anderem finden sich hier Anyfreewhere, eine simple VNC Applikation, sowie die phpBB Highlighting Mod, die fast alle Sprachen schnell und einfach hervorhebt.

Neues zu pqiv (05.11.2013)

pqiv 1.0 und 2.0-rc1 pqiv 2.0 ist vor inzwischen wieder einer ganzen Weile erschienen und steht bereits in den Testversionen von Debian und Gentoo zur Verfügung. Während im Vergleich zur hier angekündigten rc-Version nicht mehr viel passiert ist, wird die kommende Version 2.1 einige große Änderungen bringen:

Sie fügt per inotify automatisch neue Dateien zur Dateiliste hinzu, gibt endgültig den Namen qiv auf, bringt Überblendungen zwischen Bildern zurück - schicker als je zuvor, denn diesmal funktioniert der Effekt für beliebige Bilder, kommt besser mit dem Nachladen großer Bilder zurecht, schont die CPU beim Neuzeichnen von Bildern, indem mehr gecached wird, bringt einen neuen „low memory“ Modus, der alle Zwischenspeicher so weit wie möglich abschaltet, und ermöglicht das Laden der Bilder im einem „lazy mode“, bei dem das Fenster bereits angezeigt wird, bevor alle Bilder geladen worden sind. Auf letzteres Feature bin ich ein wenig stolz, denn richtig sortiert werden die nachgeladenen Bilder trotzdem. Das erreiche ich, indem ich statt der Dateiliste einen order-statistic AVL Baum verwende. Das ist ein Suchbaum, in dem zusätzlich, ebenfalls in O(log n), per Index auf Elemente zugegriffen werden kann. Da ich so etwas nicht in fertig für C gefunden habe, habe ich mir einen selbst geschrieben: Das Projekt habe ich bostree (binary order statistic tree) genannt.

In other, unrelated news: Ich habe die Homepage auf einen Server umgezogen, über den ich etwas mehr Kontrolle habe. Meinen alten Hoster musste ich dafür leider ganz verlassen, weil man mir keine Hoheit über die DNS-Einträge geben wollte. Nun liegt die Domain bei Host Europe. Dadurch gibt es hier endlich den ganzen Technik-Schnickschnack, der schon lange überfällig war: IPv6, SSL und für Email DKIM und SPF. Und bei Gelegenheit habe ich die Seite mal auf UTF-8 umgestellt.

pqiv 1.0 und 2.0-rc1 (13.06.2013)

pqiv 1.0 und 2.0-rc1 Für meinen Bildbetrachter pqiv gibt es ein großes Update. Zunächst ein kleines: Version 0.13 springt auf 1.0, denn das Release mit einem kleinen neuen Feature (anpassbare Fenstertitel) wird das letzte in dieser Reihe sein. pqiv 2.0 wird demnächst als komplettes Rewrite mit GTK 3 erscheinen.

Zunächst einmal hatte ich ja mal eine Portierung angekündigt. Während der Arbeit daran habe ich aber gemerkt, dass ich einige Konzepte von GTK erst jetzt richtig verstehe und dass sich einige auch mit der neuen Version geändert haben. Das ganze neu zu schreiben erschien mir da angebracht.

Die neue Version läuft mit GTK 3 und Cairo, ist aber rückwärtskompatibel mit den neueren Versionen von GTK 2. Einige aus heutiger Sicht unnütze Features werden verschwinden, dafür kommt auch ein neues, das mir schon länger gefehlt hat: pqiv lädt das kommende Bild schon vorab in den Speicher, sodass bei Albenpräsentationen nach Betätigung der Leertaste auch wirklich sofort das nächste Bild zu sehen ist. Außerdem ist die neue Version dank saubererer Verwendung der Schnittstelle zum Display Server und intensivem Testen mit verschiedenen Fenster Managern (mutter, muffin, xfwm, i3 und etwas am Rande auch mingw32) deutlich kompatibler und hat weniger Macken.

Ich freue mich, wenn jemand das schon testen will & Feedback gibt! Den Code gibt es im Rewrite Branch auf Github. Kompilieren geht einfach per make, ./configure ist noch optional.

UPnP relay daemon (01.04.2013)

UPnP Logo Meine Eltern haben einen Philips Fernseher, der über einen OpenWRT-WLAN-Router in das eigentliche LAN eingebunden ist. Ich hatte mir - eigentlich schon über Weihnachten - vorgenommen, herauszufinden, warum der Computer den Fernseher nicht via UPnP als Ausgabegerät findet. Am Netzwerk lag es nicht, Multicast-Routing hatte ich eingerichtet und in die andere Richtung hat auch alles funktioniert.

Jetzt an Ostern war ich wieder einmal zu Hause und hatte Gelegenheit, noch einmal herumzuexperimentieren: Anscheinend hat der Fernseher einen Bug. In der UPnP-Spezifikation tauschen Geräte über UDP/Port 1900 per Multicast HTTP-Nachrichten aus, um einander zu finden. Über eine weitere URL, die dann per TCP aufgerufen wird, lädt sich jedes interessierte Gerät dann nähere Informationen herunter. Es gibt nun zwei verschiede Mechanismen: Zum einen senden alle Geräte ab und zu ein "NOTIFY"-Request, in dem sie ihre Präsenz ankündigen. Der andere Mechanismus ist eine aktive Suche, bei der ein Gerät ein "M-SEARCH" an dieselbe Adresse schickt und alle Geräte eine HTTP-Antwort speziell an den Fragenden zurücksenden.

Letzterer Mechanismus funktioniert auf dem Fernseher offenbar nicht. Und auch bei dem Notify gibt es Probleme, denn im laufenden Betrieb sendet er bisweilen eine Nachricht ins Netz, in der er sich aus dem Verbund abmeldet. Und danach ist dann Funkstille.

Ich habe einen kleinen Dämon geschrieben, den man auf seinem Router laufen lassen kann, der das Problem angeht. Er cached die NOTIFY-Nachrichten und antwortet auf M-SEARCH Anfragen mit Antworten aus diesem Cache. Dabei halte ich mich nicht gänzlich an die Spezifikation und erzeuge einigen unnötigen Traffic, aber dafür finden alle Geräte jetzt den Fernseher und ich kann endlich von meinem Handy aus Videos vom PC auf dem Fernseher starten. Schick.

Außerdem kann man den Dämon auf einen Router zwischen zwei gerouteten Netzwerken setzen und kann sich auf die Weise Multicast-Routing komplett sparen. Auch nützlich.

Wer will: Auf Github gibt es ein Repository.

Neuerungen rund um pqiv 0.12 (18.05.2012)

pqiv 0.12 Rund um pqiv gibt es nach längerer Zeit mal wieder Neuigkeiten. In glib 2.3 ist das direkte Einbinden von anderen Include-Dateien als glib.h nun endgültig verboten, was zu diversen Änderungen bei den Distributionen führte. Ich habe den notwendigen Patch nun in den Code eingepflegt und bei der Gelegenheit einige Bugs gefunden, die in Distributionen gefixt wurden, aber nicht ihren Weg zurück zu mir gefunden haben: Das Keypad funktioniert nun richtig und auch mit Xinerama kommt der Code nun klar, wenn es um die Positionierung im Vollbildmodus geht.

Ich habe mein Repository nun auf Github hochgeladen, damit meine Änderungen zeitnaher verfügbar sind und um eine Seite zu haben, die zum Wohlwollen der Maintainer-Scripte garantiert längere Zeit ihr Layout behält. (Wenngleich diese Version der Webseite auch schon lange durchgehalten hat..) Die Downloads laufen nun auch über die Download-Funktion von Github.

Last but not least habe ich mit einer Portierung nach GTK-3.0 angefangen. Die funktioniert schon ziemlich gut und in mancher Hinsicht auch besser, als es die GTK-2.0 Version je getan hat. Vermutlich wird der Code abwärtskompatibel bleiben, bislang sieht es zumindest sehr danach aus. Es scheitert aber noch an einem Verhalten, das ich für einen GTK bug halte: Die gelbe Infobox macht das Fenster zu breit, falls sie breiter ist als das Bild. Innerhalb eines GtkFixed sollte gerade das meiner Auffassung nicht passieren. Wenn das geht gibt es dann jedenfalls vermutlich endlich eine Version für das neue GTK.

Wegwerf SMTP server (18.06.2011)

E-Mail Ich habe wirklich keine Ahnung, ob das eine gute Idee ist, oder nicht: Ich habe darüber nachgedacht, einen lokalen SMTP-Server als Wegwerfadresse zu benutzen. Die Vorteile liegen auf der Hand: Mein Rechner ist nirgendwo gesperrt (Relay an Hosts, die nicht richtig rückwärts auflösen, blockiert interessanterweise anscheinend kein Server), ich sehe die Mails sofort bei Eingang und der Empfang geht wesentlich schneller als bei den meisten Wegwerfadressen.

Was ich bisher habe: Einen SMTP-Server, der auf meinem Router lauscht, Emails akzeptiert und per UDP ins Netzwerk pumpt. Einen Server auf meinem PC, der via UDP Emails empfängt, in einem Popup anzeigt und ansonsten nicht speichert.

Was denkt ihr über die Idee?

Den Code habe ich auf Github und diese Ankündigung gibt es mittlerweile übrigens auch auf Twitter!

Newsarchiv

  1. Partitionen verschieben
  2. iwebd - Ad-Hoc Server Dienste
  3. gCryptMount Update
  4. Bejeweled KI
  5. Huawei-Modem von O2 und Linux
  6. pdfshrink
  7. Faxen mit der Fritzbox
  8. pqiv 0.10 mit großen Änderungen
  9. iftpd ist hier
  10. consolectrl
  11. Einfach mal mitschneiden
  12. Wichtiges Update for gCryptMount
  13. PyS60 kommt mit Python 2.5
  14. Rapidshare download (3)
  15. 100.000 Besucher
  16. Rapidshare download (2)
  17. Update für die Netzwerkkonfiguration
  18. Unpack > unp
  19. 24c3, mimetex
  20. Frohe Weihnachten
  21. Rapidshare download
  22. Ich bin wieder Berliner
  23. Pseudotransparenter Hintergrund in GTK
  24. Prototype
  25. Speedport, E61, Widgets
  26. Juchuh ich habe wieder Internet
  27. pqiv wird C
  28. Abitur
  29. Immer noch kein Internet
  30. Updates und Abwesenheit
  31. Rapidshare macht Updates
  32. Fertig
  33. pqiv und Yeha
  34. Verzeichnisse auflisten, einfache Downloads und ein Wordpressbug
  35. Frohe Ostern!
  36. Im Namen von Kane
  37. Die Schule ist aus
  38. Netzwerkkonfiguration
  39. brightd für Thinkpads
  40. Updates im Linuxbereich
  41. Update für den Kernel updater
  42. Mehr Vielfalt
  43. Hallo, ich bin jEph
  44. Startrek und Zeitreisen
  45. Die letzten Wochen
  46. Einmal Urlaub und zurück
  47. Dead man's chest und andere Updates
  48. Ein Wort zu Templates in PHP
  49. Moto4Lin und mein C450
  50. Wir sind Dritter
  51. Über zwei praktische Tools und meine Lieblingsserie
  52. Update für das phpBB Topicliste-Sortier-Script
  53. How to ask questions
  54. Ohrwurm
  55. American Dreamz
  56. Stadtfest
  57. Half-Life²: Episode 1
  58. Version 4!