Biggle's Blog

Web- und Software Development

by Mario Priebe

TheOldReader in den Chrome RSS-Abonnement-Optionen

Ja, es war in aller Munde und nein ich werde nicht mehr darauf eingehen, denn auch ich war mächtig angepisst, dass es den Google Reader nicht mehr geben wird. Absolut kein Verständnis für das Einstellen des Service.

Nun denn, auf der Suche nach einer Alternative kam mir der eine oder andere, neue oder auch alte Feed-Reader unter die Finger. TheOldReader kam mir bei der Auswahl irgendwie am sympathischsten vor.

Nach anfänglichen Import-Schwierigkeiten kann ich TheOldReader jetzt endlich nutzen. Um den einen oder anderen Feed “einzufangen”, nutze ich die Chrome Extension “RSS Subscription Extension”.

image

In den Einstellungen wurde der Google Reader schnell aus der Liste der möglichen Feed-Reader durch Google entfernt.

image

Um an dieser Stelle nun den TheOldReader einzubinden, muss ich einen neuen Eintrag mit der URL “http://theoldreader.com/feeds/subscribe?url=%s” erstellen.

image

Danach steht mir diese Option nun zur Verfügung, neue Feeds zu abonnieren.

image

Wie sieht es bei dir aus, welche Reader nutzt du? Kannst du Empfehlungen aussprechen und was gefällt dir an deiner Wahl? Rein damit in die Kommentare, ich bin neugierig : )

by Mario Priebe

Süße Verführung mit Chocolatey, dein apt-get für Windows

Chocolatey ist ein Paketverwaltungssystem (Advanced Packaging System) für Windows a’la apt-get in der Linux Umgebung.

imageMit Chocolatey kann man mittels Konsole, aus einem Repository heraus, Applikation-Packages auf seinem Windows System installieren und auch wieder deinstallieren.

Die Befehle dabei lauten cinst <programmname> zum installieren von Packages und cuninst <programmname> zum deinstallieren. Mit cup kann man ein Update durchführen, dabei kann mit –pre oder -prerelease angegeben werden, ob man Vorabversionen mit einbeziehen möchte. Mit cup all aktualisiert man alle Packages, die man mittels Chocolatey installiert hat.

Um Chocolatey zu installieren, muss man auf der Konsole folgenden Befehl ausführen:

1
2
3
@powershell -NoProfile -ExecutionPolicy unrestricted 
-Command "iex ((new-object net.webclient).DownloadString('http://chocolatey.org/install.ps1'))" && 
SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Wer die Konsole nicht mag, kann auch ChocolateyGUI, ein grafisches Interface zum Managen von Packages installieren. Einmal musst du aber dann noch mit cinst ChocolateyGUI deine Konsole bemühen.

image

Insgesamt stehen auf Chocolatey z.Zt. 697 Packages zum Download bereit. Man kann auch eigene Packages erstellen. Jedoch wie man das macht, dazu kann ich leider noch nichts sagen. Dies wird aber in der doch recht guten Dokumentation beschrieben.

Weiterführende Links:

by Mario Priebe

Programmieren für Kids II

Vor einiger Zeit schrieb ich mal über Small Basic, eine IDE für Kinder zum Einsteigen in die Programmierung. Für Kinder unter 10-12 Jahre jedoch nicht geeignet, wie ich finde. Aber selbst auch dann nicht, wenn keine Englisch-Sprachkenntnisse vorhanden  sind.

Anders ist das mit >Kodu – Game Lab, eine weitere Entwicklung aus dem Hause Microsoft. Kodu ist eine neue Spiele-Entwicklungs-Umgebung für Kinder, die erste Erfahrungen mit dem Computer gemacht haben und Interesse an Spielen haben. Also eigentlich alle : )

Startbildschirm

In Kodu können Kinder ausschließlich mittels Klicks auf Icons, sich Spiele-Welten zusammenklicken. Es muss dazu nicht eine Codezeile geschrieben werden.

Durch den Aufbau der Flows wird ein logische Verständnis zu Abläufen und Zuständen spielerisch vermittelt.

game2

Man findet in der Entwicklungsumgebung auch eine Menge Tutorials, die den Einstieg erleichtern sollen. (Manche sind auch recht knifflig)

tutorials

Die IDE steht- mit einigen Ausnahmen – auf Deutsch zur Verfügung. Jedoch sollte man sich am Anfang zusammen mit seinem Kind daran setzen, um eventuell fehlendes Verständnis zu klären, oder die eine oder andere auf Englisch beschriebene Aufgabe zu übersetzen.

Aber du wirst sehen, eins fix, wenn das Interesse erst einmal geweckt ist, werden die sich nicht mehr zurückhalten können.

Ich habe bereits ein wenig mit Kodu herum gespielt und ich muss sagen, ja, dass ist genau das, was ich meinem Sohn (wird bald 8 Jahre) zum ausprobieren empfehlen werde. (Nein, ich werde ihn in keine Richtung drängen, er will ja Fußballer werden :)

Kodu ist kostenlos und kann im Download-Center >herunter geladen werden. Voraussetzung ist das XNA-Framework 3.1 (>Download).

Es gibt auch einen >Community Bereich, wo die Kids sich austauschen und ihre >Werke teilen können.

by Mario Priebe

Tuple Eigenschaften lesbar gestalten?

