# Tuesday, August 07, 2007

Rosario CTP available

It's hard to keep up, just this weekend I was installing VS2008 Team System beta 2 only to find that the Community Technology Preview of Rosario is already available for download.

'Rosario' is codename for the Visual Studio Team System release that will come after Visual Studio Team System 2008 (which was codenamed 'Orcas').

Brian Harry writes:

One of our primary focuses for this release is what we call "Business Alignment".  This is about making sure you know what your development organization is doing, why they are doing it and how it is coming compared to plan.  There are many features coming to support this goal and I'll talk about a few of them here.  Some of them you can see in this CTP include:

  • A focus on requirements and traceability.  Among other things, the MSF CMMI guidance has been updated to include new work item types and reports.  MSF Agile will be updated in the future.
  • Hierarchical work items for work breakdown and status rollups.
  • Extensible link types to be able to relate work in whatever ways fit your process.
  • Querying over links to enable traceability and easily answering hard questions about ongoing work.
  • Querying based on group membership to be able to scope to the people on your team easily.

 

#    Comments [0] |
# Friday, August 03, 2007

First impressions of Visual Studio Team System 2008 beta 2

So this week I got round to installing Visual Studio 2008 beta 2. After downloading the image for Visual Studio Team System, created a new virtual machine using VirtualPC 2007 and started the installer. I was working on a different machine in the time so I had all day for the install process to run.

The image I was installing into already had Visual Studio 2005 Team Suite installed, so I'm testing against a side-by-side installation.

After deselecting C++ in the list of items to be installed I was ready to go and let the installer do it's business. The installation went without a hitch, but did ask me to reboot the machine after installation. I'm going to guess this had to do with installing the .NET Framework 3.5.

Time to load up the IDE and start a new project. First thing to notice is that VS2008 supports multiple verions of the .NET Framework (currently 2.0, 3.0 and 3.5 beta) and different project templates are available for different version of the .NET runtime.

Visual Studio for Database Professionals is now fully integrated into the VS Team System deployment and there are a lot more templates for Office available.

I'll be writing an article about AOL Video in the near future and I want to implement a video feed into my Outlook contact. Creating cool Outlook add-ins is really easy in VS2008 and within minutes I had my addin up and running.

Useful code snippet:

Outlook._ContactItem item = this.OutlookItem as Outlook._ContactItem;
if (item != null)
{
MessageBox.Show(item.CompanyName);
}

The snippet above shows how to access the current item from within the FormRegion control (=Microsoft.Office.Tools.Outlook.FormRegionControl). I feel 'this.OutlookItem' should really return a managed object or interface, not a reference to a COM Callable Wrapper. Anyway, once you figure out how to cast to an interface it's very easy to access the properties of an Outlook item.

#    Comments [0] |
# Tuesday, July 31, 2007

Chris Bowen will be presenting on Visual Studio 2008

Portland, ME: Thursday August 9th 2007 at 6:00pm.
Chris Bowen will be presenting on Visual Studio 2008.
More info.

#    Comments [0] |
# Friday, July 27, 2007

Visual Studio 2008 beta 2 available for download

Visual Studio 2008 beta 2 has just become available for download.

Go to: http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx

#    Comments [0] |

JSON

Having been in immersed in C# and .NET Framework stuff lately I've been missing out on some of the developments that have been going on in the webbrowser. I remember programming an application for a customer in 2002 which was allowed to target Internet Explorer 4.0 and use JavaScript in combination with something called XmlDataIslands and XmlHttpRequests. Last year this technology has been given new life and is now commonly refered to as Ajax.

Tied in with the evolution of JavaScript is JSON: JavaScript Object Notation.

I like to think of JSON as object serialization for JavaScript objects, much like XmlSerialization is one of the corner pieces of .NET.

Scott Mitchell and Atif Aziz do a good job of explaining JSON in a little more detail :-).

 

#    Comments [0] |

What is Silverlight?

This is a question I've been getting quite a bit lately. People have heard about it, but don't quite know what it is.

www.silverlight.net says it is:
Microsoft® Silverlight™ is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows.

So what does it boil down to?

Microsoft Silverlight is something you install in your browser which allows you to view Silverlight content.

Silverlight content can be closely compared with Adobe Flash: rich design, animations, a statefull application that runs in the browser.

Silverlight is supposed to have better capabilities in integrating streaming video within your Silverlight application/website than Flash, but not having much experience with delivering video I can't tell from personal experience.

Silverlight content can be written using JavaScript or one of the many .NET languages.

Note 1: As of right now the plug-ins and tools for writing Silverlight content are still in beta.
Note 2: Silverlight was developed as WPF/E, which stands for Windows Presentation Foundation/Everywhere.
Note 3: Silverlight content can be viewed on Microsoft and Mac platforms. Novell has pledged a browser control based on Mono called Moonlight. This will bring Silverlight to the Linux platforms also.

#    Comments [0] |
# Tuesday, July 24, 2007

Microsoft® Visual Studio® 2005 Team Edition for Database Professionals Service Release 1

Microsoft® Visual Studio® 2005 Team Edition for Database Professionals Service Release 1 has been released. This is must have tool for people that develop using Visual Studio Team System!

Go to: http://www.microsoft.com/downloads/details.aspx?FamilyID=9810808c-9248-41a5-bdc1-d8210a06ed87&displaylang=en

#    Comments [0] |
# Sunday, July 22, 2007

Visual Studio 2008

Microsoft just keeps 'em coming. Expected release date for Visual Studio 2008, SQL Server 2008 and Windows Server 2008 is now February 27th, 2008.

Read more: http://entmag.com/news/article.asp?EditorialsID=8800

#    Comments [0] |
# Friday, June 15, 2007

HTTP Debugging

I reinstalled a tool today which I used years ago and was impressed by how, and how easy, it worked in the current version: Fiddler HTTP Debugging Proxy.

The tool allows you to analyse all requests and responses from your browser. Works great and very usefull for AJAX debugging.

More on: http://www.fiddlertool.com

#    Comments [0] |
# Tuesday, June 12, 2007

Sometime you just don't want to know...

While playing around with SOS a little today I took two looks at the output of the command:

!dumpheap -stat

First I ran.

static void Main(string[] args)
{
}  //breakpoint here

Next I added a Console.Writeline.

static void Main(string[] args)
{
Console.WriteLine("Hello!");
}  //breakpoint here

Output of the dumpheap of the first bit of code:

!dumpheap -stat
PDB symbol for mscorwks.dll not loaded
total 2074 objects
Statistics:
      MT    Count    TotalSize Class Name
790fdd5c        1           12 System.Security.Permissions.SecurityPermission
790fd5b4        1           24 System.OperatingSystem
790fc79c        1           24 System.Reflection.Assembly
790fb668        1           28 System.SharedStatics
790fce28        1           32 Microsoft.Win32.Win32Native+OSVERSIONINFO
79124544        1           36 System.Int64[]
790fd444        1           40 Microsoft.Win32.Win32Native+OSVERSIONINFOEX
790fbcfc        1           40 System.AppDomainSetup
790fdc3c        1           44 System.Security.FrameSecurityDescriptor
790fd4ec        2           48 System.Version
790f9c18        4           48 System.Object
790fc308        3           60 System.RuntimeType
790fa800        3           60 System.Text.StringBuilder
790fca24        1           64 System.IO.UnmanagedMemoryStream
790fd824        2           72 System.Security.PermissionSet
790fac70        1           72 System.ExecutionEngineException
790fabcc        1           72 System.StackOverflowException
790fab28        1           72 System.OutOfMemoryException
00153d48        6           84      Free
790fb8c8        1          100 System.AppDomain
790fad14        2          144 System.Threading.ThreadAbortException
79124670        6          356 System.Char[]
79124228        4         8288 System.Object[]
790fa3e0     2028       130364 System.String
Total 2074 objects

The output for the second bit of code:

!dumpheap -stat
PDB symbol for mscorwks.dll not loaded
total 4451 objects
Statistics:
      MT    Count    TotalSize Class Name
