Search

Archives

Categories

blog swap (16) books [non-technology] (4) books [technology] (2) code [.net] (10) code [t-sql] (3) code [vbscript] (2) coding (21) dogs (4) funnies (31) links (7) microsoft (100) one liners (19) parenthood (16) ramblings (114) sports (9) technology (68) testing (2) video games (24) workplace (1)

Subscribe

Email or RSS 1.0, RSS 2.0 & Atom

Ignore

growled on Saturday, April 30, 2005 3:46:42 AM (Pacific Standard Time, UTC-08:00)
barked at ramblings

It's been a really busy week for me trying to catch up after being out for 3 days at training last week.  I'm knee deep back into ASP.NET and also learning how to design a SQL database from scratch.  Damn, it's a hell of a lot different from just supporting an existing database!  Props to Emery for giving me a lot of help and advice (and putting up with me when I just forgot to declare a stupid object!).

Anyway, I did take the time to make up a few South Park caricatures though...

Here's me on vacation in Maui last month...

 

Here I am in my typical work attire (updated: added the couch background since I have one in my office)...

 

And my personal fav, me as the code warrior...

Create your own here.  Pretty good time burner!

~tod

growled on Wednesday, April 27, 2005 1:49:28 PM (Pacific Standard Time, UTC-08:00)
barked at ramblings

The series, 24...give me a break (as John Stossel would say)!

I thoroughly enjoyed the first season.  I rented it on DVD and would watch 4 or 5 episodes a night because I couldn't wait to see what happened next!  It was freakin awesome!

Then along came season 2 on DVD and I rented it...trying to contain my excitement as I put the disc into the player.  What would happen to Jack this time?  Who will be the bad guys?  Will he get over his wife's murder?  Where's Nina this time?  Will Kim do something useful this time or just look pretty?  And then I watched it...wait a minute, haven't I seen this plot before?  The season wasn't too bad, but moved from a must-watch show to a nice-to-watch. <shrug>

Then along came season 3.  Hmm, doesn't this plot look the same?  Didn't Jack do that the last 2 seasons?  Needless to say, I watched the first 8 or 9 episodes then just let the rest of the season pile up on my ReplayTV.  That is until I needed the space and deleted them...

And now we're at season 4.  Still longing for the nostalgia of season 1 and liking Keifer Sutherland as an actor I gave it a shot.  For 2 episodes.  That's it.  No more.  I hoped that a brand new cast might bring new life to the series, but alas my hopes were dashed!  Only a drunk rhinocerous could enjoy this drivel.

Anyway, if you're familiar with the series here's a pretty funny/interesting/sarcastic synopsis by Dave Barry of the 4th season.  Some funny stuff in there if you are (or were) a fan of the show...  =)

~tod

growled on Saturday, April 23, 2005 7:48:46 PM (Pacific Standard Time, UTC-08:00)
barked at microsoft

Vic Gundotra, Scoble's boss' boss, writes a post titled "In defense of the company I love" in his very new blog.  In short, it's his response to the attacks on Microsoft for taking a neutral stance on recent Washington state legislation regarding anti-discrimination in the workplace.  I think it nicely sums up how a lot of employees feel about working at/for Microsoft.  It's well worth the read...

With regard to my own feelings on the subject matter, well I think diversity is extremely important and I sincerely appreciate the culturally diverse atmosphere that Microsoft has allowed to flourish within our company.  Personally, I support the legislation, but per a recent internal email from Steve Ballmer explaining the why the company's stance is neutral I can now understand why the corporate decision was made. 

Scoble is even asking HR if he can post the email to clarify for everyone else out there!  I'm 100% behind him on this one!

Update 4.24.2005 - HR told Scoble it was ok to post SteveB's letter to employees.  Oh, and Robert responds to it.

More Updates 4.24.2005 - Vic Gundotra responds to Scoble's response...how far will this go?  In all honesty, this is one of the reason's I love working at Microsoft.  How many other companies will have raw, uncensored public debates such as this?  Not too damn many!

~tod

growled on Friday, April 22, 2005 4:15:06 PM (Pacific Standard Time, UTC-08:00)
barked at coding

As I said in a previous post, I spent the past 3 days in class with Kimberly Tripp (from SQLSkills.com) teaching us performance tuning & optimization for SQL 2000.  Here are some of the key points I took away from the class.  This list is an abridged version of my notes and far from encompassing all of the topics.  If you ever get the opportunity to take a SQL class from Kimberly I highly recommend you do so!

 

Key Take-Aways:

  1. Do NOT use "Select *" queries!
    1. This tells the query optimizer to not even bother using any of the indexes and goes straight to a table scan to gather the information.
    2. Use "narrow" queries (fewer select columns) wherever possible to give the optimizer more options!
  2. Use stored procedures whenever possible and reduce ad-hoc query usage!
    1. This way you can control the dataset being queried and returned which allows you to tune your indexes accordingly.
    2. Also allows for better security:
      1. Give INSERT, DELETE, UPDATE access to the stored proc instead of to individuals.
      2. Require an input parameter(s) for the SPs so that only a specific row/column can be UPDATED or DELETED preventing accidents that might occur in ad-hoc queries.
  3. Do NOT name stored procedures to start with "sp_" because that is a special identifier used by SQL to denote System Procedures.  When a SP starting with "sp_" is called SQL looks for it in the Master database first instead of the current database which causes a hit to performance.
  4. Indexes - Use fewer, wider indexes tuned to your biggest queries (SPs) instead of many, narrow indexes.
    1. By adding non-clustered indexes with a few columns that are used extensively by SPs/queries you can significantly reduce the time for the queries.
    2. Narrow indexes must still hit the clustered index or a table scan in order to reference additional columns.
    3. Example:  For a query on Customer Fname & Lname you can create a NC-index on Fname & Lname instead of a NC-index on only Fname.
  5. Non-Clustered indexes are always sorted by the order of the columns from left-to-right and in ascending order.
    1. Keep this in mind if you have SPs that query for each of the two columns, but in different orders (i.e.: Fname & Lname).
  6. Use the Index Tuning Wizard (ITW) for suggested index improvements after you create indexes on your PKs, FKs, UKs and for your large/frequently used SPs.
  7. Create and tune your NC indexes for your expensive and frequently used SPs/queries. 
  8. Regular index maintenance is a must (defrag & rebuild)!
    1. Use DBCC SHOW_STATISTICS (tablename, indexname) to find out the current state of the index and the last time it was rebuilt.
  9. Do NOT use Simple Recovery!
    1. ...unless you don't care about losing data since your last full backup! 
    2. Use Full Recovery with transaction log backups to retain all current data.
    3. If disk space is an issue then set the transaction log backups to only be retained for a specified period of time then deleted.
  10. Rebuild tables when they become highly fragmented or have low scan density (lots of empty space on leaf pages).
    1. Use DBCC SHOWCONTIG (tablename) to find out this information.
    2. To do this programatically you can use DBCC SHOWCONTIG (tablename) WITH TABLERESULTS to put the scan results into a table for further processing.
 
growled on Thursday, April 21, 2005 3:21:22 PM (Pacific Standard Time, UTC-08:00)
barked at microsoft

The MSN Toolbar is going to bring us tabbed browsing in IE (version 6)!  This totally and absolutely rocks!  No doubt about it! 

From neowin.net:

You heard it here folks, MSN is currently developing a next generation version of their popular MSN Toolbar Suite that we exclusively revealed last November.

The updated version will include an implementation of tabbed browsing allowing users of IE6 without Windows XP SP2 (& IE7) to benefit from tabbed browsing in Internet Explorer. Internet Explorer 7 is set to debut in beta form this summer with various improvements including tabbed browsing, inbuilt MSN search and an RSS aggregator, however, IE7 will only be made available for customers using Windows XP with SP2.

It's not year clear when the new toolbar will be available and at time of writing an MSN Spokesperson said the following:

Since the launch of the beta in December, we are thrilled with the strong consumer interest we have seen. We continue to receive constructive feedback both from consumers and internet enthusiasts, which will help us deliver an industry-leading final product. Feedback topics range from accuracy of search results to suggestions on possible new features. We will continue to incorporate the consumer feedback we receive and we hope to ship the final product in the next few months. We are getting great feedback from beta customers, and continue to improve the product, and are committed to shipping a great solution for consumers when it is ready

