Welcome to MSDN Blogs Sign in | Join | Help

5 Minutes of Innovation in C# - Episode #1 - Generics

It's been a long time in the works, but I have finally started my new Screencast series, 5 Minutes of Innovation in C#.  This is the very first episode, Generics.

In this episode, I show you how to define an object and create a generic list of those objects.  I then demonstrate how Type safety works on that collection.  The demo code I created is attached to this message.

Let me know what you think.  I am also doing several other series in VB, Silverlight and various other technologies.

I will be posting at least one screencast each week and plan on having a full line of content availble.

If you are currently subscribing to my RSS feed, please refresh the link as I am now tracking it with Feedburner.  Simply remove your current subscription and re-add it point to the new RSS feed

Enjoy, and don't forget to let me know what you think or just send me suggestions on what you'd like to see. 

Bill

Posted by wsteele | 0 Comments

Attachment(s): 5Min_CS_Episode1.zip

God Speed Rob.

Robert W. Westover, III (Robbie): father, husband, brother, son, uncle, friend. Robbie will be remembered as loyal and true to all of these important roles throughout his life and will be missed by everyone who knew him. He was always there for us all. Robbie was born at Burien, WA on August 27, 1960 to Robert W. Westover, Jr. and Susan S. Westover. Robbie died suddenly of a massive heart attack on April 29, 2008.

Rob was always a happy and energetic man who made friends easily. He felt a compelling responsibility to protect his sister, Deborah Winram, and younger brother, Russell (Rusty), throughout his life and was devoted to his parents and children. He married Eileen Boyle from whom he was later divorced. He then married the love of his life, Jamie, and assumed responsibility to help raise her children, Ryan and Megan, whom he loved as his own.

Rob attended Eastgate Elementary School and Tyee Middle School and graduated from Newport High School in Bellevue in 1978; he went on to receive a BA from Washington State University with a dual degree in finance and accounting in 1982. In college, he was an active member of the Phi Kappa Epsilon fraternity and maintained close contact with many of his fraternity brothers. During high school and college Robbie worked for contractors doing new home construction. He acquired many skills that he happily applied to helping his friends and family. Rob was also an accomplished auto mechanic and maintained his own as well as numerous friends’ and family’s vehicles. Rob was active in Boy Scouts.

Rob’s careers spanned field work for Dunn and Bradstreet; served as a technician for McCaw Cellular installing cellular transfer stations; served ten years as a computer technology specialist for the Boeing company; was CFO for Tiger Shark Golf Corporation; was a technology specialist for several start-up high tech companies; and was a project manager for partner development of new information technology for Microsoft where he worked until the time of his death.

Rob was well known for always being there for anyone needing help, never expecting anything in return. If you had a problem, Rob always had a solution and was anxious to help while making you feel good about accepting his aid. One never felt he created an obligation – that Rob’s support was given cheerfully, unconditionally, and selflessly. Rob got along with everyone and was universally loved and respected.

Rob’s many interests were varied. He loved gaming in Las Vegas, fishing, golf, pool, skiing, and traveling with his wife Jamie. Rob enjoyed the company of his little Jack Russell Terrier who accompanied him everywhere. Rob was a devoted “Cougar” and was proud of his WSU school experience. He was a born leader and ascended to become president of many social organizations with which he became involved. Rob had the unusual ability to be immediately accepted and admired by all whom he met. He loved and was deeply devoted to his children, Rachael and Bert, and played an important role in the development of Jamie’s children, Ryan and Megan. Rob loved his brother, Russell, and took every opportunity to spend time with him working on projects or playing. He also maintained contact with and loved his little sister who lives in Frederick, MD. Rob was particularly close to his parents and called them almost daily, visiting them many times each month. He was always there to help make their computers work and to keep them up to date with the latest technologies. Rob is irreplaceable and will leave a hole in the hearts of his family and friends.

