Archives / 2002 / July
  • Streams and Formatters in .NET

    Streams and Formatters in .NET

    There's a great article over on DevX that covers the Stream and Formatter architectures. It does so from a VB.NET point of view, which is fine because the article is attempting to teach people converting from VB6- to VB.NET to move away from the proprietary VB file operations. In general, the article is generic enough that the knowledge is applicable in all languages and is definitely worth the read.


  • The .NET Show: Understanding the Framework

    The .NET Show: Understanding the Framework

    There's a new .NET show online over at MSDN. This one is about understanding the design of the framework class libraries. Here's a quick summary ripped straight from the site:

    One of the most common issues that I hear from programmers who are beginning to use .NET for developing their applications is that they are having some problems understanding the structure and layout of the .NET Framework and the features that it supplies. So I thought it might be a good idea to take a look at the "object model" of the .NET Framework and hopefully give you a better understanding of how it is organized.


  • RE: Usability and Font Sizes

    RE: Usability and Font Sizes

    Please, whatever you do, don't use small, large, x-large, etc.! The actual sizes vary from browser to browser what looks normally sized in IE looks microscopic in Mozilla, or vice versa. [The .NET Guy]

    Hmm... I just did a quick test. Using the em measurement is identical in both browsers as expected and while the named sizes are not exact, they are very close and are indeed still relative to the browsers text size:

    Relative Font Sizes


  • Usability and Font Sizes

    Usability and Font Sizes

    All I can say is: Guilty as charged! This is one issue I'm working on, as well as making both the MC++ FAQ and this weblog pages be XHTML compliant, but it's not as easy as I thought it would be. The fact that dealing with relative font sizes in IE is a pain in the butt doesn't help, specially with Verdana as the font... [Commonality]

    The font-family should not matter. Just make sure to use the em length unit in your font-size attribute and you should be all set. Either that or use the relative-size keywords (i.e. small, large, x-large, etc.).


  • Benchmarks: Oracle Managed Provider vs. OleDb Provider

    Benchmarks: Managed Provider vs. OleDb Provider for Oracle 9i

    A new article on MSDN presents some benchmark results comparing the .NET Framework Data Provider for Oracle with the OLE DB provider when interacting with an Oracle 9i database. [System.Error.Emit]

    Woah. That's a staggeringly huge difference. For anyone out there that is or is going to be backending their system with Oracle 9i, there's no question that you should used the managed provider and avoid OleDb like the plague. :)


  • Comparing XML "Data Binding" in Java and .NET

    Comparing XML "Data Binding" in Java and .NET

    There's an article over on the O'Reilly Network that compares the implementation of XML data binding in .NET to an implementation in Java called Castor. Basically, Castor is to Java as XSD is to .NET. It parses an XML Schema document and emits .java source files for each type.

    I don't know if I like the author's choice of using the term "data binding" as it has a slightly different meaning usually: binding visual elements to data sources via some sort of implementation of the MVC pattern.


  • Gates: Slow going for .Net

    Gates: Slow going for .Net. Microsoft acknowledges that its key software plan has been slow to catch on and lays out an agenda to move it ahead. [CNET]

    Hmm... even though I know very well that .NET is used as an umbrella term, when I see headline like this I can't help but shake my head. In the article they're talking about the Web Services portion of .NET and how not many companies have hoped on the bandwagon as far as delivering custom services. I think is mostly due in part to the power of SOAP as it exists today not being fully understood and that a lot of people are waiting on features that are coming with GXA. Gates also had the following to say about .NET My Services:

    "There were elements of (.Net My Services) that in some ways were premature," Gates said. "We feel good about (the vision of .Net My Services), but we made a couple of missteps on this."

    The article goes on to say that the failure of .NET My Services was political not technical.


  • He's Alive!

    He's Alive!

    Thought you got rid of me, eh?! ;) Heheh, sorry for the silence for the past two or so weeks. We've been working pretty hard on reaching code-freeze for the next version of the Mimeo web site. I'm happy to say we reached that milestone last night and we're going to deliver this weekend.

    This is the third major upgrade to the site since we launched in '99, so we're pretty much keeping in line with the yearly upgrade schedule most products seem to have. We've of course had minor upgrades in between, but those are never as radical as the major versions.

    We've done many practice runs at converting our database schemas and releasing the code is a simple xcopy. We had three Murphy's law encounters last week as we were driving for code complete! Hopefully we can avoid any such encounters release night.


  • A Replacement for WTC

    A Replacement for WTC

    WTC 2002. Very ambitious and great looking plans for the replacement for the World Trade Center towers, dubbed The World Trace Center 2002. Requires Flash 6 (and it didn't seem happy to work with Mozilla here, so you may need to revert to IE). [The .NET Guy]

    Very, very ambitious. It certainly is a beautiful structure and the idea for the memorial sounds really nice. The voting system currently shows 89% of the votes in favor of the concept. Have a look for yourselves.


  • XML Shell

    XML Shell

    XSH - XML Shell XSH, An XML Editing Shell. In this month's Perl and XML column, Kip Hampton introduces XSH, an XML editing shell, which Kip suggests should become a part of your XML tool kit. [Meerkat: An Open Wire Service][via Bright Eyed Mister Zen]

    Pretty neat tool. [Justin Rudd's Radio Weblog]

    Woah, that is pretty neat. Here's a direct link to the article. For those interested in tinkering, you can even download the source via a link at the end of the article.


  • Don Box on Blogging and RSS

    Don Box on Blogging and RSS

    Don made an awesome observation about the ties between blogging and RSS. This little snippet pretty much sums it up:

    while (true) {

    What an amazingly virtuous cycle!


  • Blogchalking


    I saw Brad did this and thought it was a cool idea, so here goes:

    Google! DayPop! This is my blogchalk: English, United States, New York City, Greenwich Village, Drew, Male, 21-25!

    Now to add meta tag and icon on the page...


  • User Controls and Custom Server Controls, Part 3

    User Controls and Custom Server Controls, Part 3

    Part three of the four part series has been posted over on the O'Reilly Network. In this part they discuss design-time integration of custom web controls with the VS.NET IDE. The article is rich with detail and examples and covers an integration feature that I had heard about, but never seen documented: Custom schemas and Visual Studio annotations. Great stuff!


  • Dynamic Forms

    Dynamic Forms

    Richard Grimes just posted a message to the DOTNET-CLR list in which he points to a download for a little project he's been working on: Dynamic Forms. Basically it enables declaritive form generation via an XML file. Think of it as XHTML for Windows Forms.

    Richard then asks:

    "Its been fun to do this, but the question is: what use is it? Can anyone suggest a use for this code?"

    Hmmm... that's a good question. I'll have to think a bit more about it, because nothing comes to mind immediately other than "it's cool!". ;)

    Now that the download is working, I checked out the source. Originally, going only by Richard's description, I thought it was actually done via a custom configuration section handler. While that isn't the way it's implemented, it certainly could be. My only suggestion is that the <event> element contents be encoded as CDATA to avoid problems with special XML token characters in the languages that are used to handle events. In the example supplied, Richard doesn't use any of these tokens so it's not a problem.

    A couple of people have pointed out in follow ups to the thread that one application for this technology could be skinnable applications.


  • Real World Applications Sample, Part 1

    Real World Applications Sample, Part 1

    Just came across this article by Chris Anderson over on MSDN. Here's a quick summary:

    Summary: Details the conversion of a sample image browser to a real application in Microsoft .NET that runs as a single document interface (SDI) application similar to Microsoft Word; other features include a Window menu showing all the currently open windows, loading multiple images by running the application on the command line, and a reusable application framework library that you can use in your applications. (14 printed pages)

    Great article that actually lives up to it's title. I've seen plenty of requests for details on creating SDI applications on the DOTNET lists, hopefully this answers some of those questions.


  • Microsoft changes tune on Linux

    Microsoft changes tune on Linux

    Microsoft appears to be changing its tactics in its ongoing spat with the Linux and open-source world by taking a booth at this August's LinuxWorld Expo for the first time. [ZDNet News]

    Woah, this ought to be interesting. Full article here.


  • Visual XSLT 1.5

    Visual XSLT 1.5

    ActiveState just released the beta of Visual XSLT 1.5. It's got a couple of neat new features like support for .NET extension objects and an XPath expression evaluator. Sign up for the beta here. [Peter Drayton's Radio Weblog]

    Cool, I'll have to check this out. XSLT and XPath aren't that difficult to work with, but their syntaxes tend to be long winded. If this product can save me keystrokes without having to sacrifice any features of the two technologies, then I'm all for it.


  • Conclusion to XmlDocument and XHTML 1.1 DTD Problems

    Conclusion to XmlDocument and XHTML 1.1 DTD Problems

    System.Xml.XmlDocument and DTD's (The end, I hope).. Got email from Dare Obasanjo about System.Xml and DTDs. I had asked him via email:

    Even though I can go with XHTML 1.0 I would really like to know if the problem I am having with XHTML 1.1 is user error on my part or a problem with .Net.
    to which he replied:

    My investigation reveals a little of both - The "'x' character in name" exception is a bug in our implementation which should be fixed in our next release of the System.Xml parser - A working version of XmlValidatingReader with validation on would fail to load the file because there are no child elements of the element which makes it invalid according to the DTD.

    Thanks Dare! [BitWorking]

    Great! The only question remaining is: When's the next release? ;)


  • .NET Blogging Tool Saga Cont'd - Part 2

    .NET Blogging Tool Saga Cont'd - Part 2

    Except that my web server already has I get a few hundred hits a day. What do I care? :-) I understand what motivates someone like Dave to make it just require FTP and no active server components. He has a monetary interest in working with the largest crowd possible. Personally, I don't have any such need. I'd rather prefer something powerful and dynamic over something static and flaky, but that's just me. :-) [The .NET Guy]

    You're right. That's the only real difference between a power user and a typical end user. So it's just a question of target audience.

    Technically, most of the code could be shared with the decision of when the content is generated being the only thing done differently. Obviously the content generation engine and database manipualation could be the same. It's just a matter of when the content engine is executed and what is done with the results. In the "desktop publishing" scenario it's executed for all posts, over all categories, each time a new post is published. In the "on demand" scenario, there's some sort of timestamp kept in the database that the IHttpHandler would check against the date of the file on the system (if it even existed) to determine if it needs to be regenerated.

    Just some thoughts... maybe one day one of us will actually find the time to put this thing together. ;)


  • .NET Blogging Tool Saga Cont'd

    .NET Blogging Tool Saga Cont'd

    What I want is dynamic page generation, so if I change something in one of my headers, etc., I don't need to re-generate and re-publish every single page on my site.  Since the FTP upload of Radio is a little flaky for me, this is a killer.  To add to that, Radio actually re-publishes every page in your site when you add a new article on a new day, so it can re-generate the calendar on each page.  Adds to my FTP problem. [Greg Reinacker's Weblog]

    I'll echo your experiences with the FTP support in Radio. The FTP support in CityDesk is much better, but of course is still a manual system. Like you, I'd prefer something that leveraged that runtime so that publishing is a simpler and more foolproof. I'm just about convinced that the right way to do it is to have whatever tool you're using generate XML files that get shoved up to the server, and then use to walk through them as necessary. [The .NET Guy]

    Well, that sort of defeats the whole idea behind content generation and publishing, doesn't it? The whole power of Radio is that it's "desktop publishing". Your server doesn't need to be anything except a dumb HTTP server that supports the GET protocol basically. The idea is that, like in a database, writes occur a lot less than reads. So yeah, all the content is regenerated on a publish, but is static for the N reads that follow it on the web site.

    So what could a more dynamic alternative be? Run some kind of application (ASP.NET based obviously) on the webserver which reads from a database which you update from your desktop via SOAP calls. Then, content could be cached by the built-in caching framework, but you'd need a custom expiration scheme. Also it would all be cached in memory which is hardly as scalable as caching it to disk. So you would probably want a custom architecture, done with HttpModules most likely, that detects whether or not the requested URL's content has been built since the last save and if not, build it on demand and save for future requests.


  • O'Reilly Publishes Book on W3C XML Schema

    O'Reilly Publishes Book on W3C XML Schema

    O'Reilly publish book on W3C XML Schema. O'Reilly and Associates have published XML Schema: The W3C's Object-Oriented Descriptions for XML, written by XMLhack's own Eric van der Vlist. [xmlhack]

    Great! I hope more and more people get on board with schema based XML development. As I've mentioned before, I totally see the benefits in simple well-formed XML documents, but there's so much more power in terms of describing and consuming documents when using schemas.

    As a side-note, if you don't already own a copy of Essential XML Quick Reference, I suggest you pick it up. It covers all of the major XML technologies in a concise, well indexed format.

    Update: Thanks to John St. Clair who pointed out that the content for the quick reference is actually available for download at the DevelopMentor website. You'll need to sign up for a DM account, but it's painless and well worth it if you want the content.

    Disclaimer: I could be considered biased because I reviewed the book, but honestly I use it almost any time I'm working with XML to look stuff up.


  • Radio Blow'd Up

    Radio Blow'd Up

    [Macro error: The file "C:\Program Files\Radio UserLand\www\#prefs.txt" wasn't found.]

    Ok, great. Where'd it go? I know I didn't delete it and I haven't even posted anything in a couple days. It only happens when I try to put a title on my posts. *sigh*

    Update: I went to the folder, saw that #prefs.txt was in fact still there, so I opened it in notepad and just saved it (as is) and everything works again. Interesting.


  • .NET Alert Pricing Changed

    .NET Alert Pricing Changed

    Microsoft changed the pricing for .NET Alerts. Now you don’t need the initial $15,000 fee, just pay $0.075/user/month. I’d easily pay a dollar a month for such a service. Anyone want my money? [matt.griffith] read the small print, you have to have a Passport license to be able to send .NET Alerts, and thats still $10K/year. [Simon Fell]

    Is this really that bad? I suppose it's a barrier to entry for independent developers, but even the smallest company with a product that requires such services should be able to afford this. Also, are there alternatives? AFAIK, there's no one else out there providing these kinds of (integrated) services yet.