Meine RSS-Feeds lese ich normalerweise über unsere Tiny Tiny RSS Installation. Da dies aber über den Browser vom Telefon nicht so richtig klappt, habe ich mich entschieden eine App dafür zu bauen:

Um die Einträge syncen zu können, muss das im Repository enthaltene PHP-Script auf dem Server kopiert werden, und in der config.inc.php der Pfad zur TT-RSS-Installation eingetragen werden. In der Applikation muss die URL bis zur api.php eingetragen werden.
Achtung: Die App ist auf jeden Fall noch im Beta-Stadium, auch wenn sie für mich soweit funktioniert!
Subversion Repository: https://repos.j-schmitz.net/svn/pub/ttrss-reader/trunk/
Bekannte Bugs:
- Manche Einträge werden nicht richtig dargestellt - anscheinend kann der installierte Browser nicht mit numerischen HTML-Entities umgehen
- Es erfolgt keine Benutzerauthentifizierung - d.h. prinzipiell kann man auch Einträge von einem anderen Benutzer sehen und lesen
- Wenn man während des Updates zur Landscape-Darstellung wechselt kann es vorkommen das die App crasht; das Update scheint allerdings weiterhin ausgeführt zu werden
- Es kann vorkommen, das wenn ein Eintrag auf dem Telefon als gelesen markiert wird es im Tiny Tiny RSS noch als ungelesen in der Feedliste erscheint. Der Eintrag selber ist aber als gelesen markiert.
Geplante Features:
- Automatischer Sync der Einträge
- Bugs fixen
- Link zu den Feed-Einträgen per Mail verschicken können
- Push implementieren (?)
- last_read in der Datenbank setzen beim lesen der Einträge
Die ganze Applikation steht unter einer "Do what you want"-Lizenz. Mit anderen Worten: Jeder kann die App verwenden und dazu beitragen, allerdings macht mich nicht dafür verantwortlich wenn irgendwas dadurch kaputt geht.
You cannot install libstdc++5 on current stable releases!
Das Verwenden von Transactions in LINQ-to-SQL ist total simple:
using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope()) {
SomeDatabaseDataContext ctx = new SomeDatabaseDataContext();
ctx.SomeEntities.InsertOnSubmit(new SomeEntity());
ctx.SubmitChanges();
ts.Complete();
}
Wichtig ist,das man den Aufruf von ts.Complete() nicht vergisst. Sonst wird ein Rollback auf die Transaktion gemacht!
Für den TransactionScope braucht man eine Referenz auf die System.Transactions.dll.
Inspiriert von der Python-Hackerei und den Möglichkeiten die das Yahoo! Developer Network bieten, habe ich direkt das World-Heatmap Script von Simon Willison aus seinem Vortrag von den StackOverflow DevDays mit dem Yahoo Developer Network gekreuzt und herausgekommen ist diese Karte der Welt mit den Herkunftsländern der gebannten IPs der aktuellen Welle (rot ist böse):

Und weil ich gerade dabei war, habe ich auch noch eine für die am meisten abgelehnten Mails am Mailserver erstellt:

