Public musings, often on software development RSS 2.0
# Monday, May 21, 2007

Last Friday Microsoft announced a new product family under the heading Popfly.  Popfly leverages the recently announced Silverlight technology.  Silverlight allows you to create interactive media style applications for the web.  Popfly is focused on taking items such as Silverlight applications or other existing web contact and pulling these individual resources together to form larger applications.

The basic idea is to create "Mashups", what's a Mashup, well in short in terms of Web applications, a mashup is a web page which combines content from multiple sources.  The terms been around long enough for publishers like WROX to actually create books on the practice (such as this one on using Flickr: Mashups for Flickr).  Currently however, to create these technologies you are essentially working from scratch.

Popfly is a set of extensions for Visual Studio as well as a Live Spaces area to allow you to really start creating Mashups in a more drag and drop fashion.  The basics of the tool are available at http://www.popfly.com and for additional resources I suggest going to this blog entry from Adam Nathan and checking out the demonstration video he links to: http://blogs.msdn.com/adam_nathan/archive/2007/05/18/yes-i-m-on-the-microsoft-popfly-team.aspx

It's going to allow many more people to create sites with a great deal more interactivity.  It's still in Alpha and you have to apply to participate on the Popfly site but it definitely looks cool.

Monday, May 21, 2007 12:59:45 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Technology
# Saturday, May 19, 2007

It's quite common to hear that anyone can be a developer.  Microsoft and other technology companies are infamous for telling us how everyone from a 9 year old through a 99 year old can be a developer.  However, it's a little like saying that everyone from a 9 year old through a 99 year old can play baseball.  (I'm using baseball and softball for this discussion in a gender neutral fashion.  I understand that most women play softball, but the gist of the discussion is not gender specific.)

Yes everyone from a 9 yr old child to a 99 year old "can" play but when you start talking about professional players - what's the real range of 'who can play?'  Don't get me wrong even when I was say eighteen through twenty-five I wasn't a baseball star (or any other sport for that matter).  Sure I knew how to play, and would even participate in a softball game at say a company or church picnic.  But was I professional?  Not a chance, and there's a reason - I wasn't nearly as good as those people being picked to play for organized teams.  In this case I'll even extend 'professional' to the college ranks to make it clear it's gender neutral.  Let's face it those teams pick the best available players, and while anyone may have the basic skills to hit and catch the ball - only the best stick with it and are worth investing in that skill.

It is much the same in software development.  Sure anyone 'can' write some code.  Anyone can write a 'Hello World' program or type up a basic HTML page.  But does that mean anyone can act as a professional software engineer?  The answer as with baseball, is not really.  Sure you can hire people who will take your money and accept the title of Software Engineer, but in the long run neither you nor they will be happy.  Similar to other skilled professions (everything from Doctors to Electricians to Truck Drivers) certain people just do better in the software industry.  So how do you spot them?

Well there have been several essays but finally there is a new book coming from an author I trust on this subject.  Joel Spolsky author of Joel on Software is releasing a new book on hiring software and related technical people.  I've just ordered a copy and depending upon your role you might want to do the same. 

Given Joel's history while you may not agree with everything he has to say, you should at least consider this book if you are in the business of helping to interview new engineers.  I'm sure I'll have more to say once I've read this book but for now, given how much I liked his last two books (with Joel on Software being the better of the two) I'm confident in recommending this before I've read it.

Saturday, May 19, 2007 11:52:13 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Musings
# Sunday, May 13, 2007

The ride was yesterday.  Thankfully it was a beautiful day in the low 70's.  The ride left from Cuyamaca College.  It took me till a little after 12, with 3 rest stops, 1 stop to aid another cyclist and later a flat tire of my own.  Overall my average speed was 13.1 mph which was passable.  I was once again able to show the value of riding a triple (haven't tried one of the new compact doubles).  To put it in comparison my 13.1 average speed was .8 mph slower then I did in 2005, when it was in the 90's and there were issues with heat.  But that takes care of next year and next year (unless they move the location) I'll just have to do better.

BTW, the best part of the ride actually came after I finished.  I ran into someone who I had suggested try out the ride.  He had done the 30 mile route and had a great time.

Sunday, May 13, 2007 8:28:50 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling
# Monday, April 23, 2007

I'm planning to teach the Spring quarter's edition of Visual Basic II.  The class is designed to pick up for students who have been through an introductory .NET Framework class and an initial Programming with Visual Basic I class.  Previously the class has focused on .NET 2.0 but with the recently released .NET 3.0 now available we'll be spending some of the additional class time looking at things like XAML, WPF, WF and LINQ (part of the .NET 3.5 feature set).  Additionally for those interested in handling existing VB6 code we'll be talking about the Visual Basic Power Packs which allow you to interoperate between Visual Basic 6 and Visual Basic .NET code within your existing application.  My goal is to ensure that students completing this class have an  understanding not only where .NET is today and how to work with Visual Basic - but where Visual Basic and .NET are going and how to be positioned so that what happened with Visual Basic 6 doesn't again happen to those working in Visual Basic.

