Feed Icon  


  • Bryant Likes
  • Send mail to the author(s) E-mail
  • twitter
  • View Bryant Likes's profile on LinkedIn
  • del.icio.us
Get Microsoft Silverlight
by clicking "Install Microsoft Silverlight" you accept the
Silverlight license agreement

Hosting By

Hot Topics


Open Source Projects



Page 1 of 2 in the NET category(RSS) Next Page

Font Smoothing for Windows Server 2003 RDP

Posted in General | .NET | Visual Studio at Wednesday, July 9, 2008 6:59 AM Pacific Daylight Time

A few days ago Peter Provost blogged about Brad Wilson's Dark Visual Studio color scheme. I decided to try it out (again) since I felt like I needed a little change in my coding environment. For my current project we are using Windows Server 2003 for our virtual machines and I'm using Hyper-V to run them. One of the things I like to do with my Hyper-V machines is RDP into them since that gives me better clipboard support and I can connect my local drives to the machine and access them easily.

The problem is that Brad's color scheme uses the Consolas font which doesn't render very nicely if you don't have clear type font smoothing. Well after a little digging around I found out that Microsoft just recently released a hotfix to enable font-smoothing in RDP on Windows Server 2003. So I gave the hotfix a try and as long as you check the "enable font-smoothing" checkbox in the RDP connection it works perfectly.

Before the hotfix:


After the hotfix:


Much better on the eyes. And I think I like the dark color scheme. I'll give it a few days and see how it goes.

Visual Studio 2008 and .NET FX 3.5 SP1 Beta 1 Released

Posted in .NET | Astoria at Monday, May 12, 2008 6:30 AM Pacific Daylight Time

Ok, I'm not totally sure why all my posts lately have had a slightly negative tone to them, perhaps I'm becoming a slightly disgruntled Microsoft developer. Anyhow, here goes another slightly disgruntled post.

Today MS released the beta mentioned in the title of this post. You can get the details at Somasegar's blog:

Traditionally our service packs address a range of issues found both through customer and partner feedback as well as our own internal testing.  While this service pack holds true to that theme and delivers updates for these types of issues, it also builds on the tremendous value that Visual Studio 2008 and .NET Framework 3.5 deliver today and enables an improved developer experience by adding a number of additional components that cover a range of highly requested customer features.

Ok, so this service pack is really not a service pack at all. I think Matt Milner describes it well in his post Not just a service pack (VS 2008 and .NET 3.5 SP 1):

