Geeksongs (Aardvark’d Motion Picture Soundtrack)

aardvarkd

"Geeksongs" is the soundtrack to the film "Aardvark'd: 12Weeks With Geeks," a quirky look at the making of software from the perspective of four young interns thrust into the hustle of New York City.

Most of the songs are written to give a thoughtful edge to a subject matter many would not consider serenading – computer programmers. It accomplishes its eccentric goal admiringly with simple songs, which help give more dimensions to a beautiful film.

Little known singer/song writer, Nonso Ugbode manages to accomplish this only with guitar and an often cleverly used voice. Somewhere in between smiling and actually feeling touched, you'll most likely want another listen on songs like the cleverly busy "Vibe," and the simple "Binary Code (Makes Sense Wherever I Go" and the lingeringly haunting "Digital Cowboy." This is a well thought out album and testament to the spirit of independent production on which the American music industry was built on.

I strictly recommend both, the movie and the music!

Advertisements

Diff & Merge 4 free

DiffMerge SourceGear offers their 3-way Diff/Merge tool for free. DiffMerge is an application to visually compare and merge files for Windows, Mac OS X and Unix.

Product Features (from their Website):

  • Diff. Graphically shows the changes between two files. Includes intra-line highlighting and full support for editing.
  • Merge. Graphically shows the changes between 3 files. Allows automatic merging (when safe to do so) and full control over editing the resulting file.
  • Folder Diff. Performs a side-by-side comparison of 2 folders, showing which files are only present in one file or the other, as well as file pairs which are identical or different.
  • Configurable. Rulesets and options provide for customized appearance and behavior.
  • International. Compatible with 42 different character encodings.
  • FREE. Full featured. Not a demo!

Private Accessor class ignores generic constraint

These days, i came across a problem with Team System Unit Testing. I found that the automatically created accessor class ignores generic constraints – at least in the following case:

Assume you have the following class:

namespace MyLibrary
{
  public class MyClass
  {
    public Nullable<T> MyMethod<T>(string s) where T : struct
    {
      return (T)Enum.Parse(typeof(T), s, true);
    }
  }
}

If you want to test MyMethod, you can create a test project with the following test method:

public enum TestEnum { Item1, Item2, Item3 }

[TestMethod()]
public void MyMethodTest()
{
  MyClass c = new MyClass();
  PrivateObject po = new PrivateObject(c);
  MyClass_Accessor target = new MyClass_Accessor(po);

  // The following line produces the following error:
  // Unit Test Adapter threw exception: GenericArguments[0], 'T', on
  // 'System.Nullable`1[T]' violates the constraint of type parameter 'T'..
  TestEnum? e1 = target.MyMethod("item2");

  // The following line works great but does not work for testing private methods.
  TestEnum? e2 = c.MyMethod("item2");
}

Running the test will fail with the error mentioned in the comment of the snippet above. The problem is the accessor class created by Visual Studio. If you go into it, you will come up to the following code:

namespace MyLibrary
{
  [Shadowing("MyLibrary.MyClass")]
  public class MyClass_Accessor : BaseShadow
  {
    protected static PrivateType m_privateType;

    [Shadowing(".ctor@0")]
    public MyClass_Accessor();
    public MyClass_Accessor(PrivateObject __p1);
    public static PrivateType ShadowedType { get; }
    public static MyClass_Accessor AttachShadow(object __p1);

    [Shadowing("MyMethod@1")]
    public T? MyMethod(string s);
  }
}

As you can see, there is no constraint for the generic type parameter of the MyMethod method.

Is that a bug? Is that by design? Who knows how to work around that problem?

Feel free to download the Visual Studio 2008 Solution that demonstrates the problem in the Download Area.

Spam / Non Spam Ratio – Update

Vor einem halben Jahr habe ich mir mal das Verhältnis von Spam Mails zu erwünschten Mails innerhalb eines Monats angesehen. Am 01.06.2007 sah das Ergebnis so aus:

erwünschte Mails: 381
unerwünschte Mails (Spam): 11590

Am 01.12.2007, gerade mal ein halbes Jahr später, sieht das Ergebnis so aus:

erwünschte Mails: 268
unerwünschte Mails (Spam): 82561

Erschreckend!

Hatte ich vor einem halben Jahr noch mit etwa 30 Spam Mails pro erwünschter Mail zu kämpfen, so sind es heute schon 308, d.h. gut 10 mal mehr. Wenn das so weitergeht, dann werde ich bei Renteneintritt wohl mit ca. 300 Nonillionen Spam Mails pro erwünschter Mail zu kämpfen haben.

Wer sich das besser als Zahl vorstellen kann:

300.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000

Wollen wir mal hoffen, dass sich bis dahin noch was tut fingerscrossed.

Soviel zur Spam-Statistik, seufz…

Volta

VoltaThe Volta Tech Preview has arrived. Volta is the knife and glue to split your .NET applications into several tiers and let them work seamlessly together afterwards.

That's what Microsoft states about Volta:

The Volta technology preview is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns. First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.