Friday, June 04, 2004
Alternate nerd radio

After I finished listening to all the dot net rocks, I ended up having to listen to *gasp* music during my commute.  Although I do love music, I really like the idea of having something more constructive on my commute since I have more then enough time to listen to music at work.  I saw JospehCooney blog about ITConverstations, and think it might be time to give it a try.

IT Converstations
New Ideas Through Your Headphones

Not focused on .net, but there still seems to be some very valuable content.  I will down a few episoides and give an update next week.

Admin | Code | Random


 Thursday, June 03, 2004
Working with CodeSmith for two days

I was part of a team that was tasked with CodeGen at work.  The intended goals were to gen as much as we could, staying within our coding standards, and utlizing as much of our common code as possible.  With these goals in mind, the research began.  After looking at a number of "turn key" gen tools (mostly O/R mappers), we realized that most, if not all of the turn key options required that we subscribe to their procedures.  This was not going to be sufficient since we had existing code and designs that we were looking to gen on top of.

So I started to look at CodeSmith as a possible option.  After putting together some prototypes of templates, I was pretty much able to get to the 50% mark on the entire CodeGen project in about 2 days.  After a few Aha! moments, I was cruising.  I still have quite a bit to do, but I have been amazed with how quick it was to learn, and how flexible it is. 

For example, we were in a position where we required some meta data to do some stuff in the gen.  CodeSmith doesn't have a native way to go and grab a value from an XML file that I could find, but it really didn't matter.  I simply created a code behind file with a wrapper around some XPath, and was grabbing values in about 15 minutes.  Fantastic.

I know CodeSmith is old news to alot of people, but if you haven't given it a try yet, your only hurting yourself.  Think of it as asp.net, but it will render code instead of html.  Very flexible and easy.  Thanks Eric for a fantastic product.

Check out CodeSmith here, and Eric's blog here.



Major Nelson's xbox blog

Here is a relativley new blog (about a week and a half old) from Major Nelson.  He is the Xbox live director of programming

I would love to see more xbox blogs, probably since I just got mine  :)  This is the only one I am subscribed to now, anyone have any others?



Ordered Coding Slave today

Put in my order for Coding Slave.  I am really looking forward to reading this.  If you haven't heard of it yet, check it out here.  The reviews have been very, very good.

 

Code | Random


Identity theft

Identity theft is something that I worry about more and more, and from what I read rightfully so.  I also have my own reservations about how the credit industry works.  Going through a martgage application process, I see how in many ways the credit system is there to serve the creditors, and not the consumer.  Those gripes will be for a later time, though.  Keith Brown blogs about identity theft, and some basic steps that you can take to help protect yourself.  I'm glad to see I'm not the only one that thinks 10$ a month is ridiculous for "protection".  The steps are all pretty basic, but it's good to see that we follow most of them in our household.

1 ) I do religiously. 
2) We don't have a locking mailbox (and can't in our complex), but all outbound mail goes directly to the post office. 
3 and 4) I am always leary giving out my ssn.  I will def adopt the practice of asking for a persons name.  Good suggestion.
5) We use the two hand method, but get the same results.  Will get a shredder soon.
6) I learned it by watching them.  Thanks  :)
7) Goats are loud, can I sacrafice a mouse instead?


 



 Wednesday, June 02, 2004
Manager for Internet Explorer plugins?

Yesterday I was sitting in codesmith reviewing some samples, and out of no where I had a systray dialog about upgrading my Macromedia flash.  Although I appreciate Macromedia's interest in keeping me up to date, I immedieatly started looking for this rouge set of code looking for new versions.  Process explorer showed nothing even related to macromedia, so I put it to bed for the day.

Now today I am looking through more codesmith stuff online (yes, I was tasked with code gen  :)  and it occured to me the route code must be right in IE.  I started to look around my IE and I find all kinds of stuff that isn't microsoft's (partypoker, adobe, rssbandit, even sun).  So I start to think about how IE could be doing all kinds of stuff in the background that I don't even know, since I really don't have a handle on the plugin's in IE. 

A quick search turned up nothing that addresses this.  Has anyone seen an app that lets you see everything IE is loading, and maybe even disable those plugins?  Something like msconfig for IE?  If not, anyone else see the need for an app like this?

UPDATE

Robert W. McLaws mentioned xp sp2 in the comments, took a look, and there it is.  Exactly what I was looking for.  Heres some screenshots.


Admin | Code


Dot net rocks teched

As you may know, I am a big fan of .net rocksCarl and Rory released the new dnr from teched, and well this may just be one of the best episodes yet.  I have been reading the blogs throughout teched and am very excited about all the new things, but reading the blogs doesn't compare to listening to the interviews.  You may not get the depth of info in the mini interviews, but it really makes you feel more connected to the conference by hearing some of the converstations.   I really enjoed the cabana talk with Bob Resleman, and now I really wish I had made it to the local thing Rory had with Bob when he was in town.  If you don't listen to .net rocks, do it, now, what are you waiting for?  If you do, make sure to catch this epsiode

Oh, and I can hardly contain myself waiting for the movie  :)

 

Code | Random