79110e94        1           12 System.Resources.FastResourceComparer
79107f40        1           12 System.RuntimeTypeHandle
79102f48        1           12 System.__Filters
79102ef8        1           12 System.Reflection.Missing
79101ca8        1           12 System.RuntimeType+TypeCacheQueue
790fdd5c        1           12 System.Security.Permissions.SecurityPermission
79178564        1           16 System.IO.MdaHelper
79126bd8        1           16 System.Collections.ObjectModel.ReadOnlyCollection`1[[System.Reflection.CustomAttributeData, mscorlib]]
79126710        1           16 System.Collections.ObjectModel.ReadOnlyCollection`1[[System.Reflection.CustomAttributeTypedArgument, mscorlib]]
79111010        1           16 System.Resources.ResourceReader+TypeLimitingDeserializationBinder
7910fe28        1           16 System.Globalization.GlobalizationAssembly
7910646c        1           16 System.Reflection.Cache.InternalCache
79168874        1           20 System.Diagnostics.StackTrace
79126824        1           20 System.Reflection.CustomAttributeTypedArgument[]
7910fbdc        1           20 System.Environment+ResourceHelper
7910031c        1           20 Microsoft.Win32.SafeHandles.SafeFileMappingHandle
791002c0        1           20 Microsoft.Win32.SafeHandles.SafeViewOfFileHandle
790ff26c        1           20 System.Text.InternalEncoderBestFitFallback
790fdf38        1           20 Microsoft.Win32.SafeHandles.SafeFileHandle
7910f690        1           24 System.Collections.Stack
791009f0        1           24 System.IO.TextWriter+SyncTextWriter
790ff2c4        1           24 System.Text.InternalDecoderBestFitFallback
790fd5b4        1           24 System.OperatingSystem
790fc79c        1           24 System.Reflection.Assembly
790f8648        1           24 System.Runtime.CompilerServices.RuntimeHelpers+ExecuteWithLockHelper
79125330        1           28 System.Reflection.Cache.InternalCacheItem[]
791008f0        1           28 System.Text.EncoderNLS
790fe4b0        1           28 System.IO.Stream+NullStream
790fde94        1           28 Microsoft.Win32.Win32Native+InputRecord
790fb668        1           28 System.SharedStatics
791064d8        1           32 System.Reflection.Cache.ClearCacheHandler
79100760        2           32 System.Text.DecoderReplacementFallback
79100700        2           32 System.Text.EncoderReplacementFallback
790fce28        1           32 Microsoft.Win32.Win32Native+OSVERSIONINFO
79124544        1           36 System.Int64[]
790fe280        1           36 System.IO.__ConsoleStream
790f992c        1           36 System.Resources.RuntimeResourceSet
79110f4c        1           40 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
790fd444        1           40 Microsoft.Win32.Win32Native+OSVERSIONINFOEX
790fbcfc        1           40 System.AppDomainSetup
790fdc3c        1           44 System.Security.FrameSecurityDescriptor
79193fa4        1           48 System.RuntimeMethodHandle[]
7910fc38        2           48 System.Environment+ResourceHelper+GetResourceStringUserData
79107714        1           48 System.Reflection.Module
790ffbe4        4           48 System.UInt16
791687fc        1           52 System.Diagnostics.StackFrameHelper
79126534        1           52 System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Resources.ResourceLocator, mscorlib]]
790fb238        1           52 System.Threading.Thread
790f96e8        1           52 System.Resources.ResourceManager
7912545c        1           56 System.LogLevel[]
791005d4        2           56 System.Text.UTF8Encoding
791003f8        1           56 System.IO.StreamWriter
790ffb28        3           60 System.Globalization.CultureTableItem
79110c2c        2           64 System.Text.UTF8Encoding+UTF8Decoder
7910feec        2           64 System.Globalization.CompareInfo
79126398        1           72 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[System.Resources.ResourceLocator, mscorlib]][]
790ffa34        1           72 System.Globalization.CultureTable
790fd824        2           72 System.Security.PermissionSet
790fac70        1           72 System.ExecutionEngineException
790fabcc        1           72 System.StackOverflowException
790fab28        1           72 System.OutOfMemoryException
790ff138        1           76 System.Text.SBCSCodePageEncoding
79110b54        2           80 System.IO.BinaryReader
7910fcec        1           80 System.Resources.ResourceReader
79102fac        3           96 System.Reflection.MemberFilter
79102e10        3           96 System.Runtime.CompilerServices.RuntimeHelpers+CleanupCode
791079cc        1          100 System.Reflection.MetadataArgs+SkipAddresses
790fb8c8        1          100 System.AppDomain
00153d48        7          100      Free
79125594        1          108 System.SwitchStructure[]
79102cec        4          128 System.Runtime.CompilerServices.RuntimeHelpers+TryCode
790ffe6c        1          128 System.Globalization.NumberFormatInfo
790f9c18       11          132 System.Object
790fad14        2          144 System.Threading.ThreadAbortException
79109a4c        4          240 System.Reflection.AssemblyName
790ff6dc        5          240 System.Globalization.CultureTableRecord
790fed1c       20          240 System.Int32
790fd4ec       10          240 System.Version
790fca24        4          256 System.IO.UnmanagedMemoryStream
791689a4        9          288 System.Diagnostics.StackFrame
791251f8        1          288 System.Reflection.CustomAttributeRecord[]
790fa800       20          400 System.Text.StringBuilder
7912747c       23          552 System.Collections.Generic.List`1[[System.Reflection.FieldInfo, mscorlib]]
79127200       23          552 System.Collections.Generic.List`1[[System.Reflection.RuntimeFieldInfo, mscorlib]]
791270bc       23          552 System.Collections.Generic.List`1[[System.Reflection.PropertyInfo, mscorlib]]
790ff4c4        8          576 System.Globalization.CultureInfo
79124958       25          600 System.Collections.Generic.List`1[[System.Reflection.RuntimeConstructorInfo, mscorlib]]
791240f0       12          608 System.Int32[]
79127404       23          644 System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[[System.Reflection.RuntimeFieldInfo, mscorlib]]
79127044       23          644 System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[[System.Reflection.RuntimePropertyInfo, mscorlib]]
79124b5c       24          672 System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[[System.Reflection.RuntimeConstructorInfo, mscorlib]]
791273a8       46          736 System.Reflection.CerArrayList`1[[System.Reflection.RuntimeFieldInfo, mscorlib]]
79126fe8       46          736 System.Reflection.CerArrayList`1[[System.Reflection.RuntimePropertyInfo, mscorlib]]
79124418       14          780 System.Byte[]
79125c30       28          784 System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[[System.Reflection.RuntimeMethodInfo, mscorlib]]
79124b00       49          784 System.Reflection.CerArrayList`1[[System.Reflection.RuntimeConstructorInfo, mscorlib]]
791100e4       23          828 System.Reflection.CustomAttributeData
7910b170       26         1144 System.Reflection.RtFieldInfo
7910aaf4       25         1200 System.Reflection.RuntimeConstructorInfo
790fc308       60         1200 System.RuntimeType
791036b0       51         1224 System.Collections.ArrayList
79125a94       90         1440 System.Reflection.CerArrayList`1[[System.Reflection.RuntimeMethodInfo, mscorlib]]
791256cc       62         1488 System.Collections.Generic.List`1[[System.Reflection.RuntimeMethodInfo, mscorlib]]
791275c8       23         1620 System.Reflection.CustomAttributeCtorParameter[]
79124670       20         1756 System.Char[]
79126e40       74         1776 System.Collections.Generic.List`1[[System.Reflection.RuntimePropertyInfo, mscorlib]]
790fea70       34         1904 System.Collections.Hashtable
79124d0c      156         2120 System.RuntimeTypeHandle[]
7910ae58       39         2340 System.Reflection.ParameterInfo
7910b778       51         2856 System.Reflection.RuntimePropertyInfo
79101be8       40         3200 System.RuntimeType+RuntimeTypeCache
79101e90       62         3472 System.Reflection.RuntimeMethodInfo
791242ec       34         4896 System.Collections.Hashtable+bucket[]
7910adcc      107         5136 System.Signature
79126d08       23         5512 System.Reflection.CustomAttributeNamedParameter[]
79124228      649        25308 System.Object[]
790fa3e0     2251       144908 System.String
Total 4451 objects