Rob is survived by his wife, Jamie Winslow Westover; daughter, Rachael Westover; son, Robert W. Westover, IV (Bert), and grandson Donovan Westover; sister, Deborah Westover Winram, her husband Scott and daughter Mary Helen of Frederick, MD, brother, Russell Stowe Westover, his wife Suzanne and children Gabrielle, Christine, and Alex of Snohomish, WA; parents, Robert W. Westover Jr. and Susan S. Westover of Bellevue, WA, uncle and aunt Joe and Jean Westover of Granbury, TX; and several cousins and many other close relatives and innumerable friends.

Goodbye Robbie. We will love and will miss you forever.

Friends and relatives are cordially invited to share a celebration Robbie’s life which will be held at Washington Cathedral located at 12300 Woodinville-Redmond Road, Redmond, WA 98052. Services will begin at 2:00 p.m., Thursday, May 8th, 2008 Following the Memorial service, relatives and friends are invited to a reception at Sammamish Forest Manor Club house located at 2407- 175th Ave NE, Redmond, WA to share their support and their experiences with Rob.

In lieu of flowers, a scholarship fund in the name of Robert W. Westover III will be set up to help deserving students attend Washington State University. Details of this will be forthcoming soon. For information please send an email torwwestover2@comcast.net or call his father at 425-747-1740.

Posted by wsteele | 1 Comments

Update on Bill's Avionics development

Ok, folks.  I know several of you have been waiting anxiously for me to post an update to my development of the experimental "glass cockpit" that I've been working on for years.

So, here's the beef.  First, the bad news... on Thanksgiving day in 2006, I stopped all development of the "glass cockpit" that I was working on.  However... and now the good news... I had an amazing idea that totally blew away all my expectations and instantly made glass cockpits old time junk.

I came up with an idea for a head up display that projects the flight information in front of the pilot... not on the windscreen or a piece of glass in front of the pilot, but on the "virtual surface" created by the spinning propeller.  Since then, I have been spending all my free time to develop this idea.  It's called the VirtualHUD and it's now complete.

VirtualHUD looking like the HAL9000 

The picture you see here is of the first working prototype.  I have a lot of other ideas that I am working on, but at this point, I am not ready to show them... however, you can learn more about it by checking out my personal website at http://www.virtualhud.com.  One thing I just noticed as I was typing this message is how much it looks like HAL on 2001: A Space Odyssey, which was purely unintentional.  (RIP: Arthur C. Clarke.)

Now, to answer questions: 

1.) How does it work?  Well, that is part of my patent and at this point, I am not quite ready to discuss that... but, if you happen to see me, ask me about it and I'll show you it working.

2.) What about Microsoft?  Microsoft is my employer and I plan on working here for ever.  I do not plan on going into production with this design, but fully intend to license it to other companies who will.  Microsoft is by far the best company that I have ever worked for and they have been very supportive about this side work that I have been doing.  I have several patents filed on this design and they have been very gracious in allowing me to persue them on my own.

3.) Does Microsoft own the patents?  No, because this technology is not core to what Microsoft does, they have released me from assigning them over to them... however, they are allowed to license this technology from me at no cost.  I'm not sure if they ever will, but it's available to them.

4.) Has it flown?  Yes... and it does quite nicely.

5.) What does it display?  My current prototype displays Airspeed, Altitude, Horizon Line, Pitch information, Heading and Highway in the Sky.  But, I can display anything that I want to.

6.) Do you have any companies that have licensed it yet?  No, however, I am in talks with several at this time.

7.) Can I see more?  Yes... I will be down at the Sun-N-Fun airshow on April 8-13th in the Toxo Aircraft booth.  I will also be at EAA's AirVenture (better known as Oshkosh) Airshow at the end of July.  Also, if you happen to run into me, I'll gladly show you.

8.)  What about your "glass cockpit" stuff?   Well, most of the work I did on it actually is in the VirtualHUD.  The only thing that is different is the actual display itself.  I use all the hardware for attitude, gps, compass, etc that I developed for the glass cockpit in this unit.  The big difference is that, to me, that stuff was easy... projecting presented it's own challenges which I have been working out for the past 18 months.