And a screenshot for you:

I'll say it again, this absolutely rocks!  =)

~tod

growled on Thursday, April 21, 2005 3:07:20 PM (Pacific Standard Time, UTC-08:00)
barked at technology

Since I use IE (along with >90% of people browsing the internet) and am interested in it's developments and features both as a user and a Microsoft employee I subscribe to the IEBlog in my RSS reader.  It's a pretty low volume blog that the IE team uses to discuss new & old features, browser security issues/vulnerabilities and just about anything related to IE.

Today, Eric Lawrence posts about a security related issue...how Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are implemented by developers in internet applications and how a secure connection can easily be confused with a safe connection.  It's a quick read and contains some valuable warnings.

~tod

growled on Thursday, April 21, 2005 1:49:59 PM (Pacific Standard Time, UTC-08:00)
barked at technology

Now this is pretty damn cool.  I checked my stats this morning when I got to work...not that I'm counting the # of hits or anything (over 500 this week alone!).  :) 

I noticed this link:  http://translate.google.com/translate?hl=es&sl=en&u=http://spaces.msn.com/members/justanotherse/&prev=/search?q=ip+msn+spaces&hl=es&lr=

It made me go "hmmm, what's that?"  So I clicked the link and there it was, my Space in Spanish (I think).  I know it's a Spanish/Latin based language.  Now that's pretty damn cool!

~tod

growled on Wednesday, April 20, 2005 3:05:50 PM (Pacific Standard Time, UTC-08:00)
barked at coding

I'm in a SQL Performance Tuning and Optimization class for the next few days put on by Kimberly Tripp with SQL Skills.  Yesterday was the first of 3 and I am quite impressed.  Kimberly is a well known SQL presenter/trainer at Microsoft.  I have several co-workers who have taken her courses in the past and highly recommend them.  So far I have to agree.  Perhaps I'll post some of my take-aways when it's through...

~tod

growled on Wednesday, April 20, 2005 1:22:39 AM (Pacific Standard Time, UTC-08:00)
barked at technology

If you blog about work, then read this.  It is a very well thought out dissertation on the currently hot topic of blogging about your work and the employee's responsibilities along with the employer's expectations.  Yes, it's written by a Rambling Librarian in Singapore (not my usual reading material), but it was enough to make me subscribe to his site in my RSS reader to see what else he has to say.

A few things from his post:

"It reinforced my view that while Blogging Guidelines for employees are important, common sense and respect are more critical"  ...I agree completely.  Although not so common as we all would like, common sense and respect should be first and foremost on your list when your discussing your work and employer.

"Like it or not, as employees, we have to follow the rules set by the organisation. Either we follow those rules, or we leave the organisation."  ...Again, I agree completely.  Especially in Washington, US where we are an 'at-will' employment state. 

"In the long run, we're all better off NOT being anonymous when we blog."  ...When I first started this Space (ok, it's really a blog, but I'll play by MSN rules) I had an internal struggle about whether or not to make it anonymous, but finally decided that (in my opinion) anonymity would breed distrust in most readers and reduces personal accountability (like mini-microsoft, whom I agree with sometimes).

Anyway, give his post a read...it's well worth the five minutes.
 
growled on Monday, April 18, 2005 1:47:38 PM (Pacific Standard Time, UTC-08:00)
barked at microsoft

In my Bio/Guestbook entry I invite people to ask questions and I'm finally getting around to answering one...the only one I might add.  :)  The catalyst for this wasn't a sense of guilt or responsibility about meeting the expectations I've set, but rather a post from Josh Ledgard that I read last night.  It's titled, "The Effects of an Angry Customer E-Mail Regarding the Forums," and sparked a thought process inside my mind, which doesn't happen all too frequently so I kind of stood up and took notice.  In short, Josh relates an angry email he receives about MSDN's new forum (which I think looks pretty damn good) and how it really affected him.

Now, back to the question in my GuestbookDaveeelyyy states "Always did wonder what softies think of the never ending supply of negative criticism that they receive over product, ship dates, etc?"

Here's my take on it...

