Sam Gentile's Radio Weblog
Partying with .NET
        

Sam Gentile's Radio Weblog

Saturday, April 06, 2002

Cory and Simon both pick up on the fact that Google will have an APIGoogle will offer an API! I .... Google will have an API
Google will offer an API! I've known about this for a while, but I was sworn to secrecy. Now that it's hit Slashdot, though, I think all bets are off. Can't wait to see what apps people build on top of Google's citation database.LinkDiscuss
posted by Cory Doctorow at 11:25 [bOing bOing]

and:

This could be the Web Services killer app we've been waiting for [via Slashdot] - Simon

I do think this is significant but I am not sure this will give us the Web Services killer app.




3:32:25 PM    

Ingo reports: I'm on http://www.go-mono.net! Advanced .NET Remoting from Ingo Rammer is now available. Ingo helped us to implement the proxy support and the book is a valuable resource for anyone interested in remoting.

You're welcome and thanks for the link!

[Ingo Rammer's DotNetCentric]

Its clear, from his knowledge (and the chat yesterday), that this will be the definitive book on .NET Remoting. Now, if I could just get him to answer my Rotor problem -)

 




8:37:43 AM    

Ingo posts: .NET Remoting chat - reprise.

Today morning (from 1:00 a.m to 2:00 a.m CET) Microsoft hosted a .NET Remoting chat.

The development team answered questions from users and told us about the features which are planned for future releases. The official chat transcript isn't online yet, so I quote from what I remember:

  • Microsoft will release a sample application which provides authenticated Remoting for objects hosted outside IIS. In my opinion, this has been the missing feature #1 and some others in the chat agreed with this. Tomas and I therefore will focus on a different area and not implement the SSPI channel. Mike Woodring (who's been working on such a channel independently from us) also announced to stop the development of his channel.
  • Microsoft will look into improving the performance of the HTTPChannel when hosted in IIS.
  • The context implementation might be changed. This means that ContextBoundObject and things like context properties, context attributes and the interfaces like IContributeObjectSink, which aren't yet documented might be different in the next version.

This is not an official statement, it's just what I remember from the chat.

By the way, has anyone saved a log of this chat? If yes, could you please send it to me by email (rammer@sycom.at)? Thanks a lot!

