Wednesday, November 05, 2008
#
In the past, I have usually blogged about PDC as it happens. This year there were so many things going on that I decided to wait until I returned to enter all the pertinent details for the VB Developer that were announced or shown at PDC.
Where do I start? There are several entries that I will be writing over the next couple weeks to cover these. In addition, some things I am working on are destined for publishing to another outlet, more on that when it happens.
One think I want to get out up front. The VB Language Team has a new leader, We will all miss Paul Vick and his invaluable contributions to the language as its leader for the past 10 years who will now move to "Language Designer Emeritus". Fear not VB Enthusiasts, his successor, Lucian Wischik will provide the forward thinking we need to keep VB.Net a great language and a terrific development platform.
I had the pleasure to talk with both while at PDC and my take away from conversations with Lucian, is that VB is in good hands and I expect to see great things come from his tenure as Language Specification Lead.
One of my first entries to come this week will be about something I have been working on that is only available using VB and XML Literals. I hope to provide some more insight into using VB in a practical sense to solve real-world problems in the coming months so stay tuned as these get posted.
VB10 is going to get some really important updates in the next release to further improve your productivity. Among these are array literals, collection initializers, automatic properties, implicit line continuations, statement lambdas, generic variance, and a feature that embeds primary interop assembly types in your assembly so you don’t have to deploy the PIA. There is also something coming for the Framework in general that make Parallel Processing really easy.
I will be writing samples on how to implement these in your general development over the next few weeks as we get the availability of a CTP that we can use.
Rest assured, VB.Net is not going away anytime soon and will remain my language of choice for all development. Rumors of the Death of VB are nothing more than false rumors or in some cases wishful thinking by language bigots.
Sunday, September 28, 2008
#
from: Scott Hanselman's Computer Zen - jQuery to ship with ASP.NET MVC and Visual Studio
Microsoft is going to make jQuery part of the official dev platform. JQuery will come with Visual Studio in the long term, and in the short term it'll ship with ASP.NET MVC. We'll also ship a version includes Intellisense in Visual Studio.
The Announcement Blog Posts
This is cool because we're using jQuery just as it is. It's Open Source, and we'll use it and ship it via its MIT license, unchanged. If there's changes we want, we'll submit a patch just like anyone else. JQuery will also have full support from PSS like any other Microsoft product, starting later this year. Folks have said Microsoft would never include Open Source in the platform, I'm hoping this move is representative of a bright future.
This is really good news for jQuery users. It means that it will just be there all the time and there will be a stable, supported reference to use when debating the reasons to use it to management.
jQuery makes developing with Javascript much easier and does wonders for manipulating CSS at runtime.
Thursday, September 25, 2008
#
Silverlight 2 Release Candidate 0 (Silverlight 2 RC0) is now available to developers for testing purposes
The Official Microsoft Silverlight Site
Time to get ready for the next release. There are some interesting breaking changes, the most important being a change to the Object reference from the web page hosting your Silverlight App.
I will sure write up some gotchas if I run across anything strange.
Tuesday, September 23, 2008
#
Damien Guard has made his T4 Templates Output to VB (yeah!).
LINQ to SQL T4 template for Visual Studio 2008
The latest update to my template for generating LINQ to SQL classes from DBML is now available.
If you want to customize the LINQ to SQL code generation phase in your project without additional tool dependencies this could be what you’re looking for.
I was looking for a better way to customize the Linq to SQL CodeSpit and this lets us do it from inside Visual Studio in a very painless way. No extra tools required. CodeSmith and CodeRush are still quite valueable, but this method integrates very nicely without requiring extra tools.
Thanks to Jim Wooley for pointing me to it, I was not aware how far this had come.
What's T4? In short, It's Native Code Generation inside Visual Studio 2008 (and 2005 with extensions)
Oleg Sych explains most of it here.
When I first saw this, I did not think it was what I needed, it turns out it was EXACTLY what I needed, I just didn't know it. This is well worth your time to investigate if you are doing any code generation for LINQ. (or anything else for that matter, T4 doesn't care, you can codegen a UI using XAML or HTML with it quite easily).
Friday, September 12, 2008
#
It seems that the Blend 2.5 June 2008 Preview doesn't like extra bits in your .SLN file that it doesn't recognize.
I had a couple Silverlight Solutions suddenly stop opening in Blend.
One of my developers is using VisualSVN and committed his .SLN File.
Blend doesn't like the following lines at the bottom of the .SLN file:
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
VisualSVNWorkingCopyRoot =
EndGlobalSection
Delete those lines and magically the solution now opens again in Blend.
I'm sure this is a Beta thing and hopefully the next release will rid us of these annoyances.
Thursday, August 21, 2008
#
Webware(CNET) - Microsoft launches 3D wonder Photosynth for consumers
“On Wednesday night, Photosynth, a technology demo from Microsoft Live Labs, is graduating from its "ooh, that's pretty" status to being a viable Web service for consumers.
via: Greg's Cool [Insert Clever Name] of the Day
This is revolutionary technology... When people start to figure out what they can accomplish with it, I believe digital photography will take a huge leap forward in our ability to create and share incredible work, extremely easy.
Monday, August 18, 2008
#
I just read this:
A forthcoming addition to Microsoft (NSDQ: MSFT)'s Windows operating system will give users the ability to burn optical discs encoded in the Blu-ray high-definition movie format directly from their desktops and without having to use third-party software, according to Microsoft.
Microsoft Windows To Support Blu-ray HD Content -- InformationWeek
And I am still left wondering, why has it taken this long to just get a plain old ISO burner for Windows built into the standard release. Yes, I know there is a "command-line" tool in the Resource Kit, but for crying-out-loud, isn't it about time that we are able to Mount, Create and Burn ISOs with Explorer.
What I would like to see BUILT INTO ALL SHIPPING VERSIONS OF WINDOWS:
- Right-Click a mounted CD/DVD drive and get a "Save to ISO File" option.
- Right-Click an ISO File and get "Create Disc" and "Mount as Virtual Drive" options.
I am sure that piracy, DRM, etc. have had a hand in it, but this is something I expect any relatively modern OS to handle for me without 3rd Party tools.
Friday, August 08, 2008
#
I tried to register for the Silverlight content (since it seems I must to get better interaction...) and I got this lovely response.

