To VB or not to VB?

M

m.posseth

Hmm think think ......

analogy

The wannabe programmer tells you he is a "reall" programmer cause he uses C#
but is he / she actually a programmer when he / she comes with these odd
statements ??


by the way

static
http://en.wikipedia.org/wiki/Static_variable#Static_Variables_as_Class_Variables


the static variable of VB fits the explanation

"Some languages allow functions to retain the value of variables between
calls, so that the function can preserve its state if necessary. For
example, with a static variable a function could record the number of times
it has been executed using an internal counter. This would only otherwise be
possible using global variables or an external storage method, like a file
on disk."



regards

Michel Posseth [MCP]
 
M

m.posseth

some nice comparissons ( also note the link 10 reassons why C# should be
better )

http://www.vbrad.com/pf.asp?p=source/src_top_10_vb.htm

I'm surprised how easy it was for me to pick up C# . ( as my second choice
:) ) My advice ... when you can, just work with both. . All it can do is
help and make you a better and more wanted programmer.

in a big project i currently have ( remoting BLS server ) i use both as for
some situations the examples and docu are much better in one of the 2
languages



regards



Michel Posseth [MCP]
 
M

Matthew.Gertz

You know those movies or TV shows where it says "Inspired by So-and-so's bestselling novel?" That's pretty much how I *personally* think about the relationship between VB6 vs. VB.Net (and I am *not* speaking for my employer -- just for me) -- we've taken a great tried-and-true concept and applied it to a new medium (in this case, .NET) with (I hope) great success. The question the community has to answer is, did we create the "Harry Potter" movie (i.e., faithfully capturing the spirit of the original, while adding lots of great new value) or did we create the "A Wizard of Earthsea" miniseries (i.e., ditched everything cool and added a lot of pointless stuff besides).

Don't analyze that analogy too much, or it breaks down in obvious ways -- for instance, I truly see the process of moving from VB6 to VB.Net as an "upgrade" in every sense of the word -- and I really, *really* hope that the analogy doesn't sidetrack this thread, since I'm sure I just offended everyone who disliked the Harry Potter movie and adored the Earthsea miniseries... :)

For me, I'm really pleased with what we've gotten done, and having originally been a finicky C++ user, I find myself having lots of fun playing around with VB .Net. (I use VB6 occasionally when dealing with legacy apps we have sitting around, and although I enjoy using it as well, it drives me bats trying to remember when to use parentheses, figuring out what's handling a thrown error, etc.)

Gotta run for a plane to get to DC for the final VS launch event, but I'll check back on Friday...

--Matt--*

-----Original Message-----
From: Jonathan West
Posted At: Friday, January 06, 2006 3:43 AM
Posted To: microsoft.public.dotnet.languages.vb
Conversation: To VB or not to VB?
Subject: Re: To VB or not to VB?



It's my hope (and belief) that VB .NET stands as a language in its own
right, both as compared with VB6 and C#, and is not just some weird fusion
of VB6 and .NET. But, that's for y'all to decide, I expect... :)


Do you regard VB.NET as a new language, or as a new version of VB? I'm just
curious as to your view of this.
 
J

Jonathan West

Hi Matthew

I've taken your advice and not taken all that much notice of your analogies.
Perhaps I need to be clearer in the way I phrased the question. A key
distinction between a new version and a whole new language is whether
existing projects in the older version of the language are intended to be
upgraded to the new one with minimal problems.

In other words, if you regarded VB.NET as a new version, it was your
intention and expectation that the great majority of VB6 projects would
migrate to VB.NET and that this migration would proceed largely
automatically with not all that much manual rewriting to do. The code
conversion would be something around 95% automated and the manual rewrites
relatively trivial. That wouldn't preclude some changes in the syntax such
as the use of parentheses.

If you regarded VB.NET as a new language, you did not have such expectations
for easy migration of VB6 code.

It seems that there are three possible cases

1. VB.NET was intended as a new version of VB, and you think that the
necessary ease of migration has been achieved.

2. VB.NET was intended as a new version of VB, but you think that the
necessary ease of migration has not been achieved.

3. VB.NET was intended to be a new language, and ease of migration from VB6
was not a major consideration.

Which of these cases fits best with your personal view of the language?
 
H

Homer J Simpson

It seems that there are three possible cases

1. VB.NET was intended as a new version of VB, and you think that the
necessary ease of migration has been achieved.

2. VB.NET was intended as a new version of VB, but you think that the
necessary ease of migration has not been achieved.

3. VB.NET was intended to be a new language, and ease of migration from
VB6 was not a major consideration.

Which of these cases fits best with your personal view of the language?

My choice is

4. VB.NET got into the hands of 'software priests' who made it much more
complex than it needed to be, with oblique references that obfuscate rather
than clarify.
 
M

Matthew.Gertz

B\0a\0c\0k\0 \0a\0n\0d\0 \0u\0n\0b\0u\0r\0i\0e\0d\0 \0f\0r\0o\0m\0 \0m\0a\0i\0l\0 \0:\0-\0)

E\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0i\0s\0 \0a\0 \0h\0u\0g\0e\0,\0 \0h\0u\0g\0e\0 \0g\0o\0a\0l\0 \0f\0o\0r\0 \0u\0s\0 \0-\0-\0 \0a\0l\0w\0a\0y\0s\0 \0h\0a\0s\0 \0b\0e\0e\0n\0,\0 \0a\0n\0d\0 \0w\0i\0l\0l\0 \0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0b\0e\0.\0 \0 \0T\0h\0e\0 \0w\0h\0o\0l\0e\0 \0m\0a\0n\0t\0r\0a\0 \0-\0-\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0m\0i\0s\0s\0i\0o\0n\0 \0-\0-\0 \0f\0o\0r\0 \0t\0h\0e\0 \0r\0e\0c\0e\0n\0t\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0i\0n\0 \0p\0l\0a\0n\0n\0i\0n\0g\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0d\0e\0s\0i\0g\0n\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0a\0n\0d\0 \0r\0i\0g\0h\0t\0 \0d\0o\0w\0n\0 \0t\0o\0 \0t\0h\0e\0 \0p\0o\0s\0t\0e\0r\0s\0 \0c\0o\0v\0e\0r\0i\0n\0g\0 \0o\0u\0r\0 \0h\0a\0l\0l\0w\0a\0y\0 \0w\0a\0l\0l\0s\0,\0 \0w\0a\0s\0 \0a\0l\0l\0 \0a\0b\0o\0u\0t\0 \0h\0e\0l\0p\0i\0n\0g\0 \0V\0B\06\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0m\0o\0v\0e\0 \0f\0o\0r\0w\0a\0r\0d\0.\0 \0 \0T\0h\0a\0t\0 \0i\0n\0v\0o\0l\0v\0e\0d\0:

