Dec 31 2011

Welcome to 2012!

Yep, it’s that time of year again.  Out with the old and in with the new.  With that in mind, Happy New Years!

This past year was an amazing one for me.  I met a ton of brilliant people in the community, was able to be a part of events like the Open Source Fest at MIX, and even had a chance to speak on the Microsoft campus at VS Live.  There has been some major advancements in technology this year and it’s proving to be an exciting time to be a developer.  So all in all, it’s been a lot of fun.

So on to the new year….

Continue reading


Jan 11 2011

Start of a New Year

So, yes, I’m writing a New Year’s post a bit late.  But at least I started it on a good date.  So Happy 1/1/11 everyone!

I just wanted to do a quick post on wrapping up last year and mention some things to watch for the coming year.

Recapping 2010

From a tech standpoint, there were a lot of great things that happened last year.  My favorite has to be the release of WP7.  Now I’ve heard a GREAT deal of opinions on the new framework on both sides of the spectrum.  As with all things Microsoft, people tend to either love it or hate it.  So where do I stand? I truly enjoy the platform.  Don’t get me wrong, it’s still v1 and there are tons of things I would like to see fixed or added.  However, I like the direction and I think we will see great things from WP7.  Just don’t expect it to replace the iPhone anytime soon.

Continue reading


Sep 8 2010

Images with Rounded Corners and Drop Shadows in Silverlight

Silverlight lets you do many great little effects with very little effort.  However, sometimes you need to rethink your approach when you want to use a few of these things together.

This happened to me the other day when I wanted to display an image, round the corners, and then add a drop shadow.

It sounded simple enough.  So let’s look at how you would accomplish each of these independently.

Continue reading


Jul 20 2010

Blog Start #2

So I originally started this blog to discuss Silverlight and .NET goodness.  Of course, as soon as I got the blog up and running, I got pulled in several different directions.  Now that I’ve gotten things a bit more straightened out, it’s time to restart the blog posts.

With that being said, I wanted to give you a preview of what we have coming over the next few months.

First, I will be posting a series of quick tips on Silverlight and WP7.  They will be called something extremely clever, like QuickBytes or some other eye roller.  The intent is to pull little snippets from my day to day development roles that others might find useful.

Next, I have a series in the works on building a Silverlight app using MEF, OData, MVVM, and the new media framework.  Yep, let’s see how many topics we can cover in one series.  It’s an exciting little project and I will be posting more on this soon.

Outside of the blogging world, I have many exciting things on the horizon.  There are a few speaking engagements, a new training program, and a couple of other new things heading this way.  I will make sure I keep these happenings updated here.

I’ve gotten a lot of great feedback on what content there is on the blog and I look forward to hearing from you as we flush out the refocused direction of this blog.


Apr 17 2010

Large Datasets with Silverlight and WCF RIA Services

There is nothing quite like the thrill of thoroughly testing an application, deploying it, and within the hour getting the call that it doesn’t work.  In this particular case, the client was receiving an error will attempting to save a large data object via RIA Services on an IIS 6 server.  Who knew that clients actually want to save a more information than your typical dummy data examples?

If you have deployed RIA Services to IIS 6 before, then you have probably already come across the need to define the 3 endpoints for each service in your web.config file.  Because we are going to need to make a couple changes to this configuration, let’s review what additions that need to be added to the IIS 6 web.config for RIA Services.

Configuring IIS 6 to work with RIA Services

RIA Services works by dynamically creating your WCF Services for you.  Each service is created with 3 endpoints, a custom binding, and a behavior.  Unfortunately, in IIS 6 you need to define these configurations manually in the web.config.   The first 2 things you need to add to your config is in the <service.serviceModel> section:

<behaviors>
  <serviceBehaviors>
    <behavior name="RIAServiceBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <customBinding>
    <binding name="BinaryHttpBinding">
      <binaryMessageEncoding />
      <httpTransport />
    </binding>
  </customBinding>
</bindings>

