Random Thoughts of a Scatterbrain.
 Tuesday, April 17, 2007

Updating Reporting Services 2000 Connection Info

4/17/2007 2:09:01 PM (Eastern Daylight Time, UTC-04:00)

If you're running Reporting Services 2000 and you accidentally change the password or remove the original account used by Reporting Services, you will have to update this information.

With Reporting Services 2005, there's a nice GUI utility that you can use to do this, but for Reporting Services 2000, you'll need the rsconfig.exe command line utility which can be found, in a typical installation, at: <drive>:\Program Files\Microsoft SQL Server\80\Tools\Binn

To update the account or password information, the following command will probably do:

rsconfig -c -s servername -d ReportServer -a sql -u username -p password -t

Useful to know...odd that with all of the RS development I've done in the past, I've never had to use this utility once until today.

More Buffoonery From The Music Industry

4/17/2007 8:56:21 AM (Eastern Daylight Time, UTC-04:00)

Argh!

A panel of judges at the Copyright Royalty Board has denied a request from the NPR and a number of other webcasters to reconsider a March ruling that would force Internet radio services to pay crippling royalties. The panel's ruling reaffirmed the original CRB decision in every respect, with the exception of how the royalties will be calculated. Instead of charging a royalty for each time a song is heard by a listener online, Internet broadcasters will be able pay royalties based on average listening hours through the end of 2008.

Why does the music industry insist on treating the consumer like an enemy?

It doesn't make sense to me and I don't see how it can make sense to the artists.  Many of these internet radio sites play tracks which otherwise would get no airtime on radio, which otherwise I would never have heard, and from artists which I would have never discovered.  Zero 7, Air, Bebel Gilberto, Susumu Yokota, and on and on...

I know this isn't the case for everyone, but at least in my case, internet radio has led to the purchase of almost all of my CDs in the last 4 years and these are albums which otherwise would have little mainstream exposure at all.

I just don't get the logic that the music industry is operating on...

Liviu Librescu: Hero

4/17/2007 8:25:27 AM (Eastern Daylight Time, UTC-04:00)

The story of how Liviu Librescu, a 76 year old professor, sacrificed his life to save the lives of his students is a must read for anyone following the Virginia Tech shootings.

Students of Liviu Librescu, 76, an engineering science and mathematics lecturer in at Virginia Tech for 20 years, sent e-mails to his wife, Marlena, telling of how he blocked the gunman's way and saved their lives, said the son, Joe.

He will be remembered as an honorable and courageous man.

 Wednesday, April 11, 2007

Random Developer Rant

4/11/2007 8:52:37 PM (Eastern Daylight Time, UTC-04:00)

I have to say, one of my big pet peeves in terms of software development is evangelizing by "senior architects" who haven't written code in years.

I'm not against evangelizing a product or technology in general, but it seems so much less like bullshit when it comes from people who are in the trenches, dog fooding the technology they are evangelizing.

The real problem arises when some developer who's been out of the loop evangelizes without having used the product in a real world development environment. Or even worse, sometimes, you get guys that evangelize about practices, architecture, and design. Bleh! These guys are the absolute worst! Lots of things make sense in an ideal world where software deadlines are always met ahead of time :-) (I love those Walgreen's commercial) but the reality is, no one lives in that world.

But in any case, one of our codebases at Zorch recently underwent a code review. As a part of this code review, the team at our counterpart ran some code analysis tools against our codebase. Of course, I have no objection to this in principle, but what did bother me was that they didn't really even analyze the results of the code analysis output. They skimmed for "reds" and basically just took a look at the count of warnings. To make matters even more asinine, the individuals performing the code review took at least 3 minutes trying to find out where the code analysis utility was located.

Okay, I must at least give a disclaimer: in general, I like the idea of code analysis and good practices. I like the idea of general guidelines in terms of coding conventions. But I'm not a Nazi when it comes to policing code - I was at one point in my career, but these days, I figure that as long as it's not terrible (i.e. lots of misspellings, inconsistent patterns, well known bad practices like massive string concatenation), I'm not one to harp on these small details.

Just as each writer has a different style, just as directors have different styles, and just as a painters have different styles, I realize that developers have different styles as well. I try to point out obvious bad mistakes when I see them (like using DataSets without really using DataSets), but I think otherwise being too anal about this stuff is counter productive because, you know, this stuff can always be cleaned up later - it's way more important to get the product to work first.

Now with that out of the way, what kind of bothered me the most about this whole event was that after the output of the code analysis was generated, we didn't review a single warning that was generated to validate whether there were flaws with our codebase. I suspect that even if we did, these guys wouldn't have known what half of the warnings meant. What a waste of time. I could have ran the review and emailed it to them if that was it.

So, that's my rant for the week :-)

 Tuesday, April 10, 2007

Cephalopods!

4/10/2007 11:08:25 PM (Eastern Daylight Time, UTC-04:00)

I'm making this post just because cephalopods are awesome.

 Friday, April 06, 2007

NYIAS: 2007

4/6/2007 7:04:15 PM (Eastern Daylight Time, UTC-04:00)