9.) Doesn't the display flicker on the prop?  No, at the engines slowest speed of 750 rpm, the refresh rate is still 25 hz.  Which is the speed of movies in a theater.  750rpm/60seconds*2 prop blades = 25 sweeps per second (hz).  When the pilot speeds up the prop to cruise, the prop is spinning at 2500 to 2700 rpm, which makes an amazingly clear display at 83hz to 90hz .  If the prop has 3 blades, it is even clearer.  The system is able to track the propeller and only project the laser beams on it without missing.  It's like the old WWI machine gun interrupters that prevented the pilots from shooting off the propeller blades in a fight, only in reverse.  With this system, we want to only hit the propeller with the laser and not an oncoming aircraft.

10.) Can it project in color?  Yes.  Currently, the prototype has two colors, Red (635nm) for night flying and Green (523nm) for day flying.  I have also developed a laser diode that contains 4 colors, Red, Green, Blue and Infra-red.  The RGB Lasers are for doing full color displays and the IR laser is used to scan the propeller for things like Direction of Spin, Speed, Size and the Pitch of the blades (for Constant Speed Props.)  My current prototype doesn't use the IR Laser, instead, it uses 4 high intensity IR-Light Emitting Diodes to light up the propeller area.  It works, but the IR laser is 100 times more accurate.

I am still tweaking on the units (I have 3 prototypes,) and even have a few suprises up my sleeves, but those will have to wait for "really interested parties" to help seal the deals.

Let me know what you think!

Bill

 

Posted by wsteele | 1 Comments

Attachment(s): IMAGE_244.jpg

Are you attending Mix 2008?

If so, look me up.  I will be around.  I know most of you haven't seen me in a while... let's just say, it's been a busy few months.

Anyway, I have been working on a major new project.  Check out http://www.5minutesofinnovation.com.  Phil Wheat and I have been producing a new videocast series around innovation.  We're started publishing the first videos.  The first video was about my trip to Redbird Flight Simulations.  Very cool stuff they're working on.

Let me know what you think and I'll see you all next week... if you're at Mix, that is! ;-)

Bill

Posted by wsteele | 0 Comments

What's new in Visual Studio 2008: Office Development

As promised, attached is the demo code for my last webcast on What's new in Visual Studio 2008.

Happy holidays!

Bill

Posted by wsteele | 1 Comments

Attachment(s): VS2008OfficeDemoCode.zip

What's New In Visual Studio 2008 Webcast

Here is the demo code for Today's Whats New In Visual Studio 2008: New Language Features of VB9 and C# 3 Webcast.

You can view the webcast right here.  Don't forget, this Wednesday is the final webcast in this series, where we will be talking about the new development features in Visual Studio 2008 for building Microsoft Office 2007 applications.  You can sign up for it right here.

Thanks for watching!

Bill

Posted by wsteele | 0 Comments

Attachment(s): WhatsNew.zip

ASUS Eee PC Review

Wow... a product review from me?  Normally, I wouldn't do something like this, but this machine is so good, I had too.

The product is the ASUS Eee PC (Buy.com for $349.)  This is a very small "sub notebook" computer.  It is a solid state machine with no moving parts (well... almost, I think I heard a fan inside it.)  The unit I purchased is the black 4 gigabyte unit.  It came pre-installed with some variant of Linux on it, but also came with a DVD with Windows XP drivers, so I was able to upgrade.

Unpacking the unit was a breeze... no assembly required.  Snap on the battery, plug in the power adapter.  That's it.

The size of the unit is, well, small.  Very Small.  For years, I've been using an Acer TravelMate C100 Tablet PC.  This is much smaller than it.  It's also smaller than my old IBM Windows CE based WorkBook computer.  That's small.  In fact, the keyboard is a little too small for my taste... but it's a lot better than the old style CE based devices like the HP Jornada thing or the Phillips Velo1.