-\0 \0M\0a\0k\0i\0n\0g\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0e\0x\0i\0s\0t\0i\0n\0g\0 \0V\0B\06\0 \0c\0o\0d\0e\0 \0e\0a\0s\0i\0e\0r\0 \0a\0n\0d\0 \0m\0o\0r\0e\0 \0r\0o\0b\0u\0s\0t\0 \0(\0n\0o\0t\0 \0b\0y\0 \0a\0d\0d\0i\0n\0g\0 \0g\0o\0s\0u\0b\0'\0s\0 \0o\0r\0 \0a\0n\0y\0t\0h\0i\0n\0g\0 \0l\0i\0k\0e\0 \0t\0h\0a\0t\0,\0 \0b\0u\0t\0 \0b\0y\0 \0t\0r\0a\0n\0s\0l\0a\0t\0i\0n\0g\0 \0o\0l\0d\0e\0r\0 \0c\0o\0d\0e\0 \0t\0o\0 \0n\0e\0w\0e\0r\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0s\0)\0.
-\0 \0B\0r\0i\0n\0g\0i\0n\0g\0 \0b\0a\0c\0k\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0t\0h\0a\0t\0 \0V\0B\06\0 \0u\0s\0e\0r\0s\0 \0l\0o\0v\0e\0d\0 \0a\0n\0d\0 \0r\0e\0l\0i\0e\0d\0 \0o\0n\0 \0(\0e\0d\0i\0t\0 \0a\0n\0d\0 \0c\0o\0n\0t\0i\0n\0u\0e\0)\0 \0a\0n\0d\0 \0a\0d\0d\0i\0n\0g\0 \0s\0p\0e\0c\0i\0a\0l\0i\0z\0e\0d\0 \0h\0e\0l\0p\0 \0f\0o\0r\0 \0n\0e\0w\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0(\0e\0r\0r\0o\0r\0 \0c\0o\0r\0r\0e\0c\0t\0i\0o\0n\0,\0 \0s\0n\0i\0p\0p\0e\0t\0s\0)\0 \0t\0o\0 \0h\0e\0l\0p\0 \0e\0a\0s\0e\0 \0t\0h\0e\0 \0l\0e\0a\0r\0n\0i\0n\0g\0 \0c\0u\0r\0v\0e\0.
-\0 \0M\0a\0k\0i\0n\0g\0 \0a\0 \0c\0o\0m\0m\0i\0t\0m\0e\0n\0t\0 \0t\0o\0 \0p\0r\0o\0v\0i\0d\0i\0n\0g\0 \0p\0o\0w\0e\0r\0f\0u\0l\0 \0t\0o\0o\0l\0s\0 \0f\0o\0r\0 \0d\0a\0t\0a\0 \0a\0c\0c\0e\0s\0s\0,\0 \0t\0o\0 \0p\0r\0o\0v\0i\0d\0e\0 \0a\0 \0l\0e\0a\0p\0 \0s\0i\0m\0i\0l\0a\0r\0 \0t\0o\0 \0t\0h\0a\0t\0 \0s\0e\0e\0n\0 \0w\0i\0t\0h\0 \0V\0B\03\0,\0 \0b\0u\0t\0 \0t\0h\0a\0t\0 \0w\0a\0s\0 \0d\0e\0s\0i\0g\0n\0e\0d\0 \0f\0o\0r\0 \0t\0h\0e\0 \0.\0N\0E\0T\0 \0w\0o\0r\0l\0d\0.

S\0o\0,\0 \0t\0o\0 \0s\0u\0m\0m\0a\0r\0i\0z\0e\0 \0i\0n\0 \0s\0i\0m\0i\0l\0a\0r\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0a\0s\0 \0y\0o\0u\0 \0g\0a\0v\0e\0 \0b\0e\0l\0o\0w\0:\0 \0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0a\0n\0d\0 \0i\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0t\0h\0e\0 \0s\0u\0c\0c\0e\0s\0s\0o\0r\0 \0o\0f\0 \0V\0B\06\0.\0 \0 \0T\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0p\0a\0t\0h\0 \0w\0a\0s\0 \0s\0o\0m\0e\0t\0i\0m\0e\0s\0 \0d\0i\0f\0f\0i\0c\0u\0l\0t\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\02\0.\0 \0 \0I\0t\0 \0i\0m\0p\0r\0o\0v\0e\0d\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\03\0.\0 \0 \0I\0t\0 \0g\0o\0t\0 \0r\0a\0t\0h\0e\0r\0 \0m\0o\0r\0e\0 \0e\0a\0s\0i\0e\0r\0 \0i\0n\0 \0V\0S\0 \02\00\00\05\0,\0 \0a\0n\0d\0 \0t\0h\0e\0 \0"\0e\0x\0p\0e\0r\0i\0e\0n\0c\0e\0"\0 \0e\0v\0o\0l\0v\0e\0d\0 \0t\0o\0 \0m\0a\0t\0c\0h\0.

-\0-\0M\0a\0t\0t\0-\0-\0*

-\0-\0-\0-\0-\0O\0r\0i\0g\0i\0n\0a\0l\0 \0M\0e\0s\0s\0a\0g\0e\0-\0-\0-\0-\0-
F\0r\0o\0m\0:\0 \0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t
P\0o\0s\0t\0e\0d\0 \0A\0t\0:\0 \0T\0u\0e\0s\0d\0a\0y\0,\0 \0J\0a\0n\0u\0a\0r\0y\0 \01\00\0,\0 \02\00\00\06\0 \09\0:\04\02\0 \0A\0M
P\0o\0s\0t\0e\0d\0 \0T\0o\0:\0 \0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0p\0u\0b\0l\0i\0c\0.\0d\0o\0t\0n\0e\0t\0.\0l\0a\0n\0g\0u\0a\0g\0e\0s\0.\0v\0b
C\0o\0n\0v\0e\0r\0s\0a\0t\0i\0o\0n\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
S\0u\0b\0j\0e\0c\0t\0:\0 \0R\0e\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?


H\0i\0 \0M\0a\0t\0t\0h\0e\0w

I\0'\0v\0e\0 \0t\0a\0k\0e\0n\0 \0y\0o\0u\0r\0 \0a\0d\0v\0i\0c\0e\0 \0a\0n\0d\0 \0n\0o\0t\0 \0t\0a\0k\0e\0n\0 \0a\0l\0l\0 \0t\0h\0a\0t\0 \0m\0u\0c\0h\0 \0n\0o\0t\0i\0c\0e\0 \0o\0f\0 \0y\0o\0u\0r\0 \0a\0n\0a\0l\0o\0g\0i\0e\0s\0.
P\0e\0r\0h\0a\0p\0s\0 \0I\0 \0n\0e\0e\0d\0 \0t\0o\0 \0b\0e\0 \0c\0l\0e\0a\0r\0e\0r\0 \0i\0n\0 \0t\0h\0e\0 \0w\0a\0y\0 \0I\0 \0p\0h\0r\0a\0s\0e\0d\0 \0t\0h\0e\0 \0q\0u\0e\0s\0t\0i\0o\0n\0.\0 \0A\0 \0k\0e\0y
d\0i\0s\0t\0i\0n\0c\0t\0i\0o\0n\0 \0b\0e\0t\0w\0e\0e\0n\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0a\0n\0d\0 \0a\0 \0w\0h\0o\0l\0e\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0i\0s\0 \0w\0h\0e\0t\0h\0e\0r
e\0x\0i\0s\0t\0i\0n\0g\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0i\0n\0 \0t\0h\0e\0 \0o\0l\0d\0e\0r\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0a\0r\0e\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e
u\0p\0g\0r\0a\0d\0e\0d\0 \0t\0o\0 \0t\0h\0e\0 \0n\0e\0w\0 \0o\0n\0e\0 \0w\0i\0t\0h\0 \0m\0i\0n\0i\0m\0a\0l\0 \0p\0r\0o\0b\0l\0e\0m\0s\0.

I\0n\0 \0o\0t\0h\0e\0r\0 \0w\0o\0r\0d\0s\0,\0 \0i\0f\0 \0y\0o\0u\0 \0r\0e\0g\0a\0r\0d\0e\0d\0 \0V\0B\0.\0N\0E\0T\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0,\0 \0i\0t\0 \0w\0a\0s\0 \0y\0o\0u\0r
i\0n\0t\0e\0n\0t\0i\0o\0n\0 \0a\0n\0d\0 \0e\0x\0p\0e\0c\0t\0a\0t\0i\0o\0n\0 \0t\0h\0a\0t\0 \0t\0h\0e\0 \0g\0r\0e\0a\0t\0 \0m\0a\0j\0o\0r\0i\0t\0y\0 \0o\0f\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0w\0o\0u\0l\0d
m\0i\0g\0r\0a\0t\0e\0 \0t\0o\0 \0V\0B\0.\0N\0E\0T\0 \0a\0n\0d\0 \0t\0h\0a\0t\0 \0t\0h\0i\0s\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0w\0o\0u\0l\0d\0 \0p\0r\0o\0c\0e\0e\0d\0 \0l\0a\0r\0g\0e\0l\0y
a\0u\0t\0o\0m\0a\0t\0i\0c\0a\0l\0l\0y\0 \0w\0i\0t\0h\0 \0n\0o\0t\0 \0a\0l\0l\0 \0t\0h\0a\0t\0 \0m\0u\0c\0h\0 \0m\0a\0n\0u\0a\0l\0 \0r\0e\0w\0r\0i\0t\0i\0n\0g\0 \0t\0o\0 \0d\0o\0.\0 \0T\0h\0e\0 \0c\0o\0d\0e
c\0o\0n\0v\0e\0r\0s\0i\0o\0n\0 \0w\0o\0u\0l\0d\0 \0b\0e\0 \0s\0o\0m\0e\0t\0h\0i\0n\0g\0 \0a\0r\0o\0u\0n\0d\0 \09\05\0%\0 \0a\0u\0t\0o\0m\0a\0t\0e\0d\0 \0a\0n\0d\0 \0t\0h\0e\0 \0m\0a\0n\0u\0a\0l\0 \0r\0e\0w\0r\0i\0t\0e\0s
r\0e\0l\0a\0t\0i\0v\0e\0l\0y\0 \0t\0r\0i\0v\0i\0a\0l\0.\0 \0T\0h\0a\0t\0 \0w\0o\0u\0l\0d\0n\0'\0t\0 \0p\0r\0e\0c\0l\0u\0d\0e\0 \0s\0o\0m\0e\0 \0c\0h\0a\0n\0g\0e\0s\0 \0i\0n\0 \0t\0h\0e\0 \0s\0y\0n\0t\0a\0x\0 \0s\0u\0c\0h
a\0s\0 \0t\0h\0e\0 \0u\0s\0e\0 \0o\0f\0 \0p\0a\0r\0e\0n\0t\0h\0e\0s\0e\0s\0.

I\0f\0 \0y\0o\0u\0 \0r\0e\0g\0a\0r\0d\0e\0d\0 \0V\0B\0.\0N\0E\0T\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0y\0o\0u\0 \0d\0i\0d\0 \0n\0o\0t\0 \0h\0a\0v\0e\0 \0s\0u\0c\0h\0 \0e\0x\0p\0e\0c\0t\0a\0t\0i\0o\0n\0s
f\0o\0r\0 \0e\0a\0s\0y\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0V\0B\06\0 \0c\0o\0d\0e\0.

I\0t\0 \0s\0e\0e\0m\0s\0 \0t\0h\0a\0t\0 \0t\0h\0e\0r\0e\0 \0a\0r\0e\0 \0t\0h\0r\0e\0e\0 \0p\0o\0s\0s\0i\0b\0l\0e\0 \0c\0a\0s\0e\0s

1\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0a\0n\0d\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

2\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0b\0u\0t\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0n\0o\0t\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

3\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0a\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0a\0n\0d\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0r\0o\0m\0 \0V\0B\06
w\0a\0s\0 \0n\0o\0t\0 \0a\0 \0m\0a\0j\0o\0r\0 \0c\0o\0n\0s\0i\0d\0e\0r\0a\0t\0i\0o\0n\0.

W\0h\0i\0c\0h\0 \0o\0f\0 \0t\0h\0e\0s\0e\0 \0c\0a\0s\0e\0s\0 \0f\0i\0t\0s\0 \0b\0e\0s\0t\0 \0w\0i\0t\0h\0 \0y\0o\0u\0r\0 \0p\0e\0r\0s\0o\0n\0a\0l\0 \0v\0i\0e\0w\0 \0o\0f\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0?

-\0-
R\0e\0g\0a\0r\0d\0s
J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t
 
H

Herfried K. Wagner [MVP]

Matthew,

B a c k a n d u n b u r i e d f r o m m a i l : - )

E a s e o f m i g r a t i o n i s a h u g e , h u g e g o a
l f o r u s - - a l w a y s h a s b e e n , a n d w i l l
c o n t i n u e t o b e . T h e w h o l e m a n t r a - -
t h e p r i m a r y m i s s i o n - - f o r t h e r e c e n t
v e r s i o n o f V B , i n p l a n n i n g m e e t i n g s ,
d e s i g n m e e t i n g s , a n d r i g h t d o w n t o t h
e p o s t e r s c o v e r i n g o u r h a l l w a y w a l l s ,
w a s a l l a b o u t h e l p i n g V B 6 c u s t o m e r s m
o v e f o r w a r d . T h a t i n v o l v e d :

I'm wondering what the problem with your newsreader is...
 
M

Matthew.Gertz