First off, I have always worked in operations, not a product group, so I don't really have a personal bond or tie to any specific product we develop.  Having said that I think that criticism is a good thing.  Without it we wouldn't know what features people like/dislike, what new features people need/want, what UI designs do more harm than good, what features people rarely use, but really need every so often and so on and so on...  Criticism can help drive a product down certain roads (read ShaykatC's blog for some insight on this issue and C#), although it may only change the width of the shoulder and not the direction.  How's that for an analogy.  ;-)  Now, as I see it, there are two cruxes that get in the way of making criticism constructive...

Crux # 1 - MSFT.  People who work intimately developing a product for months and years become personally attached to it.  They've invested thousands of hours into making the best product they possibly can and have gone through several cycles of gathering requirements, developing, and testing.  I think it's only natural for them to be a little defensive or protective when someone comes along and says "WTF were you thinking when you did X because it's the stupidest thing I've ever seen."  I see this all the time on an internal DL for VBScript where one of the original developers is constantly answering questions about why this was done or why that wasn't implemented.

Crux # 2 - Consumers.  People who use the products and provide some of the loudest criticisms become personally attached to it (yes, I just said the same thing about MS).  They've invested hundreds and perhaps thousands of hours into learning the intricacies of how to use a product and often in very specific ways.  Let's face it, most of us are creatures of habit and once we learn how to do something we don't care to learn another way.  When new versions are released and changes are made it's not always possible to retain 100% backwards compatibility so cuts have to be made.  This is obviously going to be a pain point for current users.  There are many other ways that consumers become personally attached to the products they use (that we develop) and I think that's the root of the conflict.

I think we all need to do one thing and that is to assume positive intent.  Now, before you go off on me saying this isn't Leave it to Beaver where we all tell the truth and bake homemade cherry pies every afternoon, let me finish my thought.  Microsoft doesn't set out to make a crappy product (did anyone actually use ME longer than they had too?).  We try to make the best damn products we can!  If angry consumers would assume our positive intent to provide them with quality products then perhaps they could provide more constructive criticism instead of angry finger-pointing.  But alas, it goes both ways!  Consumers (well, most anyway) don't want to be angry with us, they just want their software to run and they get upset when it doesn't.  That's just human nature.  That's where we need to assume positive intent on behalf of the consumer.  We need to remember that they're not yelling at us because they want to make us angry, they're yelling at us to fix something they don't know how too.

There's my take on it, in a nutshell!  =)

~tod

growled on Saturday, April 16, 2005 7:06:35 PM (Pacific Standard Time, UTC-08:00)
barked at technology

Well, I signed up for the BlogMap that Chandu Thota recently developed.  It's pretty cool.

Here's a link to my BlogMap (the pic wouldn't paste in) and here's my NeighBlog around work (so many in Redmond, imagine that).

Meanwhile, here's the OPML version of the BlogRoll from the Redmond, WA area:

[update 4.17.2005] - I added the direct links to my BlogMap and NeighBlog.

~tod

growled on Saturday, April 16, 2005 12:19:41 AM (Pacific Standard Time, UTC-08:00)
barked at funnies

Spending my 'formative years' in central Illinois puts me smack dab in Midwestern, or so I thought...

Your Linguistic Profile:

  • 65% General American English
  • 20% Dixie
  • 10% Upper Midwestern
  • 5% Midwestern
  • 0% Yankee

Try it out here.  Oh, and I got this link from Heather.  By the way, where's the drunk rhinocerous category?  You know, for the New Yawk cabbies and Texas rednecks.  :-\

~tod

growled on Friday, April 15, 2005 1:00:16 PM (Pacific Standard Time, UTC-08:00)
barked at coding

As part of my current project I'm designing a small SQL database and yesterday I received a good piece of advice from a co-worker.  "Normalize your tables until they can't be normalized anymore, then de-normalize them back to the desired functionality."

An easy thought to keep in mind while normalizing your database: "You can normalize most simple databases by following a simple rule of thumb: tables that contain repeated information should be divided into separate tables to eliminate the duplication."

It's also good practice once you've designed your database schema to run back through your tables and compare them to the Rules of Normalization (as presented on MSDN) to make sure that you followed them.

Now in this case, I didn't do any "de-normalization" after completely normalizing my schema and there are several arguments out there on the web for not doing so, but I like my co-workers suggestion because it just seems like common sense...