Am Montag war ich auf den StackOverflow DevDays in Amsterdam. Hier ein paar Eindrücke dazu:
Joel Spolsky - Opening Keynote
Diesen Vortrag habe ich aufgrund widriger Verkehrsumstände in Holland zur Hälfte verpasst. Das was ich gesehen habe war aber durchaus interessant.
Zumal es interessant war, Joel Spolsky mal live zu sehen :)
Jörn Zaefferer - jQuery
Für mich nicht viel Neues, oder anders: nichts, was man nicht über die Dokumentation rausgefunden hätte. Grundsätzliches zur Architektur und Verwendung von jQuery sowie eine Übersicht über Selektoren, Funktionen und Möglichkeiten.
Eero Bragge - Qt
Zusammenbauen einer Applikation in Qt (ausgesprochen: "cute"!) die auf dem PC und auf einem Nokia Mobilephone mit Symbian läuft. Und das ganze ohne die Oberfläche zu verändern, lediglich eine Pre-Processor-Anweidung musste für kosmetische Dinge hinzugefügt werden.
Prinzipiell sah das alles sehr interessant aus, sogar soweit das ich mir überlegt habe mir Qt zumindest mal anzuschauen. Allerdings nur so lange, bis ich gesehen habe das unter dem Klicki-Bunti des Designers sich Hardcode-C++ versteckt :(
Simon Willison - Python
Ein sehr geiler Vortrag über Python, der in der Hauptsache aus dem Zusammenhacken einer Applikation in der interaktiven Python-Konsole bestand. Technisch sicherlich nichts, was einen erfahrenden Python-Entwickler aus den Socken haut, aber das interaktive machts. Zumal das Hippie-mäßige zusammenhacken in der Konsole den ein oder anderen gestanden Softwareentwickler irritiert bis schockiert hat :)
Nach diesem Vortrag hatte ich auf jeden Fall ziemlich viel Lust selber etwas in Python zu bauen (was schon länger auf meiner TODO-Liste stand). Jetzt weiß ich auf jedenfall, wie man relativ schmerzfrei eine World-Heatmap mit Python, einer SVG-Grafik und ein wenig CSS macht.
Weiterhin gab es einen Überblick und Einführung in django, ein python-basiertes Web-Framework. Auch etwas, was man sich mal anschauen sollte.
Nick Johnson - Google App Engine
Hier habe ich nichts neues gesehen, außer dem was ich schon darüber gelesen hatte: Man baut seine Applikationen in Python oder Java mit der Google App Engine und optional dem Google Data Store und schiebt sie dann zu Google.
Für Unternehmen denke ich nur begrenzt eine Wahl da alles komplett bei Google liegt.
Christian Heilmann - Yahoo! Developer Tools
Dieser Vortrag war wiederrum sehr interessant. Ein Mix aus Stand-Up Präsentation und geplanter Konfusion. Es wurden einige interessante Dinge gezeigt, die ich so in den Yahoo Developer Tools noch nie gesehen habe (z.b. die YDN Console - echt funky, oder den CSS-Layout Builder). Bisher hatte ich die Yahoo Web-Geschichte (z.B. mit YUI), nur als verkappten jQuery/Mootols-Klon im Kopf. Jetzt weiß ich das da noch viel mehr hintersteckt. Z.B. die YQL (Yahoo Query Language) mit der man verschiedene Dienste von Yahoo und anderen Seiten und Unternehmen mit einer SQL-ähnlichen Abfrage kombinieren kann. Eigene Datenquellen (read-writable) sind auch möglich.
Während der Präsentation ist mir aber sofort das Potential für "nicht so nette Applikationen" aufgefallen, das Yahoo da bietet: "Finde alle Einträge auf Flickr von Personen, die Bilder hochgeladen haben die im Zusammenhang mit Keywords stehen die auf Seite XY vorkommen". Uah, gruselig aber cool :D
Alex Thissen - ASP.NET-MVC
Zum Abschluss gab es einen Vortrag zum Thema ASP.NET MVC - auch hier habe ich leider nichts Neues gesehen ausser ein paar Kleinigkeiten bzgl. ASP.NET MVC 2 und Visual Studio 2010. Der Rest war eine kleine Applikation die die Basics von ASP.NET MVC erklärt hat.
Einzig die Methode ActionLink im HtmlHelper war mir neu - bisher habe ich meine Ajax-Links immer per jQuery o.ä. zusammgebaut und an a-Tags geklemmt.
Als Fazit kann ich sagen, das ich es einen sehr interessanten Tag fand und einige coole Sachen gesehen habe. Wenn sich die Möglichkeit bietet bin ich nächstes Jahr wieder dabei.
I just upgraded our molprobity server [1] to the latest upstream release
Changes
- Updated to KiNG version 2.
- Direct viewing of PDB files in KiNG.
- Updates to prekin, reduce, suitename, and jiffiloop.
- Slight changes in summary chart output.
- Updates in cmdline scripts.
[1] http://science.j-schmitz.net/molprobity/public_html/index.php
... wo solch Request durchgehen:
/gentoo-portage-overlay'"></title><script>alert(1337)</script>'"><marquee><h1>XSS</h1></marquee>![]() |
Heute morgen habe ich mit 826 Punkten meine MCP Prüfung zum MCTS: Microsoft .NET Framework 3.5, ASP.NET Application Development bestanden! Nicht so gut habe ich bei "Working with ASP.NET AJAX and Client-Side Scripting" abgeschnitten, dafür habe ich aber bei "Configuring and Deploying Web Applications" und "Targeting Mobile Devices" voll reingehauen. Nun darf ich auch überall ein tolles MCTS Logo draufpappen:
|
Nachdem ich mir gestern durch einen ziemlich blöden Zufall mein komplettes $HOME glöscht habe, muß ich nun alles neukonfigurieren.
Als erstes is mir aufgefallen, dass GNOME nicht mehr per default die Windows Tasten benutzt um zwischen den virtuellen Desktops hin- und her zuspringen. Zu meinem Entsetzen war es mir auch nicht mehr möglich!
Eigentlich sollte man im gnome-keybinding-properties das wieder richtig setzen können, aber ich kann meinen Windowskey nur als modifier und nicht als eigene Taste benutzen. Gemapped ist alles richtig, zeigt mir auch xev
KeyRelease event, serial 33, synthetic NO, window 0x2400001, root 0x13c, subw 0x0, time 4113266, (333,548), root:(341,645), state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
Also bin ich auf die Suche nach der Ursache gegangen. Und anscheinend haben, haben wohl soviele Ex-Windows Benutzer genervt, sie wollen doch gerne Shortcuts wie Win+d und Win+l benutzen, dass das GNOME Team die Windows Taste nun als modifier einsetzt und nicht mehr als eigene Taste.
Ich hab mal ~/.gconf von meinem Arbeitsrechner herher kopiert und siehe da, die Windowstasten funktionieren wieder wie gewohnt. Nach einigem Suchen habe ich dann folgenden Workaround gefunden:
gconftool-2 -s /apps/metacity/global_keybindings/switch_to_workspace_left --type string "Super_L" gconftool-2 -s /apps/metacity/global_keybindings/switch_to_workspace_right --type string "Super_R"



