Navigation

Search

Categories

On this page

Open-Source And Me
Version 1.7 of "MP3 Player Sample for ASP.NET with AJAX" Looks Good
Making Microsoft AJAX 1.0 Redistributable with Visual Studio 2005 Setup Projects
Microsoft Ajax 1.0 Extensions: Converting Existing ASP.NET Application Into AJAX-Enabled One
Microsoft "Acropolis" six years too late. I liked CCmdTarget of MFC back in nineties.
XBOX 360 Core as a Media Center Extender to Microsoft Vista MCE: Noise and Networking.
Making Bootable CD to Flash BIOS Without Floppy Drive
Notes on Upgrading Windows XP MCE 2005/IIS5 to Vista/IIS7
Dealing with "Support Code 85010014" issue while synchronizing Cingular 3125 WM5 Smartphone with Outlook 2007 running on Vista

Archive

Blogroll

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

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 53
This Year: 20
This Month: 2
This Week: 0
Comments: 8

Sign In
Pick a theme:

 Wednesday, August 01, 2007
Wednesday, August 01, 2007 10:51:18 AM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

CodePlex.com - a relatively new open-source collaboration platform from Microsoft that came to replace old and cranky GotDotNet - has impressed me quite a lot. Of course it closely resembles SourceForge.net, with the main difference of CodePlex being underpinned by Team Foundation Server (TFS) for source control and issue tracking functionality.

People often don't realize that TFS client that integrates into Visual Studio 2005 can be downloaded and is completely free.

I currently host a couple of projects on Codeplex:

  • MS AJAX 1.0 Setup Project Prerequisite for Visual Studio 2005.
    It makes MS AJAX redistributable by including it into the Setup.exe bootstrapper prerequisite manifest. The prerequisite integrates nicely with Visual Studio 2005.

  • Simple ASP.NET 2.0/C# MP3 Player.
    This application demonstrates a possibility of building a web application for home users. It includes redistributable UltiDev Cassini Web Server for ASP.NET 2.0 to not make the application dependent on the presence of IIS on users machines. The app is AJAXed to minimize music interruptions and uses Flash player to playback MP3 to avoid dependency on any particular media player. 
Comments [0] | | # 
Wednesday, August 01, 2007 10:02:17 AM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

After releasing build 1.7 of my open-source redistributable ASP.NET-based MP3 player application, I used it for a while and I am pretty happy with its stability and functionality. The design goal for the project was to demo a concept of an easily-redistributable web application for SOHO market. With unquestionable popularity of web-based applications in the business world, removing complexity of the web hosting infrastructure to make home web applications possible as a category is poised to be the next big thing.

Comments [0] | | # 
 Saturday, June 30, 2007
Saturday, June 30, 2007 5:53:12 PM (Eastern Standard Time, UTC-05:00) (  |  )

MS AJAX is great, but if you wanted to make an installable application with it, there was no way of including AJAX into your MSI-based setup project. I made a Visual Studio manifest that makes MS AJAX Extensions a Visual Studio Setup Project prerequisite:

Comments [0] | | # 
 Friday, June 22, 2007
Friday, June 22, 2007 12:01:40 PM (Eastern Standard Time, UTC-05:00) (  |  |  )

To AJAX-enable your existing ASP.NET 2.0 application follow this video. It takes only a few minutes and essentially makes you create a dummy new Ajax-enabled ASP.NET application and then copy & paste relevant pieces of its web.config file into your application's web.config.

If you are planning to use Ajax Control Toolkit, then instead of creating dummy project from the "ASP.NET AJAX-Enabled Web Site" Visual Studio project template, create the dummy project using "AJAX Control Toolkit Web Site" template. Its web.config has additional entry in the <controls> section of the web.config that will be necessary for your application.

Comments [0] | | # 
 Tuesday, June 19, 2007
Tuesday, June 19, 2007 9:42:13 AM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

Microsoft is showing off its new Acropolis framework for .NET. It seems to be a little more than good old CCmdTarget of late MFC. 

Back in 2001 when I was making a transition from C++/MFC to C#/.NET two things I missed the most were C++ templates and CCmdTarget/Doc/View architecture of MFC-based Windows UI. I could not believe Microsoft didn't port CCmdTarget at the time and naturally wrote my own. But pretty soon it was obvious that with C# and Visual Studio .NET writing ASP.NET web applications was easier than making Windows UI apps, and people wanted web UI more than windows UI.

Combine dwindling demand for Windows UI with inferior development tools and you end up in the situation where software architects don't even debate whether their next enterprise application should have Windows UI or web UI. It's assumed and understood that it will be a web-based application. If you think an application needs to have Windows UI - you will face an uphill battle convincing other project stakeholders it's the right way to go.

Simply put, Windows UI is so out, and web UI is so in that incremental improvements in Windows UI world like WPF and Acropolis is too little and way too late to save the day. We've got AJAX, thank you very much. In my arrogant opinion enterprise apps will not go back into Windows UI world. The last bastion of Windows UI applications is SOHO market, but that is about to change with HttpVPN making it possible to make easily redistributable web applications for consumers and small businesses. Once that happens, Windows UI will become just gaming and other graphics-heavy applications platform.