Pictures from our trip to the New York International Auto Show: 2007 are up.

Enjoy :-)

I also have some non-auto show photos that I thought came out really well:

Library

Bryant Park

Bryant Park

We stopped by Bryant Park since I had to make a trip to the Taiwan Cultural and Economic Building (or something like that) to renew my Taiwanese passport.  I love it when I can kill two birds with one stone.

While I never liked working in NYC, as I commented to my wife, there's just so much visual texture that it's still refreshing to visit once in a while.  It's in the faces of all of the people you see, in the architecture, in the smells (and many of them are admittedly nauseating...), in the shops, in the food, and in the very space itself.  Your eye glances everywhere and it's visual overload.

 Wednesday, April 04, 2007

Diplomacy? What's That?

4/4/2007 10:07:13 AM (Eastern Daylight Time, UTC-04:00)

Seems like someone knows the answer.

Talking good.  Shooting bad.

Why can't we all just be adults and stop this posturing?  Whatever happened to dialogue (at least give it a try)?  In the end, we're all human beings sharing the same planet with the same goals in life right?  We all want to live a happy, healthy life and to be surrounded by friends and family.  What does it matter our other differences if we all have this in common?

Sometimes, diplomacy at the highest level of our government seems like simple name calling and schoolyard taunts/threats.

 Monday, April 02, 2007

EMI Goes DRM Free

4/2/2007 10:11:58 AM (Eastern Daylight Time, UTC-04:00)

So the big news today is that EMI is going DRM free.

A few months ago, in a hotel room in King of Prussia, I had a short debate with Brad and Jim (CEO and CTO of the company I work for). 

One of the technologies that we circle around frequently is Microsoft's Information Rights Management Server.  The gist of it is that it allows administrators to control the actions a user can perform on a document such as printing, emailing, copy/pasting text, and so on.  In short, it is a software solution to controlling distribution of a document, much like DRM when it comes to distribution of digital media like music and movies.

However, to me, this has always seemed like a big sham.  Why?  Because any user that wanted to counter this could do so quite easily.  It only adds a false sense of security, which is doubly dangerous if the documents in question are highly sensitive. 

For example, if printing were to be disabled on a document, the user could still use print screen to capture the image and print that instead.  Disable print screen, and the user can still take pictures with a high resolution digital camera.  Force employees to check all digital devices before entering the building, and the employee can still take notes by hand.

In short, IRM, like DRM, simply presents an encumberance to legitimate users of the digital content while not preventing losses to anyone that really wants the information or content illegitimately.  As we've seen in the DRM space, no form of digital rights management will ever work.  Ever. 

 Tuesday, March 27, 2007

SharePoint "Feature": Pain In The Ass...

3/27/2007 4:53:52 PM (Eastern Daylight Time, UTC-04:00)

Just to share some findings on working with SharePoint features:

  • The Elements.xml file that you include with your feature deployment cannot contain XML comments; if it does, you will encounter an error when you try to activate your feature using STSADM.exe.  Why?  Who knows.
  • The <type/> element in the Elements.xml file, according to the schema documentation, can only occur once.  This seems to imply that you will need a different Elements.xml file to subscribe to each event type that you want to handle.
  • And of course, Microsoft does not include the list of valid values (and if they do, it's not easy to find in the documentation).  Instead, I pulled the values using Reflector from the SPEventReceiverType enumeration.

The following is the enumeration listing:

public enum SPEventReceiverType {
    ContextEvent = 0x7ffe,
    EmailReceived = 0x4e20,
    FieldAdded = 0x2775,
    FieldAdding = 0x65,
    FieldDeleted = 0x2777,
    FieldDeleting = 0x67,
    FieldUpdated = 0x2776,
    FieldUpdating = 0x66,
    InvalidReceiver = -1,
    ItemAdded = 0x2711,
    ItemAdding = 1,
    ItemAttachmentAdded = 0x2717,
    ItemAttachmentAdding = 7,
    ItemAttachmentDeleted = 0x2718,
    ItemAttachmentDeleting = 8,
    ItemCheckedIn = 0x2714,
    ItemCheckedOut = 0x2715,
    ItemCheckingIn = 4,
    ItemCheckingOut = 5,
    ItemDeleted = 0x2713,
    ItemDeleting = 3,
    ItemFileConverted = 0x271a,
    ItemFileMoved = 0x2719,
    ItemFileMoving = 9,
    ItemUncheckedOut = 0x2716,
    ItemUncheckingOut = 6,
    ItemUpdated = 0x2712,
    ItemUpdating = 2,
    SiteDeleted = 0x27d9,
    SiteDeleting = 0xc9,
    WebDeleted = 0x27da,
    WebDeleting = 0xca,
    WebMoved = 0x27db,
    WebMoving = 0xcb
}

Of course, these values are in hexadecimal and for some reason, the <type/> element insists on the integer values.  So just be sure to convert the value to integer (try using Google for that).

Google: Server Error

3/27/2007 3:01:39 PM (Eastern Daylight Time, UTC-04:00)

Whoa.  This is a first:

google-error.jpg

RSS 2.0 Atom 1.0 CDF