The instructions are top notch... in fact, they even include step by step instructions for not just installing Windows XP, but also for tuning XP to run efficiently on the device.  I must say, that is a very nice touch.

Installing XP was just like the usual install process... slow.  But, once installed, it worked flawlessly.  I installed the drivers (exactly like the manual says) and again, flawless.

Now... with this small device, you have to ask... well how does it perform?  Well... I have to say, it's faster than my Acer C100!  Running XP (Pro) on the device isn't blazing, but it is quite acceptable.  The built in wireless worked perfectly right out of the box.  The only thing I would rather it have is BlueTooth connectivity.  In fact, I really wish it had BlueTooth... do you hear that ASUS?

Now, as for the display... crystal clear, but too small.  The screen resolution is 800 x 480.  Huh?  Why such an odd resolution?  My guess, cost.  The only using it is during web browsing... the pages get cut off.  ASUS also included a driver that supports 800x600, but scrolling.  It works, but to me is annoying.  You can hook up an external display to it as well, and with XP, either use it as your primary display, a duplicate display or an extended desktop display.  All three modes worked perfectly.

Boot up time is great.  About 20 seconds from a cold boot.  Standby startup and shutdown is instant.  I have not tried Hibernate due to the disk space requirements of it.  My machine is a 4 gig unit and with XP installed, Visual Web Developer Express, Visual C# Express, Expression Blend 2, Windows Media Player 11, all the Windows Update updates and IE tools (Flash, Silverlight, etc.) I have 1 gig free.  The hibernate feature would want half that.  Now, to clarify it, it does have external storage via an SD slot as well as 3 USB ports.  I have a 2 gig SD card in the slot, which interestingly enough only reports itself as a 1 Gig card.  (Haven't figured out why.)

Overall, the ASUS Eee PC is very light weight, is built very nicely and has a very high quality feel to it.  It's easy to setup and use and has features that just work.  It's a miniture notebook that does exactly what it was designed to.  I only ask for three things in the next version... BlueTooth, 800x600 (or 1024x768) and a bigger keyboard.

My score out of 10... 8.

Next steps for me... see if Vista will run on it. ;-)  I was simply amazed that .NET 3.0 WPF worked as flawlessly as it did on it.  Video animations, 3D, etc... it all works!  Now I can do development on those long plane rides.

Bill

 

Posted by wsteele | 2 Comments

What would you do?

So, after my webcast today, I went down to the local KFC and ordered a chicken wing meal.  While I was sitting there, a guy ordered the buffet.  He got a salad and a plate of chicken from the buffet.  To my suprise, he pulled a bag out of his coat and hid it on the inside of his coat and proceeded to put the chicken from his plate in the plastic bag.

He was looking around making sure none of the employees saw him do it, so he knew it was against their policy/rules for the buffet.  I just sat there quietly eating my wings.  After a while, he finished his salad and proceeded back to the buffet and promptly got another plate of chicken.  When he returned to his table, he started eating a piece and put the rest in his bag again.

I was suprised that he was doing this, but I decided at that point not to say anything because he was "obviously" doing it because of his situation.  Or so I thought.

Not two minutes after this... I heard a cell phone ring.  Guess who?  It was that guy's phone.  He pulled it out of his pocket, answered it and ASKED THE OTHER PERSON ON THE PHONE IF THEY WANTED ANYTHING FROM KFC!  Can you belive that?

Now, my feelings about this guy completely changed as did my reaction.  However, my intention of this post isn't to tell you how I handled it, but to ask you... what would you do?

Bill

 

Posted by wsteele | 5 Comments

WPF Soup To Nuts: Helpful Tools

Here it is at last, the final installment of the WPF Soup To Nuts webcast series.  In this last part of our 18 part webcast series on WPF, I will be talking about some of the tools you can use to help your user experience design.  I will talk about XAMLPad, WPF Perf, Expression Blend and even give you a preview of the topic in my next webcast series, Silverlight.

