-
Make Parallel APIs Seamless and Almost Invisible
-
Microsoft Canada’s Adam Gallant gave an excellent presentation today on ‘What’s New with Visual Studio Team System and MSDN’. Among Adam’s demonstrations were the new APIs to support so-called manycore architectures. Most of us are still writing code as if we only have one processor when it fact newer machines are likely to have four of them.
The .NET Parallel Extensions supported in VS 2010 lead us into adopting these new technologies, which is fine. However, some of us at the session were wondering why this couldn’t be seamless to the developer and end user. Why not just detect if the machine has more that one processor, and if so, distribute the computational tasks automatically to the available resources?
Apps don’t generally decide how much memory they’ll use – that’s left up to the system to allocate as much as is appropriate, usually a lot.
The same should apply to parallelism commands: If the Parallel Extensions are referenced, give the running code all the power you’ve got - unless instructed otherwise. It should be seamless and almost invisible.
To borrow a joke from Jerry Seinfeld,
"Give my app the maximum allowable computing power."
"Figure out what will make it run too fast and then back it off a little bit."
Ken
-
On Being Blow Away by Technology
-
While watching Scott Guthrie, Scott Hanselman, and Brian Goldfarb demonstrate Silverlight 4, I had a range of reactions:
- Wow! I’ve got to play with this stuff!
- I’m feeling overwhelmed by the avalanche of technology
- How will I find the time to do billable work and stay current with this great stuff?
- Maybe I can convince my client to switch the app in development from ASP.NET 3.5 to Silverlight 4?
It’s all so exciting, unnerving, and, in a certain way, upsetting to be so blown away by technology.
Ken
-
New Machine? Nope, Just a Defrag
-
I run Windows Server 2008 Enterprise on my quad core development workstation to take advantage of the OS’ Hyper-V support. (More info on setting this up at http://www.win2008workstation.com/)
Anyway, Derek at Diskeeper corporation sent along an MVP freebie preview of Diskeeper 2010 so I thought I’d run a defrag overnight. This morning, it feels like I have a new machine! I know this sounds like a commercial, but I hadn’t realized how badly my system’s performance had been deteriorating over the last few months since I repaved the drive. I won’t go into all the marketing terms surrounding this technology. Suffice to say that this product really worked for me.
Derek also sent along a copy of Diskeeper’s performance optimizer for virtual environments. I’ll report back once I give it a whirl.
BTW, I sure wish Microsoft would get on the ball and offer a workstation SKU of Windows Server 2008 R2 for developers. Right now, there are messy technical and licensing issues when you want to install consumer products on what is (technically) a server OS. Selling a relabelled version of Windows Server 2008 R2 as “Windows 7 Hyper-V Developer Workstation Edition” would solve most of them.
Ken
-
It Works On My Virtual Machine - So Ship My VHD!
-
With advances in virtualization technology, it seems like the old quip, “It works on my machine - so let’s ship my machine!” is becoming reality.
In the old days, people would configure a physical box in their shop and send it out to the client or host to plug and play. With virtualization, you could configure a virtual machine – even a development machine – and upload the virtual hard drive to a data center.
Taking it further, the folks running Azure could run multiple copies of the identical VHD when it's time to scale out. Maybe this is something they’ll announce at PDC 2009?
-
Our Windows 7 Launch Party’s Over
-
The Windows 7 launch celebration went well at our place. I installed the “Windows 7 Signature Edition” on an older (Win 95 era) Dell machine and discovered that the new OS ran quite well. Even more surprising, Dell’s audio and video drivers for Windows 2000 worked great.
Because I set English (Canada) as the system language, we got the Canada background themes. I used the HD TV as a monitor and had the beautiful backgrounds rotating throughout. Does anyone know how to find the location those pictures were taken? Some are in the Rockies, but from which pass?
A couple guests put together the Windows 7 Party Pack puzzle - with able assistance from my great-nephew Noah, as shown in the following picture.
Even the dogs (Goldie and Riley) had a good time at the party. Here’s my dog Goldie getting an ear scratch from our neighbour.
My wife bought the balloons and wrote “Windows 7” on them – strangely, the Party Pack didn’t include balloons.
The guests left our afternoon tea party with Windows 7 bags. Brenda won the deck of playing cards.
All-in-all a successful launch party!
-
VS 2010 Product Release Date? March 22, 2010
-
I don't recall Microsoft announcing a Visual Studio release date this far in advance. The official launch is March 22, 2010.
In the past there have been two product release dates for Visual Studio. The first was soon after release to manufacturing (RTM) courtesy of MSDN Downloads. The second was the marketing release when the real sales pitch to regular purchasers got underway.
Any guesses on the date for MSDN availability of the final product?
I love license terms (any chance to ridicule lawyers!) Have you read them all? Here are some of the interesting conditions that allow you to "go live" with VWD. You vow:
- To back up and protect your data
- To stop using the software if Microsoft asks you
- To warn people it's a possibly buggy beta
- Not to collect personally identifiable or confidential data
- Not to use it for e-commerce or financial transactions
BTW, VWD Express 2010 Beta 2 stops working June 30, 2010.
Ken
-
Animation on MSDN Web Pages? No Thanks
-
I may be fighting a losing battle against the Silverlight/Flash animation gurus. The Visual Basic Developer site on MSDN is showing off a preview of its proposed redesign.
One of the “features” is a flashing, fading, distracting, and very annoying animation at the bottom of the page. To me, this is a case of “see what great things I can do” from an animator.
Unfortunately, these moving image things set off my vertigo and I must turn away quickly.
In the debate over the redesign, one option seems to be a button to turn the motion off. I’d reverse that so that nothing moves unless I click the Play button.
I’m not sure if the VB site’s redesign is going to be adopted by MSDN in general. I certainly hope not because the content on the MSDN site is far too important to be overpowered by flashy design.
Perhaps someone has a browser plug-in that can disable the Flash and Silverlight controls on a page/site basis?
Ken
-
Windows 7 Ultimate Signature Edition w/ Party Pack
-
Gosh, it didn’t take long for eBay to come alive with offers to sell the Not For Resale (NFR) versions of Windows 7! I suspect most of these “Signature Edition” versions are coming out of the Party Pack that just arrived today. The asking prices seem to range from $80 to $315 (CDN).
Are these so rare as to have a premium value for collectors? Will Microsoft go after these vendors?
BTW, I wouldn’t sell mine – apart from the fact that doing so would be unethical, illegal, and downright stupid for a Microsoft MVP! <grin> I’m showing it off at my launch party (actually an afternoon tea party) on October 22nd.
Ken
-
Fixing the ‘Telerik.WebControls.GridInsertionObject does not contain a property’ Error
-
I really like working with the Telerik ASP.NET AJAX controls. However, I keep forgetting about a problem in the RadGrid that occurs when trying to add a new record using EntityDataSource. If there aren’t any records yet, and you click Add Record, you often get this:
DataBinding: 'Telerik.Web.UI.GridInsertionObject' does not contain a property with the name ‘<fieldname>'.
The workaround is to manually initialize the object being inserted. Here’s the routine (VB) for my future reference and yours:
Protected Sub RadGrid1_ItemCommand _
(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) _
Handles RadGrid1.ItemCommand
' For error 'Telerik.WebControls.GridInsertionObject' does not contain a property
' Handles the case where you are adding a new item to the grid where
' none exists yet. The purpose is to create a dummy collection of values
' to prefill the form
If e.CommandName = RadGrid.InitInsertCommandName Then
e.Canceled = True
Dim newValues As System.Collections.Specialized.ListDictionary = _
New System.Collections.Specialized.ListDictionary()
newValues("Note") = ""
newValues("DisplayOrder") = 0
newValues("ID") = 0
'Insert the item and rebind
e.Item.OwnerTableView.InsertItem(newValues)
End If
End Sub
Full Disclosure: Telerik gave me a copy of their controls as a perk for being a Microsoft MVP for ASP.NET.
Ken
-
Congratulations Microsoft MVP!
-
I received a very nice email message this morning…
“Congratulations, you are one of only a few thousand people around the world who have been recognized with a Microsoft MVP Award.”
I’m proud of this award, and even though I’ve received it every year for the last 10 or so years, it’s just as much an honour as the first time.
Ken
Microsoft Most Valuable Professional [ASP.NET]