Next, you need to add a service entry for each of your RIA services in the <service.serviceModel><services> section.  This includes the two services that RIA creates in the Business applications (AuthenticationService, UserRegistrationService):

  <service name="MyProject.Web.AuthenticationService"
  behaviorConfiguration="RIAServiceBehavior">
    <endpoint address="" binding="wsHttpBinding"
    contract="MyProject.Web.AuthenticationService" />
    <endpoint address="/soap"
    binding="basicHttpBinding"
    contract="MyProject.Web.AuthenticationService" />
    <endpoint address="/binary"
    binding="customBinding"
    bindingConfiguration="BinaryHttpBinding"
    contract="MyProject.Web.AuthenticationService" />
  </service>
  <service name="MyProject.Web.UserRegistrationService"
  behaviorConfiguration="RIAServiceBehavior">
    <endpoint address=""
    binding="wsHttpBinding"
    contract="MyProject.Web.UserRegistrationService" />
    <endpoint address="/soap"
    binding="basicHttpBinding"
    contract="MyProject.Web.UserRegistrationService" />
    <endpoint address="/binary"
    binding="customBinding" bindingConfiguration="BinaryHttpBinding"
    contract="MyProject.Web.UserRegistrationService" />
  </service>

 

You’ll notice that each service needs 3 endpoints.  For any additional RIA service that you add to your project, you need to add a service entry with the same 3 endpoints.

Enabling Large Data Transfers

Now the problem with this setup is that the default data transfer is 8k.  Since objects are being serialized, it doesn’t take much to reach that 8k limit and generate an error.  To resolve this issue, we can adjust our custom binding to allow higher transfers.  Here is an example using the maximum values for the entries:

 <customBinding>
        <binding name="BinaryHttpBinding">
          <binaryMessageEncoding maxReadPoolSize="2147483647"
              maxWritePoolSize="2147483647"
              maxSessionSize="2147483647">
            <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          </binaryMessageEncoding>
          <httpTransport manualAddressing="false" maxBufferPoolSize="524288"
              maxReceivedMessageSize="2147483647" allowCookies="false" authenticationScheme="Anonymous"
              bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              keepAliveEnabled="true" maxBufferSize="2147483647" proxyAuthenticationScheme="Anonymous"
              realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
              useDefaultWebProxy="true" />
        </binding>
      </customBinding>

 

This will open up the data transfers and allow you to push larger amounts of data across the wire.

It’s important to note that one of the reasons for the 8k default value is to prevent DoS (Denial of Service) attacks.  By opening up to the maximum amount, users can increase the amount of data sent to and requested from the server.  So, in a production environment, I would give some consideration to the size of the data transfers.


Apr 6 2010

Interview with Erik Mork on Bytes by MSDN

It’s always good to see someone step out on their own and end up making good.  Erik Mork is an example of that.  At the announcement of WPF/E he created Silver Bay Labs and has become very influential in Silverlight community.  At MIX10, he was interviewed by Tim Huckaby for Bytes by MSDN.  You can check out the interview here: Bytes by MSDN

image


Mar 20 2010

MIX ’10 Recap and a Little Music

Well MIX ’10 has come and gone, and I had an incredible time during it.  Not only did Microsoft have a ton of items to announce, but the sessions were great and the people fascinating.  If you have never been to MIX, I highly recommend it.  When else do you get to spend the majority of a week with access to product team members and experts whose blogs and articles you read?

So what did we learn at MIX this year?  Of course the highly anticipated Windows Phone 7 Series development platform was released.  What could be better than combining Silverlight and XNA and putting on the phone? (Of course, it would have been awesome to get one of those devices for development and test. :)   )  You can now download as VS 2010 for Phone here: http://developer.windowsphone.com/ .  If you aren?t one of the lucky ones to have a cool little device for development, there is a truly slick emulator included in VS.  One thing to note, even after it?s final release, this version of VS 2010 will be available for free.