Comments [0] | | # 
 Sunday, June 03, 2007
Sunday, June 03, 2007 11:54:54 AM (Eastern Standard Time, UTC-05:00) (  |  |  )

Until recently I've been running MCE 2005 on Windows XP with Linksys Media Center Extender (MCX) connected to the XP box over 802.11a wireless network. That was a nice and stable setup, but with the technology moving forward it was time for an upgrade. I have successfully upgraded XP to Vista, and since Vista did not support "old" Media Center Extenders like the one I have, I had to get XBOX 360 - the only game in town when it comes to extenders supporting Windows Vista.

Cursory Google search revealed that even most basic and least expensive XBOX 360 version, the Core System, can run the extender application just fine by loading the MCX software from the Vista box over the network. Far more serious issue for me was how loud XBOX 360 is. The thing is that Media Center Extender box is located in the bedroom, and any fan noise from XBOX 360 would be very annoying. Linksys Media Center Extender was not just quiet - it was completely silent. It has no fans or motors at all. The price for the silence was that its CPU was underpowered and therefore it was mostly nothing but a dumb Remote Desktop terminal displaying the UI rendered on the XP box, with the exception of rendering the streaming media on the MCX box itself. XBOX 360 has a very powerful multi-core processor and therefore is easily fit to render all the fancy MCX UI right there, which makes UI of MCX running on XBOX 360 much more responsive compared the Linksys. The price of the performance, besides $300, is the fan and its noise. How much noise exactly? The whole reason I write this post is because after searching the "Internets" I was unable to tell whether the level of noise is acceptable or not. Some people complained that it's horrible, and some said it's OK. Well, here's the verdict: yes, the noise is bad and I can't believe Microsoft didn't find a solution to the noise problem, BUT the remedy is you can turn XBOX 360 completely off when you are not watching it! Noise level when you use the XBOX is not uncomfortable at all. The drawback is that it takes XBOX about 50 seconds to boot, load MCX application from the server, and launch the MCX UI when you turn the XBOX on (which BTW can all be done at once by pressing Mediacenter Green Button on the mediacenter remote). I don't mind paying the 50 second price for the complete silence of the turned off XBOX, while being able to enjoy fast and responsive UI of the XBOX setup.

Another quick note on the subject - the networking of the new extender. Linksys extender had both wireless and wired networking capabilities. I ran it over 802.11a (Wireless-A) network that is fast enough for streaming recoded TV and at the same time is not susceptible to interference from all the 2.4GHz devices like cordless phones and 802.11g (Wireless-G) networks of your neighbors. XBOX 360, however, has only wired networking capabilities, and since our house is not wired for Ethernet, I had to use ZyXel power line Ethernet adapter. I really like ZyXel power line adapters - they are great alternative to wiring your house or using wireless networks. When I was setting up extender piece on the Vista machine, MCE tested the network bandwidth and found the throughput not sufficient for streaming TV. I though it's strange because ZyXel PLA-100 adapter is supposed to be 85 marketing Mbit (about 45 real Mbit) - quite faster than 22 Mbit of the Wireless-A network that was working just fine. Sure enough, TV and video streaming ran absolutely smoothly over ZyXel PLA-100. However, whenever we get an HDTV set connected to the extender, we'll need to upgrade ZyXel adapters to speedier 200 marketing Mbit (hopefully about 100 real Mbit) PLA-400.