~tod

growled on Thursday, April 14, 2005 7:47:26 PM (Pacific Standard Time, UTC-08:00)
barked at ramblings

So, would you list your cell phone on your blog/site for God and everyone to see/use?  Scoble does.  WTF?  When I first created this Space I was tempted to not even use my real name.  I still haven't even added my last name to it anywhere (at least that I remember) although I did purchase the domain todhilton.com and redirected it to here...now my last name is on here.  :)  But my cell phone...you're nuts if you think I'm going to post that!

Same idea goes for Mike Torres and several other Microsofteez that post their @microsoft.com email on their site.  I suppose that might be a requirement if you're interacting with the public because of your position (like Scoble), but I'm just not comfortable with doing that.  What if freaky people decide to sign me up for weird crap!  Paranoia would set in before long and I would be about as productive as a drunk rhinocerous in a china shop!

I can understand posting an email address as a contact, but personally I would use a hotmail account or at least something other than my corporate email.  That's something I've actually considered doing here...

Anyway, Scoble says that he receives 2-3 calls a week from the # being listed on his site.  He even tells a cute little story about it.  That doesn't sound too awful.  And a few of the comments say the same thing.  Well, I'm still not sold on the idea...how about you?

~tod

growled on Thursday, April 14, 2005 3:26:21 PM (Pacific Standard Time, UTC-08:00)
barked at coding

Scott Wiltamuth recently posted about a Computerworld survey of developers' language preferences.  Looks like C# is now the most preferred language.  Good stuff! 

Note: Keep in mind that even though I support Microsoft products as a shareholder and user I'm still 100% behind market competition...quite simply that's how growth occurs which is required for everyone's benefit.  For example, I kinda like the fact that Apple is kicking our butt in the mp3 player area right now with the iPod because it's really driving us as a company to do better (take a look at the Zen Micro for an awesome alternative).

Anyway, here are the statistics reported in the article:

Top 5 programming languages reported in use by respondents 

  • 72% C#   
  • 66% Java   
  • 62% Visual Basic    
  • 54% C++   
  • 50% JavaScript/ECMAScript

Some interesting quotes:

The highest number of respondents selected .Net as their organization's preferred framework/API, followed by Unix/Linux and Microsoft Win32/COM/DCOM.  ...funny that it goes msft, unix/linux then msft again

Regarding Java vs. .Net, 37% of the respondents said they used mostly Java, while 26% said they used mostly .Net, and another 23% reported using both.  ...that seems contradictory to the chart above, but then again if you know what you're doing you can spin the #s just about anyway you want too

Forty-five percent selected an integrated development environment (IDE) as their preferred editor. Thirty-five reported using both IDE and text editors and 17% selected text editor as their preferred tool.  ...go Visual Studio!

~tod

growled on Wednesday, April 13, 2005 7:00:04 PM (Pacific Standard Time, UTC-08:00)
barked at ramblings

So over the past few months I've noticed that a lot of the traffic to this Space is generated from technical queries in Google or MSN Search that hit my how2 entries (no one looking for a drunk rhinocerous?).  Interestingly enough I'm usually in the top 1-3 pages. 

And since they added RSS hits to the Statistics page I see that I've actually got more than a few subscribers out there.

Go figure. 

growled on Wednesday, April 13, 2005 5:15:00 PM (Pacific Standard Time, UTC-08:00)
barked at code [vbscript]
Send email from a VBScript.  It's something I've done before and just recently had to do again so I figured why not post a how2 on the subject.  It's not hard to do, but initially it did take a bit for me to wrap my pea-brain around it.
 
Here's a quick example using a remote SMTP server (the setup we use):
  1. Set objMessage = CreateObject("CDO.Message")
  2. objMessage.Subject = "Testing vbscript to send email"
  3. objMessage.Sender = "sender@microsoft.com"
  4. objMessage.From = "sender@microsoft.com"
  5. objMessage.To = "recipient@microsoft.com"
  6. objMessage.BCC = "BCCrecpient@microsoft.com"
  7. objMessage.TextBody = "Put whatever text you want here!"
  8.  
  9. '==This section provides the configuration information for the remote SMTP server.
  10. '==Normally you will only change the server name or IP.
  11.         objMessage.Configuration.Fields.Item _
  12.                 ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
  13.         'Name or IP of Remote SMTP Server
  14.         objMessage.Configuration.Fields.Item _
  15.                 ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SMTPSERVERNAME"
  16.         'Server port (typically 25)
  17.         objMessage.Configuration.Fields.Item _
  18.                 ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
  19.         objMessage.Configuration.Fields.Update
  20. '==End remote SMTP server configuration section==
  21.  
  22. objMessage.Send
