« June 2005 | Main | August 2005 »

July 27, 2005

Windows Vista Available Today

Microsoft will be releasing a Beta of Windows Vista (formerly Longhorn) today.

Posted on July 27, 2005 at 10:33 AM | Permalink | Comments (0)

July 26, 2005

New VB Fusion Article Up

The What's Going On article has been posted to MSDN. This shows how an existing VB6 application can use the .NET Framework to read from and write to the event log.


Posted on July 26, 2005 at 08:32 AM | Permalink | Comments (0)

July 25, 2005

Codecamps - why go anywhere else?

If you have a chance to go to a Code Camp, go. IMHO, I'd rather go to a Code Camp than a TechEd or a VS Live. The big conferences tend to be comprised of (no offense) people from the product teams who are hawking their feature. You can get a lot of good in-depth information from these, but at the end of the day, it's more about what Microsoft wants to talk about, than what you might want/need to know.

Code Camps turn this upside-down. The presentations are by fellow developers, and are very code (not slide) focused. These are people who are passionate about some technology because they've actually used it, and it's saved them time.

Honestly, check out this list of sessions, and tell me if it doesn't make you drool.

So if a camp Wanna-Write-A-Line-A-Code-A (as Stuart says) comes to your town, attend.

Posted on July 25, 2005 at 08:47 AM | Permalink | Comments (0)

New Starter Kits

Paul Yuknewicz is announcing the launch of two new starter kits. The card game starter kit, and the shareware starter kit. Honestly, the shareware kit looks pretty sweet:

The Shareware Starter Kit includes sample components that show integrated e-commerce using PayPal, secure product activation, product registration, error reporting, and more using Web services.

Posted on July 25, 2005 at 08:38 AM | Permalink | Comments (1)

July 22, 2005

Portland Code Camp, Starts Tomorrow

The Portland Code Camp begins tomorrow morning. This is a completely free event that's drawing a great list of powerhouse speakers:

Chris Sells
Scott Hanselman
William Vaughn
Rory Blyth
Ed Kaim
Ted Neward
And many more...

Check in at the Reed College Vollum Center Lobby (campus map).

Posted on July 22, 2005 at 08:38 AM | Permalink | Comments (0)

July 20, 2005

Fule to the fire?

.NET India points to YAS (Yet another survey) showing VB.NET being used more than C#.

Does it matter?

If a survey shows my language of choice is most popular, I'll probably point it out and say "See, my language is more popular." If a survey shows another language as more popular, I'll probably say "I don't care what 'most' people use. I care what works best for what I do."

Posted on July 20, 2005 at 10:36 AM | Permalink | Comments (0)

July 15, 2005

The Undocumented Framework

The Framework help is full of undocumentation.  Consider the entry for the IBindingList.AddIndex method:

IBindingList.AddIndex Method

Adds the PropertyDescriptor to the indexes used for searching.

[Visual Basic]
Sub AddIndex( _
   ByVal property As PropertyDescriptor _

void AddIndex(
   PropertyDescriptor property

void AddIndex(
   PropertyDescriptor* property

function AddIndex(
   property : PropertyDescriptor


The PropertyDescriptor to add to the indexes used for searching.


The list must support this method. However, support for this method can be a nonoperation.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

IBindingList Interface | IBindingList Members | System.ComponentModel Namespace | IBindingList Members (Visual J# Syntax) | Managed Extensions for C++ Programming

This is an example where quacking like a duck doesn't make you a duck.  This looks like documentation.  It shows up in the help along side of documentation, it's indexed like documentation, but it's not documentation.  It doesn't actually tell anyone anything they don't already know.

We all know that large swaths of the Framework are undocumented in exactly this way, and many v1.0 SDKs are, well, very undocumented. 

Honestly, my problem isn't that lots of stuff is undocumented, it's that Microsoft spent time writing this undocumentation, proof-reading this undocumentation, and putting this undocumentation through the same process as the real documentation.  I don't know how much time was spent undocumenting things, but I'm guessing that if you add it all up, it's a lot. 

That time could have been much better spent providing better documentation elsewhere than undocumentation here.

I guess on the documentation teams, there must be some law that no class, property, method, or event will show up in the help with a big, bold, "Undocumented". 

Can we stop pretending?  Can you just mark everything as Undocumented until you get around to writing real documentation for it?   Maybe even include a "Click here to vote to have this documented."

For a simple test, if it doesn't include a code example, it's not documented.  Just mark it as such and move on.

Posted on July 15, 2005 at 10:50 AM | Permalink | Comments (5)

July 12, 2005

Shareware Starter Kit

Dan Fernandez point to the new Shareware Starter Kit. Looks way cool.

Posted on July 12, 2005 at 02:35 PM | Permalink | Comments (0)

July 08, 2005

Meat doesn't grow on trees

Of course not. It grows in big flat sheets.

"With a single cell, you could theoretically produce the world's annual meat supply. And you could do it in a way that's better for the environment and human health. In the long term, this is a very feasible idea."

Square miles of bacon. Mmmm.

Posted on July 8, 2005 at 01:12 PM | Permalink | Comments (1)

July 06, 2005

Jagged Array in VB.NET

All the examples for declaring a jagged array in VB.NET assume that you know all the dimension sizes and values at compile time.  See here, here.

However, it's quite likely that you don't know the dimension sizes at compile time.  I thought the following would work, but it doesn't compile (VB doesn't know that you're specifying the size for the array because of how VB overloads the meaning of ()):

j(x) = new Integer(size)

So you have to do:

j(x) = new Integer(size) {}

        Dim jagged(3)() As Integer
        For i As Integer = 0 To UBound(jagged, 1)
            Console.Write("Size for array " & i & ":")
            Dim size As Integer = Console.ReadLine()
            jagged(i) = New Integer((size) - 1) {}
            For j As Integer = 0 To size - 1
                jagged(i)(j) = j

        For i As Integer = 0 To UBound(jagged, 1)
            For j As Integer = 0 To UBound(jagged(i), 1)
                Console.Write(jagged(i)(j) & " ")


Posted on July 6, 2005 at 12:13 PM | Permalink | Comments (1)