Feedreader 👍 👎

Ich informiere mich gerne möglichst vielseitig zu allerlei Themen, möchte dabei aber dennoch an zentraler Stelle den Überblick behalten. Ideales Mittel dazu sind RSS-Feeds, die ich auch heutzutage noch sehr praktisch finde.

Mir bekannte Lösungen zur lokalen Anwendung sind dabei jedoch mitunter recht unpraktisch, da ich u. a. auch gerne – ohne umständliche Synchronisierung – von unterwegs darauf zugreifen möchte. Mir bekannte webbasierte Lösungen wiederum sind oftmals recht schwerfällig, überladen oder mit störender Werbung versehen. Es lag daher nahe, eine eigene Lösung zu schaffen, die möglichst kompakt, schnell und übersichtlich ist. Das System sollte den Fokus auf die eigentlichen Inhalte lenken und bei der Navigation ähnlich einem eMail-Client strukturiert sein.

Nach relativ kurzer Entwicklungszeit ist daraus ein kleines Feedreader-Projekt entstanden. Da ich gerne auf neue Inhalte verweise oder einen Podcast unterstützen möchte, dachte ich mir, dass darauf auch durchaus weitere Personen zugreifen können – wozu ihr hiermit eingeladen seid. Beachtet aber bitte, dass ihr dort wirklich nur meine persönliche Auswahl verfolgen könnt und derzeit keine eigenen Benutzerkonten angelegt oder sonstige Einstellungen getätigt werden können. Weitere Informationen findet ihr direkt auf der neuen Webseite.

Für die technisch interessierten Leser, zu denen wohl die meisten dieses Blogs gehören dürften, sei noch ergänzt, dass die Kernfunktionalität des Projekts auf der SyndicationFeed-Klasse des .NET-Frameworks basiert.

Die Webpräsenz ist auf Deutsch, Englisch und Niederländisch verfügbar; die Einstellung wird vom Browser bezogen. Vorschläge zu weiteren Funktionen und Meldungen zu Fehlern werden jederzeit gerne per Tracker angenommen.

Arbeitsplatz mit C# sperren 👍 👎

Das Sperren des Arbeitsplatzes lässt sich unter Windows beispielsweise über die Tastenkombination [Win] + [L] erreichen. Aber auch mit C# lässt sich dies sehr einfach per LockWorkStation und DllImport bewerkstelligen:
Wrapper implementieren
01020304
public static class Workstation {    [DllImport("user32", EntryPoint = "LockWorkStation")]    public static extern bool Lock();}
Die Verwendung gestaltet sich nun äußerst einfach und selbsterklärend:
Wrapper verwenden
01
Workstation.Lock();

Base64-Kodierung mit C# 👍 👎

Zur verlustfreien Speicherung und Übertragung von Binärdateien als Text kommt häufig die Base64-Kodierung zum Einsatz. C# unterstützt die (De-)Kodierung dieser Daten in ihrer üblichen Darstellungsform als Zeichenkette sehr komfortabel über die beiden Methoden Convert.ToBase64String und Convert.FromBase64String:
Base64-Konvertierung
01020304
byte[] input = Encoding.UTF8.GetBytes("Hällö!");   // [72, 195, 164, 108, 108, 195, 182, 33]
string base64 = Convert.ToBase64String(input); // "SMOkbGzDtiE="byte[] output = Convert.FromBase64String(base64); // [72, 195, 164, 108, 108, 195, 182, 33]
Die verbreitete Darstellung mit Zeilenumbrüchen nach jeweils 76 Zeichen wird durch die Option Base64FormattingOptions.InsertLineBreaks ermöglicht.

Spannender als mit einer einfachen Zeichenkette ist dieses Vorgehen natürlich bei komplexen Dateien, wie sie beispielsweise im Zusammenhang mit X.509-Zertifikaten auftreten. Praktisch ist dies, da die kodierte Zeichenkette nur noch aus lesbaren ASCII-Zeichen besteht und folglich keine Probleme mit Zeichensätzen zu erwarten sind. Darüber hinaus können derart kodierte Grafiken beispielsweise direkt in Webseiten eingebettet werden.

Offensichtlich sollte dieses Verfahren jedoch nicht zur "Verschlüsselung" sensibler Daten verwendet werden.

Richtlinien für grafische Benutzeroberflächen unter Windows 👍 👎

In einem früheren Beitrag hatte ich bereits die Framework Design Guidelines verlinkt, welche einen Leitfaden zur Implementierung von Backend-Funktionalität, insbesondere in Form von Programmbibliotheken, darstellen.

Nun wurde ich auf die OS X Human Interface Guidelines aufmerksam gemacht und in diesem Zusammenhang gefragt, ob es so etwas auch für Windows gibt. Auch von Microsoft gibt es entsprechende Informationen: Im Windows Dev Center lassen sich viele weitere Hinweise zur Entwicklung eigener Anwendungen finden.


PS: Der Vollständigkeit wegen sei auch auf Material design von Google hingewiesen.

Städteportal erweitert und überarbeitet 👍 👎

Nachdem sich auf dem Städteportal aus Mangel an Zeit im letzten Jahr kaum etwas verändert hat, darf ich nun zwei größere Neuerungen ankündigen. Die eine ist inhaltlicher Art, die andere betrifft die Darstellung.

Zum einen ist Amsterdam, die Hauptstadt unseres direkten Nachbarlandes Niederlande, nun Bestandteil des Städteportals. Die Inhalte sind derzeit noch begrenzt, werden aber wie üblich sukzessive ergänzt.

Darüber hinaus wurde das Design deutlich modernisiert, um weniger von den eigentlichen Inhalten abzulenken. Im Rahmen dessen wurde außerdem an wenigen Stellen ohnehin kaum verwendete Funktionalität entfernt.

Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche