August 2004 - Posts

Microsoft and open source

After reading a bunch of posts from josh
http://weblogs.asp.net/jledgard/archive/2004/08/20/217992.aspx
http://weblogs.asp.net/jledgard/archive/2004/08/24/220028.aspx
http://weblogs.asp.net/jledgard/archive/2004/08/25/220716.aspx
especially this one
http://weblogs.asp.net/jledgard/archive/2004/08/27/221716.aspx
and articles
http://www.eweek.com/article2/0,1759,1640591,00.asp

I believe that MS is moving in the right direction in regards to OSS.

The right strategy would be to offload non vital technologies to a "pool"/foundation of all MS partners like ISV,OEMs and large system integrators, so that it can be regulated by some form of commercial contract.

The benefits would be several:
1) redeployment of precious programming resources onto more important things like LH, Yukon and Whidbey and Windows security.
2) better community, developer and ISV relationships
3) perhaps better products(documentation, testing, less bugs) where software original project was underresourced
4) good PR (why not)

My favorite technology to drop off would be WMI,
1) because it's a VERY buggy (just see all the fixes in XP SP2)
2) clumsy, if not badly designed

Longhorn news

Longhorn news
http://www.microsoft.com/presspass/press/2004/Aug04/08-27Target2006PR.asp

read these reactions
http://weblogs.asp.net/nickmac/archive/2004/08/28/221769.aspx
http://weblogs.asp.net/Somasegar/archive/2004/08/27/221812.aspx
http://weblogs.asp.net/rgodfrey/archive/2004/08/27/221801.aspx
http://weblogs.asp.net/fbouma/archive/2004/08/28/221964.aspx
http://weblogs.asp.net/aaguiar/posts/36255.aspx
http://weblogs.asp.net/sebby1234/archive/2004/08/27/221825.aspx
http://weblogs.asp.net/frankpr/archive/2004/08/27/221754.aspx
http://weblogs.asp.net/cnagel/archive/2004/08/27/221733.aspx
http://weblogs.asp.net/glengordon/archive/2004/08/27/221734.aspx
http://weblogs.asp.net/esanchez/archive/2004/08/27/221731.aspx
http://weblogs.asp.net/mswanson/archive/2004/08/27/221725.aspx
http://weblogs.asp.net/gduthie/archive/2004/08/27/221705.aspx

 

update : Scoble beat me to it with this

I'm just gonna go through my feeds in alphabetical order. I have 87 items collected on the Longhorn story and I'll post the best with a quote. The rest will be up on my linkblog.

Joe Duffy: "I'm extremely excited about this."

Andres Aguiar: "The bad news is that we won't have WinFS when Longhorn ships. The good news is that we'll have Avalon and Indigo in WinXP."

ArsTechnica: "Is some of the luster off of Longhorn given that Indigo and Avalon will be made available for XP and WinFS is off the feature list?"

Ashvil D'Costa: "This is a good decision for .NET developers as it gives them a wider market for Avalon and Indigo."

ZDNet's Dan Farber: "Sooner than later, Microsoft had to bite the bullet and provide customers, developers and investors with a more accurate schedule."

Brad DeLong: "Without WinFS and Avalon, will there be any reason for people to switch to Longhorn? Or will it just be another resource hog?"

Steve Maine: "What I really want to know is this: As a customer, why should I upgrade to Longhorn and not just settle for Avalon/Indigo on XP or 2003?"

Brian Randell: "Makes me a bit glad I've been too busy to play with WinFS."

Chris Garty: "The new nickname? Shorthorn. Brilliant ;)"

