Friday, January 28, 2005

Under duress, Brad Abrams recently posted a set of internal coding guidelines to his blog, meant mainly to be a "tie-breaker" in the holy war type arguments that result from seasoned developers who love their own coding styles. I'm a big fan of the work Brad and his team have done on the CLR and their focus on consistency in the API. And, even though there are one or two I don't care for, I'm a huge supporter/follower of the design guidelines.  That's why I was surprised at how many of the internal guidelines I disagreed with.  Roughly 50% of them made me recoil in horror.  Of course, now I understand why I don't like the Visual Studio defaults.  I won't get into which ones I like/dislike because that's not a productive area of discussion.

Now that I've had a couple of days to let them sink in, I realize why Brad was reluctant to share them.  I think they may cause more controversy than solve.  The big questions is how useful will these be in helping my team be more productive?  At this point, I don't think much.  I think we'll stick to the public API guidelines and use the somewhat informal guidelines our team has created for the internal stuff.

 

posted on Friday, January 28, 2005 1:37:33 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]
B-Dub

I never got a chance to wish a happy birthday to B-Dub.  His birthday is pretty close to mine and we usually hook up with he and Jan at some point for some dinner.  Somehow, we've neglected to do that yet, despite the fact that we live in the same city.  Maybe he should get an XBox and Halo 2, then those pesky few miles would become irrelevant.

Happy belated birthday, D-Dub.

Keep an eye on this space for a photo.  I've got the perfect one, but I don't have access to it at the moment.


posted on Friday, January 28, 2005 9:04:40 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]

I've had my performance hat on at work for the last couple of weeks, optimizing memory and CPU performance ahead of the deployment of a new system.  I've been pretty pleased with the improvements we've made.  We've got alot of in-process caching that increases speed incredibly, but has a hefty footprint.  We were able to get that down quite a bit with some pretty clever ideas.

One of the major pushes was to reduce references, especially boxed references.  That has proven a very effective strategy to reduce memory.  I wish I could just throw generics at the boxing problem, but we'll have to wait a while longer for that.  Another strategy was to take a close look at the data structures that hold the cached data.  I rolled my own AVL tree implementation for a date-based index of the cached data, and I was able to improve both the CPU performance and it's footprint substantially.

We also implemented what I've called a local string intern pool.  We've got alot of redundant string data, and we've used String.Intern in the past fairly successfully, but some analysis of our data revealed some local redundancy that we could use to reduce a 4-byte reference to a single byte that acts as an index into the local string pool.  This will also help keep our memory from bloating on the move to 64-bits when all the references in the system double in size.  (although at that point, we should have loads more memory to work with)  This as the added benefit of eliminating the need for string comparisons in running searches against the cache.

All in all, we were able to reduce the footprint of the cache by about 40%.  I thought someone googling for ways to reduce memory footprint and increase performance might benefit some from this information.  Oh, and so Google puts this in the right context, this is related to: ASP.NET, CLR, C#, DotNet.

posted on Friday, January 28, 2005 8:57:45 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]
 Tuesday, January 25, 2005

Well, the cat's out of the bag.  It's my birthday. (Not that I was trying to hide it).  I'm 29 today (0x1D for my fellow nerds).  It's been a pretty interesting year.  Thanks to everyone who's sent me birthday wishes in one form or another.

[UPDATE 5:28pm] I missed Peter's announcement because he upgraded to dasBlog 1.7 and it broke an outdated RSS feed link.  He claims to have been the first, but my dad announced it last Friday, although he also announced his anniversary almost 6 months early as well, so I'm not sure that should count.

posted on Tuesday, January 25, 2005 2:17:59 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]
 Tuesday, January 18, 2005

Well, I just completed the upgrade to dasBlog 1.7.  (dasBlog is the software that runs my blog) I've been pretty excited about it because it will address several woes I've been having, not the least of those being referral spam.  Omar, Scott, and a host of others deserve a big pat on the back for their contributions.  Thanks, guys. Check out Scott's announcement for more links and details on new features if you're interested...you're probably not.

The upgrade was complex since it attempts to do alot of fixing and cleaning of old data, but everything went fairly smoothly once I figured out I had accidently wiped out my custom theme in the move.  One nice side-effect is that my really old entries from when I was running BlogX are editable again.  Some hadn't even been viewable.  I immediately took the opportunity to clean up my categories which had gotten way out of hand.  I still have too many, but it's actually manageable now.  I'm looking forward to playing with the new features and seeing the performance improvements.  I'll probably be doing alot of upgrading of other blogs I manage tomorrow after I've had a chance to work any and all kinks out of the system.