You can also easily format your email using HTML by replacing line 7 with an HTMLBody property, something like this:
objMessage.HTMLBody = "<HTML><P><B>Hello World!</B></P><P>Here I am.</P></HTML>"
Of course you can also get pretty creative with the HTMLBody property by putting several lines of HTML into a string (creating a page much more intricate than "Hello World").  For my recent script I retrieved results from a SQL db and formatted them into a table using a string and a Do While loop.  Something like this (where srchObj contains the results of the SQL query):
  1. dim strHtmlBody
  2. strHtmlBody = Nothing
  3. strHtmlBody = strHtmlBody & ("<HTML><P>The following table represents something I want to send in email.</P>")
  4. strHtmlBody = strHtmlBody & ("<TABLE BORDER=1><TR><TD><B>column1Title</TD><TD><B>column2Title</TD><TD><B>colum3Title</TD></TR>")
  5. Do While not srchObj.EOF
  6.         strHtmlBody = strHtmlBody & ("<TR><TD>" & srchObj(0) & "</TD><TD>" & srchObj(1) & "</TD><TD>" & srchObj(2) & "</TD><TR>")
  7.         srchObj.MoveNext
  8.         loop
  9. strHtmlBody = strHtmlBody & ("</TABLE><BR><BR>")
  10. strHtmlBody = strHtmlBody & ("<P>Thank you,</P></HTML>")
References:
  • link - MSDN listing of CDO configuration field settings.
  • link - MSDN listing of IMessage Interfaces (email properties like HTMLBody, ReplyTo, Subject, etc.).
  • link - Paul Sadowski has a great page (titled VBScript To Send Email Using CDO) with extensive code examples for sending email through vbs (text or html format, with attachments, using a remote SMTP server, with return receipt, etc.). 
As always, I hope this helps someone out there...
growled on Tuesday, April 12, 2005 7:13:20 PM (Pacific Standard Time, UTC-08:00)
barked at technology

An interesting article on InternetNews.com references a recent book by the Electronic Frontier Foundation, titled How to Blog Safely (About Work or Anything Else), that discusses whether or not blogging will get you fired.

A few interesting quotes:

A January 2005 survey by the Society for Human Resource Management found that 3 percent of the 279 HR professionals surveyed had disciplined an employee for blogging, but none had fired anyone. By contrast, in the same survey, 4 percent had fired an employee for downloading music or videos, 1 percent for non-work-related instant messaging, 20 percent for non-work-related Internet use, and 5 percent for sending personal e-mails.  ...  hmm, non-work-related Internet use sounds like pron to me. :-O

The EFF advised bloggers worried about retaliation to use a pseudonym as well as use hosts that don't require bloggers' real names.  ...  that will help, but isn't a cure-all

The EFF cautioned that while U.S. citizens have a right to free speech, the First Amendment doesn't shield them from the consequences of what they say -- unless it's within certain categories of protected speech, such as political speech and whistle-blowing.  ...  well, duh!

And my personal favorite: Israel's guide to safe blogging for employees is a lot shorter than the EFF's: "Don't do anything stupid on the blog."  ...  and that goes for everything else at work!

Just remember...I respect love the company I work for, I tolerate love some of the people I work with, I love enjoy most of the work I do and for Christ's sake I need love my job!  =)

growled on Tuesday, April 12, 2005 2:56:03 PM (Pacific Standard Time, UTC-08:00)
barked at microsoft

Last week, ShaykatC posted about the Community Review process that Microsoft's C# team goes through.  It's a pretty interesting overview of the emphasis that the team places on communicating with their users.  Kudos to them for participating in and listening to the C# development community!

