August 2004 - Posts
Channel 9 has recently published some interesting videos.
The first is of Don Box giving a tour of the Indigo team's building (42.) Very interesting and insightful. It's great to visualize the facility, put more faces to names and to hear about what they've historically done at Microsoft before coming to Indigo:
http://channel9.msdn.com/ShowPost.aspx?PostID=18088
The other is with Zoë Goldring and Gretchen Ledgard discussing the interview process at Microsoft and giving a tour of the normal interviewee's experience. This is actually split into two parts (the first is the more informative):
http://channel9.msdn.com/ShowPost.aspx?PostID=18472
http://channel9.msdn.com/ShowPost.aspx?PostID=18718
If you want to see Zoë's and Gretchen's blog (where Gretchen explains the shirt she is wearing in the video,) head to:
http://blogs.msdn.com/jobsblog
-Chris
More details on ASP.NET 2.0 Beta 2 have been made public by Shanku Niyogi, ASP.NET Group Program Manager:
http://weblogs.asp.net/ShankuN/archive/2004/08/16/215487.aspx
Several pieces of functionality found in Beta 1 will be removed in Beta 2:
- Mobile Device Adapters for ASP.NET Server Controls
"...we have decided not to deprecate the V1.x mobile controls. We have instead postponed our plans to ship mobile specific adapters for all controls until a later release.
If you plan on writing a mobile web application using ASP.NET 2.0, we recommend that you use the ASP.NET mobile controls, found in System.Web.Mobile.dll."
-
PhoneLink and ContentPager Controls
-
Site counters, DynamicImage Control, and the Image Generation Service
"...these features require significant additions or changes in response to customer feedback, or significant additional testing to meet stability or scalability requirements. We have decided to remove these features for ASP.NET 2.0, and will look at adding them in a future version."
-
WebPartPageMenu Control
"...pages often require more flexibility for switching modes than this control provides, and the WebPartManager class makes it easy to programmatically switch personalization mode from any server control."
-
Access Data Providers
"In Beta 1, ASP.NET application services such as membership and roles include Access data providers, and use them by default. ...we will replace this functionality with support for SQL Server 2005 Express Edition"
He added further details about this in a comment:
"We are planning on making source code for our providers available publicly, including the source code for the Access providers as a sample. You will be able to use this code in your applications."
-
DataSetDataSource
"We are eliminating this control in the interests of simplicity."
-
Built-in Global Themes
"...we have decided not to include any built-in general themes in the product."
-
Web Administration Tool Profile/Reports Tab
"This feature was incomplete in Beta 1, and we have decided not to complete the work in Beta 2. We will release samples that show how to get reporting from profile data."
-Chris
We had the pleasure of having Deborah Kurata speak at the Boston .NET User Group on Thursday. Amazingly, she took time out of her vacation to speak with us. I have added respect for her since her main reason for coming to Boston in the first place was to see the Museum of Science's Lord of the Rings exhibit. (If you've seen some of her demo apps, you know she's a big fan.)
Deborah spoke on the “Best Kept Secrets in .NET”. I doubt anybody left without learning some nugget of usefulness. The tips she gave are a sampling of what will be included in her Apress book which is coming soon.
Here's a brief summary of the topics she covered:
IDE Tips
- Code window Tab Groups - Right-click on any code window tab and choose either “New Horizonal Tab Group” or “New Vertical Tab Group”
- Code snippets - Drag commonly-used code to the toolbox that you can reuse later (and is available with any project, not just the current one.)
- Clipboard ring - Available from the Toolbox, remembers the “history“ of your cutting and pasting
- Task list - Using as a custom TODO list, adding custom types
- Find in files (CTRL+SHIFT+F) - Allows powerful searches not available in normal Find
- Incremental search (CTRL+I) - Start typing and the IDE will show you matching text in your current code window
- Line numbers - Turn them on with Tools-Options-Text Editor-All Languages-Line Numbers
- Goto (CTRL+G) - Go to a specific line number in your code
- Goto Definition/Reference - Right-click on an identifier/method/etc. in code and see where it is defined or who is calling it
- Navigate backward/forward buttons (w/dropdown) - Two buttons at the top of the IDE which look like pages with left and right arrows over them. Try using the drop-down, which enables you to see the places you were by file.
- IntelliSense - Use CTRL+space either on blank space or after typing some characters to show a context-aware IntelliSense list.
- Full screen (Shift+Alt+Enter) - Useful to quickly clear away all windows except for the code window (Shift+Alt+Enter returns to normal)
- Brace matching - Use CTRL+} (right curly brace) to find the matching brace for the current block
- IDE Commands via Find box - Use CTRL + / to set focus to Find box, then enter a greater-than (>) symbol and start typing to see a list of available commands like “>File.OpenFile“
- Configuration manager - Set up multiple configurations. Example was a “Unit Test“ configuration for including testing harnesses.
- External Tools - Use Tools-External Tools... to map other tools to the Tools menu (and shortcut key combinations)
WinForms Development Tips
- control.HasChildren - Important property used to determine if a control is a container of other controls (e.g. a Panel.) Important if you want to iterate over all controls in a Form
- Error Provider - Use in a form to flag invalid or missing field data
- Parent forms - Use to establish common features and look for your forms
Code Tricks
- Regions (e.g. #region/#endregion - Use to group code into collapsible areas
- XML Documentation - Type “///“ before class or member to get skeleton documentation that you can fill in. Enables IntelliSense for your object.
- Configuration files – Add a file named “app.config” to your root directory and the IDE will build it into YourAppName.exe.config
- VB DirectCast - Recommended in some cases over CType()
- Using/imports aliases - “using“ and “Import“ both allow defining aliases for a given type or namespace (e.g. “using MXYZ = Microsoft.Ex.Why.Zee;“)
- ObsoleteAttribute - Used to mark a method as deprecated. Supply a message that will appear in the IDE when compiled against and optionally a boolean to make the use of that method a compile-time error (instead of a warning.)
Data Tips
- Data Application Block - She encourages use of the block and described how it works
- Viewing a Dataset - Can be difficult in debug mode to open all of the nodes in the Watch/Locals window. Use dataset.GetXML() to view the XML in the immediate window.
- Dataset extended properties - Showed using them to indicate whether certain columns have validation requirements (e.g. requires numeric, requires existence, etc.)
- Database projects - Useful project type in VS that can be used to track, amongst other things, SQL scripts for your stored procedures so they can be version controlled.
-Chris
I just made another update to my VS Team System team bloggers list and, while I have no problem doing this, it occurred to me there should be a better way.
All but one of the blogs in the list come from blogs.msdn.com. If you take a look there, the left side lists a large number of Microsoft bloggers (currently 867.) Unfortunately, the list is currently sorted by number of posts. This is useful as a “high score“ table, encouraging bloggers to post more, but makes it very hard for people to find relevant blogs.
It would be fantastic if somebody (read “Microsoft“) could organize that list of bloggers according to teams/projects. Life would be much easier if I could import a prepared OPML listing of bloggers focused on the technologies I'm interested in. Having to cull through other peoples' blogs (Rob Caron is a great source for VSTS pointers, BTW) can get tedious, and that is just for VSTS bloggers - never mind Indigo, WSE, PAG, ASP.NET, ad infinitum.
Is there already something like this that I haven't seen? Is there work being done on .Text to support alternate sorting/grouping?
-Chris
I really should be posting about all of the great stuff we're looking into with SOA, VSTS and Whidbey, but...
Yesterday evening, I just happened to swing by Best Buy where I saw a single copy of some “Doom3” game on the shelf. It looked lonely sitting there, with lots of empty shelf around it, so I bought it and took it home. Apparently, there's been a little bit of talk about this game coming out? ;)
I will not give any details of the game to spoil things, but I will tell you, playing this game in a dark room with surround speakers is "the shiznit"! A great blend of violence, suspense and terror (it has an “M“ ESRB rating.) If you can find it, buy it!
Now, do I pony up the dough to buy a new video card?
-Chris
P.S. If you aren't convinced, here are some screenshots.