posted on Tuesday, January 18, 2005 6:28:30 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Monday, January 17, 2005
davC
davC,
originally uploaded by emoemolay.
I went to my Flickr account and saw this picture of David Crowder in the public photostream. I'm not sure what the event was, but I thought it was really unusual to just randomly come across a picture of him taken by someone else. As usual, he's looking hilarious.
(posted from Flickr)
posted on Monday, January 17, 2005 2:23:11 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

I recently announced my dad's foray into the world of blogging.  Well, after some issues with MSN spaces, we've decided to abandon it in favor of a more controlled solution.

So, here's his new location, complete with fancy domain name, BellCountyBlogger.com.  I'm hosting his blog now using the same software I use.  We're still working the kinks out as of today, but he's already putting content up.

posted on Monday, January 17, 2005 8:19:39 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Thursday, January 13, 2005

I recently recommended MSN Spaces to my dad to start up a blog.  He got really excited about it and began posting his thoughts and photographs.  Today, we discovered that for people to leave comments, they must have a .NET passport.  Personally, I have nothing against passport.  I think it's great, but not everyone does.  There are lots of people scared to create a passport because they think there is some kind of privacy issue involved. I can see this as a defense against comment spam on the blogs, but to my dad, it's a barrier for his friends and family to join in the conversation.  We're looking into all the options, but I may recommend he look elsewhere for his blog hosting needs.

posted on Thursday, January 13, 2005 8:47:48 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]
 Wednesday, January 12, 2005

A colleague at work turned me on the Flickr the other day.  I had looked at it before, but didn't really get it.  Since my dad set up his MSN space, I've been jealous of the nice photo sharing integration, and I've been disappointed in my gallery software, nGallery.  Development seems to have stalled far short of the features I would like to have.  It does alot of cool stuff well, but it's organizational and social features leave much to be desired. (difficult to read comments, poor RSS support, etc.)

I went ahead and created a flickr account and uploaded a few of my best photos.  The organizational features are really cool, and it's got alot of social features, especially for other flickr users.  For those of you browsing on my actual site rather than RSS, you can see I'm playing with some integration with my site.  Speaking of RSS, flickr has deep RSS/Atom feed support.  For instance it's really easy to use the organization features of flickr to create an RSS feed of hamster pictures.  Here's my photostream RSS, although the Atom feed seems more streamlined and includes my buddy icon.

I think I'll keep my gallery around for some things.  I really like nGallery's features that let you order prints directly from the gallery.  But I'll probably let flickr be my artistic outlet.

posted on Wednesday, January 12, 2005 5:36:13 PM (Pacific Standard Time, UTC-08:00)  #    Comments [2]
 Tuesday, January 11, 2005

I recently mentioned in passing that while I was growing up I slept on my roof on occasion.  This was usually to have a good view of some some meteor shower, or catch a lunar eclipse.  Since I mentioned it, I've had several inquiries as to how I kept from falling off in the middle of the night.  So I decided to do a little write-up on how to sleep on the roof without killing yourself.

First, it's important to find the optimum sleeping bag.  You don't want one with that slick material on the outside, or it will slide down the roof.  The cloth kind will create a velcro effect with standard asphalt shingles and keep you on the roof.  It's also important to align yourself so your feet are aimed down the slope so you don't roll.  You may also want a sleeping bag with cloth on the inside as well so you don't slowly slide toward the bottom of the bag.  That way you won't have to wake up periodically and push yourself up back up to the top.

That's pretty much all there is to it.  Of course, different roofs will have different pitches and shingle types and some may be completely unsuitable for sleeping, so you'll have to use your judgement.

posted on Tuesday, January 11, 2005 7:37:05 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]
 Saturday, January 08, 2005

After months of prodding, I finally got my dad to start a blog.  I think MSN spaces will suit him well since he likes to take pictures and spaces has some nice photo integration.  I think it will end up being an interesting collection of family information, pictures of anything and everything, and hilarity.

Check out his inaugural post.  Hopefully, he'll like the format and continue.

[UDPATE] I've killed the old links above since he's got a new blog and his MSN Space is defunct.  Go to BellCountyBlogger.com instead.

posted on Saturday, January 08, 2005 10:06:30 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]