Microsoft has rolled out the beta of SP1 for .NET Framework version 3.5 and Visual Studio 2008.  Now don't get confused, this is not just a simple set of bug fixes, this thing is big! 

  • Entity Framework and LINQ to entities
  • ADO.NET Data Services (formerly project "Astoria")
  • Dynamic data web sites (highly RAD data driven web sites)
  • Performance improvements across the board (WCF, WPF, AJAX, debugging, etc.)
  • New client profile (not quite the slimmed down CLR of silverlight, but gives you a smaller footprint without server technologies you don't need).  Now, if they could do the opposite and remove the Windows UI stuff so I could run Windows Server 2008 Server Core with IIS and ASP.NET. 
  • a bunch of perf and usability improvements in VS 2008

Now I'm excited about this service pack because as a Microsoft developer I get a lot of benefits from the above items. I've been using ADO.NET Data Services and think it is great. However, I think Microsoft needs some help with its release cycle and naming releases. Maybe it is because they are trying out this new way of doing more frequent releases, but thinks have just gone completely wacky in my opinion. It used to be fairly straight-forward:

  • .NET 1.0 - 1/5/2002
  • .NET 1.1 - 4/1/2003
  • .NET 2.0 - 11/7/2005
  • .NET 3.0 - 11/6/2006

.NET 3.0 varied some in that it still used the CLR 2.0 which was somewhat confusing for many people, but also made sense and was a nice feature. However, next up was .NET 3.5 which really seemed more like .NET 4.0 than 3.5 with all the new features. Interestingly, .NET 3.5 still used the CLR 2.0 but included C# 3.0. Confused yet?

Now we have a service pack on top of 3.5 that adds even more features. So 3.5 SP1 is more of a feature pack, but I guess it does have performance enhancements which makes it kind of a service pack. I personally this to be confusing and think that if you add features you should do some kind of rev on the version number. Really this should be .NET 4.1, but that is only my $.02.

Anyhow, enough complaining, get back to coding with all these new features, which are really cool features! Have fun!

Build Zune Games Today.. or Maybe Tomorrow

Posted in General | .NET | Zune at Wednesday, May 7, 2008 6:09 AM Pacific Daylight Time

The XNA Team announced the CTP of the XNA Game Studio 3.0 today:

Today, we are delivering the first Community Technical Preview (CTP) of XNA Game Studio 3.0, giving you the ability to build games for the entire family of Zune media devices.  This feature gives you access to the majority of the XNA framework APIs while retaining a seamless sense of integration with the Zune media experience.  In addition, this release now requires either Visual Studio 2008 Standard Edition and higher (C# language support must be installed), or Visual C# 2008 Express Edition.

I downloaded the CTP today thinking I could whip up a quick sample hello world game during my lunch break just for fun. After installing it on one of my virtual machines I realized there was no way for me to get the game (or even test the game since there doesn't appear to be an emulator) to my Zune since there isn't a way to "plug" my Zune into my virtual and according to the FAQ:

Q: Can I transmit the game to another Zune device wirelessly?

A: No, you must deploy the game to your Zune through your device connection on your PC, using XNA Game Studio 3.0 to deploy.

Ok, no problem I thought, I'll just install the VS 2008 C# Express Edition on my host. So after installing that and then installing the CTP it would crash every time I tried to add my Zune to the device center. Then I remembered reading this in the FAQ:

Q: Does the CTP work for 64-bit mode?

A: This CTP doesn't work in 64 bit yet.  We plan to support it before RTM.

Hmmmm.. I guess programming Zune games isn't in my near future. If I have time tonight I'll give it a shot on my desktop PC which I haven't moved over to 64-bit yet (mainly because I'm still waiting for a 64-bit client for Home Server).

Remote File Sync using WCF and MSF

Posted in WCF | .NET | Sync Framework at Thursday, January 3, 2008 3:41 AM Pacific Standard Time


One of the things I've been looking into in my free time is the Microsoft Sync Framework (MSF) (currently in CTP mode). The MSF is:

[A] comprehensive synchronization platform enabling collaboration and offline for applications, services and devices with support for any data type, any data store, any transfer protocol, and network topology.


Included with the SDK is a sample called the Managed NTFS Sample which demonstrates how to create your own file sync provider for local files. This works pretty well for local files, but what I really want to do is a remote file sync over the Internet. The reason is that I built a family photo sharing website for my family and I use FolderShare to copy the files from each family member's computer up to my server. However, FolderShare only supports a limited number of shares and only supports 10,000 files per share. So with the idea of creating a custom FolderShare type of service I started to customize the sample. 

The remote file sync sample I created is still pretty rough around the edges since my goal was to just get it working. The sample is also only a one-way sync meaning file changes are only sent to the server and not back to the client (which is what I wanted). The service is a WCF service exposed via a website and right now the client is just a console application.

You can download a working sample of the code here.

I still have more to do on it and if there is enough interest I'll create a project on CodePlex for it. One of the first enhancements I'd like to make is to use ASP.Net membership to handle security and then create folders for each user instead of passing the root path in the sync service. There is lots of room for improvement.



Posted in ASP.Net/Web Services | .NET | WPF | Silverlight at Monday, November 12, 2007 1:01 AM Pacific Standard Time

Tim Sneath [via Lamont] shows off the new Video.Show reference application:

Video.Show is an end-to-end solution that provides a reference-quality sample for user-generated video content sites. Taking advantage of all of our latest technologies: .NET Framework 3.5, ASP.NET AJAX, LINQ, Silverlight, Expression Encoder and imageSilverlight Streaming, Video.Show provides support for uploading, encoding, tagging, viewing and commenting on videos.

I was especially interested to see how they wrote the Linq data layer since it is shared out as a service. My own recent experience with this (which I will be sharing shortly) was that it was a little difficult to do. I was happy to see that the approach I took was the same as the one Vertigo took. You end up creating a set of objects that you pass outside of the service layer which are almost replicas of the Linq objects that get generated out of the database.

Overall it looks like a great reference app. Lots of code to look at and digest. You can download the bits here.

Web Experience Events

Posted in General | ASP.Net/Web Services | .NET | Silverlight at Tuesday, June 5, 2007 4:31 AM Pacific Daylight Time

Via Tim Heuer I read about Kirk's xbox contest:

XBox 360To help fill those seats, we are giving away two XBox 360s to people simply who blog about the event with some pre-canned text. The first XBox 360 will be given away during the keynote at the Los Angeles Web Experience event this week, the second will be given away during the keynote at the Denver Web Experience event next week. To win, all you gotta do is blog about it, because that's how we are going to draw the winner.

I'm already signed up for the LA event since it looks like it will be pretty interesting. So here is my xbox entry form:

Microsoft is hosting free Microsoft Web Experience events at the Los Angeles Microsoft office on June 8th and the Denver Microsoft office on June 15th. They will be presenting information on building the next generation user experience on the web.

They are providing breakfast and lunch, hosting a reception with beer and wine, and attendees are automatically registered in a drawing for an XBox 360 and a Zune that will be given away at each event.

For more information, visit http://kaevans.sts.winisp.net/Shared%20Documents/webexperience.aspx.

See you there!

Technorati Tags:

Continuous Integration 2.0

Posted in Test-Driven Dev | .NET at Friday, December 8, 2006 1:35 AM Pacific Standard Time

Just finished reading Bil's excellent post on his frustrations with Continuous Integration (CI) in the VS 2005 world. My feelings about CI with VS 2003 and the nAnt, nUnit, Subversion, CC.Net combo are the same as his:

Visual Studio 2003 and Cruise Control.NET. Simple and elegant. A basic NAnt script to build the solution and you're good to go. Run NUnit, output goes to a format CC can understand and Bob's yer uncle. Let me quantify this. Our cruise server has a subversion client (command line) and the .NET 1.1 SDK. Visual Studio isn't installed because, duh, it's a server and cruise just needs something to build the system with.

CI in VS 2003 with CC.Net and friends was great. Everything ran smoothly for the most part. When you went to setup a project the choices of what to use for unit testing, build automation, and CI were pretty clear. Now we have more choices on how to run our projects and it isn't always clear which choice is the best. I've done projects using both sets of tools: VSTS for testing, source control, and CI as well as the old school nUnit, nAnt, subversion, CC.Net combo. The old school method seemed much simpler and easy to use/understand. But I figured maybe it was just because it was what I was used to. However:

Continuous Integration does not need to be this hard. CruiseControl.NET is an excellent tool and very flexible with new tools and integrating output from those tools. However when those tools require a million registry settings and even more DLLs (put in very specific places, trust me, you can't just toss them in the GAC and call it a day) and dump gobs of XML that no mere mortal (well maybe DonXml could) would be able to translate, it's just wrong. And as for the built-in Team Build that you could us, that's equally as useless as a) you can't schedule builds to trigger off of code checkins and b) again it requires a full Team Suite client to be installed on the server.

I feel Bil's pain. However, you can schedule builds to trigger off code checkins, but configuring these things isn't as straightforward as it could be. I didn't setup our last build environment (Jesse did), which had check-in triggered builds with email notifications, but I seem to remember it was pretty complicated and you didn't get the nice CC.Net type emails which showed you exactly what was going on with the build. You had to go look at the build on the server to see what happened.

So for now, if it is a small project, I tend toward the Subversion, nAnt, nUnit, CC.Net path, using MSBuild to build projects as needed (MSBuild is a must for things like building/deploying VSTS Database Pro projects). The big question for me will be what to use when my next big project fires up. I really want to use the MS tools and to become proficient with them, but I also don't want to be constantly fighting with my CI toolset.

.NET 3.0 Released!!!

Posted in WF | WCF | .NET | WPF at Monday, November 6, 2006 9:14 AM Pacific Standard Time

Via ActiveWin:

The Microsoft .NET Framework 3.0 is the new managed code programming model for Windows®. It combines the power of the .NET Framework version 2.0 with new technologies for building applications that have visually compelling user experiences, seamless communication across technology boundaries, and the ability to support a wide range of business processes. These new technologies are Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, and Windows CardSpace. The .NET Framework 3.0 is included as part of the Windows Vista™ operating system; you can install it or uninstall it using Windows Features Control Panel. This redistributable package is for Windows XP and Windows Server 2003.

The download to the redistributable package is here. Looks like the final release! The final version of the SDK has also been released here.

So we have the final versions of everything .NET 3.0 except the VS extensions for WCF and WPF. Very cool!

Technorati Tags: WPF, WCF, WF

Is That a Runtime in Your Browser?

Posted in ASP.Net/Web Services | Avanade | .NET | WPF at Thursday, August 24, 2006 3:37 AM Pacific Daylight Time

In my life as a developer I have somehow never been on a project where I was creating a windows forms application (or a VB6 UI for that matter) AFAIR. Somehow I was always doing either ASP, ASP.NET, or some backend application with no real UI. My current project is different in that it is a smart client application. However, the client really wants to use WPF for the UI.

The more I understand WPF, the more I feel like I'm building a web application more than a forms application. The UI is all based on markup and you have databinding that seems very ASP.Net like. The line is blurred even more when you add in XBAPs which means you can run the WPF directly in the browser. However, WPF application development seems to blast past ASP.NET development at this point.

On my last project I built a really simple management UI using ASP.Net and Atlas. As much as Atlas tries to integrate AJAX into ASP.Net, I still felt like I was back in my ASP spaghetti code days. Kyle Huntley, a fellow Avanuat, makes a similar observation:

Atlas / Ajax does not represent any “Best Practices” in development from a purely technical standpoint; there are better ways to do it all. It is the unfortunate reality that the industry has been unable to settle on a single well-conceived runtime environment and has instead taken a drunkard’s walk to arrive at a very unappealing, but relatively standard, programming environment. Ajax is simply a way of trying to paper over the “poor” client characteristics of the browser / markup technology rootstock.

WPF can give you a richer experience than AJAX and without all the spaghetti mess. As another fellow Avanuat TSHAK says:

In the midst of all of the hype around the cool hacks that you can with a web browser, it is important not to ignore the innovation happening around application development on the Windows platform.

I definitely agree that WPF is taking us in the right direction and gives us a much cleaner development story than ASP.NET/Ajax. However, you might not have the option of assuming .NET 3.0 on the client for quite some time. But if you do have control over what is on the client, then WPF is a great choice for smart client applications (or is it a rich client?). Then you have the choice of running in the browser or not which gives you lots of great options.

So I personally think the runtime is the way to go, whether or not you run it in the browser. Now it is just a question of how well Microsoft drives WPF adoption and how Microsoft developers adapt to this new paradigm of client UI development.

Technorati Tags: - -

Extending Community Server

Posted in .NET at Tuesday, August 22, 2006 3:41 AM Pacific Daylight Time

I have to commend Telligent for how easy they made it to extend Community Server. I recently setup a new blog to use for posting videos of my son so that my brother-in-law who lives out of state can see him grow up (he asked me to). However, I wanted to use mp4 video files so that the videos could be viewed as podcasts or on the website. After some fiddling around I ended up writing a CSModule which simply adds the player html code to the post if you're viewing it from a browser while omitting it if you're using a feed reader. It was very easy to do this and because of that I plan on writing more in the future.

Technorati Tags: -

Page 1 of 2 in the NET category(RSS) Next Page