[Ingo Rammer's DotNetCentric]


8:25:04 AM    

I met our "famous" Ingo Rammer [Ingo Rammer's DotNetCentric] yesterday. Well, virtually that is -) He was particpating in a .NET Remoting chat on MSDN with the .NET Remoting team. The scary thing was thet he was answering most of the questions. He seems to know more about Remoting than the team that wrote it -)




8:23:54 AM    

Another 2 days of banging my head aggainst the wall with mixing managed C# components together with ATL COM native components. As I said earlier, in part one, I have been working on trying to give myself and my team a productivity boost. I have been working on a full blown tool development environment fully integrated with Microsoft Visual C++.NET. As I said earlier, VSIP is extremely difficult to grok and work with. So I have been persuing a strategy of mixing VSIP with pieces of the VS.NET automation model to do some things like adding tools to the toolbox, menus, adding custom code, etc easier.

The big thing I ran into the last two days and got stuck on, is that I was not able to step into the managed C# assembly from the native ATL/C++ COM component in the debugger. I have the assembly in the GAC so I thought it was some weird issue. The .NET mailing list was unhelpful. I finally found the solution yesterday.

I guess I can't paste in an image here but the answer lies in Project - Configuration Properties - Debugging - Debuggers, which is usually set to Auto. I changed this to "Mixed" and it worked. It seems that Auto will do managd or unmanaged debugging but not both. Mixed combines both.

 




8:19:45 AM    


Friday, April 05, 2002

Sam: "New essay for the day: Neurotransmitters.  Identifies common themes in biology, messages to spaces, REST, and Tupl-Spaces and applies them to messaging."

This really is a powerful concept.  Take a shared memory space, constrain the verbs to simple CRUD operations (Create, Read, Update, Delete), allow the type of data to be completely open but use XML as the canonical syntax.  Provide an extensible query mechanism.  Allow items written to the space to be directly URL addressable.  Allow pub/sub triggers so that when one of the CRUD operations is called, any number of folks can be informed (folks meaning people or other applications).  Allow spaces to discover and integrate with other spaces.  Allow searches to crawl across multiple spaces. Add security so people who post data to the space can control who is allowed to read it, modify it, etc.  Allow access to the space using SOAP, XML-RPC, etc.

RogueWave has already done one version of this (very nicely too) as a Web service.  TSpaces and JavaSpaces pioneered it.  The advent of SOAP, XML-RPC, WSDL, Jabber etc can take it to the next level.  It would be very interesting to create an open network of such spaces.  (Imagine a version of google that operated like a shared memory space!)

[Snell's Blog]

This piece and the associated article really struck me as brilliant. I have so many thoughts floating in my head to think about now, that I am finding it hard to coherently capture them into a form like above. Its clear that this made a big impact on me and I talked about several ideas with people at work (where we are in a lot of the same areas). I need to write something intelligent about this. Thanks Sam!

 




10:14:15 PM    

Short-sightedness may be tied to refined diet. Increasing myopia could be explained by the higher levels of refined starches eaten by children [New Scientist]

Combined with: The food children eat might play as big a role as books and computer screens when it comes to causing short-sightedness. Books and computer screens too? What's left?




8:00:11 AM    

Microsoft Corrects CD Burning Flaw in XP [BetaNews.Com]


7:56:23 AM    

Develop Handheld Apps for the .NET Compact Framework with Visual Studio .NET [ActiveWin]


1:32:37 AM    

The saga continues...Maybe I should re-title "A Week With Rotor"




1:13:26 AM    


Thursday, April 04, 2002

Ken Alverson posted an interesting little JITter tweak on the Rotor mailing list claiming a 10% performance boost on simple benchmarks. Nice. [Peter Drayton's Radio Weblog]


10:28:22 PM    

Use the (shared) source, Luke!
                --Yoda (kinda)

Peter Drayton put some cool code samples online which show how to extend the SSCLI [aka. Rotor] to implement new IL opcodes. [yes, I took the Yoda-quote from his slides ;)]

[Ingo Rammer's DotNetCentric]


10:26:55 PM    

Are you looking to make the switch from ASP 3.0 to ASP.Net? Here are ten great resources (books, web sites, tools) to get you on your way.
Article. Apr 4, 2002.


8:24:02 AM    

Page Output Caching, Part 1
ASP.NET page output caching makes your Web application faster. Using the page output cache is made easy by the factored design into both high-level and low-level APIs. ASP.NET is very efficient regardless of whether Output Caching is utilized or not. The possible performance gains are quite obvious. When output caching is used, ASP.NET is doing less work to satisfy a request, thus allowing the response to be served faster.


8:22:12 AM    

Celine Dion's newest album, "A New Day Has Come", is crashing computers. I want to rant, but it's Celine Dion for Christ's sake. Wake me up when then screw up an album from an artist whose voice doesn't make me cringe.

[Bryce's Radio Experiments]


8:10:13 AM    

MS contract saves world from Compaq Harry Potter PC. Whew... [The Register]


8:07:16 AM    

Web services group leaves Sun in cold [ZDNet] More whining from Sun. Yes, people are deploying Web Services on Java, but not with Sun's tools, everyone I know of doing Java Web Services is using Apache SOAP or GLUE. Perhaps I'd take them more seriously if they'd attended the WSDL F2F (They were invited), or were involved on SOAPBuilders, but of course its always easier to whine than to do. [Simon Fell]


1:34:50 AM    

DIME and DimeSoapExtension Sample
The DIME and DimeSoapExtension sample is built on the .NET Framework and provides a set of classes for encoding data into DIME message streams and for sending and receiving SOAP messages encapsulated in DIME messages.

This sample provides two core pieces of functionality:

  • A set of classes for encoding data into DIME messages
  • A SoapExtension for transmitting ASP.NET XML Web Service messages over HTTP using the DIME specification



12:53:45 AM    


Wednesday, April 03, 2002

Today, in the "real" world, I was working on a mechanism to allow us to write VS.NET Automation model code in C# and then call it, through .NET's COM Interop mechanism, from ATL/C++ COM unmanaged components which contain a VSIP code. Let me explain. I have been doing some work integrating an environment with Visual Studio .NET. There are really two major choices: use the automation model of VS.NET or pay $30,000 and join the Visual Studio Integration Program (http://msdn.microsoft.com/vstudio/vsip/default.asp) and get the code and COM Interfaces of VS.NET. There are many reasons why you have to choose option 2. The automation model allows you to have what is known as an "add-in" and can only do certain things. An add-in is actually a COM Component that implements the IDTExtensibilty2 interface. Using VSIP code, however, allows you to do just about anything. You become an actual "part" of VS.NET, through the use of what are known as Packages, or VsPackages. VSIP allows you to add your own splash screen or your own editor, or heck, even implement your own language. Its quite powerful but amazingly complex. It is hundreds of thousands of lines of code and based on tons and tons of COM Interfaces. The base example to just put up a new project type takes 66 files!!

I am using VSIP to have a COM component that implements IDTWizard. It turns out that lots of things in VS.NET are actually Wizards. My wizard calls one of VS.NET's wizards to launch a C# project that suppplies a WinForm and populates it with a base implementation of code for something. And I add toolbar tabs with custom tools and I add menus. A lot of this is of course better done through the Automation model. So I have been going through this laborious process of using C# to work out all the automation code I want, tweaking it, and then "porting" it all to C++/ATL COM code for inclusion in the ATL COM component that implements VSIP and IDTWizard. Yikes! I had forgotten how hard and time consuming COM was! I haven't done anything but Managed code for 2 years and had gotten used to how much easier it all is.

So what I wanted was a way to do my automation stuff in C# and then call the managed code through COM Interop. So I put everything in a C# class and then signed it. I then ran regasm /tlb on it to generate the CCW, register COM gunk in the Registry and generate the Type Library. I then imported the TLB into the C++ code and proceeded on to party on. Or so I thought. It turns out that, by default, COM Interop, does not expose type library information and worse than that, generates only IDispatch late-bound interfaces! I'll post why later but it's wrong, wrong, wrong. Late bound IDispatch interfaces are a legacy of VB3 and have no place other than Scripting languages in a modern world. I had to decorate the class with an attribute to "force" it to generate type info and generate a dual interface. Yeck.

Then it got worse. The DTE object in VS.NET Automation is full of bugs, missing functionality, and incomplete documentation. And there was still getting the types right across the boundary...More tomorrow...




10:13:51 PM    

The amazing Ellen Datlow continues to stun with a ferocious schedule of posting high-quality SF stories faster and better than the magazines. This time, we have the absolutely brilliant British Adam Roberts with "Swiftly" and then in the Classics category, the mind-stirring Norman Spinrad, with a story from, argubally the best SF collection ever, Dangerous Visions. © 1967 by Harlan Ellison, with "Carcinoma Angels." Must-reads.


9:44:47 PM    

Simon posts: W3C releases Namespaces in XML 1.1, Requirements. Two new drafts detailing the future of XML namespaces, Namespaces in XML 1.1 and Namespaces in XML 1.1 Requirements are now available. [xmlhack] [Simon Fell]


9:35:49 PM    

While pundits and critics argue over the merits and disadvantages of SOAP, WSDL, and UDDI, a handful of companies have been quietly rolling out Web services and benefiting from the results. Rotech Medical, a home healthcare company based in Winter Park, FL, is a pioneer in this field, having deployed Web services throughout its business.
Case Study. Apr 3, 2002.


9:30:22 PM    

dotNetGenius shows you some cool things in VS.NET. This time it's using the Clipboard Ring.


9:29:11 PM    

Sun Microsystems is crying foul over a key new Web services standards group created by IBM and Microsoft, accusing its two rivals of "political shenanigans" for not inviting Sun to join as an equal partner.

Is there no end to the lying and whining that Scotty and Sun will do? This is the Sun Microsystems that for the last 2 years as totally tried to ignore and derail the SOAP standard, trying to shove a proprietary Java RMI down people's throats and when that failed, tried to shove Corba down people's throats.

"most of the Web services today are being written on Java anyhow."

But not through any mechaisms of Sun. Most of this is Apache. Where was Sun a year ago? They have marganilized themselves out of the Web Servives game and they have no one to blame but themselves.

 




9:25:46 PM    


Tuesday, April 02, 2002

Summary: Details the construction of a Web-based customer service solution using the Microsoft .NET Framework, Microsoft SQL Server 2000 XML functionality, and XSLT documents. With Microsoft ASP.NET runtime support, forms authentication mechanism, and the system XML classes, creating high performance and scalable XML-based inquiry systems is greatly simplified. (34 printed pages)




8:30:28 AM    


Monday, April 01, 2002

Wrox Press releases Visual C++ .NET: a primer for C++ developers
Visual C++ .NET is the only language that's capable of mixing managed and unmanaged code, offering ways to integrate your existing code base with new .NET development that no other language can match. Additionally, the expansion of ATL into web application programming brings with it the possibility of writing web services that outperform anything developed in ASP.NET.
Mar 26, 2002.




10:14:26 PM    

XML Encryption provides end-to-end security for applications that require secure exchange of structured data. XML itself is the most popular technology for structuring data, and therefore XML-based encryption is the natural way to handle complex requirements for security in data interchange applications. Here in part 1 of this two-part series, Bilal explains how XML and security are proposed to be integrated into the W3C's Working Draft for XML Encryption.



10:10:28 PM    

With all the clamor around C#, a lot of people forget that Managed C++ is the only .NET language that allows you to mix managed and unmanaged code in the same assembly and even the same file! While C# is the media darling, MC++ is  the real workhorse for many companies that have thousands of lines of existing native C++. It's good to see an article here.

Dr. GUI on Visual C++ .NET [ActiveWin]




6:58:09 PM    

One of my favorite SF authors digs up all sorts of cool stuff daily on this SF zine.


8:18:41 AM    

I posted this to a comment on The .NET Guy:

Here is a shocker. This morning I changed my 2 year opinion on this and decided I may start contributing to Mono. Why? Well, one great reason is the Miguel is a brilliant example of civility on the .NET list. When I answered one of his questions, he thanked me *personally*. That's class. And there ain't much of that to go around in the Engineering world.

I'm not big on Linux. I think you might all know that-). I still think its only for total geeks who want to rebuild the kernel every single time they add a device or sneeze. But I am big on .NET. So, I may be on board.




8:13:29 AM    

There was a presentation, well a demo, well I'm not sure what it was with Keith Balinger http://www.keithba.com/blog/ and Don Box as his monkey on DIME at the Web Services DevCon. Funny moments came when Don stepped too far in the debugger into the .NET Core and exposed it and when Don let Keith go on while he flipped open my book and started reading my chapter -). Anyhow, here is an article on DIME.

 




8:08:55 AM    

Web Services can be slow, but they
don't have to be.

by Juval Lowy


8:02:48 AM    

CORRECTED LINK: Here are some notes from the Web Services DevCon. This was a blast!


7:57:30 AM    

ADO.NET Primer [ActiveWin]


1:25:19 AM    

Customizing Code Generation in the .NET Framework Visual Designers [ActiveWin]


1:24:59 AM    




© Copyright 2002 Sam Gentile. Click here to send an email to the editor of this weblog.
Last update: 10/1/2002; 7:30:49 PM.