The class can be registered for through UCSD at:

http://extension.ucsd.edu/studyarea/index.cfm?vAction=singleCourse&vCourse=CSE-40616&vStudyAreaId=14

Monday, April 23, 2007 9:28:55 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology | Visual Basic
# Friday, April 20, 2007

One of the items which came up at the MVP Summit involved the availability of VB Samples online.  It's funny how sometimes you'll see the difference between those in Redmond and internal to Microsoft and those of us on the outside.  In this case the response of the VB Team was effectively: "What are you talking about we ship samples along with each CTP, the C# team has their posted because they aren't all in the product."  (Note I'm paraphrasing what I recall hearing here.)

Anyway the MVP's made it quite clear that from a perceptions standpoint the fact that the C# samples were easily available via the web while the VB samples were MIA was a problem.  So the VB Team committed to making their samples available online.  The result is that if you head over to the LINQ Samples page you’ll find both C# and VB Samples.

http://msdn2.microsoft.com/en-us/bb330936.aspx

Which reminds me of a second link to LINQ - For those of you who are still getting up to speed you'll find alot of great introductory information related to LINQ at: http://msdn2.microsoft.com/en-us/vbasic/aa904594.aspx

Friday, April 20, 2007 8:49:00 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | LINQ | Technology
# Thursday, April 19, 2007

For those of you working with WPF, WF, WCF and other cutting edge .NET technology Microsoft made Beta 1 of Visual Studio Orcas available today you can download it here:
http://www.microsoft.com/downloads/details.aspx?FamilyId=36B6609E-6F3D-40F4-8C7D-AD111679D8DC&displaylang=en

Update:

The link above is for the VPC version.  MSDN Subscribers should have access to an MSI to install the tools (in ISO format) but it isn't publicly available.  For those of you more familiar with or looking for a smaller download that can be installed there are also Express Editions of Orcas available here:

http://msdn.microsoft.com/vstudio/express/future/default.aspx

Thursday, April 19, 2007 1:37:48 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology
# Monday, April 16, 2007

One last entry as I'm preparing to wrap for the day.  Found this new site which indicates that as of today, what was previously called WPF/E is now known as "Silverlight" - http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx

Lots of good information and links for Silverlight at that location.

 

Monday, April 16, 2007 4:21:00 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology

A new story on how they've discovered the gene responsible for a genetic pre-disposition to diabetes (and all you ever hear is it's because people eat too many carbs... wrong - even before the gene was found it was known to be a genetic problem.)

http://www.msnbc.msn.com/id/18122308/site/newsweek/wid/11915773?GT1=9303

Apparently according to this article the the gene in question is #10.... you might have one copy that's bad or two but having even one increases your risk of Type 2 diabetes significantly.  As for me - well I already have Type 2 Diabetes so no reason for me to get tested - and as for my son - why would I possibly want to have him tested?  I don't plan on telling him I have Diabetes once he's old enough to really understand because I don't want him to be black-listed for insurance and other activities - thus what possible benefit would there be to getting him tested?  The fact is leading a healthy lifestyle with exercise and diet is the only defense until and after you get diagnosed so unlike say a breast cancer risk where you might choose surgery to remove the risk, the test really doesn't provide any value.

 

Monday, April 16, 2007 3:11:11 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Diabetes

Since this afternoon has become blog update I thought I'd relate and record a few note from my biking ride this weekend.  After a mountain bike ride on Thursday with Kevin, Friday was Roadie to and from work with a couple extra miles on the way home.  Then Saturday it was time to return to the scene of the crime.

When I first got my road bike I also got a free biking mag, one of those which sits near the door of your local bike shop for free.  In it was a route through North San Diego County that took you from Oceanside into Fallbrook and back.  Since I didn't know where else to ride and was training for the Tour de Cure of 42 miles I decided to try out this 32 mile ride.  Well it kicked my butt - it went up this little road called Sleeping Indian.  Let's just say that in terms of climbs this road should be renamed Ambush Indian because after you make it to the top you want to know if someone got the name of the Indian who just kicked your butt.  When I first started riding I couldn't make it up this climb with out stopping (two stops the first couple times, then I got it down to one until I finally made it.)

Most everyone familiar with riding in North San Diego County is familiar with the Torrey Pines climb along the coast.  To compare - riding the coast the climb up the outer (shore side which is steeper) of Torrey Pines is 331 Feet of elevation gain spread across 8/10ths of a mile.  This is considered one of the more difficult climbs in the county for a recreational rider.  Sleeping Indian has a section within it which involves 330 Feet of elevation gain spread across 7/10ths of a mile, a steeper climb for what is essentially the same elevation gain.  More importantly however, that is only part of the Sleeping Indian climb, overall Sleeping Indian climbs to the base of that steep section and has additional climbing after that section which brings your total elevation gain to somewhere in excess of 750 Feet.

So back to my Saturday route.  After I first rode that original route a couple times, and got a second rider for a few rides we found a problem in that route required riding along the Rt. 76 Highway.  Not the safest of trips we eventually stopped riding this route.  Fortunately however, as my cycling experience continued I learned other routes and have been able to work in a route which takes me from home up this climb and back without needing to ride along the shoulder of a two lane highway.  Thus Sleeping Indian is my fitness test, and so I headed out to put myself to the test.

The good news is I made it up without needing to stop - the bad news is that it was way closer then it should have been.  It's one of those things where had it not been a cool day with a nice breeze I probably would have needed to stop.  My heart rate was pounding up at 180 bpm and I was struggling forward at a full 3.6 mph.  It wasn't pretty but now I know that I can make it through the upcoming Tour de Cure ride and how much further I have to go in getting back into shape.  Overall I did the ~33 miles in just under 2 and a half hours riding time or 2 and three-quarters elapsed time with an average speed of 13.8 mph.  The route includes over 3,300 feet of elevation gain over the course of the 33 miles, since Sleeping Indian isn't the only large climb on the route.  Other noteworthy items from the ride include the fact that I hit 40+ mph on three different downhill sections and had a max speed of 44.9 mph.

This weekend I'm hoping to go more for distance and looking to head down the coast to Torrey Pines and return.  It'll probably be 40+ miles with maybe 2,500 feet of elevation gain...

Monday, April 16, 2007 2:43:33 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling

One of the items I learned when I was requested to speak to the LA C# User Group, was that they were essentially affiliated with the SoCal .NET User Group (http://www.socaldotnet.org/).  Apparently the same speaker coordinator works both groups and they meet one after the other.  Thus I was also requested to speak to the Orange Country group on the following night April 4th.  Since some people attend both meetings I agreed to adjust my topic slightly.

In this cas I adjust my presentation to focus on WPF and Interop.  The focus of course being the ability to take applications built with Windows Forms 2.0 and have the user interface work with new components being built with WPF.  The presentation again introduces .NET 3.0 and WPF but doesn't include much of the XAML focus from the previous night's presentation.  It instead spends more time looking at Crossbow.

Crossbow is the code name which Microsoft used when it was building the Interop libraries to allow the new WPF windows graphical libraries to work alongside the existing Windows.Forms libraries.  The key message was: if you are using the Interop controls, the WindowsFormHost and ElementHost controls should ALWAYS be used to host User Controls.  Yes they CAN host individual controls such as a TextBox or DataGridView, but if you need to Interop you have business logic in place and you should always encapsulate the controls in a User Control prior to having those controls placed in one of the Interop controls.

In addition I spoke about how this Interop direction is really a lesson learned from the initial Visual Basic 6.0 to Visual Basic .NET migration based path which Microsoft provided.  Microsoft learned that trying to take an entire real world application and migrate it's entire code base to a new implementation language was a cost prohibitive scenario.  It tended to be difficult for engineers to imagine and they constantly wanted to start with the backend components which made it that much more complex. 

Instead with WPF Microsoft has pursued an Interop strategy.  There won't be any tools to migrate your Windows Forms based application to a WPF UI.  After all many components such as the DataGridView control just don't have a single equivalent under WPF.  The key being that when you went to move the implementation from Windows Forms to WPF you'll want to change the implementation completely.

As I also note, not only did Microsoft learn this lesson when planning WPF, the Visual Basic Team has been leading the way.  They have released a set of tools which will allow you to create new .NET Forms and have these forms compile into classic VB6.0 applications.  In this way you can begin to extend your existing VB 6.0 applications with new .NET based capabilities without needing to spend 6+ months migrating your code base.  The new VB Interop tools although not the focus of this presentation are every bit as exciting as the WPF Interop tools.  You can get the latest version of the VB Power Tools from MSDN or from the Visual Basic Team blog at: http://blogs.msdn.com/vbteam/archive/2006/11/02/interop-roadmap-usercontrols-mdi-and-data.aspx

Here is a copy of my slides from the SoCal .NET User Group Presentation:

WindowsInterop.zip (992.07 KB)
Monday, April 16, 2007 2:15:42 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology | Visual Basic
Archive
<July 2007>
SunMonTueWedThuFriSat
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Bill Sheldon
Sign In
All Content © 2010, Bill Sheldon