<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicious.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Sergio Pereira</title><subtitle type="html">There are no half-solutions because there isn&amp;#39;t half a problem</subtitle><id>http://devlicious.com/blogs/sergio_pereira/atom.aspx</id><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/default.aspx" /><link rel="self" type="application/atom+xml" href="http://devlicious.com/blogs/sergio_pereira/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20416.853">Community Server</generator><updated>2008-09-23T06:47:00Z</updated><entry><title>Please open my .aspx fast</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/11/22/please-open-my-aspx-fast.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/11/22/please-open-my-aspx-fast.aspx</id><published>2008-11-22T23:33:00Z</published><updated>2008-11-22T23:33:00Z</updated><content type="html">&lt;p&gt;
	Still in the topic of performance, I&amp;#39;ll throw a little freebie. Visual Studio
	seems to take an inordinate amount of time to open .aspx files for the first
	time. I noticed that the status bar read &amp;quot;Initializing toolbox...&amp;quot; for a
	long time. I&amp;#39;m mentioning .aspx but it really applies to any other webforms markup
       like .ascx and .master as well.
&lt;/p&gt;
&lt;p&gt;
    Heck, I don&amp;#39;t even have the toolbox loaded, docked, or hidden in
	my IDE. I don&amp;#39;t use the toolbox at all for web develoment. I&amp;#39;m more of
	a source view kind of programmer. So why should I be penalized like that?
&lt;/p&gt;
&lt;p&gt;
	I shouldn&amp;#39;t. Here&amp;#39;s what I did to speed that up:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Show the toolbox&lt;/li&gt;
	&lt;li&gt;Right-click and select &amp;quot;Choose Items...&amp;quot;&lt;/li&gt;
	&lt;li&gt;Uncheck every item that the namespace contains &amp;quot;Web&amp;quot; (I also 
		unchecked controls that I can&amp;#39;t stand, like the database connections
		and data sources.)&lt;/li&gt;
	&lt;li&gt;Click OK to save that, close the toolbox again and enjoy your
		precious stolen time again.&lt;/li&gt;
&lt;/ul&gt;



&lt;img src="http://devlicious.com/aggbug.aspx?PostID=43195" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term=".NET" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/.NET/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /><category term="Tips &amp;amp; Tricks" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Sluggish Windows in VMWare Fusion - Solved</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/11/22/sluggish-windows-in-vmware-fusion-solved.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/11/22/sluggish-windows-in-vmware-fusion-solved.aspx</id><published>2008-11-22T23:25:00Z</published><updated>2008-11-22T23:25:00Z</updated><content type="html">&lt;p&gt;
	I&amp;#39;ve had my MacBook for over 2 years. Initially I avoided installing
	virtualization or even BootCamp to run Windows. I was forcing myself to 
	adapt to OS X, get out of my comfort zone, and learn more about that
	different environment. The mac was also my Ruby On Rails development
	machine and I wanted to keep Visual Studio out of it.
&lt;/p&gt;