Die Verwendung von Tuple ist eine schnelle Lösung, wenn man beispielweise mehr als ein Parameter oder Rückgabewert benötigt. Ein Anwendungsfall wäre für mich, eine (semantische) Fehlermeldung anstelle von Exceptions. Also ein boolean und ein string als Rückgabewert “Tuple<bool, string>()”. Im string steht dann halt ein Grund drin, warum das Ganze schief gelaufen ist. So weit, so gut.

Das Resultat dabei ist leider nicht lesbar, denn ich bekomme den boolean im Property Item1 und den string in Item2 geliefert.

image

Aber okay, das mag so lange gut gehen, wenn man denn so etwas wie Konventionen für dieses “Pattern”definiert. Das Problem dabei ist hier, dass man sich hier schnell in tiefe Gewässer bewegt. Denn das kann auch ausarten, wenn man denn so etwas hier versucht: “Tuple<bool, string, Exception, bool, bool, decimal>()

image

Hier verliert man ganz schnell den Überblick.

Da hilft auch keine Dokumentation.

Hier käme mir die”glorreiche” Idee, die Tuple Properties lesbarer zu gestalten. Also baue ich mir eine Klasse, die von Tuple ableitet, in etwa so:

image

Nun stehen einem auch die Eigenschaften zur Verfügung.

image

Aber warum sollte ich dann von Tuple ableiten?

Macht kein Sinn. Bringt mir keinen Mehrwert. Ich kann das Ganze auch ohne.

image

Also warum dann Tuples einsetzen?

Was sagst du dazu? Wann setzt ihr Tuples ein? Wann machen Tuples Sinn? Mir fällt einfach kein Anwendungsfall ein.

Halt, vielleicht aber doch, möglicherweise für so etwas hier?

image

Nee, oder ;)

Nichts desto trotz, wer Tuples einsetzt, hat sicher auch seine Gründe dafür. Die mich natürlich brennend interessieren! Also nicht scheuen, 3-5 Minuten Zeit in die Hand nehmen und rein damit als Kommentar.

In diesem Sinne, viel Spaß beim entwickeln : )

by Mario Priebe

Basta on Tour 2013

windows8days_140x140BASTA! on Tour 2013 – Das große .NET Trainingsevent
Vom 24. bis 26. April 2013 findet die nächste BASTA! on Tour in Düsseldorf statt. Das große Trainingsevent ist eine Tochterveranstaltung der BASTA! – der größten unabhängigen .NET-Konferenz in Deutschland. 
Der Fokus der BASTA! on Tour liegt mit insgesamt 12 intensiven Workshops, einem Abendvortrag und einem Speaker Panel auf den Themen XAML (WPF, Silverlight, WinRT), Services (WCF-Leistungsoptimierung, ASP.NET Web API, Data Services) und ADO.NET Entity Framework (Leistungsoptimierung, Code Only) sowie Webtechniken (HTML 5, JavaScript, jQuery, ASP.NET MVC). Alle weiteren Infos auf www.basta-on-tour.de.

Windows 8 Days – Das Trainingsevent für die professionelle Entwicklung mit Windows 8
Vom 25. bis 26. April 2013 finden die Windows 8 Days in Düsseldorf statt. Das Trainingsevent versammelt drei bekannte .Net-Champions, die den Teilnehmern einen tiefen Einblick in die professionelle Entwicklung mit Windows 8 geben. Jörg Krause, Jörg Neumann und Christian Weyer versorgen die Teilnehmer mit erstklassigen Informationen, Know-how und Best Practices zu Windows 8 Essentials, Windows 8 Apps mit XAML und .NET, Windows 8 Apps mit HTML und JavaScript sowie Kommunikation in Windows 8 Apps. Alle weiteren Infos auf www.windows8-days.de.

by Mario Priebe

MSSQL Shuffle Funktion zum anonymisieren von Daten

Ich wollte einige Datensätze für die Testumgebung anonymisieren und heraus kam eine kleine Funktion, die ein zufälligen String generiert. Als Parameter wird der Funktion eine beliebige Zeichenfolge und die Angabe, wie lang der zufällige Wert sein soll, mitgegeben. Der erste Buchstabe im Resultat wird als Großbuchstabe zurückgegeben.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE VIEW Random
    AS SELECT RAND() AS RAND
GO
 
CREATE FUNCTION Shuffle(@string AS nvarchar(MAX), @LENGTH AS INT)
RETURNS VARCHAR(MAX)
BEGIN
    DECLARE @RESULT NVARCHAR(MAX)
    DECLARE @counter INT
 
    SET @RESULT = ''
    SET @counter = 0
 
    WHILE @counter < @LENGTH
    BEGIN
 
        SELECT @RESULT = @RESULT + SUBSTRING(@string, (SELECT CONVERT(INT, (RAND * LEN(@string) + 1)) FROM Random), 1)
        SET @counter = @counter + 1
    END
 
    SELECT @RESULT = UPPER(LEFT(@RESULT,1)) + SUBSTRING(@RESULT,2,LEN(@RESULT))
    RETURN @RESULT
END
GO

Aufzurufen wird das Ganze dann wie folgt:

1
2
UPDATE dbo.Persons
SET Lastname = dbo.Shuffle('abcdefghijklmnoprstuvwz', 8)

Alternativ könnte man anstelle der Zeichen, den alten Wert aus der Spalte und die Länge mitgeben,

1
2
UPDATE dbo.Persons
SET Lastname = dbo.Shuffle(Lastname, LEN(Lastname))

Viel Spaß beim entwickeln : )
Cool wäre jetzt noch, wenn man den String lesbar macht, hat einer eine Idee?