That username really blows... no way to change it, and no way to logout because it is so long and the site is fixed width. I can't create another account because my email address is already used.
HTML really sux for a lot of things. UI is one of them. Why didn't they just do the whole site in Silverlight or at least give you that option... This HTML/Flashy site is really bad. The saddest thing is that this is supposed to be "da bomb" for Silverlight and it's grand entrance into the Web 2.0 world. Did Microsoft have any input on how to make this usable? Did they have ALL the input? If it is the latter then I am extremely disappointed in them for botching the introduction of Silverlight to the world of media downloading enthusiasts. I am suspecting they had very little do do with it and the dictations were made by a bunch of middle management weenies that don't have a clue about usability and the modern world of computing.
Not that this would fix the reason I got a GUID for a UserID that I can't change. For such a high profile site, this is an atrocious UI. Overall extremely disappointed... you can't force the "Enhanced" Player to Full Screen. Bad choice, so much for watching on my HTPC... and by the way, my timezone for Arizona is wrong, if I used this for the scheduler, then I would miss everything by an hour, I captured this at 1:25pm.
Overall this site is the biggest let down in the history of platform introductions.
Wednesday, July 16, 2008
#
When I read this, I thought... WTH, there is nothing wrong with demanding an XBox Live Account... I complain constantly about unfair pricing and things like that... It's fairly clear that reading an RSS Feed does not give you a good picture of the Netflix arrangement.
TG Daily - What Microsoft does not want you to know about Netflix streaming
Anyway, I already HAVE an XBox Live Gold membership so getting those extra group watch and share features are a great boost to the new XBox Live. Overall, what I saw during the E3 announcements was quite impressive.
What would I have liked to have heard that I DIDN'T?
- Official VB Support for XNA
- Silverlight being used for the Streaming of Netflix (I do not believe they are using Silverlight in the Fall release, but really hope I am wrong)
- XBox enabled to use Silverlight Applications (I seriously doubt this will be done any time soon, but I am convinced it should be done)
I think with these 3 additional thing the XBox could take on a whole new life, it opens the door WIDE for private stream delivery. We do not want to get stuck in the same rut for Internet streaming that exists in Cable and Satellite services now. It could also be made a case for Corporate Content delivery via XBox.
Think about it, these things are dirt cheap content delivery and interaction systems. This IS the Network Terminal we talked bout 10 years ago when the internet first became popular.
Microsoft would gain HUGE ground if they moved the XBox into this arena, forget MediaCenter, this IS the only livingroom box we need if it ran Silverlight and attached to remote applications.
We need VB Support to really drive grassroots content. So if Microsoft really wants to be a permanent fixture in our Living room, let it run Silverlight, VB and make it quiet.
Thursday, June 26, 2008
#
I have updated the Twitter widget on the right to Silvester.
Silvester - A Silverlight Twitter Widget
I did this for a couple of reason. I really wanted a low impact Silverlight Widget on this page, and Silvester provides the best Twitter interface for a Blog that I have seen so far. I took me a whole 5 minutes to do the update to the markup to place it on the page.
Someday I wall actually update this blog engine to something recent... I don't want to go through the hassle of moving all my content and figuring out how to deal with the permalinks, not that I have so much traffic, I just want to do that because I have links to my own posts referenced all over the place in OneNote and I don't want them to become useless, a permalink is supposed to be permanent. I will write a handler to do it when I have time and enough inclination to change engines.
Tired of digging into controls with reflector or wading through the XAML from Blend and trying to figure out what is comment between controls? This diagram is quite helpful when you are creating new styles and wondering what to include.
Silverlight Control Contracts Diagram - For Skinning
This was featured on Silverlight Cream #226 a while ago, but I just discovered it.
Friday, June 20, 2008
#
I just discovered Bitnami... How have I never seen this before? I know about all the VM Appliance stuff and I use it occasionally but I really don't like VMs. It's not a matter of speed really,its just a personal opinion for how I like to run things. I used to really like VMs and I do still run several, the thing is, what if I want to install something like Redmine on a Windows machine then decide I don't need it on that machine, uninstalling from most other techniques are a horrid experience, usually easier to repave.
BitNami stacks make it incredibly easy to install your favorite open source software. Application stacks include an open source application and all the dependencies necessary to run it
BitNami :: BitNami Stacks
Bitnami changes that by making everything run in an isolated place that you can just nuke if you don't want it and everything continues on, no registry problem, no DLL Hell (which we still have no matter what the Marketroids tell you). So far I am very pleased with what I am seeing, especially from the Ruby Space.
Microsoft needs to learn about how to make installations simple. Installing Visual Studio is an all day process, and if you screw it up or put anything beta on that installation, repave is the only real way out.
I would really like to see Microsoft make Installable Appliances that live independently of my OS. There is really no reason this cannot happen today and in Windows 7 this would be a great target of opportunity, but it won't happen due to what.... backward compatibility.
You know what... I don't care, they should just bite the bullet and make a real 64bit OS that is hardened and nothing can touch it except itself. All programs should live in a sandbox that we can destroy at will. How long does it take to copy a DVD? 5 Minutes, 10? that is how long it should take to install Visual Studio.
Tuesday, June 10, 2008
#
One of the things I love about the Microsoft developer ecosystem is the partner channels that are enabled to create great add-ons to our platforms and frameworks. Our partners in this space usually get to the better implementations before we do, taking on the task of filling some gaps in unique implementations while our teams can focus on providing the best framework for enabling that construction.
Their controls implement support for DataBinding, the new VisualStateManager model, Templates/Styles, etc. Some of the controls they are providing are some that you may find interesting or enhance the existing control suite from the Silverlight core:
- Menu
- TreeView
- Upload
- RadCube
- RadNumericUpDn
- RadProgressBar
- Animation framework
One of their key features is they’ve decided to make these source code compatible with WPF. The full WPF are not yet available. You can download the CTP for free right now on their site and view some sample implementations on their sample site.
I have had the pleasure of working with Telerik for several years and have found their controls indispensable for building my applications. If their Silverlight Controls even remotely compare to the quality of their Asp.Net controls, I will be finding them at the top of my tools list as well.
One of the great things about Telerik is that when you post something on their Forums, they respond quickly, offer demo code to get you going and fix reported bugs (within reason) in the next available version and sometimes will even send you an immediate hotfix. This sort of customer care is what I really admire about Telerik.
I expect to see many more controls coming in the official release, these are just a few to get us started.
Friday, June 06, 2008
#
Still no sign of Blend 2.5 June CTP yet, will post as soon as I find it.
Jeesh! I don’t know why they seem to make this stuff so hard to find. Here they are, more later:
Silverlight 2 Beta 2 Download (4.66 MB)
Silverlight 2 Beta 2 Documentation (50.3 MB)
Have fun!
Peter Bromberg's UnBlog: Silverlight 2 Beta 2 Downloads
Note: from the Silverlight Forums -
The reason the links were not publicly announced is that everything is still being tested. Part of that testing includes actual customer deployment scenarios from live servers, so the links are up but not made public before we're actually done. We did find a couple problems during this phase, and recommend that you do NOT install until we actually announce the release. VS Tools and Blend will be available at that time.
To address upgrade questions already appearing in this thread: updating the runtime and VS Tools will not require an uninstall. For Blend, I'm not certain, but installing VS Tools Beta 2 will uninstall the Blend March (Beta 1) preview. The Beta 2 runtime will not be able to run Beta 1 apps due to various breaking changes during this cycle. All the details will be available when we release.
So be patient... they are all coming today.
As they become available, I will append the links here, when they are ALL available nd I have an Install Order I will make a new entry that covers it all.
Silverlight 2 Beta 2 Runtime: http://go2.microsoft.com/fwlink/?LinkID=115261
Silverlight 2 Beta 2 Documentation: http://www.microsoft.com/downloads/info.aspx?na=22&p=17&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dbce7684a-507b-4fc6-bc99-6933cd690cab%26DisplayLang%3den
Silverlight Tools Beta 2: http://www.microsoft.com/downloads/details.aspx?FamilyID=50a9ec01-267b-4521-b7d7-c0dba8866434&DisplayLang=en
(this is silverlight_chainer which includes the SDK)
Silverlight 2 SDK Beta 2: http://www.microsoft.com/downloads/details.aspx?FamilyID=ba7b510d-0646-4d06-9834-cb82d669872a&DisplayLang=en
Expression Blend 2.5: http://www.microsoft.com/downloads/details.aspx?familyid=32A3E916-E681-4955-BC9F-CFBA49273C7C&displaylang=en
Deep Zoom Composer 0.9.0.3: http://www.microsoft.com/downloads/details.aspx?FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf&DisplayLang=en
All these are now working, so we are “Off to the Races“
Go Forth and build something COOL!
UPDATE:
All of the above with instructions are available at: http://silverlight.net/GetStarted/
I had an error when I first intalled the Chainer, this is one set of solutions:
http://weblogs.asp.net/bradleyb/archive/2008/06/06/upgrading-to-silverlight-beta-2-and-visual-studio-2008-sp1-beta.aspx
Thursday, June 05, 2008
#
For those who can't wait to get started learning the Beta2 changes... Like Me!
Microsoft® Silverlight™ 2 Software Development Kit Beta 2 Documentation
Brief Description
June 2008
The Microsoft® Silverlight™ 2 SDK Beta 2 Documentation
Download details: Microsoft® Silverlight™ 2 SDK Beta 2 Documentation
Wednesday, June 04, 2008
#
Tim Heuer just posted about Skinning in Silverlight 2 Beta 2. We saw this at the MVP Summit and now that we can talk about it...
This has been one of the features that I’ve been excited about for a while since I heard we were changing it. With the release of Silverlight 2 Beta 2 and the updated preview of Expression Blend 2.5 (June 2008), skinning and styling controls within Silverlight gets a bunch easier.
...
You may not realize it but the ScrollBar has a lot of elements that you can skin. The thumb, the handles, the bar, every little detail…so now in Blend 2.5 we can right-click and choose to edit that...
Skinning Silverlight controls just got easier
In the Alpha I had to write a scrollbar from scratch, it sucked. I never realized just how much you had to do to make a scrollbar function properly and then the make it scale properly as well, what a pain. Now it's just there and we can change out the parts to suite our design.
Something more is the new "Parts and States" model that I am totally excited about because it really does make programming controls so much easier. With Parts and States, we can effectively change out state management effects and what gets loaded in a part of a control very easily. This is so much better than other models we have had to deal with in the past. I am in the process of converting an App over to Beta2 and will be posting some interesting demos and code relating to Parts and State soon.
Tuesday, June 03, 2008
#
Today I had to look through a set of controls to extract the Text and build a dynamic search.
Normally, this means looping and/or a bunch of Ifs to do some validation. With Linq to Objects at our disposal I distilled exactly what I needed down to this:
Dim q = From c In SearchCriteria.Controls _
Where TypeOf c Is RadTextBox _
AndAlso c.Text.Length > 0
Dim params = q.ToDictionary(Of String, String)( _
Function(r As RadTextBox) r.ID.Remove(0, 5), _
Function(r As RadTextBox) r.Text.Trim)
At first glance this is a so what... until you look at what it is really doing for me.
I am looking at a Web Page that I need to extract a bunch of criteria from and many of them will most likely be blank, so why even loop through them? The AndAlso takes care of any problems arising from controls that are not RadTextBox. Additionally, I need to take the results and put them into a Dictionary so that I can pass this onto my Dynamic Query routine.
The code this is replacing is about 30 lines of code (that I didn't write...) and I can see exactly what is going on in this concise format. All I had to do is think a little different from the old habits of coding and apply some of the great new tools we have at our disposal. What the Old code did was to loop through all the controls in the SearchCriteria DIV and check to see if .Text was filled, but to do that, it needed to cast the Control. Then on top of that it needed to add the Dictionary Item.
This new code could actually be written on one line, but for programming clarity and readability, I broke it up.
Now this really reads easy and works perfectly, thanks to Linq. A little refactoring and this could become a permanent addition to a Utilities class.
nb: the Remove leverages the fact that I use "Find_<DBFieldName>" in markup and not have to resort to bindings or strings, it also makes this a candidate for a code generation template.
But while he touched on Gates favorites like more natural human-computer interaction and easier software development for everyone, he focused on how Microsoft looks at the changing software development world today.
Most significantly, Gates talked about how modeling will transform software development for Microsoft customers, especially in how the software development lifecycle is managed. "Over time, code gets complicated, and you want to be agile and change it," he said. "This is definitely an area that's open for improvement."
He brought Microsoft technical fellow Brian Harry on stage to demonstrate some of the progress Microsoft has made in its modeling strategy, code-named Oslo. Microsoft intends to deliver some of the first test versions of a modeling language, repository, and tools by October at this year's Microsoft Professional Developer Conference.
Bill Gates Gives Last Big Speech Before Leaving Full-Time Microsoft Role
We get something other than VSS for the first time? This is great, I just wish they would internally support other repositories in VS, like SVN...
So Bill is basically talking about possible solution to what I have been whining about lately. Software is just to damned hard to develop especially for smaller companies. They can't throw 50 people at a project, they may have 1 or 2, and this is where tools to encapsulate an entire complicated solution shine. The same guy can look at everything and see the relationships of the layering, make changes and not be required to be an expert on all technologies, they just need to be an expert in how to GENERATE code, the templates take care of the rest.
Modeling really helps helps if it is a streamlined into an integrated system that can be taught to outside contractors with ease. Hopefully this will become a mainstream knowledge category for development. So far with Oslo, I am really liking what I see, but I am not convinced yet, it looks like its too reliant on Biztalk which is only applicable for Enterprise development, not the small guy.
Models and templates could be sent out for development then used in house to build real applications. I see templating nd software factories as a growing market that will come into the mainstream when it becomes a streamlined solution. Today its not even close, but with a little tweaking and sharing between groups at Microsoft, all that could change for the better.
Monday, June 02, 2008
#
I really wish I could attend this.
(InfoWorld) Microsoft Corp. plans to demonstrate integration Friday between its new Silverlight browser plug-in technology for rich Internet applications and the Ruby on Rails Web framework.
The integration will be done via a plug-in, according to a Microsoft representative. Microsoft officials will detail Ruby on Rails efforts at the RailsConf 2008 conference in Portland, Ore., which is taking place now through the weekend. The plug-in will be free to conference attendees.
Microsoft linking Silverlight, Ruby on Rails
First off, let me explain a little about my understanding of Ruby. I know nothing about it... so then, WHY in the heck do you keep posting about it?
I first looked seriously at Ruby when I saw a demo by John Lam at the MVP Summit. When I saw this I wondered why the heck are they showing this to us in a Visual Basic track? I believe there is some strategy there that we can leverage.
from the above article:
The IronRuby project in general has featured processes that make it easier for Microsoft to develop open-source projects, said Lam.
"What we learn from building IronRuby will be applied in other product groups to help us become more open and transparent than we have been in the past," Lam said.
John doesn't say IF... he says WILL. That is a pretty strong word and what can we infer from this? What I saw at the Summit for the most part was very intriguing, but I didn't take it seriously when I saw it, I took it seriously when I got back and started really looking at what Ruby's Pluses are. I have posted a few entries about that recently and I want to see just how some of its features can be placed into VB.
The great thing about Ruby is that it can do so much for you. Funny, we used to say that about VB. ActiveRecord (which is basically Linq and EF done better for the web) is really a great concept and makes me think of what VB tools at Microsoft could be. At the same time I am thinking that I should learn (in great depth) yet another modern language and what should that be Lisp? C#? Not really, I think it shall be Ruby. Even though Twitter is bouncing up and down like a cat on a hot tin roof, that is not indicative of the language and does not put the power of the .Net framework underneath it. If I had the power of the framework I can do all the things I like about both.
I will be watching and writing about where I go with this, but what I am really hoping for is that the VB Team can get some of the goodness that other languages can provide and that it just goes into the framework along with a terrific usability interface to VB. The real question is how long will it take? Are we looking short term, doubtful, I think we are off in VB11 territory for anything to get that far. I don't think we are too early to start wondering where we will want to be coding in 5 years.
This is precisely why I think that we need EntityDB. DBA's are great when you have the luxury of hiring one (or having one on staff). MicroISVs and Small companies with a need for custom software do not always have this luxury, nor the insight to hire one. In today's world of Code Generation, Metadata and an awesome pool of brain's at Microsoft - this can all be automated by some the best in the business. Linq Plumbing should not be rocket science, it should be straight-forward and simple to understand. I should not have to have a DBA to write a decent scalable model when the Object Model can generate a proper Database and communication layer all by itself. I say it CAN, it just doesn't because there is not yet enough screaming for it. So in the meantime, I will just keep screaming a little louder each day.
For example, one commercially available survey software that I won't name here, had code in it that retrieved of tens of thousands of rows from the database only to filter them out in a for/each loop in C#.
Needless to say, that ended up being a big bottleneck in terms of CPU use and network bandwidth.
The sales rep swore up and down about the scalability of the solution, when, in reality, it didn't take much traffic to bring the data center to its knees.
The moral of the story: trust your developers to write code, not manage huge amounts of data.
Depending on your developers, you may want to be careful about how much to trust them with the data.
Experienced DBAs can be a real pain to work with and that's what makes them great.
They demand referential integrity and schemas and won't let you make one little change to the schema to simplify what code you have to write.
Andy Leonard on Twitter's Woes
Blogroll Me!
Blog Search Engine
Copyright © 2003-2004 H. Steele Price, IV -
All opinions are my own, not necessarily those of my employer, your mother, or any government agency.