Friday, February 27, 2009

New Blog Skin!

Yes once again I have changed the skin of my blog. This time to something a lot more practical for what I am doing with the blog. This for those that do not know is Cogitation, a Subtext skin. But it’s widely used by technical writers and bloggers. It’s supports a lot of text and a flowing layout that is quite good, and though I hate using a cookie cutter template my old template was not as good as I would have liked. So here I am I’ll probably modify it to give it my own little flare, but till then enjoy the layout and the content to follow.

Thursday, February 26, 2009

Question Mark is a Nullable Type

One of the questions I keep seeing is what is int? or DatTime? and the like?

Well in .NET 2.0 the Nullable Type was introduced and that is what those type declarations mean. So what is a Nullable type?

 

Nullable types have the following characteristics:

  • Nullable types represent value-type variables that can be assigned the value of null. You cannot create a nullable type based on a reference type. (Reference types already support the null value.)

  • The syntax T? is shorthand for Nullable<(Of <(T>)>), where T is a value type. The two forms are interchangeable.

  • Assign a value to a nullable type just as you would for an ordinary value type, for example int? x = 10; or double? d = 4.108. However, a nullable type can also be assigned the value null: int? x = null.

  • Use the Nullable<(Of <(T>)>)..::.GetValueOrDefault method to return either the assigned value, or the default value for the underlying type if the value is null, for example int j = x.GetValueOrDefault();

  • Use the HasValue and Value read-only properties to test for null and retrieve the value, for example if(x.HasValue) j = x.Value;

    • The HasValue property returns true if the variable contains a value, or false if it is null.

    • The Value property returns a value if one is assigned. Otherwise, a System..::.InvalidOperationException is thrown.

    • The default value for HasValue is false. The Value property has no default value.

    • You can also use the == and != operators with a nullable type, for example, if (x != null) y = x;

  • Use the ?? operator to assign a default value that will be applied when a nullable type whose current value is null is assigned to a non-nullable type, for example int? x = null; int y = x ?? -1;

  • Nested nullable types are not allowed. The following line will not compile: Nullable<Nullable<int>> n;

 

Thats about all of it. More information can be found on MSDN

Wednesday, February 18, 2009

Blogging: Style or Content, how will you be judged?

So I spend a lot of time thinking about my blog and wondering,”Should I blog more?” And that leads me to thinking about  the style of my blog. My current style aka theme works well for my needs though there are a few quirks with it, yup look for a future redesign. But what’s more important the style or the content. Can you have poor content but such good style that the users come back and stare thinking, “It’s so beautiful!” with a little drool rolling down their chin? Can that get you through? I don’t honestly know.

 

I do notice however that among the software engineers and coders, or as I called them back in the old days, computer programmers, there seems to be a very broad scope of style and content. Some blogs have great style and great content, these are clearly the winners and will be judge mercifully by the robotic masters, they are among us now. Some have horrible style, and call themselves minimalistic blogs, I call them lazy blogs. I think if your a programmer talking about the subject of web development or whatever you should have a blog that at least puts on a bit of a show for the readers. But that aside, the content is very good Martin Fowlers blog is a good example of this. I went to his blog looked and chuckled at how sad it looked, but the content is solid, also he calls it a bliki.

 

But I wonder again for those that are not familiar with his work, would they just surf away to a new blog without looking? Anyhow I have compiled a list of some of the top programmer blogs out there. So you can look for yourself. All of these have great content, some have great style, and some if not most have both. Where do you stack up?

 

  1. Joel on Software (Joel Spolsky)
  2. Coding Horror (Jeff Atwood)
  3. Seth's Blog (Seth Godin)
  4. Paul Graham: Essays (Paul Graham)
  5. blog.pmarca.com (Marc Andreessen)
  6. Rough Type (Nicholas Carr)
  7. Scott Hanselman's Computer Zen (Scott Hanselman)
  8. Martin Fowler's Bliki (Martin Fowler)
  9. Rands in Repose (Michael Lopp)
  10. Stevey's Blog Rants (Steve Yegge)

 

Enjoy!

Tuesday, February 3, 2009

Infragistics Quince: UX Patterns Explorer

If your into patterns like I am you will most likely love this.

 

Half the problems with patterns is trying to figure out what ones you need, what ones you want, and how they all fit together. From an application architecture stand point this usually involves lots of reading and developing a large knowledge base that honestly can set your brain to overload. That is why I think the UX patterns explorer is a great tool. Being able to have a slick UI that makes for a great UX, I mean come on if your going to make a UX patterns explorer it better look cool and give a great UX, right! It gives an easy way to identify what your looking to do and then presents you with the pattern and practical examples of implementation.  I mean that’s great. So I tip my virtual hat at the Infagistics guys.

 

 image

 

If your inclined I would recommend giving it a look.

ASP.NET MVC RC Refresh

While there is much to be excited about in MVC RC1, there were two changes introduced in the RC that broke some scenarios which previously worked in the Beta.

 

So they have just released the MVC RC Refresh to address these bugs. You can read more about it over at Haacked but the important thing the bug fixes are starting to roll out. You really have to appreciate the response times of the team.