A rose by any other name…
Each and every one of the 1,000s at chicago botanic garden were just spectacular!
A rose by any other name…
Each and every one of the 1,000s at chicago botanic garden were just spectacular!
I experienced the onset of Bell’s Palsy over the past two days.
I will blog this experience as time goes on. Here is the timeline of my onset, which as it happens is rather textbook.
Tue. 4/8
Metra commuter service business blocked me from my daily bike-train ride to work, so I chose to ride the bike all the way in, 14 mi. This was a cold, windy day, about 40F & 15mph N wind, for my due-N ride.
By bedtime Tue night I developed a ringing in my ear.
Wed. 4/16 11:00 pm
A “midnight snack” of strawberry icecream tasted awful. I commented to my wife that it tasted awful, like there was lard in it or something. This from the same tub of icecream I’ve been dipping tastes from for a week or more.
Thu. 4/17 5:00 am
Can’t easily clear the “blearyness” from my right eye. Didn’t think much of it, just was annoying.
Thu. 4/17 8:00 am
Begin drive to work. In the next 25 minutes, progression of paralysis began with both lips on right side, then moved to cheek, then inability to blink properly. This was fast and scary. Directly detoured to the local ER, who promptly diagnosed Bell’s Palsy. Follow up appt w/ ENT for Tues.
Thu. 4/17 9:00 pm
Paula (dear wife) noted that my right-side paralysis was more pronounced than mid-morning.
Fri. 4/18 5:00 am
I’ve slept about 2 hours last night. Standard-issue pirate-style eye patch is colossally uncomfortable. I’m depending upon my brain getting used to this, as it did actually do it’s job and keep my eye from drying out.
Fri. 4/18 10:00 am
ENT gives me a surprise follow-up call and asks to see me “today”, that he’ll arrange his schedule for any time I can arrive. WOW! Turns out he wants to document presence/absence of shingles-lesions in my ear or mouth (found none). So, with no shingles, the already prescribed steroidal-anti-inflammatory and anti-viral are “all we can do for now”.
In the mean time, I’ve found that citrus still tastes good (I think I can taste bitter on the right), and for some reason… chocolate. Many things still trip-out my tounge and I end up tasting “paint”, or that metallic-I’m-so-scared taste.
More as time goes on.
Well, Jamie Cansdale has been getting heat over time from M$ over TestDriven.Net, formerly NUnitAddin.
M$ turned up the heat over the last week, and seemingly put it to HIGH yesterday.
Ian Ringrose simplified the discussion :
“Is it safe for me as a developer without a large legal department to work with Microsoft technology? “
FransBouma says : “Nail on the head.”
Yes… Nail on the head.
I’m debating between moving my career in one of two ways :
Study ruby on rails, leave Microsoft development, move my career in a new direction. I feel immediate happiness in this endeavor.
Study Microsoft Certified Professional Developer (MCPD) / .NET 2.0. Give in to “the state”, admit that a governmentally structured certification machine also has a thriving job market. Join a Microsoft Consulting Firm full time and be a valuable contributor to their technologies.
Updated: 20 June 2007 12:35:00. This rounds out the pro/con list to more clearly present my perspective on what direction to take my career.
Here is a 1-2-3 for building your own VB.NET 2.0 Console application that will allow the upload of SSIS packages to SQL Server storage in the MSDB folder of your choice. The process also allows correct operation of XML Configurations on the packages (other configurations should work too, not tested by me in production though).
Here goes!
Module Module1 Sub Main() Dim packages As System.Collections.Specialized.StringCollection = My.Settings.packageManifest Dim pkgName As String Dim fileName As String Dim processContinue As Boolean = True For Each pkgName In packages Dim pkgFilePath As String = My.Application.Info.DirectoryPath + "" + pkgName + ".dtsx" If Not System.IO.File.Exists(pkgFilePath) Then Console.WriteLine("Package " + pkgName + ".dtsx is not found on the local file folder.") processContinue = False End If Next For Each fileName In System.IO.Directory.GetFiles(My.Application.Info.DirectoryPath, "*.dtsx") pkgName = System.IO.Path.GetFileNameWithoutExtension(fileName) If Not packages.Contains(pkgName) Then Console.WriteLine("File " + pkgName + ".dtsx is found on the local file folder but is not included in the .config section.") processContinue = False End If Next If Not processContinue Then Console.WriteLine("Please verify that all files in the .config section are on the local folder.") Console.WriteLine("Please verify that all files in the local folder are listed in the .config section.") Else For Each pkgName In packages PackageHelper.SaveToSQL(pkgName) Next End If Console.Write("Press Any Key ...") Console.Read() End Sub End Module
Imports Microsoft.SqlServer Public Class PackageHelper Private Shared Function loadSSISPackage(ByVal pkgName As String) As Dts.Runtime.Package Dim dtsapp As Dts.Runtime.Application = New Dts.Runtime.Application Dim pkg As Dts.Runtime.Package = dtsapp.LoadPackage(pkgName, Nothing) Return pkg End Function Public Shared Sub SaveToSQL(ByVal pkgName As String) Dim dtsapp As Dts.Runtime.Application = New Dts.Runtime.Application Dim pkgFilePath As String = My.Application.Info.DirectoryPath + "" + pkgName + ".dtsx" Dim ssisFolder As String = "\" + My.Settings.targetSSISMSDBfolderName Dim ssisServer As String = My.Settings.targetSSISserver Dim ssisPackagePath As String = ssisFolder + "" + pkgName If Not dtsapp.FolderExistsOnSqlServer(ssisFolder, ssisServer, Nothing, Nothing) Then Console.WriteLine("Server:" + ssisServer + " Folder:" + ssisFolder + " SSIS Msdb Folder is not found on server. Check Project Settings (Settings.settings).") ElseIf Not System.IO.File.Exists(pkgFilePath) Then Console.WriteLine("Package: " + pkgFilePath + " The file specified is not found in the " + My.Application.Info.ProductName + " current directory.") Else Console.WriteLine("Saving package to SQL (" + ssisServer + ") " + ssisPackagePath + " Starting ...") Dim pkg As Dts.Runtime.Package = PackageHelper.loadSSISPackage(pkgFilePath) If dtsapp.ExistsOnSqlServer(ssisPackagePath, ssisServer, Nothing, Nothing) Then Console.WriteLine("Saving package to SQL (" + ssisServer + ") " + ssisPackagePath + " Removing Previous Instance ...") dtsapp.RemoveFromSqlServer(ssisPackagePath, ssisServer, Nothing, Nothing) End If Console.WriteLine("Saving package to SQL (" + ssisServer + ") " + ssisPackagePath + " ...") dtsapp.SaveToSqlServerAs(pkg, Nothing, ssisPackagePath, ssisServer, Nothing, Nothing) Console.WriteLine("Saving package to SQL (" + ssisServer + ") " + ssisPackagePath + " Complete") End If End Sub End Class
CHMW003732 Deployment Test stageGAAPUploadReserves packageNotFound
I’ll be blogging some on SSIS as I now have a new gig slinging data hither and yon. Duck, you don’t want to get a DT_I8 in the face.
So, today I was bitten by the IsBig flag on DataFlow Aggregate Transformation. This flag is notated in the BOL:
A column may contain numeric values that require special consideration because of their large value or precision requirements. The Aggregation transformation includes the IsBig property, which you can set on output columns to invoke special handling of big or high-precision numbers. If a column value may exceed 4 billion or a precision beyond a float data type is required, IsBig should be set to 1.
So, the result here is a column that is Input to the Aggregate Transformation as DT_I4 and has IsBig = 1 WILL be Output DT_I8, and the IDE will not allow the otuput datatype to be changed with Advanced Editor!
This bit me with one column in a large Aggregate somehow getting set IsBig and messing up the downstream metadata. Several different looks at the issue were all proving dead ends.
Next time you run into a metadata mismatch, especially if its a DT_I4 or DT_R4 turning into their 8-byte counterparts, remember, you need to tap your inner IsBig and see the light!
Well, after a 20 year separation from teh Cult of Mac, I have finally returned. It is nice to see the tight tight integration of EVERYTHING on the Mac.
While all things round and sweet are looking chipper, my former web hosting is dead and gone. I recovered a few posts, all others are basically lost forever. (Well, at least until I can manually rebuild the posts from MySql backup).
Happy New Year anyway!
So I just watched the “5 minute video” by Iron Designer for .NET
Very sexy. Very very sexy.
As an MSDN subscriber (thanks to my corporate sponsors employers) and MCP (SQL Designer test or something, I’ve forgotten), this is very enticing…
AND .NET has failed me in several situations where I was trying to do something “outside the box”.
How does Ruby on Rails compare to this ?
Well the 10 minute video is almost a religious experience to many. AND Ruby and Rails DOES NOT fail us in situations where we wish to go “outside the box” in order to accomplish something.
That is all
Jim Wallis recalls a conversation with his father about the aftermath of Hiroshima in “Rubble of War”
His father recalls seeing a small girl of 5 or so and realizing that she will likely die from radiation, hunger, or injuries.
“That’s War”, he said, ” and that’s why I hate it.”
Agreed 100%.
Malcolm Gladwell at TED 2004 describes the research of Howard Moscowitz for Campbell’s Soup / Prego.
The lessons learned from Howard beautifully correllate with Kathy Sierra’s Quantum Mechanics of Users
If users are asked for their preference, they will likely tell you something very common and rather vanilla. When given the experience of the choices, say during a taste test, the aggregated results are NOT similar, and in fact group around a handful of common choices.
My take on this is that during Design Investigation for software – be it website, desktop application, even for print – if at all possible, build the DEMO of the choices involved and get the trial user into the experience and THEN ask the user what is their preference.
This approach in awareness of user preference, user experience, and human variability could take the design into the “I Rock†space of the passionate user.
http://headrush.typepad.com/creatingpassionateusers/2005/12/thequantummec.html#trackback