So 2000+ objects to do... "nothing" and then 2400 additional classes to output one string to the Console.

Seems a lot, but it illustrates how much management it takes to have a managed environment.

#    Comments [0] |

TechEd Web Development category winner... Strangeloop AppScaler!

AppScaler won the TechEd 2007 award for...

Web Development category winner: Strangeloop Networks' Strangeloop AppScaler Appliance for ASP.NET/AJAX

#    Comments [0] |
# Tuesday, June 05, 2007

Strangeloop AppScaler finalist for the Best of Tech·Ed 2007 Awards

Strangeloop AppScaler for Microsoft ASP.NET and AJAX has been selected as a finalist for the Best of Tech·Ed 2007 Awards in the Web Development and Infrastructure category.

Read more on: http://www.strangeloopnetworks.com/news_newsrelease_0531_teched_best_final.html

#    Comments [0] |
# Friday, June 01, 2007

More on Strangeloop AppScaler

Richard Campbell has posted a detailed blog entry describing the challenges and (part of the) innerworkings of the Strangeloop AppScaler.

 

#    Comments [0] |

Visual Studio Team Edition for Database Professionals - Power Tools

Recently I've started using VSTS for DB Pro. I've installed CTP 2 of Service Release 1, and it's been great.

The VSTS DB Pro team plans to release power tools for VSTS DB Pro as well. These are tools that will be released as soon as possible, without having to wait for a major release.