New ccnet released

New version of cruisecontrol.net was released yesterday.  (0.6.1)

Download Here
Release Notes Here



 Tuesday, June 01, 2004
Games games games

Over the long weekend I got to play some games, and relax.  For those that play poker online, I wanted to find out where you play.  I have typically played at partypoker, but SS told me about truepoker, so I gave it a shot.  Truepoker is def worth the download.  I really like the view when your playing, and the fact you can see when others are looking at their cards.  The tourney's are all very big, though, so I can only imagine how long they take.  Make some single table tourney's, and I may ditch partypoker all together. 

Also spent time with ssx3 and top spin.  Man top spin is a fantastic game.



 Wednesday, May 26, 2004
Download lots and lots of technet content

Barry Gervin posted a link to download a bunch of technet content.  I count 154 files filled with what looks like some killer hidden gems.  Check it out here.

Admin | Code


 Tuesday, May 25, 2004
Nant for biztalk

This is something we have known we would need to look into, but have been pushing it off for now.  Looks like we may have pushed it off just enough.  Here, Scott Colestock speaks to using nant with biztalk. 



ccnet not catching Nant.Core.BuildExceptions , xsl change to catch

Last night a developer added a lib to the project and accidentilly checked it in.  Of course there was no dll on the build machine, and the build failed.  I looked at the ccnet email and site, and saw the build failed, but no details.  I started to comb through the xml file, and relaized that compile.xsl was not catching anything in the <builderror><message>, just what was in <buildresults><message> where the word error or warning appears (' error', and ' warning' in my edited xsl). 

I made a simple change to the xsl and now we are displaying these errors too.  Change is below.  I think ccnet needs a central place to handle xsl's, though, since every change I make to the xsl needs to be made in 4 places at this point  :)

<xsl:variable name="error.messages" select="(/cruisecontrol//buildresults//message[(contains(text(), ' error') and not (contains(text(), '0 error')))]) | (//builderror//message) " />



Test from new VisualBlogger

Welp, unarchived my new visualblogger into a new directory (versioned .net programs folder) and it found my old config.  I'm assuming settings are stored in isolated storage.  Post from the new beta to see if I can edit the post.  I was wrong, though, I am setup as DotText95 not DotTextSimple.

update : works with the new version setup a dottextsimple



New visual blogger

There is a new visual blogger beta out.  I'm posting this with the previous version, but that'll change quickly  :)  Check it out here.



nant ccnet BoF at teched and some ccnet files

Peter Provost posts some info about a BoF he hopes to have at Teched, and some sample build info.  Wish I was there, I would def attend.  If you follow my blog at all, you would know I'm often neck deep in out build process.

After reviewing Peter's script a little bit, there are a few things I really like about it.  I really like how almost everything is in a property.  I tried that in my initial build scripts, but as I moved on and on found myself moving away from it as the build files got more complex.  Unfortunatley I conceded to the complexity, but would like to go back through and utilize some of these ideas. 

We actually use an FxCop file at this point, which I would like to move away from.  The main reason we use those now is since we have some custom rules that replace some in the box ones, although I'm sure there is a way to represent that on the commandline. 

I don't think I quite get the ccnet bootstrapper yet, but am going to look at that more tonight.  I'm really glad to see these products getting more attention though, they are a really nice set of tools.  Everyone also keep your eyes open, I have an article on a complete build system with a complete end to end sample on the editors desk, so it should hopefully be published soon.  Maybe I'll write and release a followup here implementing some stuff from Peter.



 Monday, May 24, 2004
FxCop, Introspection, and a custom fxcop rule

After using FxCop to analyze some assemblies, it became quite apparent the value FxCop provides.  Thanks to FxCop, our upcoming code reviews will be focusing on reviewing code, not coding standards.

After we all started cleaning our respective sections, though, we started to find some of the default rules that just we're not right for us.  Without thinking, or really knowing what was entailed in making a new rule, I volunteered to get our new rule implemented.  I knew FxCop was expandable, but didn't know how.

After a bit of research, I found FxCop uses 2 engines for it's analysis.  Reflection, and Introspection.  Introspection?  What’s that?  Here is a good 5 cent overview of reflection and introspection from .NET Undocumented.

So the search was on for a way to implement this new undocumented introspection.  Exciting stuff.  The first link I found was this article by the BugSlayer.  Excellent article that covered everything I wanted to know, and more.  The next thing I found was 1 post on the GDN forums that provided a complete, almost working base rule.  After playing with that, and some help from the author, I got it to work, and posted my results to the forum.

So now we have a couple custom rules, and will be adding more.  The links here should help anyone in search of the same. 

 



You thought you knew about small form factor

All I gotta say is wow.  I need one of these.  Although reading blogs while driving, well, you get the idea...

In dash complete P3



Visual Blogger Issue?

I may have found some sort of issue with either .Text or visual blogger.  I will have to look into it a bit more.

When I create posts via the .text admin site, I never ever have a problem.  It seems like, though, about every other post I create with VisualBlogger causes an "object reference not set to an instance of an object" .Text error when I go to edit the post in .Text. 

Anyone else seen this?