Silverlight 4 RC was also announced (get the new version here: http://www.silverlight.net/getstarted/silverlight-4/).  You will need to have VS 2010 RC installed prior to installing the newest version of SL.  Tim Heuer has posted a great highlight of what has changed in Sl 4 RC.  You can check that out here: http://timheuer.com/blog/archive/2010/03/15/whats-new-in-silverlight-4-rc-mix10.aspx.

The newest, hardware accelerated, Internet Explorer, IE 9, was demoed.  The best demo they showed was transparent videos overlapped.  It was truly incredible.  The IE team has made a developer preview available here: http://ie.microsoft.com/testdrive/info/ThankYou/Default.html.

OData (http://www.odata.org/) was another big announce on the second day of keynotes.  It?s an amazing protocol and worth you taking a look at it.

Know, as exciting as all of the announcement at the keynotes were, Sterling Quinn took first place in my opinion.  Who is Sterling Quinn you ask? He is an incredible 16 year old yo-yo champion.  He spent close to 30 minutes amazing the massive audience prior to the first keynote on Monday.  Take a look at the keynote at MIX or check him out at: http://yoyofactory.com/team/sterling_quinn.php.

Well that?s my brief review of MIX ’10.  It was first time to attend MIX and will most definitely not be my last.

One last thing that impressed me was the music you found at MIX (pre keynotes, sessions, etc).  The MIX team (twiiter: MIXEvent) was kind enough to post the music list here: http://live.visitmix.com/News/MIX10-Keynote-Walk-in-Playlist.  However, since this post has a ton of links in it already, here is a copy of that list.  Take a listen and hope you enjoy.

 

Artist Album Track
Apocalyptica Worlds Collide I Don’t Care
Beastie Boys The Sounds of Science Disc 2 Intergalactic
Beastie Boys The Sounds of Science Disc 1 Body Movin’ [Fatboy Slim Remix]
blink-182 Greatest Hits ( Edited ) Dammit ( Radio Edit)
Crystal Method Divided By Night Smile
Crystal Method Tweekend Name Of The Game
Crystal Method Divided By Night Come Back Clean ( Featuring Emily Haines)
Crystal Method Tweekend Roll It Up
Daft Punk Discovery Aerodynamic
DJ Rekha Basement Bhangra Compilation Gur Nalon Ishq Mitha
Flobots feat.Tim McIrath Of Rise Against White Flag Warrior White Flag Warrior
Green Day 21st Century Breakdown East Jesus Nowhere
Jay Z Collision Course ( Edit ) Numb-Encore (Amended)
Killers Hot Fuss Somebody Told Me
Linkin park Reanimation ( Bonus Tracks)

Enth E Nd

Linkin park Hybrid Theory ( Bonus Track ) My December
M.I.A. Kala Paper Planes
Moby Last Night Alice
Moby Last Night Ooh Yeah
Mr. Scruff Ninja Tune Kalimba
The Arkhams The Road To Arkham Insane
The Chemical Brothers Dig Your Own Hole Where Do I Begin
The Chemical Brothers Setting Sun Buzz Tracks
The Offspring Rise and Fall, Rage And Grace A Lot Like Me
The Red Jumpsuit Apparatus Face Down ( Single ) Face Down
The White Stripes Icky Thump Icky Thump

Mar 12 2010

NHDNUG – March 18th Meeting

Next Thursday is the monthly North Houston .NET User Group meeting.  This month we are doing things a bit different.  We will have several people from different areas of the industry come in and share their views on the job market.  We will cover things from searching for a new job to how to ace the interview.  It promises to be a very interactive discussion and we hope to see you there.

You can find out more about the NHDNUG and our next meeting at the website: http://nhdnug.org.


Feb 22 2010

Windows Mobile 7 at MIX

Well Microsoft officially announced it’s Mobile 7 platform last week and it has generated a lot of buzz. You can find out more about it at http://www.windowsphone7series.com/.

winmob7

 

Shortly after that, MIX announced that there will be a dedicated Mobile app/game track. You can watch an interview with Charlie Kindel on the Countdown to MIX here : http://channel9.msdn.com/posts/LarryLarsen/Countdown-to-MIX10-Charlie-Kindel-and-Windows-Phone-7-Series/

 

 CountdownToMIX

 

Remember if you can?t make it to MIX, the MIX team is incredible about posting the sessions on the MIX Website.  If you do plan to make it out to MIX, I hope to see you there.


Feb 17 2010

North Houston .NET Users Group Meeting (Thurs 2/18)

Come out and join me at the North Houston .NET Users Group (http://nhdnug.org) this Thursday (Feb 18th).  The pizza and networking will start around 6pm.  Mark Gordon, one of our group’s board members, will be presenting at 7pm.

Please check the NHDNUG website for location.  Here is the information about this month?s talk:



Title: Dot Net Collections: Tips and Tricks
Description: If the you tend to always use List<Whatever> for your collections and nothing else, then this talk may be for you.  We will cover design and performance considerations when using collections and review the classes that support collections in .NET.  While LINQ is not the primary focus of this discussion, we will cover the design patterns of LINQ that you can use in your code.
Bio: Mark has been leading software teams at Hewlett-Packard for 15 years, using .NET for 7 years.  While at HP, he has primarily worked on customer support applications: client and server.  If you have ever used Windows Help and Support on a HP computer, you may have used one of his applications.