Currently on the plane, heading to Orlando (again) for TechEd 2008. Tomorrow, I'm presenting, along with Marty Schaeferle (from
Appdev), a workshop entitled "Exploring Visual Studio 2008". If you're interested in picking up the materials for this workshop, they're available here:
http://www.mcwtech.com/2008/teched
If you're attending, and find yourself in the audience, please introduce yourself. See you there!
Currently at
VSLive Orlando, where I did a workshop on Windows Workflow Foundation with Robert Green on Monday, and then three other sessions:
What's New in Visual Studio 2008 for ASP.NET Developers
Investigating LINQ to XML
Build a WPF Application in an Hour
If you're interested, you can view slides and download demos for those talks
here.
In preparation for these talks, I entered the schedule for the conference, as it was at the time we first discussed it, many months ago, into Outlook. I had carefully scheduled each session, taking care of time zone differences, into the calendar. What I neglected to do was check the current schedule before heading down to my first session this morning. Yikes. I arrived at 9:44 for the session, thinking I had 30 minutes to hang out, when I noticed that the signage indicated that the session started at 9:45. And the room was completely full of folks eagerly awaiting wisdom on new features in Visual Studio 2008 for ASP.NET developers!
To add to the misery, I was toting a MacBook Pro for the presentation, and had just shut down the Vista VPC I was planning on using for the presentation. Oh, wait. I had also left the stupid VGA dongle in my hotel room. We frantically boot up the VPC, run around looking for an extra dongle (of which the show's speaker manager, the amazing Toby Malina, had an extra), and run sweating and out of breath up on the stage to give the session, which consisted of a demo with about a zillion steps.
Amazingly, once we finally got the video working, the session went fine. The audience was quite patient, and most waited out the five minutes of flailing onstage. Thanks to all who stuck with it!
In any case: the moral learned is to CHECK THE SCHEDULE at the conference. Very simple. D'oh.
I can't speak for anyone outside the US, but here, we tend to get a lot of spam written exclusively in Chinese, Japanese, and Russian. Outlook seems to block this stuff pretty well, but we're using a web-based mail service (so that spam doesn't get to our server), which forwards mail as necessary (or people use POP3 to pick it up from our email host). In any case, way too much foreign spam gets to the server, which adds time to the download, and is just plain irritating. I don't mean to be xenophobic, but any email that isn't written using a character set I can interpret is spam, as far as I'm concerned.
After some research, we found a way to block much of the spam. This will only work for you if your email host allows you to create filtering rules based on any text within the email. In our case, I added rules that sent mail to the Spam folder if the following text appeared anywhere in the email:
charset="GB2312"
I repeated, creating rules for the following character sets, as well:
charset="koi8-r"
charset="iso-2022-jp"
I'm sure there are others I'll need to block over time, but so far, this method has worked 100% effectively. The flow of Russian spam reaching my inbox has halted, finally.
In case you happen to be in the area, on Saturday April 26, I'll be co-presenting a workshop titled "Exploring Visual Studio 2008" for the LA .NET User Group with Marty Schaeferle (from AppDev). The user group meets near UCLA. We'll be breezing through a large number of new features in Visual Studio 2008, including LINQ (to Objects, DataSets, SQL, and XML), WPF, WCF, Workflow, Data Enhancements, Client Application Services, and creating Office 2007 applications using VIsual Studio 2008.
For more information, drop by http://www.ladotnet.org.
(Thanks to AppDev for allowing us to use the material that I co-wrote for their Developing Applications in Visual Studio 2008: What's New course for this presentation.)
Continuing a long association with VSLive (been doing this since 1999), I'll be again speaking at VSLive in San Francisco, March 30 through April 3. It's a busy few days, for me--I'm co-presenting a workshop (Gentle Introduction to Windows Workflow Foundation) along with Robert Green, and then four sessions as well:
* What's New in Visual Studio 2008 for ASP.NET Developers?
* Build a WPF Application in an Hour
* Investigating LINQ to XML
* Programming the Office 2007 Open XML File Formats
The folks running VSLive have created a special promotion code, SPGET, that you can use when registering to receive $695 off the standard Gold Passport price (that is, rather than paying the standard $2795 for the Gold Passport admission, using this access code, you can get the Gold Passport admission for $2100). Please join me at VSLive San Francisco, learn a ton about Visual Studio 2008, Visual Studio Team System, and much more! I hope you'll browse to http://www.vslive.com/sf and sign up now, and please stop by a session and say hello if you do!
General Conference Information:
VSLive! San Francisco – Moscone Center West, San Francisco March 30 – April 3, 2008
Register online (http://www.vslive.com/sf) or call 800-280-6218 using Priority Code SPGET and receive the Gold Passport for just $2,100.
2008 marks the 15th Anniversary of VSLive!, and we’re kicking the year off with our biggest conference of the year – VSLive! San Francisco. Meet industry gurus; network with other professional developers, Microsoft product teams and executives at San Francisco's Moscone Convention Center West on March 30 – April 3, 2008. VSLive! San Francisco offers 160 hours of hard-hitting technical content over five action-packed days. VSLive! San Francisco will provide a depth of resources and perspectives to help you be productive now and prepare for the near future. Learn cutting-edge techniques for today and tomorrow in sessions on VSTS, ALM, Silverlight, AJAX, .NET Framework 3.0 & 3.5, SharePoint 2007, Windows WF, Visual Studio 2008, SQL Server 2008, and much more. Our speakers have years of experience mastering the tools you need to get your job done. www.vslive.com/sf
I recently presented a session at the Microsoft Office Developer's Conference, focusing on the Office 2007 Open XML File Formats, using the new Open XML SDK from Microsoft, and using LINQ to XML to interact with the parts within the document.
If you're interested in downloading the content from the session, please visit http://www.mcwtech.com/2008/ODC.
The conference was a big success, as far as I can tell, and I look forward to seeing how it evolves over time.
Ever since seeing the moronic Senator Ted Stevens describe the internet as a series of tubes last year, I've been laughing about the stupid metaphor. (For more information: http://en.wikipedia.org/wiki/Series_of_tubes).
Recently, however, I noticed this site: http://www.tubesnow.com. Apparently, the Senator was correct. Tubes provide a nice file sharing metaphor, as a convenient place to place files for temporary online storage. Obviously, there are many such services, but this one actually meets a real need in my life. As a courseware author collaborating on writing the content, we need a place to pass files back and forth that doesn't clog our inboxes. I'm willing to try this one, if only to get a chuckle about the intelligence of our elected officials each and every time.
Revised (11/24/2007): The Tubes client doesn't run on Vista x64. So I didn't even get a chance to try it out. Never mind. No excuse for this. I love it when products say they run in Windows Vista, quietly not mentioning that they don't run in Vista x64. Ah, well. Strike this one off.
Although completely off the normal topic, I find myself again spending evenings playing the piano for rehearsals of a local San Jose production of a musical theater production. I've been doing this sort of thing since, well, for about 40 years now. It's an expensive hobby, since I must schlep 180 miles from home (where I live, there aren't many community theater products that use full orchestras!), stay in a hotel during the day, and rehearse or perform at night. I figure everyone's got hobbies, and this is mine.
In case you find yourself in the San Jose area over the next three weekends (Sept 28 - Oct 13 2007), and are interested in such things, the Actors Theater Center is producing the 1991 show, Assassins, by the legendary Stephen Sondheim and John Weidman, at the historic Hoover Theater. (Yes, it's really a musical that attempts to explain how, and why, anyone would attempt to assassinate a president. It's unlike any other show I've ever seen.) Yours truly will be covering the Keyboard I book in the orchestra for the entire run. Come by and say hello!
Recently, satisfying the goal of finding a small laptop for travel, I purchased a new Thinkpad X61 tablet. It's the only version of the X61 series that supports a higher-resolution screen (1440x1050), which I feel necessary to actually get work done on the road. It's a very nice machine, including 4GB of memory (and using Vista x64, I can USE all 4GB of memory!)
At the time I purchased it, it wasn't available with Vista x64 pre-installed, so I provided my own copy. The drivers are ostensibly available from Lenovo, but they're not all easily findable, and the video driver is old, and at the time I tried to install, the driver file available on their site won't extract. (It's interesting that I called them to alert them to this fact around July 15 2007, and as of a few days ago, they STILL hadn't updated the driver.)
If you want to install Vista x64 on your Thinkpad X61, you'll need a video driver. You can use the reference driver available from Intel, which you can download here:
http://downloadcenter.intel.com/filter_results.aspx?strTypes=all&ProductID=2800&OSFullName=Windows+Vista*+Business%2C+64-bit+version&lang=eng&strOSs=160&submit=Go%21
Beware, however, that the installer inside the downloadable file won't install on your Thinkpad. It tells you that your machine is the wrong type. Instead, you must simply remove the existing driver (resetting back to Vista's built-in VGA driver), and then manually update the driver by pointing to the appropriate folder in the extracted driver you downloaded from Intel.
This driver works fine, and hasn't caused me any trouble. Until Lenovo sees fit to update their own driver download, you can use this driver.
Recently returned home from
VSLive in Brooklyn, and had a great time. I always love visiting New York, but VSLive this year had a really great "vibe" and was a lot of fun. Attendees seemed to have a great time, and everyone was really into it. I did a workshop on Windows Workflow with Robert Green, and Brian Randell did a workshop on SQL Server 2005, in addition to various other sessions. Saw lots of friends, even a Broadway show. Much fun was had by all, and if you haven't been to a
VSLive show in a while--think about it. It's a great way to learn a lot, network, and have a good time.
For those of you who attended VSLive in Brooklyn (and those who didn't), you can download the Workflow demos that Robert Green and I did during the workshop (and the two Workflow sessions I did on my own, later) here. In addition to the slides and demos, AppDev, the company for whom Robert and I wrote the courseware originally, graciously agreed to allow attendees to download PDFs of the chapters corresponding to the sessions from their site. You'll find a link to their site (requires free registration) on our download site:
http://www.mcwtech.com/2007/vslive/nyc
If you attended the sessions, please make sure to download the demos and corresponding courseware.
As many readers may know, I’ve spent a lot of time over the past few years working with, writing about, and preaching the virtues of creating managed code that automates Office applications using Visual Studio Tools for Office, in its several versions. I believe this “Product That Could” has really reached critical mass, and with its pending release as an integral part of Visual Studio “Orcas”, developers will finally find a rich, powerful means of creating business applications that interact with the data that just about every single Windows user manipulates daily.
The current version, Visual Studio 2005 Tools for the 2007 Microsoft Office System (often called Visual Studio 2005 Tools for Office Second Edition, or just VSTO 2005 SE), is available, it’s powerful, and it’s free. If you’ve ever needed to create application-level customizations for Microsoft Word, Excel, PowerPoint, or Outlook, give this great product a look.
I’ve been asked by my old friend Mike Hernandez to list my “favorite feature” in VSTO, and it’s hard to do that—my actual favorite feature is that the product EXISTS. But moving past the obvious, I’d like to point out two features in the VSTO 2005 SE version that I use every single time I create applications using the product, and that you could easily miss.
- The add-in template provides a Globals class, which allows access to the ThisAddIn class. Given this reference, you can programmatically interact with the host application at any point in your add-in, simply by referencing Globals.ThisAddIn.Application. When you’ve added a new class to the add-in, for example, it’s otherwise somewhat tricky to refer to the host application, and you’ll need to if you ever want to interact with Word, Excel, Outlook, and so on, from within the new class. Without this useful addition, you’d need to pass the Application reference from the add-in class around to all the other classes in the application.
- VSTO 2005 SE makes it incredibly easy to add support for Ribbon customizations to your add-in. Other alternative techniques for adding Ribbon customizations to Word, Excel, PowerPoint, or Outlook involve ugliness that I wouldn’t impose on anyone. Doing the same with VSTO 2005 SE is elegant, and simply requires adding a new Ribbon Support item to the project. This action adds a partial class that handles loading the Ribbon customization, along with the Ribbon customization class itself. At runtime, the add-in executes a procedure that determines that the add-in has a Ribbon customization to supply, and loads it as it starts up. You just need to provide the RibbonX markup, and the callback procedures. (Yes, this process could be easier, and will be easier when VSTO “Orcas” ships, including a Ribbon designer. But that’s a topic for another day.) Given the current state of tools, I contend that VSTO 2005 SE provides the simplest and most elegant platform for adding Ribbon customizations to the applications that it supports.
For more “VSTO: My Favorite Feature” tips, visit the blog of product manager Mike Hernandez. You’ll find links to them all from there.
A friend was recently writing code that needed to create email attachments based on text in a database, and the only way he could find to create the attachments from the text was to create a text file (see the constructors for the Attachment class). This bothered me, so I ripped out some code that would take the string, and convert it to a stream, so he could call the constructor for the Attachment class that accepts a Stream instance. I thought the code was useful, so I wrote a little article about it for Code Magazine (http://www.code-magazine.com/Article.aspx?quickid=0703121). I hate when I do this. I got an email yesterday, pointing out that again, I should perhaps do some research first:
I work a lot with attachments, and I thought your article was very well written. However, it was also kind of un-neccesary. There is a static function in the Attachment class
Attachment.CreateAttachmentFromString
that I believe would do everything in the article (while also being infinitely easier to maintain since its built in ).
Ah, well. David A. Cohen sent the email, and he's completely correct. I guess it would have been a better plan to actually examine the members of the Attachment class before writing the code. A word to the wise: If you find yourself writing .NET code which seems like it sure as heck ought to have been included in the Framework, take a few seconds and try to convince yourself that it's not. Especially before you display your laziness in public! Sorry, folks.
Woke up this morning, and Vista tells me that it has been notified that GMT has changed. And that is has to update all 1729 appointments in my Outlook calendar. I can't tell what's up, so it goes ahead and does it. Now EVERY SINGLE full-day appointment spans two days, from 11PM to 11PM. WTF? Of course, I'm using Exchange server, so every copy of the data is now wrong.
First off: Is there any explicable reason why Outlook, 10 years later, STILL uses appointments from 12AM to 12PM to signify full-day events? And why it gets so screwed up on time zone issues? (Try this for an experiment: Temporarily change your time zone. In Outlook, all full-day appointments are now shifted, and full-day events that take a single day now show up on two different dates. Switch back to the original time zone, and things are corrected. That's just stupid. Sorry. A full-day event is a full-day event, no matter what time zone I'm in.)
Second: Why on earth did Vista decide that its understanding of GMT was wrong, and that it had to change it?
Finally: Why am I still using this product that has continued to cause me fits of anger since its inception?
So now, most (but not ALL) appointments in Outlook are off by an hour. Plane flights. Conference schedules. And I don't know which ones are wrong. It's like Vista and Outlook have conspired to just shake all the appointments out of my calendar, and then put them back in whereever they like. Can I slit my wrists now?
UPDATE: Whew. Things are OK on the Vista machine. It's only on the notebook (running XP) where things are still messed up. But how is that a good thing? When I'm on the road, all the times are wrong? And I can't fix them on the laptop, or they'll get messed up on the Vista desktop. Gotta love it.
Vista isn't all bad news. Besides that fact that it looks pretty (shiny!), both Alt+Tab and and the new Windows+Tab functionality make life a lot easier than in Windows XP. I tend to run with tons of apps open concurrently, and my old habit was to use Alt+Tab to cycle through the apps until I found the one I want. Now, although it isn't terribly discoverable, you can press Alt+Tab (or Windows+Tab to get the fancy layered window layout), and select the item you want with your mouse! No need to tab through all the open apps. This saves me a ton of time, and I just tried it on a whim. And it worked! See, there are some nice new features in there.
If only I could get a VPN to work. If anyone knows the trick to making outbound VPN connections from Vista, I'd sure like to know what it is. Thanks!
More Posts
Next page »