G\0o\0o\0d\0n\0e\0s\0s\0,\0 \0I\0 \0h\0o\0p\0e\0 \0n\0o\0t\0 \0(\0l\0o\0o\0k\0 \0o\0f\0 \0a\0l\0a\0r\0m\0)\0!\0 \0 \0T\0h\0e\0 \0i\0m\0p\0l\0i\0c\0a\0t\0i\0o\0n\0 \0o\0f\0 \0t\0h\0a\0t\0 \0i\0s\0 \0t\0h\0a\0t\0 \0w\0e\0 \0m\0a\0k\0e\0 \0d\0e\0c\0i\0s\0i\0o\0n\0s\0 \0i\0n\0 \0a\0 \0v\0a\0c\0u\0u\0m\0,\0 \0w\0h\0i\0c\0h\0 \0i\0s\0 \0t\0r\0u\0l\0y\0 \0n\0o\0t\0 \0t\0h\0e\0 \0c\0a\0s\0e\0.\0 \0 \0B\0u\0t\0 \0i\0t\0 \0h\0e\0l\0p\0s\0 \0u\0s\0 \0t\0o\0 \0u\0n\0d\0e\0r\0s\0t\0a\0n\0d\0 \0b\0e\0t\0t\0e\0r\0 \0(\0a\0n\0d\0 \0m\0a\0k\0e\0 \0i\0m\0p\0r\0o\0v\0e\0m\0e\0n\0t\0s\0)\0 \0w\0h\0e\0n\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0l\0e\0t\0 \0u\0s\0 \0k\0n\0o\0w\0 \0w\0h\0i\0c\0h\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0s\0 \0i\0n\0 \0V\0B\0 \0a\0r\0e\0 \0d\0i\0f\0f\0i\0c\0u\0l\0t\0 \0(\0w\0h\0i\0c\0h\0,\0 \0f\0r\0a\0n\0k\0l\0y\0,\0 \0i\0s\0 \0w\0h\0y\0 \0I\0'\0m\0 \0o\0n\0 \0t\0h\0i\0s\0 \0n\0e\0w\0s\0g\0r\0o\0u\0p\0)\0.\0 \0 \0T\0h\0e\0r\0e\0 \0a\0r\0e\0 \0f\0o\0u\0r\0 \0a\0r\0e\0a\0s\0 \0t\0o\0 \0c\0o\0n\0s\0i\0d\0e\0r\0:

(\01\0)\0 \0T\0h\0e\0 \0a\0c\0t\0u\0a\0l\0 \0V\0B\0 \0s\0y\0n\0t\0a\0x
(\02\0)\0 \0T\0h\0e\0 \0V\0B\0 \0r\0u\0n\0t\0i\0m\0e\0 \0(\0M\0i\0c\0r\0o\0s\0o\0f\0t\0.\0V\0i\0s\0u\0a\0l\0B\0a\0s\0i\0c\0)\0 \0w\0h\0i\0c\0h\0 \0w\0r\0a\0p\0s\0 \0s\0o\0m\0e\0 \0o\0f\0 \0t\0h\0e\0 \0.\0N\0E\0T\0 \0f\0r\0a\0m\0e\0w\0o\0r\0k\0,\0 \0a\0n\0d\0 \0i\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0c\0o\0v\0e\0r\0 \0m\0u\0c\0h\0 \0o\0f\0 \0w\0h\0a\0t\0 \0t\0h\0e\0 \0V\0B\06\0 \0r\0u\0n\0t\0i\0m\0t\0e\0 \0l\0i\0b\0r\0a\0r\0y\0 \0d\0i\0d\0.
(\03\0)\0 \0T\0h\0e\0 \0.\0N\0E\0T\0 \0f\0r\0a\0m\0e\0w\0o\0r\0k\0,\0 \0w\0h\0i\0c\0h\0 \0i\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0c\0o\0v\0e\0r\0 \0m\0o\0s\0t\0 \0o\0f\0 \0w\0h\0a\0t\0 \0y\0o\0u\0 \0u\0s\0e\0d\0 \0t\0o\0 \0u\0s\0e\0 \0"\0D\0e\0c\0l\0a\0r\0e\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0 \0t\0o\0 \0g\0e\0t\0 \0t\0o\0.
(\04\0)\0 \0T\0h\0e\0 \0a\0c\0t\0u\0a\0l\0 \0c\0o\0d\0i\0n\0g\0 \0e\0x\0p\0e\0r\0i\0e\0n\0c\0e\0 \0i\0t\0s\0e\0l\0f\0 \0-\0-\0 \0i\0.\0e\0.\0,\0 \0t\0h\0e\0 \0e\0d\0i\0t\0o\0r\0 \0a\0n\0d\0 \0a\0s\0s\0o\0c\0i\0a\0t\0e\0d\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0.


F\0o\0r\0 \0(\01\0)\0,\0 \0I\0 \0v\0i\0e\0w\0 \0w\0h\0a\0t\0 \0w\0e\0 \0c\0h\0a\0n\0g\0e\0d\0 \0a\0s\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0f\0o\0r\0 \0a\0 \0t\0r\0u\0e\0 \0o\0b\0j\0e\0c\0t\0-\0o\0r\0i\0e\0n\0t\0e\0d\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0w\0h\0i\0c\0h\0 \0i\0n\0 \0t\0u\0r\0n\0 \0i\0s\0 \0r\0e\0q\0u\0i\0r\0e\0d\0 \0t\0o\0 \0i\0n\0t\0e\0r\0a\0c\0t\0 \0p\0r\0o\0p\0e\0r\0l\0y\0 \0w\0i\0t\0h\0 \0a\0n\0 \0o\0b\0j\0e\0c\0t\0-\0o\0r\0i\0e\0n\0t\0e\0d\0 \0A\0P\0I\0 \0l\0a\0y\0e\0r\0 \0s\0u\0c\0h\0 \0a\0s\0 \0t\0h\0e\0 \0.\0N\0E\0T\0 \0f\0r\0a\0m\0e\0w\0o\0r\0k\0.\0 \0 \0T\0h\0e\0 \0d\0i\0f\0f\0e\0r\0e\0n\0c\0e\0 \0b\0e\0t\0w\0e\0e\0n\0 \0V\0B\06\0 \0a\0n\0d\0 \0V\0B\0.\0N\0E\0T\0 \0s\0y\0n\0t\0a\0x\0 \0i\0s\0n\0'\0t\0 \0n\0e\0a\0r\0l\0y\0 \0a\0s\0 \0s\0t\0r\0i\0k\0i\0n\0g\0 \0a\0s\0 \0t\0h\0e\0 \0d\0i\0f\0f\0e\0r\0e\0n\0c\0e\0 \0b\0e\0t\0w\0e\0e\0n\0 \0B\0A\0S\0I\0C\0 \0a\0n\0d\0 \0V\0B\06\0,\0 \0s\0o\0 \0I\0M\0O\0 \0t\0h\0i\0s\0 \0i\0s\0 \0j\0u\0s\0t\0 \0e\0v\0o\0l\0u\0t\0i\0o\0n\0,\0 \0a\0n\0d\0 \0I\0 \0d\0o\0n\0'\0t\0 \0t\0h\0i\0n\0k\0 \0t\0h\0e\0 \0l\0e\0a\0r\0n\0i\0n\0g\0 \0c\0u\0r\0v\0e\0 \0i\0s\0 \0s\0t\0e\0e\0p\0 \0b\0e\0t\0w\0e\0e\0n\0 \0t\0h\0e\0 \0t\0w\0o\0.\0 \0(\0Y\0o\0u\0 \0m\0a\0y\0 \0n\0o\0t\0 \0i\0m\0m\0e\0d\0i\0a\0t\0e\0l\0y\0 \0g\0r\0o\0k\0 \0o\0p\0e\0r\0a\0t\0o\0r\0 \0o\0v\0e\0r\0l\0o\0a\0d\0i\0n\0g\0,\0 \0g\0e\0n\0e\0r\0i\0c\0s\0,\0 \0e\0t\0c\0,\0 \0b\0u\0t\0 \0y\0o\0u\0 \0d\0o\0n\0'\0t\0 \0n\0e\0c\0e\0s\0s\0a\0r\0i\0l\0y\0 \0n\0e\0e\0d\0 \0t\0o\0 \0r\0i\0g\0h\0t\0 \0a\0w\0a\0y\0,\0 \0e\0s\0p\0e\0c\0i\0a\0l\0l\0y\0 \0i\0f\0 \0y\0o\0u\0'\0r\0e\0 \0p\0o\0r\0t\0i\0n\0g\0 \0V\0B\06\0 \0c\0o\0d\0e\0.\0)\0 \0 \0N\0e\0v\0e\0r\0t\0h\0e\0l\0e\0s\0s\0,\0 \0s\0y\0n\0t\0a\0x\0 \0i\0s\0 \0o\0n\0e\0 \0a\0r\0e\0a\0 \0w\0h\0e\0r\0e\0 \0w\0e\0 \0m\0a\0d\0e\0 \0s\0u\0r\0e\0 \0t\0h\0a\0t\0 \0w\0e\0 \0g\0o\0t\0 \0l\0o\0a\0d\0s\0 \0o\0f\0 \0f\0e\0e\0d\0b\0a\0c\0k\0 \0b\0e\0f\0o\0r\0e\0 \0s\0h\0i\0p\0p\0i\0n\0g\0,\0 \0a\0n\0d\0 \0i\0n\0 \0m\0a\0n\0y\0 \0c\0a\0s\0e\0s\0 \0c\0h\0a\0n\0g\0e\0d\0 \0t\0h\0e\0 \0f\0i\0n\0a\0l\0 \0s\0y\0n\0t\0a\0x\0 \0b\0a\0s\0e\0d\0 \0o\0n\0 \0f\0e\0e\0d\0b\0a\0c\0k\0.

F\0o\0r\0 \0(\02\0)\0,\0 \0w\0e\0 \0o\0f\0t\0e\0n\0 \0t\0h\0i\0n\0k\0 \0a\0b\0o\0u\0t\0 \0p\0r\0o\0v\0i\0d\0i\0n\0g\0 \0m\0o\0r\0e\0 \0c\0o\0d\0e\0 \0i\0n\0 \0t\0h\0e\0 \0M\0S\0.\0V\0B\0 \0l\0i\0b\0r\0a\0r\0y\0 \0o\0r\0 \0s\0i\0m\0i\0l\0a\0r\0 \0d\0e\0v\0i\0c\0e\0 \0w\0h\0i\0c\0h\0 \0f\0e\0e\0l\0s\0 \0v\0e\0r\0y\0 \0V\0B\0-\0i\0s\0h\0.\0 \0 \0W\0e\0'\0v\0e\0 \0a\0d\0d\0r\0e\0s\0s\0e\0d\0 \0t\0h\0i\0s\0 \0a\0 \0b\0i\0t\0 \0b\0y\0 \0a\0d\0d\0i\0n\0g\0 \0t\0h\0e\0 \0"\0M\0y\0"\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0a\0n\0d\0 \0t\0o\0 \0s\0o\0m\0e\0 \0e\0x\0t\0e\0n\0t\0 \0w\0i\0t\0h\0 \0s\0n\0i\0p\0p\0e\0t\0s\0,\0 \0a\0n\0d\0 \0w\0e\0 \0w\0i\0l\0l\0 \0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0d\0o\0 \0s\0o\0,\0 \0b\0u\0t\0 \0o\0n\0e\0 \0o\0f\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0g\0o\0a\0l\0s\0 \0f\0o\0r\0 \0M\0S\0.\0V\0B\0 \0i\0s\0 \0t\0o\0 \0h\0e\0l\0p\0 \0w\0i\0t\0h\0 \0V\0B\06\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0a\0n\0d\0 \0p\0r\0o\0v\0i\0d\0e\0 \0f\0a\0m\0i\0l\0i\0a\0r\0-\0l\0o\0o\0k\0i\0n\0g\0 \0a\0n\0d\0 \0f\0a\0m\0i\0l\0i\0a\0r\0-\0a\0c\0t\0i\0n\0g\0 \0m\0e\0t\0h\0o\0d\0s\0 \0f\0o\0r\0 \0V\0B\06\0 \0u\0s\0e\0r\0s\0.

F\0o\0r\0 \0(\03\0)\0,\0 \0t\0h\0e\0 \0q\0u\0e\0s\0t\0i\0o\0n\0 \0h\0e\0r\0e\0 \0i\0s\0 \0h\0o\0w\0 \0o\0f\0t\0e\0n\0 \0y\0o\0u\0 \0n\0e\0e\0d\0 \0t\0o\0 \0g\0o\0 \0"\0m\0i\0n\0i\0n\0g\0"\0 \0t\0o\0 \0f\0i\0n\0d\0 \0s\0o\0m\0e\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0,\0 \0a\0n\0d\0 \0h\0o\0w\0 \0o\0f\0t\0e\0n\0 \0y\0o\0u\0 \0t\0h\0r\0o\0w\0 \0u\0p\0 \0y\0o\0u\0r\0 \0h\0a\0n\0d\0s\0 \0a\0n\0d\0 \0s\0i\0m\0p\0l\0y\0 \0c\0r\0e\0a\0t\0e\0 \0a\0 \0"\0D\0e\0c\0l\0a\0r\0e\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0 \0t\0o\0 \0s\0o\0m\0e\0 \0w\0e\0l\0l\0-\0k\0n\0o\0w\0n\0 \0(\0b\0u\0t\0 \0p\0r\0o\0b\0a\0b\0l\0y\0 \0l\0e\0s\0s\0 \0s\0e\0c\0u\0r\0e\0)\0 \0W\0i\0n\0d\0o\0w\0s\0 \0A\0P\0I\0 \0t\0h\0a\0t\0 \0y\0o\0u\0'\0r\0e\0 \0f\0a\0m\0i\0l\0i\0a\0r\0 \0w\0i\0t\0h\0.\0 \0 \0T\0h\0a\0t\0'\0s\0 \0s\0o\0m\0e\0t\0h\0i\0n\0g\0 \0t\0h\0a\0t\0 \0I\0 \0w\0o\0u\0l\0d\0 \0v\0e\0r\0y\0 \0m\0u\0c\0h\0 \0l\0i\0k\0e\0 \0t\0o\0 \0h\0e\0a\0r\0 \0m\0o\0r\0e\0 \0o\0f\0 \0f\0r\0o\0m\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0.

F\0r\0o\0m\0 \0(\04\0)\0,\0 \0t\0h\0i\0s\0 \0i\0s\0 \0w\0h\0a\0t\0 \0w\0e\0 \0t\0r\0i\0e\0d\0 \0t\0o\0 \0a\0d\0d\0r\0e\0s\0s\0 \0w\0i\0t\0h\0 \0e\0d\0i\0t\0 \0a\0n\0d\0 \0c\0o\0n\0t\0i\0n\0u\0e\0,\0 \0d\0e\0s\0i\0g\0n\0 \0t\0i\0m\0e\0 \0e\0x\0p\0r\0e\0s\0s\0i\0o\0n\0 \0e\0v\0a\0l\0u\0a\0t\0i\0o\0n\0,\0 \0s\0n\0i\0p\0p\0e\0t\0 \0m\0a\0n\0a\0g\0e\0m\0e\0n\0t\0,\0 \0I\0n\0t\0e\0l\0l\0i\0S\0e\0n\0s\0e\0 \0i\0m\0p\0r\0o\0v\0e\0m\0e\0n\0t\0s\0,\0 \0e\0t\0c\0.\0 \0 \0A\0l\0l\0 \0U\0I\0 \0g\0o\0e\0s\0 \0t\0h\0r\0o\0u\0g\0h\0 \0u\0s\0a\0b\0i\0l\0i\0t\0y\0 \0l\0a\0b\0s\0 \0(\0w\0h\0e\0r\0e\0 \0w\0e\0 \0b\0r\0i\0n\0g\0 \0i\0n\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0a\0n\0d\0 \0l\0e\0t\0 \0t\0h\0e\0m\0 \0t\0r\0y\0 \0o\0u\0t\0 \0p\0r\0o\0t\0o\0t\0y\0p\0e\0s\0 \0o\0r\0 \0a\0l\0p\0h\0a\0 \0c\0o\0d\0e\0)\0,\0 \0a\0n\0d\0 \0t\0h\0i\0s\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0g\0e\0t\0s\0 \0a\0d\0j\0u\0s\0t\0e\0d\0 \0q\0u\0i\0t\0e\0 \0a\0 \0l\0o\0t\0.\0 \0 \0(\0W\0e\0 \0d\0o\0 \0t\0h\0i\0s\0 \0f\0o\0r\0 \0t\0h\0e\0 \0o\0t\0h\0e\0r\0 \03\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0p\0o\0i\0n\0t\0s\0 \0a\0s\0 \0w\0e\0l\0l\0,\0 \0a\0n\0d\0 \0I\0 \0d\0o\0n\0'\0t\0 \0m\0e\0a\0n\0 \0t\0o\0 \0i\0m\0p\0l\0y\0 \0o\0t\0h\0e\0r\0w\0i\0s\0e\0,\0 \0b\0u\0t\0 \0p\0e\0o\0p\0l\0e\0 \0t\0e\0n\0d\0 \0t\0o\0 \0b\0e\0 \0t\0h\0e\0 \0m\0o\0s\0t\0 \0v\0e\0r\0b\0o\0s\0e\0 \0a\0b\0o\0u\0t\0 \0t\0h\0e\0i\0r\0 \0d\0e\0v\0e\0l\0o\0p\0m\0e\0n\0t\0 \0e\0n\0v\0i\0r\0o\0n\0m\0e\0n\0t\0 \0-\0-\0 \0"\0A\0r\0g\0,\0 \0w\0h\0e\0r\0e\0'\0s\0 \0t\0h\0a\0t\0 \0b\0u\0t\0t\0o\0n\0 \0t\0h\0a\0t\0 \0I\0'\0m\0 \0u\0s\0e\0d\0 \0t\0o\0 \0c\0l\0i\0c\0k\0i\0n\0g\0!\0!\0!\0!\0"\0)

O\0v\0e\0r\0l\0a\0y\0i\0n\0g\0 \0a\0l\0l\0 \0o\0f\0 \0t\0h\0i\0s\0 \0i\0s\0 \0t\0h\0a\0t\0 \0f\0a\0c\0t\0 \0t\0h\0a\0t\0 \0V\0B\0 \0(\0i\0n\0 \0s\0o\0m\0e\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0r\0 \0a\0n\0o\0t\0h\0e\0r\0)\0 \0i\0s\0 \0u\0s\0e\0d\0 \0b\0y\0 \0m\0i\0l\0l\0i\0o\0n\0s\0 \0o\0f\0 \0p\0e\0o\0p\0l\0e\0,\0 \0a\0n\0d\0 \0t\0h\0e\0r\0e\0 \0a\0r\0e\0 \0v\0e\0r\0y\0 \0d\0i\0f\0f\0e\0r\0e\0n\0t\0 \0a\0n\0d\0 \0d\0e\0f\0i\0n\0i\0t\0e\0 \0c\0a\0m\0p\0s\0 \0a\0m\0o\0n\0g\0 \0t\0h\0o\0s\0e\0 \0u\0s\0e\0r\0s\0 \0r\0e\0g\0a\0r\0d\0i\0n\0g\0 \0t\0h\0e\0 \0d\0i\0r\0e\0c\0t\0i\0o\0n\0 \0t\0h\0a\0t\0 \0V\0B\0 \0s\0h\0o\0u\0l\0d\0 \0g\0o\0 \0a\0s\0 \0a\0 \0l\0a\0n\0g\0u\0a\0g\0e\0.\0 \0 \0F\0o\0r\0 \0e\0x\0a\0m\0p\0l\0e\0,\0 \0f\0o\0r\0 \0e\0v\0e\0r\0y\0 \0u\0s\0e\0r\0 \0w\0h\0o\0 \0w\0o\0n\0d\0e\0r\0e\0d\0 \0w\0h\0y\0 \0w\0e\0 \0w\0a\0s\0t\0e\0d\0 \0t\0i\0m\0e\0 \0i\0m\0p\0l\0e\0m\0e\0n\0t\0i\0n\0g\0 \0g\0e\0n\0e\0r\0i\0c\0s\0 \0i\0n\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0n\0o\0t\0h\0e\0r\0 \0u\0s\0e\0r\0 \0w\0h\0o\0 \0s\0w\0e\0a\0r\0s\0 \0t\0h\0a\0t\0 \0V\0B\0 \0w\0i\0l\0l\0 \0b\0e\0 \0l\0e\0f\0t\0 \0b\0e\0h\0i\0n\0d\0 \0a\0 \0r\0e\0a\0l\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0i\0f\0 \0w\0e\0 \0d\0o\0n\0'\0t\0 \0d\0o\0 \0m\0o\0r\0e\0 \0w\0i\0t\0h\0 \0g\0e\0n\0e\0r\0i\0c\0s\0.\0 \0 \0F\0o\0r\0 \0e\0v\0e\0r\0y\0 \0u\0s\0e\0r\0 \0w\0h\0o\0 \0h\0a\0t\0e\0s\0 \0h\0a\0v\0i\0n\0g\0 \0t\0o\0 \0d\0i\0p\0 \0a\0 \0t\0o\0e\0 \0i\0n\0t\0o\0 \0t\0h\0e\0 \0S\0y\0s\0t\0e\0m\0.\0G\0l\0o\0b\0a\0l\0i\0z\0a\0t\0i\0o\0n\0 \0n\0a\0m\0e\0s\0p\0a\0c\0e\0,\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0n\0o\0t\0h\0e\0r\0 \0w\0h\0o\0 \0a\0b\0s\0o\0l\0u\0t\0e\0l\0y\0 \0l\0o\0v\0e\0s\0 \0b\0e\0i\0n\0g\0 \0a\0b\0l\0e\0 \0t\0o\0 \0g\0i\0v\0e\0 \0u\0p\0 \0"\0D\0e\0c\0l\0a\0r\0e\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0.\0 \0 \0B\0a\0l\0a\0n\0c\0i\0n\0g\0 \0a\0l\0l\0 \0o\0f\0 \0t\0h\0e\0s\0e\0 \0i\0n\0t\0e\0r\0e\0s\0t\0s\0 \0i\0s\0 \0a\0 \0v\0e\0r\0y\0 \0c\0o\0m\0p\0l\0e\0x\0 \0p\0r\0o\0b\0l\0e\0m\0,\0 \0b\0u\0t\0 \0o\0n\0 \0t\0h\0e\0 \0o\0t\0h\0e\0r\0 \0h\0a\0n\0d\0 \0i\0t\0'\0s\0 \0a\0 \0g\0o\0o\0d\0 \0p\0r\0o\0b\0l\0e\0m\0 \0t\0o\0 \0h\0a\0v\0e\0.

-\0-\0M\0a\0t\0t\0-\0-\0*

-\0-\0-\0-\0-\0O\0r\0i\0g\0i\0n\0a\0l\0 \0M\0e\0s\0s\0a\0g\0e\0-\0-\0-\0-\0-
F\0r\0o\0m\0:\0 \0H\0o\0m\0e\0r\0 \0J\0 \0S\0i\0m\0p\0s\0o\0n
P\0o\0s\0t\0e\0d\0 \0A\0t\0:\0 \0F\0r\0i\0d\0a\0y\0,\0 \0J\0a\0n\0u\0a\0r\0y\0 \01\03\0,\0 \02\00\00\06\0 \01\02\0:\00\00\0 \0P\0M
P\0o\0s\0t\0e\0d\0 \0T\0o\0:\0 \0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0p\0u\0b\0l\0i\0c\0.\0d\0o\0t\0n\0e\0t\0.\0l\0a\0n\0g\0u\0a\0g\0e\0s\0.\0v\0b
C\0o\0n\0v\0e\0r\0s\0a\0t\0i\0o\0n\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
S\0u\0b\0j\0e\0c\0t\0:\0 \0R\0e\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?



"\0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t\0"\0 \0<\0j\0w\0e\0s\0t\0@\0m\0v\0p\0s\0.\0o\0r\0g\0>\0 \0w\0r\0o\0t\0e\0 \0i\0n\0 \0m\0e\0s\0s\0a\0g\0e
n\0e\0w\0s\0:\0%\02\03\0b\0i\0V\0%\02\03\00\0g\0F\0G\0H\0A\0.\03\09\08\04\0@\0T\0K\02\0M\0S\0F\0T\0N\0G\0P\01\04\0.\0p\0h\0x\0.\0g\0b\0l\0.\0.\0.
\0 \0I\0t\0 \0s\0e\0e\0m\0s\0 \0t\0h\0a\0t\0 \0t\0h\0e\0r\0e\0 \0a\0r\0e\0 \0t\0h\0r\0e\0e\0 \0p\0o\0s\0s\0i\0b\0l\0e\0 \0c\0a\0s\0e\0s

\0 \01\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0a\0n\0d\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

\0 \02\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0b\0u\0t\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0n\0o\0t\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

\0 \03\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0a\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0a\0n\0d\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0r\0o\0m
\0 \0V\0B\06\0 \0w\0a\0s\0 \0n\0o\0t\0 \0a\0 \0m\0a\0j\0o\0r\0 \0c\0o\0n\0s\0i\0d\0e\0r\0a\0t\0i\0o\0n\0.

\0 \0W\0h\0i\0c\0h\0 \0o\0f\0 \0t\0h\0e\0s\0e\0 \0c\0a\0s\0e\0s\0 \0f\0i\0t\0s\0 \0b\0e\0s\0t\0 \0w\0i\0t\0h\0 \0y\0o\0u\0r\0 \0p\0e\0r\0s\0o\0n\0a\0l\0 \0v\0i\0e\0w\0 \0o\0f\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0?

M\0y\0 \0c\0h\0o\0i\0c\0e\0 \0i\0s

4\0.\0 \0V\0B\0.\0N\0E\0T\0 \0g\0o\0t\0 \0i\0n\0t\0o\0 \0t\0h\0e\0 \0h\0a\0n\0d\0s\0 \0o\0f\0 \0'\0s\0o\0f\0t\0w\0a\0r\0e\0 \0p\0r\0i\0e\0s\0t\0s\0'\0 \0w\0h\0o\0 \0m\0a\0d\0e\0 \0i\0t\0 \0m\0u\0c\0h\0 \0m\0o\0r\0e
c\0o\0m\0p\0l\0e\0x\0 \0t\0h\0a\0n\0 \0i\0t\0 \0n\0e\0e\0d\0e\0d\0 \0t\0o\0 \0b\0e\0,\0 \0w\0i\0t\0h\0 \0o\0b\0l\0i\0q\0u\0e\0 \0r\0e\0f\0e\0r\0e\0n\0c\0e\0s\0 \0t\0h\0a\0t\0 \0o\0b\0f\0u\0s\0c\0a\0t\0e\0 \0r\0a\0t\0h\0e\0r
t\0h\0a\0n\0 \0c\0l\0a\0r\0i\0f\0y\0.
 
H

Herfried K. Wagner [MVP]

Matt's reply:

---
Hmm... that's no good. Every post I'm making seems to be going out
mangled, and I can't even read my own posts at all (not even as much as
you were able to see). I'll have to track this down & see why this is
happening.

Herfried, I wondered if you would be so kind and would please do me a
favor, would you please convey my apologies to that thread, and that I
will try to get the problem fixed? I would be much obliged...

Thanks,
--Matt--*
 
H

Homer J Simpson

Not sure what's wrong but you seem to be using some sort of Unicode which is
being filtered somehow

- M a k i n g m i g r a t i o n o f e x i s t i n g V B 6

0005C0 0A 20 0D 20 0D 0A 20 2D 20 20 20 4D 20 61 20 6B ? ? ?? - M a k
0005D0 20 69 20 6E 20 67 20 20 20 6D 20 69 20 67 20 72 i n g m i g r
0005E0 20 61 20 74 20 69 20 6F 20 6E 20 20 20 6F 20 66 a t i o n o f
0005F0 20 20 20 65 20 78 20 69 20 73 20 74 20 69 20 6E e x i s t i n
000600 20 67 20 20 20 56 20 42 20 36 20 20 20 63 20 6F g V B 6 c o
000610 20 64 20 65 20 20 20 65 20 61 20 73 20 69 20 65 d e e a s i e

Using LIST Version 9.1c 1/31/95
(c) Copyright Vernon D. Buerg 1983-95

However even this can't be trusted as Word sees this data differently. The
20 20 20 sequences show up as something else!!
 
J

Jonathan West

Back and unburied from mail :)

Ease of migration is a huge, huge goal for us -- always has been, and will
continue to be.
The whole mantra -- the primary mission -- for the recent version of VB,
in planning meetings, design meetings, and right down to the posters
covering our hallway walls, was all about helping VB6 customers move
forward. That involved:

I have to say the evidence for that hasn't been terribly clear. After all,
you allowed VB6 to go off mainstream support before you brought out VS2005,
which you say has migration as its primary mission.
- Making migration of existing VB6 code easier and more robust (not by
adding gosub's or anything like that, but by translating older code to
newer constructs).

Tell me, what is the newer construct that replaces Gosub and to which Gosub
is automatically translated in the migration wizard?
- Bringing back functionality that VB6 users loved and relied on (edit and
continue) and adding specialized help for new functionality (error
correction, snippets) to help ease the learning curve.

Ah, here you are making what I suspect is a common error - confusing the
issue of migrating skills with the issue of migrating code. For those with
large VB6 projects to port, E&C in VS2005 is of little practical use unless
and until the VB6 project can actually be migrated into VS2005.That is why
my question was very specific about the migration of code.

I well remember from the time of the original launch of VS.NET that VB6
developers who raised the issue of code migration being derided (at times by
people from Microsoft) as being unable to take on new skills, when they were
in fact very clearly talking about the time and expense necessary to rewrite
existing projects. Please be aware that my questions are very specifically
about the migration of existing medium-to-large VB6 projects.
- Making a commitment to providing powerful tools for data access, to
provide a leap similar to that seen with VB3, but that was designed for the
.NET world.

That might be very useful to some people, but it is nothing at all to do
with migrating code.
So, to summarize in similar language as you gave below: VB.NET was and is
intended to be the successor of VB6. The migration path was sometimes
difficult in VB.NET 2002. It improved in VB.NET 2003. It got rather more
easier in VS 2005, and the "experience" evolved to match.


You haven't yet given me any examples of things in VS2005 that make
migrating code easier. For instance, what has been done to reduce the number
of "ToDo" statements generated by the migration wizard?

Also, when planning the migration features for VS2005, did you get in touch
with those customers who publicly criticised the migration capabilities of
earlier versions of VS.NET to see what their needs were for the purpose of
porting substantial VB6 projects to VB.NET?

Based on your statements, it would appear that, whatever your intentions,
the previous versions of VB.NET could not reasonably be regarded as a new
version of VB with migration capabilities meeting the standard I described.
Would you say that you have hit that mark with VS2005?
 
M

Matthew.Gertz

(\0I\0'\0l\0l\0 \0t\0r\0y\0 \0a\0 \0p\0o\0s\0t\0 \0a\0g\0a\0i\0n\0 \0&\0 \0s\0e\0e\0 \0i\0f\0 \0t\0h\0e\0 \0n\0e\0w\0s\0r\0e\0a\0d\0e\0r\0 \0i\0s\0 \0w\0o\0r\0k\0i\0n\0g\0 \0n\0o\0w\0.\0)

C\0o\0m\0m\0e\0n\0t\0s\0 \0i\0n\0l\0i\0n\0e\0.\0.\0.




-\0-\0-\0-\0-\0O\0r\0i\0g\0i\0n\0a\0l\0 \0M\0e\0s\0s\0a\0g\0e\0-\0-\0-\0-\0-
F\0r\0o\0m\0:\0 \0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t
P\0o\0s\0t\0e\0d\0 \0A\0t\0:\0 \0W\0e\0d\0n\0e\0s\0d\0a\0y\0,\0 \0J\0a\0n\0u\0a\0r\0y\0 \01\08\0,\0 \02\00\00\06\0 \09\0:\01\08\0 \0A\0M
P\0o\0s\0t\0e\0d\0 \0T\0o\0:\0 \0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0p\0u\0b\0l\0i\0c\0.\0d\0o\0t\0n\0e\0t\0.\0l\0a\0n\0g\0u\0a\0g\0e\0s\0.\0v\0b
C\0o\0n\0v\0e\0r\0s\0a\0t\0i\0o\0n\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
S\0u\0b\0j\0e\0c\0t\0:\0 \0R\0e\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?



<\0M\0a\0t\0t\0h\0e\0w\0.\0G\0e\0r\0t\0z\0@\0f\0e\0e\0d\0b\0a\0c\0k\0.\0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0c\0o\0m\0>\0 \0w\0r\0o\0t\0e\0 \0i\0n\0 \0m\0e\0s\0s\0a\0g\0e
n\0e\0w\0s\0:\0e\0P\0%\02\03\0R\0x\0j\05\0G\0G\0H\0A\0.\03\09\08\04\0@\0T\0K\02\0M\0S\0F\0T\0N\0G\0P\01\04\0.\0p\0h\0x\0.\0g\0b\0l\0.\0.\0.
\0B\0a\0c\0k\0 \0a\0n\0d\0 \0u\0n\0b\0u\0r\0i\0e\0d\0 \0f\0r\0o\0m\0 \0m\0a\0i\0l\0 \0:\0-\0)

\0E\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0i\0s\0 \0a\0 \0h\0u\0g\0e\0,\0 \0h\0u\0g\0e\0 \0g\0o\0a\0l\0 \0f\0o\0r\0 \0u\0s\0 \0-\0-\0 \0a\0l\0w\0a\0y\0s\0 \0h\0a\0s\0 \0b\0e\0e\0n\0,\0 \0a\0n\0d\0 \0w\0i\0l\0l
\0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0b\0e\0.
\0 \0T\0h\0e\0 \0w\0h\0o\0l\0e\0 \0m\0a\0n\0t\0r\0a\0 \0-\0-\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0m\0i\0s\0s\0i\0o\0n\0 \0-\0-\0 \0f\0o\0r\0 \0t\0h\0e\0 \0r\0e\0c\0e\0n\0t\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,
\0 \0i\0n\0 \0p\0l\0a\0n\0n\0i\0n\0g\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0d\0e\0s\0i\0g\0n\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0a\0n\0d\0 \0r\0i\0g\0h\0t\0 \0d\0o\0w\0n\0 \0t\0o\0 \0t\0h\0e\0 \0p\0o\0s\0t\0e\0r\0s
\0 \0c\0o\0v\0e\0r\0i\0n\0g\0 \0o\0u\0r\0 \0h\0a\0l\0l\0w\0a\0y\0 \0w\0a\0l\0l\0s\0,\0 \0w\0a\0s\0 \0a\0l\0l\0 \0a\0b\0o\0u\0t\0 \0h\0e\0l\0p\0i\0n\0g\0 \0V\0B\06\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0m\0o\0v\0e
\0 \0f\0o\0r\0w\0a\0r\0d\0.\0 \0T\0h\0a\0t\0 \0i\0n\0v\0o\0l\0v\0e\0d\0:

I\0 \0h\0a\0v\0e\0 \0t\0o\0 \0s\0a\0y\0 \0t\0h\0e\0 \0e\0v\0i\0d\0e\0n\0c\0e\0 \0f\0o\0r\0 \0t\0h\0a\0t\0 \0h\0a\0s\0n\0'\0t\0 \0b\0e\0e\0n\0 \0t\0e\0r\0r\0i\0b\0l\0y\0 \0c\0l\0e\0a\0r\0.\0 \0A\0f\0t\0e\0r\0 \0a\0l\0l\0,
y\0o\0u\0 \0a\0l\0l\0o\0w\0e\0d\0 \0V\0B\06\0 \0t\0o\0 \0g\0o\0 \0o\0f\0f\0 \0m\0a\0i\0n\0s\0t\0r\0e\0a\0m\0 \0s\0u\0p\0p\0o\0r\0t\0 \0b\0e\0f\0o\0r\0e\0 \0y\0o\0u\0 \0b\0r\0o\0u\0g\0h\0t\0 \0o\0u\0t\0 \0V\0S\02\00\00\05\0,
w\0h\0i\0c\0h\0 \0y\0o\0u\0 \0s\0a\0y\0 \0h\0a\0s\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0a\0s\0 \0i\0t\0s\0 \0p\0r\0i\0m\0a\0r\0y\0 \0m\0i\0s\0s\0i\0o\0n\0.

[\0M\0a\0t\0t\0]\0 \0V\0B\06\0 \0s\0u\0p\0p\0o\0r\0t\0a\0b\0i\0l\0i\0t\0y\0 \0v\0s\0.\0 \0i\0m\0p\0r\0o\0v\0i\0n\0g\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0a\0r\0e\0 \0o\0r\0t\0h\0o\0g\0o\0n\0a\0l\0 \0i\0s\0s\0u\0e\0s\0.\0 \0 \0A\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0p\0a\0t\0h\0 \0a\0l\0r\0e\0a\0d\0y\0 \0e\0x\0i\0s\0t\0e\0d\0 \0i\0n\0 \02\00\00\02\0 \0a\0n\0d\0 \02\00\00\03\0,\0 \0d\0u\0r\0i\0n\0g\0 \0t\0h\0e\0 \0o\0v\0e\0r\0l\0a\0p\0.\0 \0 \0W\0e\0 \0c\0a\0n\0 \0(\0a\0n\0d\0 \0w\0i\0l\0l\0)\0 \0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0i\0m\0p\0r\0o\0v\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0r\0e\0g\0a\0r\0d\0l\0e\0s\0s\0 \0o\0f\0 \0t\0h\0e\0 \0s\0t\0a\0t\0e\0 \0o\0f\0 \0V\0B\06\0 \0s\0u\0p\0p\0o\0r\0t\0 \0-\0-\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0 \0l\0o\0t\0 \0o\0f\0 \0V\0B\06\0 \0c\0o\0d\0e\0 \0o\0u\0t\0 \0t\0h\0e\0r\0e\0 \0s\0t\0i\0l\0l\0.
\0-\0 \0M\0a\0k\0i\0n\0g\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0e\0x\0i\0s\0t\0i\0n\0g\0 \0V\0B\06\0 \0c\0o\0d\0e\0 \0e\0a\0s\0i\0e\0r\0 \0a\0n\0d\0 \0m\0o\0r\0e\0 \0r\0o\0b\0u\0s\0t\0 \0(\0n\0o\0t\0 \0b\0y
\0a\0d\0d\0i\0n\0g\0 \0g\0o\0s\0u\0b\0'\0s\0 \0o\0r\0 \0a\0n\0y\0t\0h\0i\0n\0g\0 \0l\0i\0k\0e\0 \0t\0h\0a\0t\0,\0 \0b\0u\0t\0 \0b\0y\0 \0t\0r\0a\0n\0s\0l\0a\0t\0i\0n\0g\0 \0o\0l\0d\0e\0r\0 \0c\0o\0d\0e\0 \0t\0o
\0n\0e\0w\0e\0r\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0s\0)\0.

T\0e\0l\0l\0 \0m\0e\0,\0 \0w\0h\0a\0t\0 \0i\0s\0 \0t\0h\0e\0 \0n\0e\0w\0e\0r\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0 \0t\0h\0a\0t\0 \0r\0e\0p\0l\0a\0c\0e\0s\0 \0G\0o\0s\0u\0b\0 \0a\0n\0d\0 \0t\0o\0 \0w\0h\0i\0c\0h\0 \0G\0o\0s\0u\0b
i\0s\0 \0a\0u\0t\0o\0m\0a\0t\0i\0c\0a\0l\0l\0y\0 \0t\0r\0a\0n\0s\0l\0a\0t\0e\0d\0 \0i\0n\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0w\0i\0z\0a\0r\0d\0?

[\0M\0a\0t\0t\0]\0 \0I\0 \0t\0h\0i\0n\0k\0 \0y\0o\0u\0'\0r\0e\0 \0m\0i\0x\0i\0n\0g\0 \0t\0h\0e\0 \0t\0w\0o\0 \0p\0h\0r\0a\0s\0e\0s\0 \0i\0n\0 \0t\0h\0a\0t\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0 \0-\0-\0 \0I\0'\0m\0 \0n\0o\0t\0 \0m\0a\0k\0i\0n\0g\0 \0a\0n\0y\0 \0i\0m\0p\0l\0i\0c\0a\0t\0i\0o\0n\0s\0 \0a\0b\0o\0u\0t\0 \0s\0p\0e\0c\0i\0f\0i\0c\0 \0t\0r\0a\0n\0s\0l\0a\0t\0i\0o\0n\0s\0.
\0-\0 \0B\0r\0i\0n\0g\0i\0n\0g\0 \0b\0a\0c\0k\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0t\0h\0a\0t\0 \0V\0B\06\0 \0u\0s\0e\0r\0s\0 \0l\0o\0v\0e\0d\0 \0a\0n\0d\0 \0r\0e\0l\0i\0e\0d\0 \0o\0n\0 \0(\0e\0d\0i\0t\0 \0a\0n\0d
\0c\0o\0n\0t\0i\0n\0u\0e\0)\0 \0a\0n\0d\0 \0a\0d\0d\0i\0n\0g\0 \0s\0p\0e\0c\0i\0a\0l\0i\0z\0e\0d\0 \0h\0e\0l\0p\0 \0f\0o\0r\0 \0n\0e\0w\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0(\0e\0r\0r\0o\0r
\0c\0o\0r\0r\0e\0c\0t\0i\0o\0n\0,\0 \0s\0n\0i\0p\0p\0e\0t\0s\0)\0 \0t\0o\0 \0h\0e\0l\0p\0 \0e\0a\0s\0e\0 \0t\0h\0e\0 \0l\0e\0a\0r\0n\0i\0n\0g\0 \0c\0u\0r\0v\0e\0.

A\0h\0,\0 \0h\0e\0r\0e\0 \0y\0o\0u\0 \0a\0r\0e\0 \0m\0a\0k\0i\0n\0g\0 \0w\0h\0a\0t\0 \0I\0 \0s\0u\0s\0p\0e\0c\0t\0 \0i\0s\0 \0a\0 \0c\0o\0m\0m\0o\0n\0 \0e\0r\0r\0o\0r\0 \0-\0 \0c\0o\0n\0f\0u\0s\0i\0n\0g\0 \0t\0h\0e
i\0s\0s\0u\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0s\0k\0i\0l\0l\0s\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0i\0s\0s\0u\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0c\0o\0d\0e\0.\0 \0F\0o\0r\0 \0t\0h\0o\0s\0e\0 \0w\0i\0t\0h
l\0a\0r\0g\0e\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0t\0o\0 \0p\0o\0r\0t\0,\0 \0E\0&\0C\0 \0i\0n\0 \0V\0S\02\00\00\05\0 \0i\0s\0 \0o\0f\0 \0l\0i\0t\0t\0l\0e\0 \0p\0r\0a\0c\0t\0i\0c\0a\0l\0 \0u\0s\0e\0 \0u\0n\0l\0e\0s\0s
a\0n\0d\0 \0u\0n\0t\0i\0l\0 \0t\0h\0e\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0 \0c\0a\0n\0 \0a\0c\0t\0u\0a\0l\0l\0y\0 \0b\0e\0 \0m\0i\0g\0r\0a\0t\0e\0d\0 \0i\0n\0t\0o\0 \0V\0S\02\00\00\05\0.\0T\0h\0a\0t\0 \0i\0s\0 \0w\0h\0y
m\0y\0 \0q\0u\0e\0s\0t\0i\0o\0n\0 \0w\0a\0s\0 \0v\0e\0r\0y\0 \0s\0p\0e\0c\0i\0f\0i\0c\0 \0a\0b\0o\0u\0t\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0c\0o\0d\0e\0.

I\0 \0w\0e\0l\0l\0 \0r\0e\0m\0e\0m\0b\0e\0r\0 \0f\0r\0o\0m\0 \0t\0h\0e\0 \0t\0i\0m\0e\0 \0o\0f\0 \0t\0h\0e\0 \0o\0r\0i\0g\0i\0n\0a\0l\0 \0l\0a\0u\0n\0c\0h\0 \0o\0f\0 \0V\0S\0.\0N\0E\0T\0 \0t\0h\0a\0t\0 \0V\0B\06
d\0e\0v\0e\0l\0o\0p\0e\0r\0s\0 \0w\0h\0o\0 \0r\0a\0i\0s\0e\0d\0 \0t\0h\0e\0 \0i\0s\0s\0u\0e\0 \0o\0f\0 \0c\0o\0d\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0b\0e\0i\0n\0g\0 \0d\0e\0r\0i\0d\0e\0d\0 \0(\0a\0t\0 \0t\0i\0m\0e\0s\0 \0b\0y
p\0e\0o\0p\0l\0e\0 \0f\0r\0o\0m\0 \0M\0i\0c\0r\0o\0s\0o\0f\0t\0)\0 \0a\0s\0 \0b\0e\0i\0n\0g\0 \0u\0n\0a\0b\0l\0e\0 \0t\0o\0 \0t\0a\0k\0e\0 \0o\0n\0 \0n\0e\0w\0 \0s\0k\0i\0l\0l\0s\0,\0 \0w\0h\0e\0n\0 \0t\0h\0e\0y\0 \0w\0e\0r\0e
i\0n\0 \0f\0a\0c\0t\0 \0v\0e\0r\0y\0 \0c\0l\0e\0a\0r\0l\0y\0 \0t\0a\0l\0k\0i\0n\0g\0 \0a\0b\0o\0u\0t\0 \0t\0h\0e\0 \0t\0i\0m\0e\0 \0a\0n\0d\0 \0e\0x\0p\0e\0n\0s\0e\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0t\0o\0 \0r\0e\0w\0r\0i\0t\0e
e\0x\0i\0s\0t\0i\0n\0g\0 \0p\0r\0o\0j\0e\0c\0t\0s\0.\0 \0P\0l\0e\0a\0s\0e\0 \0b\0e\0 \0a\0w\0a\0r\0e\0 \0t\0h\0a\0t\0 \0m\0y\0 \0q\0u\0e\0s\0t\0i\0o\0n\0s\0 \0a\0r\0e\0 \0v\0e\0r\0y\0 \0s\0p\0e\0c\0i\0f\0i\0c\0a\0l\0l\0y
a\0b\0o\0u\0t\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0e\0x\0i\0s\0t\0i\0n\0g\0 \0m\0e\0d\0i\0u\0m\0-\0t\0o\0-\0l\0a\0r\0g\0e\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0.

[\0M\0a\0t\0t\0]\0 \0N\0o\0 \0c\0o\0n\0f\0u\0s\0i\0o\0n\0 \0a\0t\0 \0a\0l\0l\0.\0 \0 \0T\0h\0e\0r\0e\0 \0a\0r\0e\0 \0t\0w\0o\0 \0i\0s\0s\0u\0e\0s\0 \0w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0-\0-\0 \0g\0e\0t\0t\0i\0n\0g\0 \0p\0e\0o\0p\0l\0e\0 \0t\0h\0e\0r\0e\0,\0 \0a\0n\0d\0 \0k\0e\0e\0p\0i\0n\0g\0 \0t\0h\0e\0m\0 \0h\0a\0p\0p\0y\0 \0w\0h\0i\0l\0e\0 \0t\0h\0e\0y\0'\0r\0e\0 \0t\0h\0e\0r\0e\0.\0 \0 \0J\0u\0s\0t\0 \0f\0o\0c\0u\0s\0i\0n\0g\0 \0o\0n\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0t\0h\0e\0 \0c\0o\0d\0e\0 \0w\0o\0u\0l\0d\0 \0b\0e\0 \0a\0 \0m\0i\0s\0t\0a\0k\0e\0.\0 \0 \0I\0 \0u\0n\0d\0e\0r\0s\0t\0a\0n\0d\0 \0t\0h\0a\0t\0 \0t\0h\0a\0t\0'\0s\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0f\0o\0c\0u\0s\0 \0o\0f\0 \0y\0o\0u\0r\0 \0q\0u\0e\0s\0t\0i\0o\0n\0,\0 \0b\0u\0t\0 \0I\0 \0v\0i\0e\0w\0 \0t\0h\0e\0m\0 \0a\0s\0 \0j\0o\0i\0n\0e\0d\0 \0a\0t\0 \0t\0h\0e\0 \0h\0i\0p\0.
\0-\0 \0M\0a\0k\0i\0n\0g\0 \0a\0 \0c\0o\0m\0m\0i\0t\0m\0e\0n\0t\0 \0t\0o\0 \0p\0r\0o\0v\0i\0d\0i\0n\0g\0 \0p\0o\0w\0e\0r\0f\0u\0l\0 \0t\0o\0o\0l\0s\0 \0f\0o\0r\0 \0d\0a\0t\0a\0 \0a\0c\0c\0e\0s\0s\0,\0 \0t\0o
\0p\0r\0o\0v\0i\0d\0e\0 \0a\0 \0l\0e\0a\0p\0 \0s\0i\0m\0i\0l\0a\0r\0 \0t\0o\0 \0t\0h\0a\0t\0 \0s\0e\0e\0n\0 \0w\0i\0t\0h\0 \0V\0B\03\0,\0 \0b\0u\0t\0 \0t\0h\0a\0t\0 \0w\0a\0s\0 \0d\0e\0s\0i\0g\0n\0e\0d\0 \0f\0o\0r\0 \0t\0h\0e
\0.\0N\0E\0T\0 \0w\0o\0r\0l\0d\0.

T\0h\0a\0t\0 \0m\0i\0g\0h\0t\0 \0b\0e\0 \0v\0e\0r\0y\0 \0u\0s\0e\0f\0u\0l\0 \0t\0o\0 \0s\0o\0m\0e\0 \0p\0e\0o\0p\0l\0e\0,\0 \0b\0u\0t\0 \0i\0t\0 \0i\0s\0 \0n\0o\0t\0h\0i\0n\0g\0 \0a\0t\0 \0a\0l\0l\0 \0t\0o\0 \0d\0o
w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0c\0o\0d\0e\0.

[\0M\0a\0t\0t\0]\0 \0I\0t\0'\0s\0 \0a\0l\0l\0 \0a\0b\0o\0u\0t\0 \0a\0s\0s\0u\0r\0i\0n\0g\0 \0V\0B\0 \0u\0s\0e\0r\0s\0 \0t\0h\0a\0t\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0m\0e\0a\0n\0s\0 \0a\0d\0d\0e\0d\0 \0p\0o\0w\0e\0r\0,\0 \0a\0n\0d\0 \0a\0s\0 \0s\0u\0c\0h\0 \0i\0s\0 \0m\0o\0s\0t\0l\0y\0 \0r\0e\0l\0e\0v\0a\0n\0t\0 \0t\0o\0 \0m\0y\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0p\0o\0i\0n\0t\0.
\0S\0o\0,\0 \0t\0o\0 \0s\0u\0m\0m\0a\0r\0i\0z\0e\0 \0i\0n\0 \0s\0i\0m\0i\0l\0a\0r\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0a\0s\0 \0y\0o\0u\0 \0g\0a\0v\0e\0 \0b\0e\0l\0o\0w\0:\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0a\0n\0d\0 \0i\0s
\0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0t\0h\0e\0 \0s\0u\0c\0c\0e\0s\0s\0o\0r\0 \0o\0f\0 \0V\0B\06\0.\0 \0T\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0p\0a\0t\0h\0 \0w\0a\0s\0 \0s\0o\0m\0e\0t\0i\0m\0e\0s
\0d\0i\0f\0f\0i\0c\0u\0l\0t\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\02\0.\0 \0I\0t\0 \0i\0m\0p\0r\0o\0v\0e\0d\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\03\0.\0 \0I\0t\0 \0g\0o\0t\0 \0r\0a\0t\0h\0e\0r\0 \0m\0o\0r\0e
\0e\0a\0s\0i\0e\0r\0 \0i\0n\0 \0V\0S\0 \02\00\00\05\0,\0 \0a\0n\0d\0 \0t\0h\0e\0 \0"\0e\0x\0p\0e\0r\0i\0e\0n\0c\0e\0"\0 \0e\0v\0o\0l\0v\0e\0d\0 \0t\0o\0 \0m\0a\0t\0c\0h\0.


Y\0o\0u\0 \0h\0a\0v\0e\0n\0'\0t\0 \0y\0e\0t\0 \0g\0i\0v\0e\0n\0 \0m\0e\0 \0a\0n\0y\0 \0e\0x\0a\0m\0p\0l\0e\0s\0 \0o\0f\0 \0t\0h\0i\0n\0g\0s\0 \0i\0n\0 \0V\0S\02\00\00\05\0 \0t\0h\0a\0t\0 \0m\0a\0k\0e
m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0c\0o\0d\0e\0 \0e\0a\0s\0i\0e\0r\0.\0 \0F\0o\0r\0 \0i\0n\0s\0t\0a\0n\0c\0e\0,\0 \0w\0h\0a\0t\0 \0h\0a\0s\0 \0b\0e\0e\0n\0 \0d\0o\0n\0e\0 \0t\0o\0 \0r\0e\0d\0u\0c\0e\0 \0t\0h\0e\0 \0n\0u\0m\0b\0e\0r
o\0f\0 \0"\0T\0o\0D\0o\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0 \0g\0e\0n\0e\0r\0a\0t\0e\0d\0 \0b\0y\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0w\0i\0z\0a\0r\0d\0?

[\0M\0a\0t\0t\0]\0 \0I\0 \0h\0a\0v\0e\0 \0n\0o\0 \0s\0u\0c\0h\0 \0l\0i\0s\0t\0 \0a\0t\0 \0h\0a\0n\0d\0 \0(\0o\0t\0h\0e\0r\0 \0t\0h\0a\0n\0 \0t\0h\0e\0 \0m\0e\0m\0o\0r\0y\0 \0o\0f\0 \0c\0o\0l\0l\0e\0c\0t\0i\0n\0g\0 \0t\0h\0e\0 \0l\0i\0s\0t\0s\0 \0o\0f\0 \0i\0m\0p\0r\0o\0v\0e\0m\0e\0n\0t\0s\0 \0a\0n\0d\0 \0s\0e\0n\0d\0i\0n\0g\0 \0t\0h\0e\0m\0 \0t\0o\0 \0T\0a\0c\0t\0i\0c\0s\0 \0f\0o\0r\0 \0a\0p\0p\0r\0o\0v\0a\0l\0,\0 \0a\0l\0o\0n\0g\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0o\0t\0h\0e\0r\0 \0n\0o\0n\0-\0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0i\0x\0e\0s\0 \0t\0h\0a\0t\0 \0V\0B\0 \0w\0o\0u\0l\0d\0 \0s\0e\0n\0d\0 \0a\0l\0o\0n\0g\0)\0.\0 \0 \0I\0f\0 \0y\0o\0u\0 \0l\0i\0k\0e\0,\0 \0I\0 \0c\0o\0u\0l\0d\0 \0a\0l\0w\0a\0y\0s\0 \0f\0o\0l\0l\0o\0w\0 \0u\0p\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0t\0e\0a\0m\0 \0t\0o\0 \0s\0e\0e\0 \0i\0f\0 \0t\0h\0e\0y\0 \0h\0a\0d\0 \0s\0u\0c\0h\0 \0a\0 \0l\0i\0s\0t

A\0l\0s\0o\0,\0 \0w\0h\0e\0n\0 \0p\0l\0a\0n\0n\0i\0n\0g\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0e\0a\0t\0u\0r\0e\0s\0 \0f\0o\0r\0 \0V\0S\02\00\00\05\0,\0 \0d\0i\0d\0 \0y\0o\0u\0 \0g\0e\0t\0 \0i\0n\0 \0t\0o\0u\0c\0h
w\0i\0t\0h\0 \0t\0h\0o\0s\0e\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0w\0h\0o\0 \0p\0u\0b\0l\0i\0c\0l\0y\0 \0c\0r\0i\0t\0i\0c\0i\0s\0e\0d\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0c\0a\0p\0a\0b\0i\0l\0i\0t\0i\0e\0s\0 \0o\0f
e\0a\0r\0l\0i\0e\0r\0 \0v\0e\0r\0s\0i\0o\0n\0s\0 \0o\0f\0 \0V\0S\0.\0N\0E\0T\0 \0t\0o\0 \0s\0e\0e\0 \0w\0h\0a\0t\0 \0t\0h\0e\0i\0r\0 \0n\0e\0e\0d\0s\0 \0w\0e\0r\0e\0 \0f\0o\0r\0 \0t\0h\0e\0 \0p\0u\0r\0p\0o\0s\0e\0 \0o\0f
p\0o\0r\0t\0i\0n\0g\0 \0s\0u\0b\0s\0t\0a\0n\0t\0i\0a\0l\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0t\0o\0 \0V\0B\0.\0N\0E\0T\0?