&lt;p&gt;
	After one year, I decided that the hardest phase of the learning process
	was long gone and I installed VMWare Fusion (version 1.something - don&amp;#39;t remember) and Windows XP with Visual Studio. I also bumped up my RAM to 2Gb.
&lt;/p&gt;

&lt;p&gt;
	Using Visual Studio inside a VM on a mac was a surprisingly viable alternative.
	I could have all the mundane applications like web browsers, email clients,
	IM, Twitter, word processors, etc, be mac applications running in the host
	and leave a very spartan Windows installation with just the 
	&lt;a href="http://devlicio.us/blogs/sergio_pereira/archive/2008/07/31/software-i-can-t-work-without.aspx"&gt;minimum required software&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	Enter Fusion v2.0. I honestly don&amp;#39;t know at what point things started going
	downhill. More or less around the same time, maybe 4 or 5 months ago, 
	I applied XP SP3, upgraded Fusion to 2.0, and installed VS2008 SP1. 
	I don&amp;#39;t even remember what order I followed anymore. I just know that
	my Windows VM became almost unusable. I&amp;#39;d click and wait. Visual Studio
	was so unresponsive that I would prefer to terminal in to my desktop
	Vista and work like that instead of the VM. 
&lt;/p&gt;

&lt;p&gt;
	Today I had some time to get back to this problem and do a little googling
	on it. After a few not so useful hits, I landed on &lt;a href="http://forums.macrumors.com/showpost.php?p=6569889&amp;amp;postcount=24"&gt;this forum posting&lt;/a&gt; that got me back on track. 
&lt;/p&gt;

&lt;p&gt;
	I still don&amp;#39;t know if all my messed up settings were done by yours truly,
	trying to solve the problem and making it worse, or by the Fusion upgrade.
	For now I&amp;#39;ll assume it was me. Here&amp;#39;s what I had to change.
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;Give less memory to the VM&lt;/b&gt;. This seems counterintuitive, but
		I had divided the RAM 50/50 between OS X and the VM. I reduced the VM
		to around 820MB.&lt;/li&gt;

	&lt;li&gt;
		&lt;b&gt;Use only one virtual processor.&lt;/b&gt; I have a dual core processor
		but virtualizing only one seems to ensure the host always has
		at least one entire core to do the housekeeping.
	&lt;/li&gt;
	&lt;li&gt;
		&lt;b&gt;Optimize for Mac OS.&lt;/b&gt; Mine was optimized for VM. Probably done
		by myself with the best intentions in the world.
	&lt;/li&gt;
	&lt;li&gt;
		&lt;b&gt;No sharing of any applications&lt;/b&gt;. I just don&amp;#39;t need that. Gone.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	Several people on the forums mentioned reinstalling the VMWare Tools. Mine
	had installed/upgraded fine before so I didn&amp;#39;t touch that.
&lt;/p&gt;
&lt;p&gt;
	With all these tweaks in place I&amp;#39;m again a happy camper and stopped making
	plans to buy one of the new MacBook models that support more than 2GB.
	Performance is back to it&amp;#39;s Fusion v1.x days and that&amp;#39;s all I was asking for.
&lt;/p&gt;





&lt;img src="http://devlicious.com/aggbug.aspx?PostID=43194" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="Tips &amp;amp; Tricks" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Don't be sloppy in your scripts</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/11/14/don-t-be-sloppy-in-your-scripts.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/11/14/don-t-be-sloppy-in-your-scripts.aspx</id><published>2008-11-14T18:05:00Z</published><updated>2008-11-14T18:05:00Z</updated><content type="html">&lt;p&gt;
For a few weeks now, every time I try to logoff from my home banking website something bad happens. See screenshot below.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://devlicio.us/blogs/sergio_pereira/2008/11/bofa.png"&gt;&lt;img src="http://devlicio.us/blogs/sergio_pereira/2008/11/bofa-small.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Firebug opens unexpectedly&lt;/li&gt;
  &lt;li&gt;There&amp;#39;s a frigging &lt;code&gt;debugger;&lt;/code&gt; statement in the live production site&lt;/li&gt;
  &lt;li&gt;The logoff process hangs until I press F8 in Firebug or the &lt;i&gt;continue&lt;/i&gt; button&lt;/li&gt;
  &lt;li&gt;All my information is still on the screen. Imagine if I had just clicked &lt;i&gt;Sign Off&lt;/i&gt; and left my desk.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
When I saw this for the first time I though: wow, some developer will be slapped for that (actually there are some developer names in the file,) but it seems that nobody else has a debugger enabled or they just hate their clients that are also web developers. The &amp;quot;bug&amp;quot; has been there for at least 2 weeks now.
&lt;/p&gt;
&lt;p&gt;
Even if you don&amp;#39;t care for customers that happen to have a debugger like myself, leaving that kind of thing in your production environment immediately projects an image of sloppiness that is the last thing I want to have with my home banking.
&lt;/p&gt;

&lt;fieldset&gt;
&lt;legend&gt;&lt;b&gt;Update 11/24/2008:&lt;/b&gt; &lt;/legend&gt;
That script was fixed sometime over this past weekend.
&lt;/fieldset&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=43058" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /></entry><entry><title>Video - The Langston's Ant</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/11/14/video-the-langston-s-ant.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/11/14/video-the-langston-s-ant.aspx</id><published>2008-11-14T13:41:00Z</published><updated>2008-11-14T13:41:00Z</updated><content type="html">&lt;p&gt;
Remember one recent post when I talked about the &lt;a href="http://devlicio.us/blogs/sergio_pereira/archive/2008/10/13/performing-code-katas.aspx"&gt;Code Kata&lt;/a&gt; that I attended? Well, Micah  prepared a &lt;a href="http://blog.8thlight.com/articles/2008/11/13/kata-langston-s-ant-in-ruby"&gt;screencast version of that Kata&lt;/a&gt; and that video is now available.
&lt;/p&gt;
&lt;p&gt;
It&amp;#39;s a short screencast (14&amp;#39;) and even if Ruby is not your cup of tea, it&amp;#39;s interesting to watch BDD being practiced.
&lt;/p&gt;
&lt;object width="400" height="302"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2234715&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2234715&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowscriptaccess="always" width="400" height="302"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/2234715"&gt;Langston&amp;#39;s Ant in Ruby Kata&lt;/a&gt; from &lt;a href="http://vimeo.com/user931495"&gt;Micah Martin&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;img src="http://devlicious.com/aggbug.aspx?PostID=43048" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="Ruby" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Ruby/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /><category term="Video" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Video/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry><entry><title>Video - Core, an AOP Framework </title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/11/07/video-core-an-aop-framework.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/11/07/video-core-an-aop-framework.aspx</id><published>2008-11-07T15:34:00Z</published><updated>2008-11-07T15:34:00Z</updated><content type="html">
&lt;p&gt;
	Wow, that took a long time to be published, but here it is. This video was recorded during the 
 &lt;a href="http://devlicio.us/blogs/sergio_pereira/archive/2008/10/01/chicago-alt-net-the-aspects-of-aop.aspx"&gt;October&amp;#39;s meeting&lt;/a&gt; of &lt;a href="http://chicagoalt.net/"&gt;Chicago ALT.NET&lt;/a&gt; that happened almost just about a whole month ago. 
&lt;/p&gt;

&lt;p&gt;
The video shows &lt;a href="http://blogs.catalystss.com/blogs/josh_heyse/"&gt;Josh Heyse&lt;/a&gt; demonstrating and explaining the works of the AOP framework called Core. What the video doesn&amp;#39;t show is who&amp;#39;s that voice that also knows a lot about Core. That would be &lt;a href="http://blogs.catalystss.com/blogs/anthony_d_green/default.aspx"&gt;Anthony Green&lt;/a&gt;, who developed Core with Josh.
&lt;/p&gt;



&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="348" id="viddler_811941ad"&gt;&lt;param name="movie" value="http://www.viddler.com/simple/811941ad/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/simple/811941ad/" width="437" height="348" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler_811941ad"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42937" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term=".NET" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/.NET/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /><category term="alt.net" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/alt.net/default.aspx" /><category term="Video" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Video/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry><entry><title>The people behind the bytes</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/11/03/the-people-behind-the-bytes.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/11/03/the-people-behind-the-bytes.aspx</id><published>2008-11-03T19:41:00Z</published><updated>2008-11-03T19:41:00Z</updated><content type="html">&lt;p&gt;I think that any developer that creates customer-facing software dreams that their users
rave about and show affection for the product. But being users of software ourselves
we know it&amp;#39;s not easy to like any application that much. There are usually so many
other applications vying for our love, and they tend to be so bland and similar,
it&amp;#39;s easier to just treat them with equal disinterest.  &lt;/p&gt;

&lt;fieldset&gt;
	&lt;legend&gt;&lt;b&gt;SIDE NOTE: &lt;/b&gt;&lt;/legend&gt;
	This reminds me of how much I miss &lt;a href="http://en.wikipedia.org/wiki/Kathy_Sierra" title="Kathy Sierra"&gt;Kathy Sierra&lt;/a&gt;&amp;#39;s 
	&lt;a href="http://headrush.typepad.com/" title="Creating Passionate Users"&gt;Creating Passionate Users&lt;/a&gt; blog.
&lt;/fieldset&gt;

&lt;h3&gt;Still, why some applications win your heart?&lt;/h3&gt;

&lt;p&gt;I would argue that this has all to do with the way such application let some of
the hearts and souls that created the application leak through some inoffensive
outlets.&lt;/p&gt;


&lt;p&gt;The idea is that it is hard for users to attach themselves to something that has no sign of human behavior. Let me try
to clarify this point with an example. Let&amp;#39;s say Albert is your co-worker. He gets his job done
but not always the same way every day. Sometimes he&amp;#39;s not in the mood for water cooler chat, worried
about the world financial crisis, sometimes he&amp;#39;s thrilled that his team qualified for the playoffs,
sometimes he&amp;#39;s supportive when you are facing some personal problem. I mean, he&amp;#39;s not a machine. &lt;/p&gt;

&lt;p&gt;Take one of the biggest examples of them all: Google. Do you think the 
&lt;a href="http://www.google-logos.com/category/google-doodles"&gt;Google Doodles&lt;/a&gt; 
or the famous &lt;a href="http://www.pingpongpie.com/2008/07/10-google-easter-eggs/"&gt;hidden treats&lt;/a&gt; are
there just the works of mischievous coders? No. They are carefully placed messages that serve as a constant reminder
that the folks at Google are real people and they like to connect with you, the user. What other email site would
dare to have user message like &amp;quot;Hooray, no spam here!&amp;quot; ?
&lt;/p&gt;


&lt;h3&gt;Why am I talking about this?&lt;/h3&gt;
&lt;p&gt;
	I&amp;#39;ve joined a new company a couple of months ago and I was pleasantly surprised to learn that we make use
	of those little outlets to connect to our users on a personal level as well. For example we change the
	site logo on special occasions and send plush toys to customers when we release a new version (plush toys, as a &amp;quot;weapon&amp;quot; of Marketing, deserves its own post. I&amp;#39;ll leave that for another day.)
&lt;/p&gt;
&lt;p&gt;
	You may think this just sounds silly, but you should see the emails we get from customers when they notice
	these little things. They are thrilled to find them. Sometimes it makes someone&amp;#39;s day. It happened again
	last Friday (Haloween &amp;mdash; a major occasion in the U.S.) 
&lt;/p&gt;
&lt;p&gt;It&amp;#39;s very rewarding 
	and I&amp;#39;m very proud to work with people that think about their users that much.
&lt;/p&gt;

&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42876" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /></entry><entry><title>ViewEngines at Chicago ALT.NET</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/10/30/viewengines-at-chicago-alt-net.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/10/30/viewengines-at-chicago-alt-net.aspx</id><published>2008-10-30T17:14:00Z</published><updated>2008-10-30T17:14:00Z</updated><content type="html">&lt;p&gt;
	One of the reasons &lt;a href="http://devlicio.us/blogs/sergio_pereira/archive/2008/10/29/asp-net-mvc-and-nhaml.aspx"&gt;I&amp;#39;ve been mucking with NHaml&lt;/a&gt; is the upcoming meeting of the &lt;a href="http://chicagoalt.net/"&gt;Chicago ALT.NET&lt;/a&gt; group. 
&lt;p&gt;
&lt;p&gt;
	The plan is to talk about  &lt;a href="http://code.google.com/p/nhaml/"&gt;NHaml&lt;/a&gt; and &lt;a href="http://dev.dejardin.org/trac/spark"&gt;Spark&lt;/a&gt;
	(and maybe &lt;a href="http://www.castleproject.org/MonoRail/documentation/trunk/viewengines/brail/index.html"&gt;Brail&lt;/a&gt;),
	comparing equivalent implementations of a simple website written in ASPX, NHaml and Spark. The meeting is on November 12&lt;sup&gt;th&lt;/sup&gt;, see registration link below for details.
&lt;/p&gt;

&lt;h3&gt;The Different Views of ASP.NET MVC&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-size:xx-small;"&gt;6:00 pm&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="font-size:small;"&gt;
	Pizza and networking time
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size:xx-small;"&gt;6:30 pm&lt;/span&gt; 
&lt;br /&gt;
&lt;span style="font-size:small;"&gt;
	The default ASPX view engine in ASP.NET MVC is fine and comfortable but
	as with just about anything in ASP.NET MVC, you can replace it with 
	alternative engines &amp;mdash; and there are a few of those available. 
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size:small;"&gt;
	We will be giving an overview of some of the alternative view engines,
	showing how to install and use them, what brought them about, and why
	would you use them. 

&lt;/span&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font style="font-size:small;" size="3"&gt;&lt;a href="http://abombss.com"&gt;Adam Tybor&lt;/a&gt; will be presenting &lt;a href="http://dev.dejardin.org/trac/spark"&gt;Spark&lt;/a&gt;,&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font style="font-size:small;" size="3"&gt;&lt;a href="http://just3ws.wordpress.com"&gt;Mike Hall&lt;/a&gt; will show &lt;a href="http://code.google.com/p/nhaml/"&gt;NHaml&lt;/a&gt;,&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font style="font-size:small;" size="3"&gt;and &lt;strong&gt;TBD&lt;/strong&gt; &lt;em&gt;(not defined, wanna talk?)&lt;/em&gt; will talk about &lt;a href="http://www.castleproject.org/MonoRail/documentation/trunk/viewengines/brail/index.html"&gt;Brail&lt;/a&gt;.&lt;/font&gt;&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;
&lt;span style="font-size:xx-small;"&gt;7:45 pm&lt;/span&gt;
&lt;br /&gt;
&lt;span style="font-size:small;"&gt;
	You may want to stick around after the presentation portion of the meeting
	and take part in our monthly open discussion. The topic is never arranged in
	advance but it&amp;#39;s common that it reflects the content of the presentation.
&lt;/span&gt;
&lt;/p&gt;

	
	
&lt;p&gt;
&lt;a href="http://altnetchicago.eventbrite.com"&gt;&lt;img src="http://www.eventbrite.com/static/images/button_ext/attend_this_event.gif" border="0" alt="" /&gt;&lt;/a&gt;
&lt;/p&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42829" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term=".NET" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/.NET/default.aspx" /><category term="alt.net" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/alt.net/default.aspx" /><category term="Announcement" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Announcement/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry><entry><title>ASP.NET MVC and NHaml</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/10/29/asp-net-mvc-and-nhaml.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/10/29/asp-net-mvc-and-nhaml.aspx</id><published>2008-10-29T22:02:00Z</published><updated>2008-10-29T22:02:00Z</updated><content type="html">&lt;p&gt;
	I started playing with &lt;a href="http://code.google.com/p/nhaml/" title="nhaml - Google Code"&gt;NHaml&lt;/a&gt; 
	lately for sheer curiosity. It comes with &lt;a href="http://www.codeplex.com/MVCContrib"&gt;MVCContrib&lt;/a&gt; and 
        that&amp;#39;s what I&amp;#39;ve been using to explore it. 
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;m not completely on board yet that
	you&amp;#39;ll want to write all your views, for all kinds of application scenarios using NHaml. I know someone will probably 
	jump out and say that their entire site was built with NHaml and it&amp;#39;s wonderful. I&amp;#39;m sure it can be done, 
	I&amp;#39;m just still wondering if it&amp;#39;s more trouble than necessary. On the other hand, if you are starting a new
	application from scratch (i.e. you are not inheriting any existing template or that sort of thing,)
	then NHaml can guide you through a different way of thinking about your views and simplify them a lot. 
&lt;/p&gt;

&lt;p&gt;
	I might have already said this before, but I&amp;#39;m generally in favor of working as close to the platform as
	possible and viable. That&amp;#39;s why I&amp;#39;m not a big fan of things like &lt;a href="http://projects.nikhilk.net/ScriptSharp/" title="Script#"&gt;Script#&lt;/a&gt;, 
	&lt;a href="http://www.rubynoob.com/articles/2006/05/13/simple-rails-rjs-tutorial"&gt;RJS&lt;/a&gt;, 
	and &lt;a href="http://labs.live.com/volta/"&gt;Volta&lt;/a&gt;. 
	NHaml is almost in the same category but it does bring some nice things to the table and that&amp;#39;s why I&amp;#39;m not ready
	to dismiss it just yet. Just take a look at what our HTML looked like circa 1998 and what it is now with richer
	CSS and JavaScript.
&lt;/p&gt;

&lt;p&gt;
	As much as I can, I try to separate my (X)HTML from my CSS and my JavaScript. Sometimes it
	gets to the point that I wonder why I am using HTML to begin with &amp;mdash; it&amp;#39;s all data and 
	structure. I wonder how long until we have a WikiText or MarkDown view engines.
&lt;/p&gt;
&lt;p&gt;
	NHaml fits well for these kinds of well-separated HTML views. It does away (kind of) with the HTML tags and
	focus on the structure and meaning of each piece of information. Because it defines structure
	in a way that works well with CSS, it also works great with jQuery for our JavaScripts. It&amp;#39;s
	unobtrusive JavaScript heaven!
&lt;/p&gt;
&lt;p&gt;
	I think the key to learning NHaml is forgetting about HTML and its tags (or at least don&amp;#39;t focus on them). 
	Forget that the page ultimately rendered will be in HTML. For a moment just visualize the areas of the page
	as meaningful pieces of data: sidebar, lists, headings, article title, article body, 
	author name, navigation tabs, etc, not divs, tables, spans, fieldsets, etc.
&lt;/p&gt;

&lt;h3&gt;Less Noise More Content&lt;/h3&gt;
&lt;p&gt;
	The most obvious impression you get when looking at a NHaml template for the first time
	is how skinny it is compared to any tag-based template. Your eyes are used to look for
	angle brackets to help you understand the structure of the document, but in NHaml
	the indentation serves that purpose. 
&lt;/p&gt;
&lt;p&gt;
	Take a look at a common template to create a grid of products in ASPX.
&lt;/p&gt;
&lt;pre name="code" class="html"&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; 
   &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&amp;lt;html&amp;gt;
	&amp;lt;head&amp;gt;
		&amp;lt;title&amp;gt;&amp;lt;%= ViewData[&amp;quot;pagetitle&amp;quot;] %&amp;gt;&amp;lt;/title&amp;gt;
	&amp;lt;/head&amp;gt;
	&amp;lt;body&amp;gt;
		&amp;lt;h1&amp;gt;All Products&amp;lt;/h1&amp;gt;
		&amp;lt;table class=&amp;quot;grid&amp;quot; id=&amp;quot;products&amp;quot;&amp;gt;
			&amp;lt;tr&amp;gt;
				&amp;lt;th&amp;gt;ID&amp;lt;/th&amp;gt;
				&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
			&amp;lt;/tr&amp;gt;
			&amp;lt;% foreach(var prod in (IEnumerable&amp;lt;Product&amp;gt;)ViewData[&amp;quot;products&amp;quot;])  { %&amp;gt;
				&amp;lt;tr&amp;gt;
					&amp;lt;td&amp;gt;&amp;lt;%= prod.ID %&amp;gt;&amp;lt;/td&amp;gt;
					&amp;lt;td&amp;gt;&amp;lt;%=  prod.Name %&amp;gt;&amp;lt;/td&amp;gt;
				&amp;lt;/tr&amp;gt;
			&amp;lt;% }  %&amp;gt;
		&amp;lt;/table&amp;gt;
		&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Say Hi&amp;quot; onclick=&amp;quot;alert(&amp;#39;Hi&amp;#39;);&amp;quot; /&amp;gt;
	&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;

&lt;p&gt;
	Now take compare that to the NHaml version.
&lt;/p&gt;

&lt;pre name="code"&gt;
!!! XML
!!!
%html
  %head
    %title= ViewData[&amp;quot;pagetitle&amp;quot;] 
    %body
      %h1 All Products
        %table.grid#products
          %tr
            %th ID
            %th Name
          - foreach(var prod in (IEnumerable&amp;lt;Product&amp;gt;)ViewData[&amp;quot;products&amp;quot;])
          %tr
            %td= prod.ID
            %td= prod.Name
        %input{ type=&amp;quot;button&amp;quot;, value=&amp;quot;Say Hi&amp;quot;, onclick=&amp;quot;alert(&amp;#39;Hi&amp;#39;);&amp;quot;}/
&lt;/pre&gt;

&lt;h3&gt;Never Forget a Closing Tag Again&lt;/h3&gt;
&lt;p&gt;
	Having meaningful indentation brings the common advantage of needing to explicitly mark
	the end of a block, making that automatic. In other words, the closing tags are added
	at the right places for you. That&amp;#39;s something I value a lot.
&lt;/p&gt;

&lt;h3&gt;Identifiers and Selectors, Css-Friendly&lt;/h3&gt;
&lt;p&gt;
	By now, after looking at the above NHaml sample a few times, you probably
	noticed that the class and id attributes are set using
	a dot and a # sign, respectively.
&lt;/p&gt;
&lt;pre&gt;%table.grid#products&lt;/pre&gt;
&lt;/p&gt;
	Not by coincidence, that&amp;#39;s the same type of syntax you&amp;#39;ll find in CSS
	selector rules. Another plus for NHaml here, one less syntax to be memorized 
	&amp;mdash; or eventually mismatched.
&lt;/p&gt;

&lt;h3&gt;Server Side Code/Tokens Syntax&lt;/h3&gt;
&lt;p&gt;
	Server side statements are simply prefixed with a dash and a space. The code blocks
	are also delimited using indentation (notice the lack of curlies in the foreach loop.)
&lt;/p&gt;
&lt;pre&gt; - foreach(var prod in (IEnumerable&amp;lt;Product&amp;gt;)ViewData[&amp;quot;products&amp;quot;])
 %tr
   %td= prod.ID
   %td= prod.Name&lt;/pre&gt;
&lt;p&gt;
	I&amp;#39;m a little bit uneasy with this code formatting but, to be fair with NHaml,
	I haven&amp;#39;t played with that aspect of it enough yet.
&lt;/p&gt;

&lt;h3&gt;Let&amp;#39;s Throw jQuery in This Mixture&lt;/h3&gt;
&lt;p&gt;
	Oh, about those CSS selectors I mentioned above. That goes very well with
	jQuery as well since jQuery uses CSS selection rules as well. That&amp;#39;s one more
     reason NHaml can help you keep the HTML/CSS/JavaScript triad separated.
&lt;/p&gt;

&lt;h3&gt;More to come (hopefully)&lt;/h3&gt;
&lt;p&gt;
I plan to explore it a little more, especially with MVC in mind, and I&amp;#39;ll try to get to some conclusion in a later post.
&lt;/p&gt;
&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42823" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term=".NET" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/.NET/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /></entry><entry><title>Performing Code Katas</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/10/13/performing-code-katas.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/10/13/performing-code-katas.aspx</id><published>2008-10-14T02:21:00Z</published><updated>2008-10-14T02:21:00Z</updated><content type="html">
&lt;p&gt;
	I just came back from the first meeting of the &lt;a href="http://groups.softwarecraftsmanship.org/"&gt;Software Craftsmanship Group&lt;/a&gt;. 
	Tonight &lt;a href="http://blog.8thlight.com/articles/tag/micah"&gt;Micah Martin&lt;/a&gt; 
	talked about &lt;a href="http://www.codekata.com"&gt;Code Kata&lt;/a&gt; but added an 
	extra facet to it.
&lt;/p&gt;

&lt;p&gt;
	Micah proposes that, although practicing the Katas by yourself, in your spare time, 
	is valuable, 
	presenting your routine to an audience can deliver even more results. For the
	presenter there is the opportunity to gain feedback from the audience (peers,
	masters, even pupils.) For someone watching there&amp;#39;s the chance of seeing another
	peer (or even a master) in action and learn how other developers approach
	problems and construct their software. &lt;i&gt;By the way, it takes a non trivial 
	amount of courage to sit in front of an audience and write code, even if you 
	have practiced it several times beforehand.&lt;/i&gt; 
&lt;/p&gt;

&lt;p&gt;
	To demonstrate this concept, Micah created a Ruby program that implemented
	&lt;a href="http://en.wikipedia.org/wiki/Langton%27s_ant"&gt;Langton&amp;#39;s Ant&lt;/a&gt;.
	I&amp;#39;ll try to illustrate the results of this experience.
&lt;/p&gt;

&lt;h3&gt;The audience - me (and many others)&lt;/h3&gt;

&lt;p&gt;
	Once Micah explained what the problem was, he asked that we watched him code
	and be prepared to evaluate his performance (quality, smoothness, clarity, etc.)
&lt;/p&gt;
&lt;p&gt;
	Although I know a little bit of Ruby, I&amp;#39;m by no means a proficient Ruby developer yet. 
	Seeing someone that works with the language all the time in action would be interesting
	no matter what. But there was more in it for me. 
&lt;/p&gt;
&lt;p&gt;
	Micah, as a true BDD pratictioner, started by creating the specs with 
	&lt;a href="http://rspec.info/"&gt;RSpec&lt;/a&gt; and proceeded with the red/green/refactor
	iterations until he achieved a complete successful specification execution.
&lt;/p&gt;
&lt;p&gt;
	There&amp;#39;s nothing like seeing a technology at work to understand it better. Tonight&amp;#39;s
	performance contributed a lot for my BDD understanding.
&lt;/p&gt;

&lt;h3&gt;The presenter&lt;/h3&gt;

&lt;p&gt;
	After the presentation we had to rate it (0 to 10) and give some feedback. There&amp;#39;s
	where the other Ruby and BDD ninjas in the room could make educated comments about 
	Micah&amp;#39;s performance and average joes like myself could comment on less sophisticated
	issues like font size and keystrokes.
&lt;/p&gt;
&lt;p&gt;
	Judging by the constructive feedback, I&amp;#39;d imagine the presenter&amp;#39;s future 
	performances will be fine tuned and get better. On that note, the suggestion
	is that the presenter moves on to a different Kata for each performance. 
&lt;/p&gt;

&lt;h3&gt;Buncha&amp;#39; Links&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.codekata.com"&gt;Code Kata&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://rspec.info/"&gt;RSpec&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata"&gt;Uncle Bob on Kata&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.codingdojo.org"&gt;Coding Dojo&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Langton%27s_ant"&gt;Langton&amp;#39;s Ant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42665" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="Ruby" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Ruby/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry><entry><title>New Software Craftsmanship Group</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/10/02/new-software-craftsmanship-group.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/10/02/new-software-craftsmanship-group.aspx</id><published>2008-10-02T17:10:00Z</published><updated>2008-10-02T17:10:00Z</updated><content type="html">&lt;p&gt;It&amp;#39;s so rare to find interesting group meetings up here in Suburbia that I can&amp;#39;t pass the chance to attend new ones.&lt;/p&gt;
&lt;p&gt;As &lt;a href="http://blog.8thlight.com/articles/2008/10/02/software-craftsmanship-group"&gt;Micah Martin announced&lt;/a&gt;, the &lt;a href="http://groups.softwarecraftsmanship.org/"&gt;Software Craftsmanship Group&lt;/a&gt; was created and the first meeting happens soon.&lt;/p&gt;
&lt;p&gt;One of the topics for the evening will be Ruby &lt;a href="http://codekata.pragprog.com/"&gt;Kata&lt;/a&gt;. Should be fun.&lt;/a&gt;
&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42553" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="Ruby" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Ruby/default.aspx" /><category term="Announcement" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Announcement/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry><entry><title>Chicago ALT.NET - The aspects of AOP</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/10/01/chicago-alt-net-the-aspects-of-aop.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/10/01/chicago-alt-net-the-aspects-of-aop.aspx</id><published>2008-10-01T10:02:00Z</published><updated>2008-10-01T10:02:00Z</updated><content type="html">&lt;p&gt;
	The October 2008 meeting of out user group will be held next week, Wednesday the 8&lt;sup&gt;th&lt;/sup&gt;. The chosen topic
	for this month was &lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming"&gt;AOP&lt;/a&gt;.
&lt;/p&gt;

&lt;h3&gt;Core: An Aspect Oriented Business Objects Framework&lt;/h3&gt;

&lt;p&gt;
&lt;span style="font-size:x-small;"&gt;6:00 pm&lt;/span&gt; 
&lt;br /&gt;

	Pizza and networking time
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size:x-small;"&gt;6:30 pm&lt;/span&gt; 
&lt;br /&gt;

	Learn about aspect-oriented design patterns and how they can 
	be used to quickly add common functionality to your business 
	objects. &lt;a href="http://blogs.catalystss.com/blogs/josh_heyse/"&gt;Josh Heyse&lt;/a&gt; explains how &lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming"&gt;Aspect-Oriented Programming&lt;/a&gt; 
	allows for the separation
	of true business logic and the code written allowing interaction
	with user interfaces. The &lt;strong&gt;Core&lt;/strong&gt; framework is a generation model that
	dynamically adds common services, such as logging, auditing, persistence, 
	and security to business objects. Aspects, or behaviors, are requested 
	using attributes or configuration files which allows services to be 
	included only where necessary eliminating overly bloated objects and 
	tailored for the environment into which the object is loaded.

&lt;/p&gt;



&lt;p&gt;
&lt;span style="font-size:x-small;"&gt;7:45 pm&lt;/span&gt; 
&lt;br /&gt;
	You may want to stick around after the presentation portion of the meeting
	and take part in our monthly open discussion. The topic is never arranged in
	advance but it&amp;#39;s common that it reflects the content of the presentation.
&lt;/p&gt;



&lt;p style="text-aling:center;"&gt;
&lt;a href="http://altnetchicago.eventbrite.com"&gt;&lt;img src="http://www.eventbrite.com/static/images/button_ext/attend_this_event.gif" border="0" alt="" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42500" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="alt.net" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/alt.net/default.aspx" /><category term="Announcement" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Announcement/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry><entry><title>TIP - Disable full row selection in Vista's Explorer</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/09/30/tip-disable-full-row-selection-in-vista-s-explorer.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/09/30/tip-disable-full-row-selection-in-vista-s-explorer.aspx</id><published>2008-09-30T17:43:00Z</published><updated>2008-09-30T17:43:00Z</updated><content type="html">&lt;p&gt;
	 I&amp;#39;ve been
	using Vista since the official release (skipped the betas) and I&amp;#39;ve been trying to
	convince myself that some of the changes were made for the better. 
&lt;/p&gt;
&lt;p&gt; 
	In particular, I&amp;#39;ve made some effort to get used to the new file explorer but somethings
	have been harder to put up with. Anyway, little by little I &amp;quot;fix&amp;quot; some of the new features.
&lt;/p&gt;
&lt;p&gt;
	Today, I had it with the unnecessary full row selection. It makes right-clicking the directory listing background much harder. 
        The fix isn&amp;#39;t trivial. It involves setting a bunch of flags in the Explorer settings in the Registry. The good news
   is that  you can get it &lt;a href="http://home.mchsi.com/~k.miller79/Scripts/ClearFullRowSelect.zip"&gt;in a .vbs file&lt;/a&gt; 
   (I don&amp;#39;t recommend downloading and executing scripts 
   from the Internet, so open the file in a text editor and inspect what it does to make you feel comfortable with what it does).
   There are &lt;a href="http://home.mchsi.com/~k.miller79/"&gt;other handy utilities&lt;/a&gt;  there as well. 
&lt;/p&gt;
&lt;p&gt;
	Next up is changing the selected/hovered-over item&amp;#39;s background color in Explorer (Aero). That
	choice of blue is way to pale for me. I&amp;#39;ve read that it cannot be changed easily because it comes from
	a bitmap embedded in the theme itself.
&lt;/p&gt;
&lt;p&gt;
   By the way, I&amp;#39;m mainly using Windows Server 2008 with Aero turned on and the fix works there too.
&lt;/p&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42497" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term="Tips &amp;amp; Tricks" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Created with Community Server</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/09/25/created-with-community-server.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/09/25/created-with-community-server.aspx</id><published>2008-09-25T12:33:00Z</published><updated>2008-09-25T12:33:00Z</updated><content type="html">&lt;p&gt;
	Don&amp;#39;t you hate when tools try to promote themselves in your work, especially if you paid for them?
&lt;/p&gt;
&lt;p&gt;
	Last night I was noavigatin around in Reflector when I stoped by the embedded resource
	named &lt;em&gt;System.Data.Odbc.OdbcMetaData.xml&lt;/em&gt; (in System.Data.dll 2.0). What I saw
	was both familiar and a little aggravating.
&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;
&lt;span style="font-weight:bold;color:#a00;"&gt;&amp;lt;!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Carl Perry (Microsoft) --&amp;gt;&lt;/span&gt;
&amp;lt;NewDataSet&amp;gt;
    ... xml content here ...&lt;/em&gt;
&amp;lt;NewDataSet&amp;gt;
&lt;/pre&gt;

&lt;p&gt;
	In a way I also felt vindicated that MS is also a victim of this shameless, intrusive advertisement
	after inflicting it on many others as well (I&amp;#39;m talking to you ASP.NET HTTP Headers). 
	BTW, thank you Visual Studio webforms designer for getting rid of those Meta tags you once put in my pages.
&lt;/p&gt;
&lt;p&gt;
    What other big offenders are out there? Free tools need not apply.
&lt;/p&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42437" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term=".NET" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/.NET/default.aspx" /><category term="Tools" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Tools/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /></entry><entry><title>Video - ORM Discussion/Fishbowl</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/09/23/video-orm-discussion-fishbowl.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/09/23/video-orm-discussion-fishbowl.aspx</id><published>2008-09-23T17:11:00Z</published><updated>2008-09-23T17:11:00Z</updated><content type="html">&lt;p&gt;
After the &lt;a href="http://devlicio.us/blogs/sergio_pereira/archive/2008/09/23/video-ioc-with-structuremap.aspx"&gt;IoC talk&lt;/a&gt; we had the monthly discussion. This time we tried the &lt;a href="http://en.wikipedia.org/wiki/Fishbowl_(conversation)"&gt;fishbowl&lt;/a&gt; format (or some approximation of that). The topic was ORMs.
&lt;/p&gt;

&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="311" id="viddler_5348fd24"&gt;&lt;param name="movie" value="http://www.viddler.com/simple/5348fd24/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/simple/5348fd24/" width="437" height="311" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler_5348fd24"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42413" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term=".NET" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/.NET/default.aspx" /><category term="Tools" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Tools/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /><category term="alt.net" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/alt.net/default.aspx" /><category term="Video" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Video/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry><entry><title>Video - IoC with StructureMap</title><link rel="alternate" type="text/html" href="http://devlicious.com/blogs/sergio_pereira/archive/2008/09/23/video-ioc-with-structuremap.aspx" /><id>http://devlicious.com/blogs/sergio_pereira/archive/2008/09/23/video-ioc-with-structuremap.aspx</id><published>2008-09-23T11:47:00Z</published><updated>2008-09-23T11:47:00Z</updated><content type="html">&lt;p&gt;
I finally got some time to import and upload the videos of &lt;a href="http://devlicio.us/blogs/sergio_pereira/archive/2008/09/03/chicago-alt-net-ioc-containers.aspx"&gt;September&amp;#39;s Chicago ALT.NET meeting&lt;/a&gt; that happened almost 2 weeks ago. 
&lt;/p&gt;
&lt;p&gt;
In this first video &lt;a href="http://www.blogcoward.com"&gt;jdn&lt;/a&gt; shows how DI and IoC containers can be used to add flexibility to an application design.
&lt;/p&gt;


&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="348" id="viddler_a87bde94"&gt;&lt;param name="movie" value="http://www.viddler.com/simple/a87bde94/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/simple/a87bde94/" width="437" height="348" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler_a87bde94"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://devlicious.com/aggbug.aspx?PostID=42408" width="1" height="1"&gt;</content><author><name>sergiopereira</name><uri>http://devlicious.com/members/sergiopereira.aspx</uri></author><category term=".NET" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/.NET/default.aspx" /><category term="Tools" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Tools/default.aspx" /><category term="Development" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Development/default.aspx" /><category term="alt.net" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/alt.net/default.aspx" /><category term="Video" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Video/default.aspx" /><category term="Community" scheme="http://devlicious.com/blogs/sergio_pereira/archive/tags/Community/default.aspx" /></entry></feed>