Geeks With Blogs
Mike Nichols - SonOfNun Technology If I were the captain on a big steamboat... July 2006 Entries
ANOTHER Model View Presenter (MVP) Article worth checking out
Great article on the MVP pattern with clear source code and TDD all the way. Check it out at here. I'll be collecting all these resources on this pattern in one blog soon. I am in the process of digging deep into this one to escape the ASP.NET databinding kiss of death :) MIKE

Posted On Thursday, July 27, 2006 4:25 PM

Model View Presenter article
Article on Code Project here has some good things to consider when using the MVP pattern. As an aside he has a similar pattern I had in my blog on abstracting away the Session from the ASP.NET Session object here (except he has a better explanation of it). THis pattern works great.

Posted On Thursday, July 27, 2006 10:53 AM

Nifty Cube and ASP.NET 2.0 MasterPages: Think Round
Earlier I mentioned NIftyCube as a tool for creating rounded html element corners. Nifty attaches its function to the window.load event and provides a way of grabbing a Nifty delegate if you don't want to explicitly attach to the event. So the head of the page would have something like this: NiftyLoad=function(){Nifty(... Nifty("div.nestedContent","... Nifty("div.nestedMenu","big"); Nifty("ul#nav a","big transparent top"); } The Nifty javascript is smart enough to snatch this ......

Posted On Thursday, July 27, 2006 10:07 AM

Nifty Cube and Rounded HTML Element Corners
There are tons of different ways to get rounded corners on HTML elements using CSS, all of which require employing various image snippets. These are effective, but I found a nifty little resource called (what else?) Nifty Cube. Allesandro has put together and impressive, simple, cross-browser compatible (for now) way to create rounded effects on html elements with a tiny javascript and CSS. The files required are only 12 kb total and are so easy to use, they are worth looking at. He has great documentation ......

Posted On Thursday, July 27, 2006 5:53 AM

Page Design Resource Query
Since I exist as a Lone Ranger Developer, I am required to wear ALL hats in the lifecycle of application development. I have a ton of great resources pertaining to architecture, coding minutae, and so on. I have a ton of favorite places and sites to learn bits and pieces about page design, too. But that is the problem...bits and pieces are the way I end up arriving at pages that look slick and professional. WHen I'm done they look great, but I want to apply the same disciplines to page design that ......

Posted On Thursday, July 27, 2006 4:19 AM

Copy Source Code as HTML
Trying out this new tool...I always wondered how folks copy their code so pretty in their blogs...: 51 private IEnumerable ParsePeriod() 52 { 53 int startIndex = IsWeekOne ? 0 : 7; 54 PayrollPeriodDTO period = HrService.GetPayrollPeriod(... 55 for (int i = 0; i < 7; i++) 56 { 57 double factor = Convert.ToDouble(i + startIndex); 58 yield return period.StartDateTime.AddDay... 59 } 60 } ......

Posted On Monday, July 24, 2006 8:50 AM

Code Documentation compiler
According to this post, MS is rolling out a CTP of their own documentation compiler fo C#, code named Sandcastle (let's hope it is tested better than sandcastles).

Posted On Thursday, July 20, 2006 7:44 PM

Nullable AhA!'s
Say you have a property like this: private int? _startOdometer; public int? StartOdometer { get { if (_startOdometer.HasValue) { return _startOdometer.Value; } return null; } set { _startOdometer = value; } } When you try to do the following what will the value of _startOdometer be? myObject.StartOdometer += myIntegerValue; ANSWER: NULL In order to do this kind of operator on a nullable int (or any other nullable value), you have to do: myObject.StartOdometer = myObject.GetDefaultValueOrV... + ......

Posted On Thursday, July 20, 2006 12:46 PM

Interesting Ruby for ASP.NET
Just came across this ... can't wait to dig in and see what he put together.
If you're learning Ruby like I am and am doing .NET by daytime , it looks worth checking out...

Posted On Thursday, July 20, 2006 12:16 PM

I just registered the copyright for the class, method and property/field named "Foo". Please no longer use this class or method in any examples or other code you may be writing. I was going to copyright "Bar", but Michael Jackson already owned it. Also, similar names like "Goo", "Boo", or "Moo" are violations of the copyright because they clearly might be confused with "Foo". I am hoping Microsoft will contact me shortly to purchase the rights to use this in their examples ......

Posted On Thursday, July 20, 2006 6:51 AM

Line breaks and cross-platform weirdness
I'll throw this out on the TextDrive wiki and also (maybe) Ruby's wiki...though it is already there probably: Since I have led my sheltered life developing with only Microsoft products on Microsoft platforms, learning Ruby on Rails has taught me tons with all the little bumps along the way. I easily built my website in RoR (in 1/10th the time it would have taken in ASP.NET...and it was free) and then deployed my files to my host, TextDrive. Since I like to make things difficult, I used the SaltedLoginHashGenerator ......

Posted On Thursday, July 20, 2006 3:42 AM

Discriminators in NHIbernate
I had just wrestled with dealing with an NHibernate exception that was beyond useless since I KNEW that my mappings were good . I had used Nhibernates's hbm2ddl tool to generate schema for some tables. The output for one of my tables was as follows: create table eMerge.dbo.MaterialTest (Id INT IDENTITY NOT NULL, TypeCode NVARCHAR(255) not null, Name NVARCHAR(255) null, Description NVARCHAR(255) null, MaterialTestAgencyId INT null, primary key (Id)) c If the TypeCode field is used for my discriminator ......

Posted On Wednesday, July 19, 2006 9:05 AM

Happy Fourth!
Happy Independence Day everyone! And to all the vets and military folks out there, thanks so much for the freedom you are preserving and the sacrifice you make. MIKE

Posted On Tuesday, July 4, 2006 8:09 AM

Copyright © Mike Nichols | Powered by: