Yes, it’s been quieter than usual around here…

As some may have noticed, the quantity of my blogging output has dropped precipitously in the past few months. This hasn’t been due to a lack of interest in blogging, instead several big things have been going on in my life that have conspired to limit the available time for blogging.

One of the “big things” is some new stuff I’ve been heads-down on doing while I’m at work and which I’ll talk about over time as it becomes more solid and public. But work aside, there is also a “big thing” going on in my personal life that’s going to have some (understandably) far-reaching implications.

After a considerable amount of thought, my wife Andrea and I have decided to adopt. Although this is the first time I’ve discussed it here, we’re actually pretty far into the process–this past winter we decided we wanted to adopt internationally from Guatemala (Andrea’s mom is from Panama, and we originally wanted to adopt from there, but Guatemala was much more hospitable to international adoption than Panama). We started the considerable amount of paperwork required, figuring that we would be done with it by the early summer, which would result in a referral sometime in the late summer/early fall. However, things have moved a bit more quickly than that.

Our social worker (who did our home study to make sure we weren’t axe murderers) recommended that if we were even the slightest bit interested in adopting twins, we should go ahead and do all the paperwork twice so that we would be already approved in the unlikely event that twins became available. Since we were willing to consider it we did two of everything, notarized, certified, the works. Then, just as we were about 2/3rds the way through preparing our paperwork, we got an extremely unexpected call: twin boys had just been born, and we were the only couple that our lawyer was working with that were considering twins. (Also, the fact that they were two boys had something to do with it; according to several people I’ve talked to, international adoptions appear to heavily favor girls.)

After a bit of soul searching as to whether we were ready to take on twins, we decided we were and wanted to do it. What followed was a mad rush to finish the paperwork and get it off to Guatemala, which we did in early June. Now, it’s basically a waiting game as the paperwork wends its way through the legal system in Guatemala. Bureaucracy being what it is, it’s just a big question mark: could be the end of the year, could be into next year, just hard to know.

As you can imagine, though, once the paperwork was done, the second phase of work began in earnest: preparing the house for the arrival of two babies. This has been the major project of the summer and has meant that a lot of that discretionary time that I’d devote to blogging has been consumed elsewhere. (Of course, when the kids get here then the real work begins and who knows what time I’ll have for blogging!) So that’s a big reason why it’s been quiet here–I expect things will pick up in the fall until whenever we’re blessed with the chance to go pick the kids up!

All in all, it’s hugely exciting and we can’t wait to get them here. But between that and work, blogging may suffer for some time until things settle down into more of a routine. I appreciate everyone’s patience!

Testing separating my work life from my private life