[\0M\0a\0t\0t\0]\0 \0Y\0e\0s\0.\0 \0 \0(\0I\0 \0p\0e\0r\0s\0o\0n\0a\0l\0l\0y\0 \0w\0a\0s\0 \0i\0n\0v\0o\0l\0v\0e\0d\0 \0w\0i\0t\0h\0 \0t\0h\0i\0s\0 \0t\0o\0 \0s\0o\0m\0e\0 \0m\0i\0n\0o\0r\0 \0e\0x\0t\0e\0n\0t\0;\0 \0i\0n\0 \0m\0y\0 \0c\0a\0s\0e\0,\0 \0I\0 \0v\0i\0s\0i\0t\0e\0d\0 \0s\0e\0v\0e\0r\0a\0l\0 \0e\0n\0t\0e\0r\0p\0r\0i\0s\0e\0s\0 \0i\0n\0 \0S\0E\0 \0A\0s\0i\0a\0 \0(\0w\0h\0i\0l\0e\0 \0w\0e\0 \0w\0e\0r\0e\0 \0o\0n\0 \0t\0h\0e\0 \0W\0o\0r\0l\0d\0 \0T\0o\0u\0r\0 \0i\0n\0 \02\00\00\04\0)\0 \0w\0h\0o\0 \0h\0a\0d\0 \0c\0o\0n\0c\0e\0r\0n\0s\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0d\0i\0f\0f\0i\0c\0u\0l\0t\0y\0 \0o\0n\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0,\0 \0b\0u\0t\0 \0t\0h\0a\0t\0'\0s\0 \0a\0 \0t\0i\0n\0y\0 \0e\0x\0a\0m\0p\0l\0e\0 \0o\0f\0 \0a\0 \0m\0u\0c\0h\0 \0l\0a\0r\0g\0e\0r\0 \0e\0f\0f\0o\0r\0t\0.\0 \0 \0W\0e\0 \0h\0o\0s\0t\0e\0d\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0l\0a\0b\0s\0 \0t\0a\0r\0g\0e\0t\0i\0n\0g\0 \0p\0r\0o\0b\0l\0e\0m\0a\0t\0i\0c\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0s\0c\0e\0n\0a\0r\0i\0o\0s\0,\0 \0s\0e\0n\0t\0 \0f\0o\0l\0k\0s\0 \0t\0o\0 \0c\0u\0s\0t\0o\0m\0e\0r\0 \0s\0i\0t\0e\0s\0 \0t\0o\0 \0a\0s\0s\0i\0s\0t\0,\0 \0a\0n\0d\0 \0-\0-\0 \0t\0h\0e\0 \0b\0e\0s\0t\0 \0p\0a\0r\0t\0 \0o\0f\0 \0l\0i\0v\0i\0n\0g\0 \0i\0n\0 \0t\0h\0e\0 \0b\0l\0o\0g\0o\0s\0p\0h\0e\0r\0e\0 \0a\0g\0e\0 \0-\0-\0 \0g\0o\0t\0 \0m\0o\0r\0e\0 \0a\0c\0t\0i\0v\0e\0 \0i\0n\0 \0t\0a\0l\0k\0i\0n\0g\0 \0t\0o\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0f\0r\0o\0m\0 \0n\0e\0w\0s\0g\0r\0o\0u\0p\0s\0 \0a\0n\0d\0 \0f\0o\0r\0u\0m\0s\0.\0)

B\0a\0s\0e\0d\0 \0o\0n\0 \0y\0o\0u\0r\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0,\0 \0i\0t\0 \0w\0o\0u\0l\0d\0 \0a\0p\0p\0e\0a\0r\0 \0t\0h\0a\0t\0,\0 \0w\0h\0a\0t\0e\0v\0e\0r\0 \0y\0o\0u\0r\0 \0i\0n\0t\0e\0n\0t\0i\0o\0n\0s\0,
t\0h\0e\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0v\0e\0r\0s\0i\0o\0n\0s\0 \0o\0f\0 \0V\0B\0.\0N\0E\0T\0 \0c\0o\0u\0l\0d\0 \0n\0o\0t\0 \0r\0e\0a\0s\0o\0n\0a\0b\0l\0y\0 \0b\0e\0 \0r\0e\0g\0a\0r\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w
v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0 \0w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0c\0a\0p\0a\0b\0i\0l\0i\0t\0i\0e\0s\0 \0m\0e\0e\0t\0i\0n\0g\0 \0t\0h\0e\0 \0s\0t\0a\0n\0d\0a\0r\0d\0 \0I\0 \0d\0e\0s\0c\0r\0i\0b\0e\0d\0.
W\0o\0u\0l\0d\0 \0y\0o\0u\0 \0s\0a\0y\0 \0t\0h\0a\0t\0 \0y\0o\0u\0 \0h\0a\0v\0e\0 \0h\0i\0t\0 \0t\0h\0a\0t\0 \0m\0a\0r\0k\0 \0w\0i\0t\0h\0 \0V\0S\02\00\00\05\0?

[\0M\0a\0t\0t\0]\0 \0I\0 \0c\0a\0n\0 \0o\0n\0l\0y\0 \0s\0u\0m\0m\0a\0r\0i\0z\0e\0 \0m\0y\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0:\0 \0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0h\0a\0s\0 \0e\0v\0o\0l\0v\0e\0d\0 \0(\0i\0r\0r\0e\0s\0p\0e\0c\0t\0i\0v\0e\0 \0o\0f\0 \0m\0y\0 \0p\0e\0r\0s\0o\0n\0a\0l\0 \0v\0i\0e\0w\0 \0t\0h\0a\0t\0 \0V\0B\0.\0N\0E\0T\0 \0c\0a\0n\0 \0a\0l\0s\0o\0 \0b\0e\0 \0v\0i\0e\0w\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0p\0r\0e\0s\0e\0n\0t\0a\0t\0i\0o\0n\0 \0o\0f\0 \0a\0n\0 \0e\0s\0t\0a\0b\0l\0i\0s\0h\0e\0d\0 \0t\0h\0e\0m\0e\0)\0,\0 \0a\0n\0d\0 \0w\0o\0r\0k\0 \0c\0o\0n\0t\0i\0n\0u\0e\0s\0 \0t\0o\0 \0m\0a\0k\0e\0 \0s\0u\0r\0e\0 \0t\0h\0a\0t\0 \0c\0o\0d\0e\0 \0w\0r\0i\0t\0t\0e\0n\0 \0i\0n\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0v\0e\0r\0s\0i\0o\0n\0s\0 \0c\0a\0n\0 \0b\0e\0 \0m\0o\0r\0e\0 \0e\0a\0s\0i\0l\0y\0 \0m\0i\0g\0r\0a\0t\0e\0d\0 \0a\0n\0d\0 \0t\0h\0a\0t\0 \0t\0h\0e\0 \0e\0n\0v\0i\0r\0o\0n\0m\0e\0n\0t\0 \0t\0h\0a\0t\0 \0g\0r\0e\0e\0t\0s\0 \0a\0 \0p\0e\0r\0s\0o\0n\0 \0u\0p\0o\0n\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0i\0s\0 \0a\0 \0c\0o\0m\0f\0o\0r\0t\0a\0b\0l\0e\0 \0p\0l\0a\0c\0e\0 \0t\0o\0 \0b\0e\0.\0 \0 \0I\0'\0m\0 \0n\0o\0t\0 \0r\0e\0a\0d\0i\0n\0g\0 \0a\0 \0"\0s\0t\0a\0n\0d\0a\0r\0d\0"\0 \0o\0u\0t\0 \0o\0f\0 \0w\0h\0a\0t\0 \0y\0o\0u\0'\0v\0e\0 \0w\0r\0i\0t\0t\0e\0n\0.\0 \0 \0I\0 \0d\0o\0 \0k\0n\0o\0w\0 \0t\0h\0a\0t\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0l\0w\0a\0y\0s\0 \0g\0o\0i\0n\0g\0 \0t\0o\0 \0b\0e\0 \0m\0o\0r\0e\0 \0w\0e\0 \0c\0a\0n\0 \0d\0o\0 \0w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0.\0 \0 \0W\0h\0e\0r\0e\0'\0s\0 \0t\0h\0e\0 \0l\0i\0n\0e\0 \0w\0h\0e\0r\0e\0 \0y\0o\0u\0'\0d\0 \0s\0a\0y\0 \0"\0g\0o\0o\0d\0 \0e\0n\0o\0u\0g\0h\0"\0 \0-\0-\0 \0i\0.\0e\0.\0,\0 \0t\0h\0e\0 \0"\0m\0a\0r\0k\0?\0"\0 \0 \0I\0 \0d\0u\0n\0n\0o\0 \0-\0-\0 \0t\0h\0a\0t\0'\0s\0 \0a\0 \0q\0u\0a\0l\0i\0t\0a\0t\0i\0v\0e\0 \0j\0u\0d\0g\0m\0e\0n\0t\0 \0t\0h\0a\0t\0 \0t\0h\0e\0 \0c\0o\0m\0m\0u\0n\0i\0t\0y\0 \0w\0o\0u\0l\0d\0 \0h\0a\0v\0e\0 \0t\0o\0 \0m\0a\0k\0e\0.
 
J

Jonathan West

Hi Matt,



Please get your newsreader fixed so I don't have to preprocess every post
from you before I can read it!



Comments prefixed [JW] inline.




Back and unburied from mail :)

Ease of migration is a huge, huge goal for us -- always has been, and will
continue to be.
The whole mantra -- the primary mission -- for the recent version of VB,
in planning meetings, design meetings, and right down to the posters
covering our hallway walls, was all about helping VB6 customers move
forward. That involved:



I have to say the evidence for that hasn't been terribly clear. After all,

you allowed VB6 to go off mainstream support before you brought out VS2005,

which you say has migration as its primary mission.



[Matt] VB6 supportability vs. improving migration are orthogonal issues. A
migration path already existed in 2002 and 2003, during the overlap. We can
(and will) continue to improve migration regardless of the state of VB6
support -- there's a lot of VB6 code out there still.



{JW] In view of the practical difficulties of migration, and the statements
on the subject by various Microsoft people, I think you can only claim that
a migration path existed in the most nominal way - most reports from people
who tried it suggested that the effort involved was of the order of 50% or
more of the original effort required to write the software in VB6 - a far
cry from the 90% automation claimed for the wizard on the launch of VB.NET.
The mere fact that you accept there is still a lot of VB6 code out there is
testament to that. Moreover, it would seem perverse to stop VB6 support at a
time when you know that there is still a lot of VB6 code which you intend to
assist the migration of in the next version of VS. To do this would seem to
undermine the confidence of the very customers who you say you are
especially looking out for in this version of VS.



I'm not saying you aren't interested in getting VB6 customers to migrate -
it just seems to me that as a company you appear to have gone about it in
rather an odd way.


- Making migration of existing VB6 code easier and more robust (not by
adding gosub's or anything like that, but by translating older code to
newer constructs).



Tell me, what is the newer construct that replaces Gosub and to which Gosub

is automatically translated in the migration wizard?



[Matt] I think you're mixing the two phrases in that statement -- I'm not
making any implications about specific translations.



[JW] If a relatively easy migration is to be achieved, then older constructs
that are replaced by newer ones need some kind of automated or
semi-automated translation mechanism. You were the one who mentioned Gosub
and translating older code to newer constructs in the same sentence. It
seemed clear that you meant that Gosub was an example of an older construct
for which there is now a translation. Are you now saying that there is no
such newer construct for Gosub? If so, do you have an alternative example of
an older construct for which a translation has been introduced in VS2005?


- Bringing back functionality that VB6 users loved and relied on (edit and
continue) and adding specialized help for new functionality (error
correction, snippets) to help ease the learning curve.



Ah, here you are making what I suspect is a common error - confusing the

issue of migrating skills with the issue of migrating code. For those with

large VB6 projects to port, E&C in VS2005 is of little practical use unless

and until the VB6 project can actually be migrated into VS2005.That is why

my question was very specific about the migration of code.



I well remember from the time of the original launch of VS.NET that VB6

developers who raised the issue of code migration being derided (at times by

people from Microsoft) as being unable to take on new skills, when they were

in fact very clearly talking about the time and expense necessary to rewrite

existing projects. Please be aware that my questions are very specifically

about the migration of existing medium-to-large VB6 projects.



[Matt] No confusion at all. There are two issues with migration -- getting
people there, and keeping them happy while they're there. Just focusing on
migrating the code would be a mistake. I understand that that's the primary
focus of your question, but I view them as joined at the hip.



[JW] If you understood the focus of my question, let's not spend any more
time digressing from it. Suffice to say that if you are expending
significant efforts in keeping people happy after they have moved when
moving is still a distant prospect for most, then I would respectfully
suggest this indicates a need to invert the relative positions of the cart
and the horse.