The Power Tools are listed on the Future Release page of VSTS: http://msdn2.microsoft.com/en-us/teamsystem/bb407307.aspx

Team Edition for Database Professionals Power Tools

Feature Description
“Move Schema” Refactoring Allows a user to right click on an object and move it to a different but existing schema
SP Rename Generation Generate a new script that will contain sp_renames for all rename refactored objects that the user can then execute.
Data / Schema Compare Build Tasks MSBuild tasks that can generate scripts as if the user had run the Data / Schema compare UI
Script Preprocessor Expand SQLCMD variables and include files and command line version (sqlspp.exe) & an MSBuild version ( wraps the command line version )
API Access to Schema View Insert / Update / Delete to schema View and list schema objects and their associated files
Data / Schema Compare Build Tasks MSBuild tasks that can generate scripts as if the user had run the Data / Schema compare UI
Dependency Tree Show the dependencies ( incoming / outgoing ) for selected objects in a new tool window
Static Code Analysis A precursor to the functionality that will be in future versions of VSTS that will allow you to perform Static Code Analysis on T-SQL code.
Wildcard Expansion Automatically expand the wildcard in a select to the appropriate columns.
Fully-Qualified Name Support Automatically inject fully-qualified names when absent in a script
Schema Reporting DBSpecGen functionality for the project system allows you to easily document your database schema.

 

 

#    Comments [1] |

Enthousiasm for Microsoft technology

Rocky has an interesting post responding to something Martin wrote about.

I'm afraid I do have to agree with Martin a little.

I've run a huge usergroup for the last couple of years (2500+ developers, www.sdn.nl) with members from all corners of development world and the enthousiasm displayed by a Delphi or FoxPro developer is much larger than a .NET developer. Don't get me wrong, there are people out there who are very enthousiastic about all Microsoft technologies, I'm one of them, but if I'd have to throw a ball park number out there, then I'd say that 50% of the Delphi programmers are active in communities whereas only 5% of the Microsoft developers do more than 'just show up for work'.

I always like to say that in any profession you have workers and you have craftsmen. Workers come in for the paycheck. Craftsmen take pride in their work, love it and go the extra mile. The Microsoft arena perhaps has ratio wise a larger % of workers. Why? Anyones guess. Perhaps the whole certification processes and quality of tooling make it easier to be a worker in Microsoft land then in other products..

Anyway, that's my 2 cents.

#    Comments [0] |
# Thursday, May 31, 2007

Another Blomsma venture: PetroNomics

I just discovered that my uncle, Evert Blomsma, has put up a brand new website for his company: PetroNomics.

#    Comments [0] |

Team Foundation Server Comparison by Forrester

Forrester has published a report called Software Change And Configuration Management, Q2 2007.

Interesting read for anyone looking at ALM tooling.

#    Comments [0] |

Amazon Web Services

I've been doing some technical writing for Amazon Web Services, so now I'm trying to keep an eye on what's going on at their shop.

They've just announced a price cut got their Amazon S3 service.

Read more on: http://www.amazon.com/gp/browse.html?node=16427261

 

#    Comments [0] |
# Wednesday, May 30, 2007

Microsoft Surface

I ran across this on Bink.nu. It's amazing! I want one!!!

Go to: http://www.microsoft.com/surface/

#    Comments [1] |