You can sign up right here.

Bill

Posted by wsteele | 1 Comments

WPF Soup To Nuts: Custom Panel Layout

We're coming down to the wire with Part 17 of my 18 part webcast series on Windows Presentation Foundation.  In Today's WPF Soup To Nuts webcast, I will be talking about overridding the default layout of panels.  In WPF, there are basically two methods that you must override to take control of the layout of a panel.  The Measure and the Arrange methods.  In this webcast, I will demonstate how you can organize your own panels to provide a truely custom experience.

You can sign up right here and as always, my demo code is attached to this post.

Bill

Posted by wsteele | 1 Comments

Attachment(s): WPFCustomPanels.zip

WPF Soup To Nuts: Creating Controls

Well, we're "rounding third and heading for home" in Part 16 of my 18 part WPF Soup To Nuts webcast series.  Today, I will be discussing Controls.  More specificailly, how you can create your own controls.  In WPF, there are basically two types of custom controls, User Controls and Custom Controls.  User Controls are the easiest and most wildly used.  They're easy to develop, using the same development paradigm as the standard WPF based form.  However, if you want to redistribute your controls or want to gain a lot more control over the intricate details of WPF, then Custom Controls are the answer.

In this webcast, I will introduce you to both concepts.  You can sign up right here.

As always, my demo code is attached to this post.

Bill

Posted by wsteele | 0 Comments

Attachment(s): WPFControls.zip

WPF Soup To Nuts: Win32 Compatability

In Today's WPF Soup To Nuts webcast, we will be talking about Compatability between WPF and Win32 (including WinForms.)  We'll see how we can take WPF Controls and display them in WinForms and vise versa.

You can watch the webcast right here.

As always, my demo code is attached to this post.

Bill

Posted by wsteele | 1 Comments

Attachment(s): WPFCompatibility.zip

WPF Soup To Nuts: Multimedia

Wow!  We're already at Part 14 of my 18 part webcast series in Windows Presentation FoundationToday's webcast is all about Multimedia.  I'll show you how you can add Audio, Video and even Speech to your applications in a very easy to use manner.  The Multimedia capabilites of WPF are amazing and including them in your application is very easy.  Join me in this webcast as I show you.

You can sign up right here and as always, my demo code is attached to this post.

See you there!

Bill

WPF Soup To Nuts: Animations

Today in my WPF Soup To Nuts webcast series, I will be talking about Animations.  Animating graphics is one of the easiest, most compelling features that you can add to a visually important application.  In the previous two sessions, we learned how to deal with 2D and 3D Graphics.  In this session, we will discover how we can take advantage of the animation support in WPF to bring those final pieces of sizzle to your applications.  We'll start off looking at the XAML objects that are available to us, like the DoubleAnimation object.  We will see how we can use it to "map" the movement, size, or whatever property we're looking for of any object.  We will also see how we can make that object move in ways much more sophisticated then a simple straight line using keyframes.  Lastly, we will take a look at how all this works in code.

You can sign up for this webcast right here... and as always, my demo code is attached to this post.

Bill

 

Posted by wsteele | 1 Comments

Attachment(s): WPFAnimation.zip

WPF Soup To Nuts: 3D Graphics Webcast

Today, in my WPF Soup To Nuts webcast, I get to introduce you to 3D Graphics.  Graphics are a major feature of WPF and adding 3D elements to your application can literally make it stand out from the rest of the crowd.

In Today's session, I will introduce you to the major concepts in 3D for WPF.  We will talk about the coordinate system, viewports, models and finish it up with transformations and visual aspect.

This session was designed to make 3D easy for people who have no background in 3D graphics.

Hope to see you there... you can sign up right here.

As always, my demo code for Today's webcast is attached to this post.

Bill

Posted by wsteele | 0 Comments

Attachment(s): WPF3DGraphics.zip
More Posts Next page »
 
Page view tracker