ms succeeds again in making the things you do every day slower

posted 11/27/2007 11:02:39 by matt flesch-kincaid: 40, grade level: 12 commentscomments(0) linklink
the windows vista + office 2007 combination represents the largest jump in overall cpu and memory footprint ever recorded on the windows platform. not only is the new combination "fatter" than previous versions, it's also a great deal slower on comparable hardware.
a nice history of the "improvements" ms has made over the years as intel ramped up processing power in their chips. the best is the nice interactive results of their xp vs. vista, office 2k3 vs office 2k7 comparison. vista on a machine with 1gb of ram running office 2k7 when performing common tasks will be twice as slow as the xp, office 2k3 machine with 256mb of ram you're replacing.

i hate nvelocity's lack of docs

posted 11/15/2007 16:01:52 by matt flesch-kincaid: 30, grade level: 10 commentscomments(0) linklink
so after 30 minutes or so of beating my head against the wall i finally found that in nvelocity code like:
Hashtable hash = new Hashtable();
hash["foo"] = "bar";
// later
Console.Writeline(hash["foo"]);
becomes the easy part in the Controller:
Hashtable hash = new Hashtable();
hash["foo"] = "bar";
PropertyBag["hash"] = hash;
and the undocumented random black magic in the view:
$hash.get_Item("foo")
what doesn't work however is:
$hash["foo"]
$hash("foo")
$hash.item["foo"]
$hash.item("foo")
$hash.this["foo"]
$hash.this("foo")
${hash}["foo"]
${hash}("foo") 
etc....
no where is this listed in the velocity vtl documentation (brokenly linked from the nvelocity site). everything points the fact that $hash.item() would try to run hash.item(), hash.getitem(), hash.getItem() but no where does it proclaim this black magic to be needed. then i finally stumble upon getting the contents of the property bag from the monorail site showing the proper syntax after finally getting the google magic terms of "nvelocity idictionary notation" correct.

and of course searching for "nvelocity .get_Item(" yields tons of useful pages including "i'm trying to access an indexer on a nvelocity template with no success".... really?!?! an indexer?!?! is that what the kids are calling it these days? here's a tip for syntax faq entries.... use every possibly example of wrong syntax you can think of when documenting the right syntax. hashtable, idictionary, dictionary, dictionary entry, item, any of those words could have found me that damn page a lot sooner. hopefully this post finds it's way into someone's google results and makes them only waste 5 minutes.