An aside...  Over the years I've seen a few Microsoft groups really jump out there and participate with their community.  MSDN is a prime example of how corporate blogs can open up a world of information and resources to the community (caveat: when done correctly, which is a whole new topic).  I think you can justifiably say that MSN Spaces recent jump into the market has been made even more successful by Mike Torres' Space and his availability to everyone (his MS email address is posted right on his front page...the nut!).  I think if people from more of the product groups (devs, PMs, etc.) would participate in the community like this it would really enhance Microsoft's customer focus image.  Or perhaps they already are and I/we just don't know about them...in which case why don't I know about them?  Marketing?

Anyway, check out Shaykat's post...

growled on Sunday, April 10, 2005 12:16:40 AM (Pacific Standard Time, UTC-08:00)
barked at technology

Just an update for ya...  A little over a month ago I said that I was going to try using Newsgator's online RSS reader (recently made free) instead of Sharpreader.

Since then I've come to really appreciate the product.  The ease with which I can check my RSS feeds from multiple computers (2 @ home & 2 @ work) is great.  Here's a short list of the pros and cons I've encountered since using the product:

Pros:

  • Available from multiple PCs and no manual synchronization is required.
  • Able to organize feeds into folders (blogs, news, etc.) just like a local RSS application.
  • Able to easily save important/significant posts to a "My Clippings" folder for later reference.
  • Able to review all new or old posts from multiple sub-folders in the parent folder versus having to look through each sub-folder.
  • I like that the folder list (on the left of the screen) is expandable regardless of the feeds you select to look at.  And the folders you have expanded stay expanded when you select different feeds.  That's a good customer friendly UI!
  • You can share a list of all of your feeds in a public OPML file.  Here's mine.
  • The service has had great uptime & availability.
Cons:
  • In the past 45 days, there have been a few times (less than 5) where all of the posts I had marked as read (only in a few folders) were all of a sudden marked as unread.  I have no idea why.
  • There have been a few times (less than 5) that feeds have mysteriously moved out from their sub-folders and are listed in the root folder, My Feeds.
  • When you select a feed to look at, there is no title at the top of the page to tell you which one you're viewing.  This isn't really a problem if you're reading it immediately, but there have been times that I selected a feed and then my attention was diverted elsewhere (often the case at work).  When I went back to Newsgator I couldn't tell which feed's posts I was looking at because there isn't a title.  D'oh!  They should just put the title of your feed at the top of the page each time you select a new feed.
Overall I give this product a thumbs up!  I will continue to use it...at least until MSN gets our version polished.  Check out MSN's beta version at www.start.com/2.  It actually looks pretty good and I would love for us to enter this space...no pun intended.  ;-)
growled on Friday, April 08, 2005 11:39:05 PM (Pacific Standard Time, UTC-08:00)
barked at ramblings

Upon later review, I noticed that the VBScript code snippets I posted earlier aren't that easy to read with the diagonal lines in the background of the black theme so I'm playing with a few other themes to see what I like.  Too bad really, since I really like the black background...

<shrug>

growled on Friday, April 08, 2005 6:51:41 PM (Pacific Standard Time, UTC-08:00)
barked at funnies

Even though I'm not looking for another position I subscribe to Gretchen's blog, Technical Careers @ Microsoft.  She has a lot of good tips for resumes and interviewing plus she's a good writer and has several entertaining asides.  As a sidenote...Gretchen's husband, Josh, also works at Microsoft as a Program Manager (with a developer background I believe).

Anyway, one of Gretchen's posts today reveals a cartoon (Bug Bash) that is published in our weekly internal news letter, Micronews.  It's a pretty good cartoon and I'll use Gretchen's apt description of "it's kind of Dilbert-meets-Microsoft."

I particularly think this one is laughable:

It's always a good laugh when someone forgets their badge and then has to wear one of those stupid little stickers on their shirt!  :)

growled on Friday, April 08, 2005 5:06:43 PM (Pacific Standard Time, UTC-08:00)
barked at code [vbscript]

Over the past few days I've found myself delving back into VBScript a bit, at the request of one of my co-workers.  I'm by no means an expert at vbs, but I can work my way around it pretty well and accomplish most tasks.