- Making a commitment to providing powerful tools for data access, to
provide a leap similar to that seen with VB3, but that was designed for the
.NET world.



That might be very useful to some people, but it is nothing at all to do

with migrating code.



[Matt] It's all about assuring VB users that migration means added power,
and as such is mostly relevant to my previous point.



[JW] I'm sorry, but that *isn't* relevant. If it were, you could claim every
new feature in the product as being part of your focus on migration. If you
really do make such a claim, then all I can say is that your focus on
migration could result in you adding no features at all that actually assist
people attempting to migrate. And, based on what you have told me so far,
you haven't yet demonstrated that idea to be false - you haven't yet
mentioned a single new feature included in VS2005 that was included for the
specific purpose of assisting the migration of VB6 projects to VS2005.



Please realise that all the added power in the world is not going to be of
any use to a VB6 application owner who finds the migration process
prohibitively expensive in time and effort.


So, to summarize in similar language as you gave below: VB.NET was and is
intended to be the successor of VB6. The migration path was sometimes
difficult in VB.NET 2002. It improved in VB.NET 2003. It got rather more
easier in VS 2005, and the "experience" evolved to match.





You haven't yet given me any examples of things in VS2005 that make

migrating code easier. For instance, what has been done to reduce the number

of "ToDo" statements generated by the migration wizard?



[Matt] I have no such list at hand (other than the memory of collecting the
lists of improvements and sending them to Tactics for approval, along with
the other non-migration fixes that VB would send along). If you like, I
could always follow up with the migration team to see if they had such a
list



[JW] I see. No list, no examples. Nothing immediately comes to mind that you
had as bullet points to present at the VS2005 launch event. A promise to
look something up. By all means, yes please, I would like to see such a
list. In fact, if you are serious about VB6 migration, that list ought
already to have been extremely prominently displayed on the MSDN website,
for instance on VBRun http://msdn.microsoft.com/vbrun/, which is where you
encourage VB6 developers to congregate. But I just checked there (again),
and there is nothing. If migration is so much the focus for this version of
VS, I would have expected a veritable flood of new material on how much
easier migration is now than before. Where is it?



Also, when planning the migration features for VS2005, did you get in touch

with those customers who publicly criticised the migration capabilities of

earlier versions of VS.NET to see what their needs were for the purpose of

porting substantial VB6 projects to VB.NET?



[Matt] Yes. (I personally was involved with this to some minor extent; in my
case, I visited several enterprises in SE Asia (while we were on the World
Tour in 2004) who had concerns with the difficulty on migration, but that's
a tiny example of a much larger effort. We hosted migration labs targeting
problematic migration scenarios, sent folks to customer sites to assist,
and -- the best part of living in the blogosphere age -- got more active in
talking to customers from newsgroups and forums.)



[JW] I know of several people who are well-known to Microsoft (MVPs and
former MVPs for instance), who Microsoft has been assiduous in avoiding. One
who I know particularly well has large vertical-market applications written
in VB6, and who is about to start a serious migration to Delphi. This fact
is well-known to senior people in Microsoft and yet no contact has been made
to discuss migration issues with him. (As he mentioned to me recently, his
phone ain't ringing, so they can't be calling!)



Were your site visits specifically targetted at companies who had expressed
such concerns, or were the concerns mentioned during the course of visits to
companies you had arranged to see for other reasons?





Based on your statements, it would appear that, whatever your intentions,

the previous versions of VB.NET could not reasonably be regarded as a new

version of VB with migration capabilities meeting the standard I described.

Would you say that you have hit that mark with VS2005?



[Matt] I can only summarize my previous statements: the language has evolved
(irrespective of my personal view that VB.NET can also be viewed as a new
presentation of an established theme), and work continues to make sure that
code written in previous versions can be more easily migrated and that the
environment that greets a person upon migration is a comfortable place to
be. I'm not reading a "standard" out of what you've written. I do know that
there's always going to be more we can do with migration. Where's the line
where you'd say "good enough" -- i.e., the "mark?" I dunno -- that's a
qualitative judgment that the community would have to make.



[JW] It is a *quantitative* cost-benefit judgement that individual
application owners have to make. It is a simple question. How much time and
effort is necessary to move the project from the version of VB where it
currently resides to the latest version, and what do I get out of it?



If migration requires less than 2% of the effort it took to write the app in
the first place, it's a no-brainer - you go as soon as you are satisfied
that the new version is stable enough for your purposes. The benefit of
working on the current version with the currently supported platform with
the latest additional features is almost always worth it.



If it is around 5%, you have to think a bit harder about timing it so that
it doesn't clash with a deadline for a major feature, but most people would
regard that as do-able, and getting to the current platform a worthwhile
benefit, provided there are a few features there that you think will be
significantly useful.



10% means you start having to seriously justify the productivity or feature
improvements that would come about as a result of devoting 10% of the
lifetime R&D budget to a migration. That is a significant expenditure. It
requires you to think in terms of some feature you want to add that would be
impossible or prohibitively expensive to add using the old version, and a
significant revenue stream that would not happen without it.



If it is in the region of 20% or more you probably figure that you daren't
take the risk, especially if you worry that next time the platform changes
(as it assuredly will in due course) you will have it all to do over again
because the language has again had major changes.



If you have a legacy app written in VB6 that has had three upgrades since
its original release, each of which cost about half the budget of version 1
of the app, then a 20% rewrite for porting is the cost of an entire new
version of the app - for no additional feature content at all! Try
justifying an entire release-worth of R&D budget on a process that gets you
no new features, and watch the smoke coming out of your CFO's ears!



That is why I set the figure at about 95% automated - any worse than that
and serious questions need to be asked about justifying the time, cost,
effort and risk in a commercial environment. You aren't giving me confidence
that you are anywhere near that figure yet. That leads me back to my
original question - was migration to that standard of automation ever an
objective for you, and do you think you have achieved it yet?
 
K

Ken Halter

Jonathan West said:
Hi Matt,



Please get your newsreader fixed so I don't have to preprocess every post
from you before I can read it!

.... I can't read it (easily) either <g> but, on the humor side,

Someone you know well provided this link...
http://www.cafepress.com/radioactivecode

As a VB6 dev, I can tell you, the upgrade wizard was improved quite a bit.
Problem is... and it will probably continue to be a huge problem (for me
anyway), very little of my code is "pure, out of the box VB"... which is the
exact code base the wizard needs to be successful.

Just about every project I work on goes far beyond that of mortal VB code,
using weak references, ROT entries and just about anything you can think of
that takes the "B" out of VB. The wizard has very little luck
converting/migrating that type of app. The ToDo's seem to have been replaced
by real compiler errors and warnings (in the form of comments).

The "out of the box" VS2005 experience for me has been, well..., a
nightmare. None of the sample code I've tried works, none of the 101 samples
work, SQL Express's installer is easily confused, VS's installer seems to be
just as easily confused. I tried watching a couple of the videos and tried a
couple of the "10 lines or less" samples the videos provide. All I get are
errors and more errors. I realize my configuration is totalled, which causes
most of these problems but sheesh... I've installed 100's of apps and never
had this much trouble. For SQL Express, I managed to fix it by opening
RegEdit and searching for all registry keys that contain the path to SQL
Express and deleting them... that was no easy chore as there are probably
200 matches. Once it was literally ripped out by the roots, I rebooted,
deleted the Express folder, ran my favorite registry cleaner (just to make
sure) and re installed express. I'll probably have to do the exact same
thing with VS2005 to get it to behave (which means I'll have to do it again
for SQL express)
 
H

Homer J Simpson

The "out of the box" VS2005 experience for me has been, well..., a
nightmare. None of the sample code I've tried works, none of the 101
samples work, SQL Express's installer is easily confused, VS's installer
seems to be just as easily confused.

This was my experience too. I tried to download and compile an example (VB)
which lets you traverse a directory tree. It doesn't work, and I have no
idea why or what the errors mean. They are obscure references to multiply
defined symbols. I know what that means, but cannot find such duplications.
And so it goes ...
 
S

S7Solutions

Hello there

Actually we @ S7 has done lot of migrations of VB6 & older VB code onto
either .NET or some have even got it reengineers to Jave On linux and
in all cases we have done a great job with a fast turn around time and
at a very low cost - approximately less than 20% of the estimated cost
of development [or redevelopment]. Yes we do sometimes use some of the
tools avialable in the market but most won't do more than 40% of the
conversion and it is left to the adroitness of the migrating
professionals to do a complete turn key solution and was worth in the
long run to migrate.

Manju
S7 Software Solutions
"Re-Defining Cross-Platform Porting and Migration"
 
J

John Hart [MSFT]

Matt asked me to jump in on this thread and help with some of your
questions regarding migration of Visual Basic 6 applications. I'm John Hart
and I work on the VB Upgrade Tool here at Microsoft. This tool (in my
opinion) does a great job of moving your VB6 application forward to VB
.Net, however as you all have mention it can not possibly upgrade 100% of
the project. In fact, the percentage of project that the tool can upgrade
really comes down to just how complex the original project is and just how
well written it was. This makes it difficult to estimate just how
successful the tool will be.

Since the original version of the tool shipped with VB.Net 2002 we have
continued to make improvements to the tool so that more and more of the
original VB6 project is upgraded. (Please see
http://msdn.microsoft.com/vbasic/reference/Migration/default.aspx?pull=/libr
ary/en-us/dnvs05/html/vbupgrade.asp for a list of the latest improvement)

Even with these improvements there are portions of the VB6 project that
just do not have a clean upgrade. For example moving ADO to ADO.Net is not
something the Upgrade tool attempts to accomplish. The same is true for
graphics; the upgrade tool does not attempt to upgrade your custom graphics
logic. So in these types of applications the amount of manual work you will
need to undertake to complete the migration is significantly increased.

There are some great resources for moving VB6 projects to VB.Net posted on
MSDN that will help you determine just what type of effort it will take to
complete the upgrade. (Please see
http://msdn.microsoft.com/vbasic/reference/Migration/default.aspx)

One of the best resources is a new book that was just recently published by
our Patterns and Practices group:
Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual
Basic 2005
(http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/en-us/dnpag2/ht
ml/VB6ToVBNetUpgrade.asp)

I am very interested to hear your opinion on the upgrade tool, if there are
issues you have had with it and if you have any suggestions on what
additional features you would like to see added.

Thanks,
John Hart
(e-mail address removed).
 
K

Ken Halter

John Hart said:
I am very interested to hear your opinion on the upgrade tool, if there
are
issues you have had with it and if you have any suggestions on what
additional features you would like to see added.

Thanks,
John Hart
(e-mail address removed).

One improvement that would be great (imo) is to have the "wizard" prompt you
when it doesn't know what to do with the code. At that time, a list of
pre-written (by you, or imported from some website) code snips that would
serve as replacements for any "To Do" or "Upgrade Warning" comments. Off the
top of my head, I can think of 2 snips that would drastically reduce the
confusion during migration.... The first one would be a snip to convert VB6
control arrays to something that dotNet can use and the second one would be
a snip that simply draws a line and have the wizard replace all references
to VB6's Line control with calls to that snip. I'm not sure how many passes
the Wizard performs on VB6 code before it actually converts it but, if it's
at least 2, those snips should be fairly easy to implement. Thing is, I'd
much rather see 20-30 predictable prompts than 100's of errors. Especially
since MSDN seems to take forever + a day to open and doesn't provide
information in a format that VB6 developers expect... side note... VB5 had
the best help system ever created. VB6 was "kinda ok" if you knew what you
were looking for, or knew the tricks to find information quickly. The new
MSDN is simply far too bloated (especially if web access is part of the
picture) to be of any real use. It should _not_ take 30-90 seconds to open
help. Period. Especially when doing so disables the IDE while MSDN is
crunching along. I've used TaskManager to kill the entire nightmare more
times than I can count. As I mentioned in another thread, I can start VB6,
write the entire "Hello World" sample, compile it and run it in less time
than it takes the .Net IDE to get ready to start accepting keystrokes.
There's something terribly wrong with that imo.

Another great feature would be one that replaces a predefined set of VB6
classes with dotNet classes that do exactly the same thing. For example, I
have a registry class that I simply Drag and Drop into any VB6 project that
needs registry access. Of course, the functionality this class performs is
already built into the framework... which means, the 100 or so errors I see
when I run one of those projects through the wizard would go away completely
when it see's I'm using the pre-defined class called cRegistry... which the
wizard would replace with a pre-defined class called cRegistryNET (or
something similar) that I wrote, downloaded somewhere or may've even been
installed with the wizard.
 
M

Michael D. Ober

John,

My biggest complaint with this wizard is that any functions that are
referenced, but not in the code being upgraded, are changed to "objects" and
then Option Strict On complains about late binding. Give us an option to
turn this "feature" off. Also, give us a switch to eliminate the "UPGRADE
WARNING" messages.

I don't use the project converter because of the number of bugs in it. I
have found that I generate less work simply by cut and pasting my original
VB 6 code into my new project.

Mike Ober.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top