[June 12 UPDATE: The same day when I wrote this post I noticed that network performance of the setup has degraded to the point of recorded TV being unwatchable: picture would freeze or won't start playing back at all with the black screen, with "Network Issues" pop-up ever-present on the screen. I thought the problem is ZyXel PL-100. I replaced it with Viewsonic 802.11g access point connected to XBOX 360, and just like with PL-100 it worked flawlessly the first time I turned on the XBOX, but went down exactly the same way as the the power line adapter based network. Funny thing is that if I hit Fast Forward button on the MCE remote, FF works and produces absolutely smooth video! So at normal rate it crawls to the stop, but with fast forwarding there are no "Network Issues"? I was able to playback the same recorded shows over the same network connections using notebook and WIndows Media Player with no problems. I think Microsoft has a whole lot of explaining to do about its XBOX 360 "networking issues".

Comments [0] | | # 
 Saturday, June 02, 2007
Saturday, June 02, 2007 12:17:27 AM (Eastern Standard Time, UTC-05:00) (  |  )

If you are upgrading your Windows XP system to Vista chances are you will need to upgrade your system's BIOS to support Vista. Flash utility for my MSI motherboard BIOS can't run from Windows (how nice on MSI part), and as lots of users nowadays my system does not have a floppy drive to boot DOS from. Making a bootable CD with just a basic set of drivers to allow enough memory for Flash utility turned out to be a very frustrating endeavor. There are lots of bootable CD images out there, but the most common problem with images is that they load bunch of drivers that take up a lot of memory and hang often. To flash a BIOS all you need from DOS is CD support. I spare you details of all the options and approaches I tried and get right to what you need to do to make a bootable CD and add your flash utility and BIOS file to it.

  1. Download and save Windows ME bootable ISO image. Get WinME_bootdisk.iso file. Don't worry - it's not an entire Windows ME; it's just a 3MB DOS portion of it.
  2. Download and install Magic ISO Maker, a small utility capable of modifying an existing ISO image.
  3. Run Magic ISO Maker, open WinME_bootdisk.iso, add your Flash files, and save the WinME_bootdisk.iso file.
  4. Burn WinME_bootdisk.iso to a CD.
  5. Boot from the CD and in the boot menu select an option with a CD support. This option should leave enough "conventional" memory after loading DOS and drivers for the Flash utility to run. 
  6. Your CD drive is likely to get letter "D:". Switch to CD drive by issuing D: command and run your Flash utility.

 

Comments [1] | | # 
 Wednesday, May 23, 2007
Wednesday, May 23, 2007 3:20:28 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

Although usually I prefer to make a clean installation of a new OS to lose all the junk accumulated since last OS upgrade, this time I decided to upgrade our family Media Center box instead, because unlike my desktop the MCE box has just a few basic server apps, like IIS, email server, ORB, WebGuide, and of course MCE 2005.

Overall, upgrade was a success, but most of the drivers and applications had to be either upgraded or reinstalled. There were quite a few things to take care of:

  • Running Vista Upgrade Advisor was a good idea. It tells upfront which drivers, services and application will not, or may not work. The most important thing it told me was that I don't have enough space on drive C:, so since it was still an XP I used Norton Partition Magic to increased the C: partition size by 25 GB. I also downloaded some Vista drivers before starting the upgrade just in case my network card would not work after the upgrade.

  • Although ATI Catalyst software was not among those Vista Upgrade Advisor suggested to remove, the screen resolution settings were not preserved by the upgrade process. Moreover, standard MS ATI driver didn't support resolutions required by some HDTV sets. I had to visit ATI web site and download the latest driver and the Catalyst software. Once I've done that I was able to adjust the resolution back to what it used to be.

  • MCE settings partially survived. Scheduled series settings carried over fine, but Signal settings and Guide had to be specified again by going through the setup wizard. I had my recorded TV shows location in XP MCE changed from the default. While new MCE in Vista has found them, I still had to specified the location for new recordings. Thankfully, it was easy - the UI allowing to change the location of newly recorded shows is built into Vista's MCE app. Pictures and Music location settings have carried over with no problem.

  • The hardest part was to revive ASP.NET applications and sites after IIS was upgraded from IIS5 on XP to IIS 7.0 on Vista. The hardest problem was that caused by the remnants of some old version of .NET Framework 2.0. That caused application pools hosting .NET 2.0 to crash hard on the very first request while spitting out strange errors, like "The worker process failed to pre-load .Net Runtime version v2.0." to the application log. It took me two days of Internet searching to find the solution.

    ASP.NET 1.1 applications were also all not working. I had to run aspnet_regiis.exe from the 1.1 Framework to bring them back to life.

    In many cases I had to manually ACL folders containing ASP.NET applications with access rights for "NETWORK SERVICE" user account. I also had to change anonymous authentication account from IUSR_whatever to appPool identity.

    The bottom line is migration of ASP.NET web apps was not trivial.

  • Both Orb and WebGuide stopped working after the upgrade. I upgraded ORB with no problem and uninstalled the WebGuide so I could install Vista-specific version of the WG. It all went fine - that's after I was done fixing all the IIS7 glitches.

  • dasBlog 1.9 - the software running this blog - ended up being incompatible with Vista. I had to move this blog to another server running good ole' Windows 2003/IIS 6.0. After moving the app to another server, which was free of surprises, the final challenge was to redirect links going to old blog location pointing to IIS7/Vista to the new one. Unlike IIS6, IIS7 does not have a UI where you could choose "A redirection to a URL" as a destination for your virtual directory. Redirection in IIS7 can be done but it requires running a command-line utility. Fortunately that worked.

  • Unlike IIS, UltiDev Cassini Web Server underpinning WebGuide4 went through upgrade precess as smooth as it can be.

 

Comments [1] | | # 
 Sunday, April 08, 2007
Sunday, April 08, 2007 2:49:53 PM (Eastern Standard Time, UTC-05:00) (  |  )

My Windows Mobile 5 based Cingular 3125 cellphone stopped syncing with Vista desktop quite some time ago. Synchronization error stated "ActiveSync encountered a problem on the desktop", which is weird since Vista has replaced ActiveSync with Sync Center and Windows Mobile Device Center (WMDC). Checking error log on the device yielded reference to "Support Code 0x85010014", but no information on how to contact support. 

Quick brute force "google & fix" approach didn't work, so it was until now that I found time to find the solution. As many articles on Internet point out, Support Code 0x85010014 problem is related to syncing with Microsoft Office Outlook. In my case it was Outlook 2007 running on Windows Vista Ultimate Edition.

Despite legions of people experiencing this problem, it was surprisingly hard to find the workaround. The fix (first mentioned here) turned out to be simple: repair Microsoft Office installation by going to Control Panel -> Programs And Feature, selecting Microsoft Office 2007 and then clicking Change button on the toolbar.

Comments [0] | | #