Chris Sells (the guy who runs MSDN's Longhorn Developer Center): Links to "lots of interesting news."

Christian Nagel: "Now Avalon development can start earlier."

Dan Gillmor: "Surprised? You shouldn't be. Microsoft has a long history of announcing things it delivers extremely late, if at all."

Dare Obasanjo: "This has been an instructive experience in learning how long it takes information to go from the front lines to the ones pulling the strings in the B0rg cube. And how long it takes folks to act on this information."

eWeek's David Coursey: "This will give everyone a chance to get used to Longhorn's revolutionary features in an evolutionary way. That's a very good thing."

Ed Bott: "If Microsoft does nothing else with Longhorn, they need to fix the user permissions model, which encourages - even forces - users to run as Administrator all the time."

Ed Brill (works at IBM): "If there is one thing I have learned in ten years of competing with Microsoft, it's never, ever, ever panic before a product ships."

Asa, of Mozillazine: "I suppose it's a good thing that we didn't take Robert Scoble's advice and start investing Firefox time and resources to utilize MS's WinFS file system."

Sam Gentile: "The extremely good news is that Microsoft is making elements of the WinFX programming model early for Windows XP and Win2K3 Server, namely Avalon and Indigo."

Fumiaki Yoshimatsu: "Whidbey WinForms is huge too, but I don't know if we should really deploy Whidbey based WinForms and related technologies such as ClickOnce."

Matthew Mastracci: "Of course, Scoble disappears on the verge of the big "Longhorn to be Stillborn" announcement from Microsoft."

Erik J. Barzeski: "The end result? Even more time for Mac OS X to beat Windows to the punch."

Jason Olson: "Will Longhorn still be Longhorn?"

Joel Spolsky: "(MSDNMag 0, RaymondChen 1!)"

John Dowdell (works at Macromedia): "An "Avalon XP" codebase... how will it be delivered?"

Julia Lerman: "Biggest gripe was waiting for enough “longhorn capable boxes” on the market to make developing Longhorn (as planned) viable anytime soon. This will now change."

Kathleen Dollard (long-time Microsoft-centric developer): "Avalon is the most exciting piece of Longhorn to me."

Kent Tegels: "The bottom line: If you're still living in COM, start ramping up Now."

Kevin Daly: "I think WinFS is an idea whose time has come...in its absence (for now) I'd like to see consistent managed APIs for things like Contacts and so on (all that Outlooky stuff), much as is planned for the next version of Windows Mobile."

Chris Pirillo: "No word on whether or not the UI will still be ass-ugly."

Loren Heiny (ISV/Developer): "Some may be disappointed in the delay on WinFS. I'm not."

Mack D. Male: "Looks like the release is being driven by ship date after all. Let's just hope they don't sacrifice security for that ship date as well."

Niels Berglund: "Is it just me, or does Longhorn start to smell like Cairo?"

Marco Russo: "Longhorn will be not so different fom XP."

Microsoft Monitor's Joe Wilcox: "The days of big OS releases are behind us, and I'm glad to see Microsoft taking a more evolutionary approach with its desktop OS."

Mike Kolitz: "I'll admit that I'm a little disappointed that WinFS won't be there from the start, but overall, I think these decisions are the best for us - Microsoft's customers."

Mitch Denny: "Personally I think you are putting a bit of spin on it."

Richard Tallent: "Bummer."

Richard Callaby (in reaction to Gillmor Gang): "I hate this idea of net based operating system."

Richard Callaby: "Myself I am ecstatic that Avalon and Indigo are going to be available to both Windows XP and Longhorn clients."

Robert McLaws: "Something had to give."

Scott Mace: "I sensed the industry was being taken for a big PR and FUD ride."

Scott Swigart: "I think this is completely the right decision."

Shawn Wildermuth: "After spending hours digging through Longhorn builds to try and understand WinFS, I have to say that I am really bummed that it is getting pushed out."

Chris Anderson (who works on the Avalon team): "For the past couple weeks we’ve been working out what this means for Avalon, and so far it is shaping up to look pretty good."

Steve's Business Blog: "this indicates that Microsoft is actually starting to think responsibly about the needs to real businesses."

Wesner Moise: "Since WinFS is being delayed, Longhorn won't have full database capabilities in its filesystem when it ships; however, it will still provide integrated support for fast indexing."

In Audio Reaction, the Gillmor Gang talked almost exclusively about this stuff on last week's show (Steve Gillmor, Doc Searls, David Sifry, Dana Gardner, Mary Jo Foley, and Ross Mayfield were on).

 

 

.NET and integration with BCP


add following at beginning of the web.config between <configuration> and <system.web> tags

<configSections>
<section name="myapp_bcp_config"
type="System.Configuration.SingleTagSectionHandler,system, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>


add following after closing </appSettings> tag

    <myapp_bcp_config
 bcp_Tbl = "destDB..destTable"
 bcp_usr = "myUser"
 bcp_pwd = "myPWD"
 bcp_SRVR = "myServer"
 bcp_format = "myapp_bcp_format.fmt" <!--- or custom stuff like -c -f2 depending on database vendor  --->
     />


load config values

    Sub loadParamConfig()
        Dim valueTable As IDictionary = CType(ConfigurationSettings.GetConfig("myapp_bcp_config"), IDictionary)
        bcp_Tbl = valueTable("bcp_Tbl")
        bcp_usr = valueTable("bcp_usr")
        bcp_pwd = valueTable("bcp_pwd")
        bcp_SRVR = valueTable("bcp_SRVR")
        bcp_format = valueTable("bcp_format")
    End Sub

build command

    Function buildBcpCmd(fileName as string)
        Dim sb As New System.Text.StringBuilder()
        sb = New System.Text.StringBuilder()
 '
        sb.Append(bcp_Tbl & " in " & fileName & " ")
        sb.Append("-U " & bcp_usr & " ")
        sb.Append("-P " & bcp_pwd & " ")
        sb.Append("-S " & bcp_SRVR & " ")
        sb.Append("bcp_format)
        Return sb.ToString
    End Function

run command

 invoke sub below with fowwing line of code
 runcmd("bcp", buildBcpCmd("myfile.txt"))

  
 '
        Sub runcmd(ByVal cmd As String, ByVal exeTxt As String)
            Dim proc As System.Diagnostics.Process
            Dim StartProcessInfo As New System.Diagnostics.ProcessStartInfo()
            proc = New System.Diagnostics.Process()
            StartProcessInfo.UseShellExecute = False
            StartProcessInfo.RedirectStandardOutput = True
            StartProcessInfo.RedirectStandardError = True
            StartProcessInfo.FileName = cmd & ".exe "
            StartProcessInfo.Arguments = exeTxt

            proc.EnableRaisingEvents = True
            Try
                ' start
                proc = proc.Start(StartProcessInfo)
                ' end
                procOut = proc.StandardOutput().ReadToEnd()
                procError = proc.StandardError().ReadToEnd()
  'wait
                proc.WaitForExit()
                ' check exit code
                If Not proc.ExitCode = 0 Then
  ' output message and log
                End If
            Catch cmdExecEx As System.ApplicationException
  ' log stuff
                Throw cmdExecEx
            Finally
             proc.Close()
             proc.Dispose()
             proc = Nothing
    End Try  
        End Sub