My co-worker has a pretty mundane task that he has to perform fairly frequently, as do most of us.  He's the network guru on our team and has to periodically review all of the ACL's on our routers.  While reviewing them he must correlate each host IP with an asset in our asset management database or note that the host IP is not listed in the AM-DB.  He came to me a few weeks ago and asked if I could script that for him, hence my recent forray back into vbs.  :)

The philosophy behind the script wasn't too complex...  Read the input file line-by-line, see if the current line contains the string "host IP#", if it does then query the AM-DB for the host info & insert that into the output file along with the current line, if not then just insert the current line as-is into the output file.  The end result is a new ACL that has in-line comments for each host IP listed.

To demonstrate that I'm far from an expert at vbs, I'll openly admit that this is the first time I've used regular expressions in any of my scripts.  :-\  But damn, if used correctly, they're freakin' cool!

So, here's a quick how2 for using RegExp in VBScript to query for an IP number in a string:

  1. dim objRegEx, strInput, strIP, Match, Matches
  2. strInput = "Did you know that the publicly registered IP for MSN is 207.68.172.246?"
  3. Set objRegEx = New RegExp
  4. objRegEx.Global = True
  5. objRegEx.IgnoreCase = True
  6. objRegEx.Pattern = "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
  7. Set Matches = objRegEx.Execute(LCase(strInput))
  8. For Each Match in Matches
  9.         strIP = Replace(LCase(Match.value), "host ", "")
  10.         WScript.Echo("The IP is: " & strIP)
  11. Next 

One of the hardest things to do with regular expressions, is to figure out the syntax of the Pattern you're looking for.  There are a few sites that deal with nothing but figuring out regular expressions (regular-expressions.info, RegExLib.com, etc.).  To help understand it a little better, let's breakdown line 6 above:

  • [0-9] - this looks for any digit between 0 and 9.
  • {1,3} - this tells it that there must be a minimum of 1 digit and a max of 3 digits that meet the requirements set in the [ ].
  • . - looks for a period after the set of 1 to 3 digits
  • [0-9]{1,3} - looks for the next set of 1 to 3 digits
  • . - looks for a period after the set of 1 to 3 digits
  • and so on...

I also used RegExp to check for the correct input when starting the script.  For instance, my script can only read from text files (.txt) so I added the following function to verify this before trying anything else:

  1. ' Verifies that the input file ends with ".txt" or else echoes help info
  2. Function verifyInput(strInput)
  3.         Set objRegEx = New RegExp
  4.         objRegEx.Global = True
  5.         objRegEx.IgnoreCase = True
  6.         objRegEx.Pattern = ".txt$"
  7.         Dim retVal
  8.         retVal = objRegEx.Test(strInput)
  9.         If retVal Then
  10.                 ' .txt was found - proceed with script
  11.         Else
  12.                 WScript.Echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  13.                 WScript.Echo "Help & syntax information goes here."
  14.                 WScript.Echo ()
  15.                 WScript.Echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  16.                 WScript.Echo ()
  17.                 WScript.Quit
  18.         End If
  19. End Function

Well, I hope that helps someone out there in the great big www.  =)

A few resources:

growled on Thursday, April 07, 2005 1:49:15 PM (Pacific Standard Time, UTC-08:00)
barked at microsoft

Sweet stuff!  The MSN Spaces & Messenger teams did a release last night with some pretty cool feature updates.  First off, you'll notice the distinct lack of the word BETA at the top of this page.  Spaces has gone RTW and officially come out of beta mode.  :)

A few updates that I especially appreciate...

  • Tripled the photo storage space from 10MB to 30MB.
  • Comments can include hyperlinks.
  • RSS "hits" now count towards statistics.
  • More Space exposure with My MSN, Feedster, Technorati, PubSub and Weblogs.com.
  • New themes that include more down-to-earth selections than pink flowers.
  • Transparency in themes so you can actually see them behind the text.

As is usually the case, my source is Mike Torres and a few of the other Spaces folk:

 

growled on Friday, April 01, 2005 6:57:13 PM (Pacific Standard Time, UTC-08:00)
barked at funnies

Here's what I found about myself in the new MSN Search.  How the hell! 

If you want to have some fun yourself, try this link.

ps: At least our compadres over in MSN marketing finally got a decent idea...beats the hell out of the Pizza in Redmond campaign