Once I read over http://dotnetweblogs.com/duncanma/archive/03272003.aspx I decided to go further with the default page the plugin outputs, and actually push it into .NET.
I first used xsd.exe to create an XSD and then a DataSet based on the XML document.
In VS.NET I create a new C# ASP.NET Web Application, and threw down a DataList, and bound it to the new DataSet (loading in the XML Document of course).
Then I started to play a bit.
Of course it wouldnt be complete if it didnt automatically refresh the page when a new song is being played, so I got the LastWriteTime for the xml file which the plugin writes, and the Duration of the current track playing, and a simple subtraction I got the refresh time for the page. The handy literal tag in the Head section allowed me to shove out a META REFRESH tag with this new found time-left duration.
Next I wanted a pretty picture, so i use a simple HTTP Request to query Google's image search engine and grab a link out of the first picture it sends back, hopefull it is there. Of course im caching this URL so we dont have to keep hitting google for each page load.
For a demo check what Im listening too: http://duke.santra.com:81/nowplaying/ You dont have to like my music, but you have to admit the plugin is pretty cool. :)
Download full source: http://duke.santra.com:81/nowplaying/nowplaying.rar
ZIP Download: http://duke.santra.com:81/nowplaying/nowplaying.zip
For all of you that are just fed up, sick of, or just plainly needing a new UI other than the standard windows desktop consider GeoShell. http://www.geoshell.com. Dont forget, of course about ShellOnV2 (http://home.freeuk.com/shellon/files/shellon/shellonv2.exe) an excellent boot manager, and crash recovery tool.
Recommended plugins for GeoShell include: GeoWebSearch, GeoList, GeoSwitch, GeoTile, GeoVWM (cant get XWM working on my box), GeoStatPlus, and of course you can never forget GeoCommandTime, which allows the normal windows clock to double as a handy command line (same as start, run).
Pick it up, and get out of the Windows Explorer Box that you have been forced to live in for the past years!
Its exciting to see that the ASP.NET Cookbook has been completed and submitted, which I contributed a few recipe's too.
Read More: http://dotnetweblogs.com/ssmith/archive/02282003.aspx
Being a developer, these days on the Microsoft side of the fence, I felt it was necessary for me to attend a local MSDN event put on by the mighty giant themselves. And, as usual, I left disappointed that I ever went and have vowed to never return.
This event was titled "Building for the Enterprise" (Event Code: 1032226786), and was from 9am till about 1pm. I went in expecting some good architectural viewpoints, some handy tricks of the trade, etc, dive into some of the core design patterns (at least a few from the GOF), UML, etc. and soon realized that its another event giving only Web Services 101 demonstrations. Very boring.
I scored the whole event on the very low end of the scale, because I feel that in the last two years if they can't find a new way to show how easy it is to create and consume a web service, with DataSets and Data binding, then they are not doing their job well enough.
There were three sessions in total. The first giving a very weak explanation of what the presenter thinks "3-Tier Architecture" is, even though most of his slides and content were actually in upwards of 5 or 6 tiers. He also gave a very high overview of each of these tiers, but, as expected skipped very lightly over those concepts which he either didn't know at all, or simply didn't understand fully. How cheap.
The second was regarding developing UI's, and how we all should break them into two distinct tiers, consisting of "UI Components", and "UI Process Components". This presenter went on about how the "UI Components" are essentially your common labels, text boxes etc, but then when explaining "UI Process Components" he became very vague and almost skipped over it entirely. He said how cool it is to do it "this way", in order to take advantage of reusing the "UI Process Components" for any type of application (Win/Web/Wireless) for such things as state management, and process flow management. He went on by saying how these Components essentially control the flow in which the user's experience is to take place. I personally always let my users decide as to which page to visit and usually in whichever order they wish, and not the software. I agree flow management is important, and required in some applications (or specific portions of), but the verbal examples that the presenter gave us were very unreasonable, and a pure demonstration of his lack of knowledge about the content. I think he was stuck in the old days of Ecommerce web sites, because that's all the examples were drawn from (Isn't ECommerce dead?), even so, poorly done. Very sad.
The last session dealt with the actual implementation of a user interface with a Win Form application. Who does Win forms anymore? Anyways, his demo's consisted of over an hour of demonstrations on how to deploy over the web, which boils down to loading an assembly over HTTP (.LoadFrom() via Reflection). Of course nothing about security came up, or sandboxing, just straight up deploying assemblies over http. Oh yeah, he showed us that we can Inherit/Derive from a Win Form. Wow, Inheritance! Very beginner.
So, what I got out of it is that Microsoft is telling us that very basic Web Services returning DataSets, some minor reflection stuff, and a simplistic explanation of inheritance, is at the "Application Enterprise" level. In my humble opinion Microsoft should really take a closer and harder look at these sessions and take action to make them actually useful, or at least change the title of this event to "Web Services for Beginners Part 10".
On the plus side, at least now they are starting to enforce "N-Tier Architecture" approach, no matter how badly explained.