Archiv für die Kategorie ‘Programmierung’

Buchkritik: “Arduino Praxiseinstieg” von Thomas Brühlmann

Donnerstag, 26. August 2010

Auf der Froscon am letzten Wochenende habe ich mir “Praxiseinstieg Arduino” von Thomas Brühlmann gekauft. Mit knapp 25 Euro dürfte es noch in den taschengeld-tauglichen Bereich fallen. Es gefällt mir sehr gut, ist aber meines Erachtens nichts für Leute, die noch nie etwas mit Elektonik zu tun hatten. An einigen Stellen fallen halt Fachbegriffe, die für mich sehr unbekannt sind und zu denen ich gern etwas mehr Erklärung gehabt hätte.

Davon abgesehen zeigt das Buch eine Menge interessanter Beispiele und Ideen, von denen ich einige in der nächsten Zeit umsetzen werde.

Arduino und LoL Shield

Mittwoch, 25. August 2010

Mit dem LoL Shield gibt es eine einfache Möglichkeit, per Arduino ein LED Array zu steuern. Ich habe mein Shield am letzten Wochenende auf der Froscon (http://www.froscon.de) gekauft und unter sachkundiger Hilfe die fast 130 LEDs aufgelötet. Die Vorteile des Shields sind die schiere Masse an ansteuerbaren LEDs sowie die Tatsache, dass außer den LEDs selbst keine weiteren Bauteile zum Einsatz kommen.

Auf der Homepage des Schöpfers http://jimmieprodgers.com/kits/lolshield Beispiele für die Ansteuerung des Shields, hier zwei Beispiele (aufgenommen mit einer Canon 7D):

Youtube

Youtube

Powershell: Ordner bis zu bestimmter Tiefe auflisten

Sonntag, 15. August 2010

Folgendes Skript listet nur einen Unterordner ausgehend vom aktuellen auf:

      gci -recurse | ? {$_.PSisContainer -eq $true} |where{
        if(
            ($_.fullname.split("\")).count -le 4){write-host $_.fullname}
        }

Slides “R and Sweave”

Mittwoch, 30. Juni 2010

English Slides for my talk on R and Sweave.

Slides

TUGboat Article (preliminary version)

Please note that I will update these slides until the end of July.

NUnit mit C# 2010 verwenden

Montag, 24. Mai 2010

Ausgehend von einem einfachen Konsolenprogramm hier mal ein How-To für die Nutzung von NUnit unter Visual Studio 2010.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
 
namespace ConsoleApplication1
{
    class Program 
    {
        public static int add(int a, int b) {
            return a + b;
        }
 
        static void Main(string[] args)
        {
            System.Console.WriteLine(add(10,10));
            System.Console.ReadLine(); 
        }
    }
}

Zuerst installiert man die NUnit Binaries von http://www.nunit.org/?p=download. Im nächsten Schritte fügt man die Referenz zum Nunit Framework zum Projekt hinzu. Nunit.Framework sollte bei den Referenzen unter .Net auftauchen.

Dann wird die entsprechende “using Nunit.Framework” – Direktive in den Code eingetragen. Im nächsten Schritt fügen wir die Test-Klasse FunctionTests.cs hinzu, der unsere add() Funktion prüfen soll:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
namespace NUnit.Tests
{
    [TestFixture]
    public class FunctionTests
    {
        [Test]
        public void add_test()
        {
            Assert.AreEqual(0, ConsoleApplication1.Program.add(100, 0));
        }
    }
}

Wenn das Projekt jetzt übersetzt wird können wir im Anschluss die generierte EXE in Nunit laden und den Test ausführen. In unserem Fall schlägt der Test fehl, da 100+0 nicht 0 ergeben.

DB-Abfragen mit Powershell

Sonntag, 23. Mai 2010

Unter http://www.vistax64.com/powershell/190352-executing-sql-queries-powershell.html gibt es einige einfache Skripte für den Abruf von Daten aus einer SQL-Server Datenbank.

MD5-Hash für eine Datei bestimmen

Sonntag, 23. Mai 2010

Ausgehend von einer komplexeren Funktion, die mir bereitgestellt wurde, hier ein Beispiel für die Berechnung von MD5-Hashes in Powershell:

[System.IO.FileInfo] $file = "c:\hallo.txt"
    $cryptoServiceProvider = [System.Security.Cryptography.MD5CryptoServiceProvider];
    $hashAlgorithm = new-object $cryptoServiceProvider
    $stream = $file.OpenRead();
    $hashByteArray = $hashAlgorithm.ComputeHash($stream);
    $stream.Close();
    return [string]$hashByteArray;

CUDA mit Excel-Unterstützung

Samstag, 15. Mai 2010

Die kommende Version 3.1 von Nvidias Programmierbibliothek CUDA kommt mit Excel-Unterstützung. Sobald ich Excel 2010 habe, werde ich mir das mal genauer anschauen.

Dateipfade überprüfen mit Powershell

Sonntag, 09. Mai 2010

Für eine Liste von Dateien wollte ich wissen, welche der Dateien nicht gefunden werden können. Dank Powershell ist dies einfach zu erledigen.

  1. Ich importiere die entsprechende CSV-Datei (Hinweis: In der ersten Zeile der zu importierenden Datei steht “file”, über diese Bezeichnung erkennt Powershell die Spalte.
  2. Für jeden Eintrag in der Liste wird der Pfad überprüft.
  3. Wenn die der Pfad nicht gefunden wird, wird die entsprechende Pfadangabe an die notfound.txt Datei gehangen.
$files = Import-Csv t:\dateipfade.txt
 
foreach ($i in $files){
      if (-not (Test-Path $i.file)) {
      $i.file  | Out-File "t:\notfound.txt" -append
      }
}

wget für Powershell

Samstag, 10. April 2010

Da der Internet Explorer der Meinung ist, PDF-Dateien im eingebetteten Reader anzuzeigen und das entsprechende PDF die Werkzeugleiste versteckt, brauchte ich ein alternatives Kommando, das die Datei direkt herunterlädt. Auf http://huddledmasses.org/wget-for-powershell/ gab es die Lösung:

$client = new-object System.Net.WebClient
$client.DownloadFile("<URL>","<Dateipfad, in den gespeichert werden soll>")