My blog is syndicated on the MSDN Visual Basic developer center (http://msdn.microsoft.com/vb), which is great because it drives traffic here but is bad because it means that all my personal posts show up there as well. I don’t think everyone who goes to the developer center really cares that much about my personal life… After a little hacking on .Text, I think I’ve got it set up properly such that only posts tagged as “Visual Basic” will show up in the VB developer center. So, I hope, this post won’t show up there. If it doesn’t, then I’ll test it the other way (i.e. make sure that my VB posts do show up there)…

VB 2005 Performance QFE released…

Despite the fact that we made what I still feel is a solid release, we’ve been clearly seeing some customers having problems with the performance of the VB 2005 compiler when used on large VB projects. In response to a number of problems that we’ve isolated, we’ve released a QFE that addresses many of the major problems people are having. To quote the announcement in the forums:

We’ve received feedback, both directly from developers and in the forums, regarding slow performance of the Visual Basic 2005 IDE in certain situations (larger projects, projects with many errors, etc.).

I’m sorry that these issues made it to production and degraded the performance of the IDE. The Visual Basic Performance team is working hard to address these issues via hotfixes and the upcoming Visual Basic 2005 SP1 while we work on engineering changes to make sure that issues such as these never make it into a shipping product in the future.

Based on this feedback and forum posts, we’ve been working with customers to address these performance issues.  We recently released a performance hotfix to address the following areas of Visual Basic 2005 performance:

  1. Improves the performance of single-stepping (F10) debugging.
  2. Improves the performance of Task/Error List Refresh.
  3. Improves the performance of Intellisense.

You can learn more about this hotfix in the KB 920805 article (http://support.microsoft.com/kb/920805/en-us). In order to get this hotfix, you need to contact support and reference KB 920805.  Details on contacting support can be found at http://support.microsoft.com/contactus/?ws=support.

Note that this hotfix rolls up all performance hotfixes to date, so installing this hotfix will give you the best IDE performance. 

Again, we appreciate your feedback and we thank you for your patience while we address these issues. Please contact vbperf@microsoft.com if you continue to see issues after applying this hotfix.

Thanks,

            Chris Mayo
            Visual Basic Performance Program Manager

As Chris says, these hotfixes (which you currently have to go through support to get, so we can track the QFEs we’re handing out) will be rolled into SP1. I encourage people to email vbperf@microsoft.com if you are having performance problems that aren’t addressed by the QFE so we can work on isolating the problems you’re seeing and get them fixed.

Another round with the spammers…

Just an FYI, the spammers seem to be working around the laughably simple filters I’ve put in place manually, so I’m seeing if adding in the Akismet service will help turn the tide back. If, for some reason, you find you can’t leave a comment, please leave me a note in the Contact area. Thanks! 

“Want to build a compiler?” redux.

Interested in working for Microsoft? Want to build a compiler? Want to work on the coolest programming language ever? (Note for the humor-impaired: that last statement includes an implicit self-deprecating wink and a smile.) Don’t want to mange managers? We’ve also opened a new position on the compiler team that involves working directly on the compiler/language and doesn’t require managing people:

Want to help chart the future of one of the most popular programming languages in the world? Interested in building a highly interactive tool that brings programming to the masses and makes professional programmers even more productive at the same time? Want to work on melding dynamic language and scripting concepts into a statically typed language? The Visual Basic development team is looking for a highly motivated software development engineer to work on future versions of the Visual Basic language. Responsibilities include:

  • Working with the language design team to help design new features for Visual Basic.
  • Planning, scheduling, and developing those new features.
  • Helping to develop the infrastructure used to build and test the product.

The ideal candidate will have a minimum of a B.S. in Computer Science/Software Engineering and 4 years of industry practice. A background in compiler architecture, database technology, and/or Microsoft .NET Framework usage is a plus. If you’re ready to step up and join a dynamic, fast-paced team which delivers high-quality development tools to millions of customers, we’re waiting for you!

Here’s a link to the actual listing.

Was an and-2 but now am an and-1

Sometimes a useless Microsoft story crosses my mind and I think “gee, that might be mildly amusing to post on my blog.” But the story’s small enough that I don’t really have a good hook, which means that it’s hard for me to justify posting it. Well, Adam’s given me a good enough hook to hang a few stories on:

One that I hadn’t thought of is the fact that I’ve been around long enough (14 years last week!) to be an and-1, with the alias paulv. The interesting thing, though, was that when I was an intern 15 years ago (now I’m feeling really old), I was actually an and-2, t-paulvi. I don’t know if there was a Paul V. intern before me who didn’t join full-time or what, but there you go. The biggest problem now is that there are a number of and-2 and and-3’s with the first name Paul and the last initial V, so I tend to get mail for them from people who leave off the extra letters. Since several of them are Scandinavian, this makes for some interesting mail at times…

Adam mentions some people got an and-0 (i.e. just their first name). Circa 1997, this was verboten, but a new hire on our team managed to do it. I won’t use his real name, lest people pull a 867–5309 on him, but let’s say his name is David. We all quickly noticed that his email was david, and we were puzzled: how did he get IT to sign-off on a first-name-only alias? Simple. His last name was, let’s say, Duchovney, and he asked IT to give him the email alias that was, “The first four letters of my first name and my last initial.” Since it was an unclaimed alias, it went through the system and his alias was, technically, DaviD.

The other stupid alias story was that when I joined, one of the team members was named Suchada. A coworker told me the story of printing out something and going to the printer to retrieve his hard copy. There was a pile of printouts Suchada had made sitting there, with the banner page containing her email alias in large letters. Her maiden name’s last initial was Y. “Yes,” the coworker thought, “yes, it is.”

Lang .NET 2006: Where are we going, where have we been?

Back in April, I mentioned that we’re going to have a compiler/languages symposium here in Redmond in August called Lang .NET 2006. Erik just announced that registrations are open, so sign up! As it turns out, I’m going to be giving a talk at the symposium. Ignore the title currently on the site (“Visual Basic 9”), here’s my current proposed title and abstract:

Visual Basic: Where are we going, where have we been?

With its third version on the .NET Framework, Visual Basic has largely completed the process of moving from its previous home in COM to its new home in the CLR. As a full-fledged language on a premier runtime platform, the inevitable next question is: Now what? This talk will discuss future directions for the Visual Basic language, both from a short-term and long-term perspective. Integrating data access and XML directly into the language is the next major challenge on the horizon, and we will cover some of the interesting insights and challenges that have arisen from this work. We’ll also take a look back at Visual Basic’s dynamic language and scripting roots to see what lessons from the past might be brought into future versions and look ahead at where the language might be headed in the long run.

I hope to see everyone there!

Want to build a compiler?

Interested in working for Microsoft? Want to build a compiler? Want to work on the coolest programming language ever? The Visual Basic compiler development lead position is open and we’re looking for someone with the right stuff to fill it:

Microsoft Visual Basic is used by millions of developers worldwide, and is widely acclaimed for both its power and ease-of-use. As the next Development Lead of the Visual Basic Compiler and Editor team, you will be the guiding hand behind the development of the next version of Visual Basic’s powerful programming language. Data/Language integration -LINQ-, advanced IntelliSense and other editor features, and an enhanced runtime library are just a few of the exciting features that you will be driving as you lead a team of highly motivated and experienced engineers. As Dev Lead, your responsibilities will include:
– Contributing to planning new compiler and editor features
– Coordinating feature work with leads on other teams both internal and external to Visual Basic
– Managing compiler team feature work
– Mentoring your team in their careers, including dev leads reporting to your position
– Following up with customers to ensure we deliver the best Visual Basic product ever
This is a “manager of managers” position, and prior experience as a development lead is a requirement. The ideal candidate will be skilled in leadership, technology, and collaboration, and will have a history of high management review scores. Qualifications include a BS in CS/EE -or equivalent-, a minimum of 3 years as a development lead, and 7 or more years of software engineering experience overall. Shipping experience and deep knowledge of compiler, debugger, and editor technologies are a must.

Here’s a link to the job on the Microsoft career site. If you’ve got the qualifications, this is a great job with a great bunch of people. And you really can take my word for it, since it used to be my job!