<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://jaysonknight.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Code</title><link>http://jaysonknight.com/media/g/code/default.aspx</link><description>&lt;p&gt;&amp;nbsp;I code pretty for you&lt;/p&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Digitally Imported Channel Aggregator</title><link>http://jaysonknight.com/media/p/13536.aspx</link><pubDate>Fri, 22 Sep 2006 06:50:32 GMT</pubDate><guid isPermaLink="false">68946f8a-ff84-48ba-8722-56d2a9e13499:13536</guid><dc:creator>Jayson Knight</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;&lt;a href="http://jaysonknight.com/photos/images/109978/original.aspx"&gt;Digitally Imported Channel Aggregator Interface&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This application is a .Net 2.0 WinForms implementation of the DI.fm website channel picking application. It monitors the &lt;a href="http://di.fm" target="_blank"&gt;DI.fm&lt;/a&gt;/&lt;a href="http://sky.fm" target="_blank"&gt;Sky.fm&lt;/a&gt; XML Playlist file and generates a realtime playable playlist of DI/Sky channels. It requires that both the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;amp;displaylang=en" target="_blank"&gt;.Net Framework 2.0&lt;/a&gt; and &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en"&gt;.Net Framework 3.0&lt;/a&gt; be installed.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Background and Purpose &lt;/b&gt;(please note, DICA is in Alpha and not feature complete yet)&lt;b&gt;:&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;DI.fm is the internet&amp;#39;s premier Electronic Dance Music destination with many channels devoted to various EDM genres such as Trance, Progressive House, Drum and Bass, and Ambient among others. Sky.fm supplants this with a selection of more traditional listening choices such as Classical, Rock, Jazz, and 80&amp;#39;s. DI/Sky operate as a website where users can choose from the various genres of listening material, and participate in discussions of the music on the DI/Sky message boards. They provide an &lt;a href="http://www.di.fm/partners/xml/playlists.xml" target="_blank"&gt;XML representation&lt;/a&gt; of their playlists for 3rd parties to use in their own custom application development, which is the basis for the Digitally Imported Channel Aggregator (DICA) application. DICA presents the DI/Sky playlist in a familiar layout for existing DI/Sky visitors and builds upon the existing functionality supplied by these sites by allowing the user to:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Switch between playlists within a common shell as well as define their own custom playlists containing only the channels they prefer to listen to.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Create custom notifications for various criteria such as whenever a track changes on a channel, when new comments are posted to the DI/Sky message boards, or have DICA monitor incoming tracks for specific artist/song information and notifying the user when this occurs. It can also monitor the DI/Sky Event Calendar to notify the user of specific events.&lt;/li&gt;&lt;li&gt;Keep track of their listening history and adapt itself to the user&amp;#39;s listening style to enable future notifications for similar content as it comes into DICA.&lt;/li&gt;&lt;li&gt;Use their music player of choice for any stream, regardless of the streaming format and bitrate.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Usage and Operation:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;
To open DICA, download the attached archive and run the 
DigitallyImported.Client.exe file. The DICA interface should be intuitive to 
anyone who is familiar with the DI/Sky music sites. There are a series of 
options at the top of the interface with various selections to be made for 
playlist selection (each button has a small arrow on the right side, click the 
arrow for more options), as well as manipulation of the playlist (sorting, 
choosing the preferred music player for streaming, etc). Here is a brief 
overview of the options available in the DICA shell application:&lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;When DICA is first opened, both the shell application plus a debug console will 
            open. You can safely close the debug console unless you feel the need to read 
            debugging output.&lt;/li&gt;
        &lt;li&gt;Click the options button to begin setting up the DICA application. This dialog 
            is a bit rudimentary, but serves the purpose of letting the user specify basic 
            configuration options. The options that are configurable are: How often the 
            playlist is auto-refreshed, the colors that will be used for the channel 
            backgrounds, whether or not you want the previous channel listened to the last 
            time the application was run to play again, channel sorting options, and form 
            transparency. Service level deserves its own bullet point.&lt;/li&gt;
        &lt;li&gt;DICA supports both levels of DI membership: Basic and Premium. If you don&amp;#39;t pay 
            for DI, then you are a basic subscriber and can leave this option alone. If you 
            are a premium subscriber, DICA supports DI&amp;#39;s enhanced bitrate streams, however 
            you&amp;#39;ll need to provide your login information. Unselect the &amp;#39;Regular&amp;#39; option, 
            and select &amp;#39;Premium&amp;#39; and enter your username and password, DICA will take care 
            of the rest behind the scenes so that you can listen to the higher quality 
            streams.&lt;/li&gt;
        &lt;li&gt;When you are done configuring the options, click the save button in the lower 
            right hand corner of the options form.&lt;/li&gt;
        &lt;li&gt;At this point, you are ready to start listening to streams. Click the Refresh 
            Playlist button to retrieve the DI/Sky playlists, as well as the DI Event List 
            from their respective websites. Once the playlist has loaded up in the shell, 
            you&amp;#39;ll notice that all of the other toolbar buttons become enabled.&lt;/li&gt;
        &lt;li&gt;The 2nd button from the left on the top toolbar is the channel picker, and has 2 
            parts: If you click the button itself, you&amp;#39;ll be taken to the info page on the 
            DI/Sky website for that channel. If you click the arrow just to the right of the 
            text, you can select the channel to be displayed in the DICA channel panel.&lt;/li&gt;
        &lt;li&gt;The 3rd button from the right on the top toolbar is the DI event viewer, and has 
            2 parts: If you click the button, you&amp;#39;ll be taken to the DI events calendar. If 
            you click the arrow just to the right of the text, you&amp;#39;ll get a dropdown of all 
            the upcoming events on the DI channel. Selecting an event from the dropdown will 
            take you to the details page for the event on the DI website.&lt;/li&gt;
        &lt;li&gt;The last button on the top toolbar is the Feedback link for the DICA 
            application. Clicking it will take you the DICA section of my website where you 
            can post thoughts/bugs/feature requests/etc. For anyone familiar with the .Net 
            framework, clicking this button will also force a generation 3 garbage 
            collection by the CLR, which is used for debugging purposes.&lt;/li&gt;
        &lt;li&gt;The 1st button on the bottom toolbar is the playlist configurator. The options 
            are: All (displays all channels from both DI and Sky), Custom (which is 
            discussed in the next bullet), DI (which will display only channels from the DI 
            website), External (which is not functional yet), and Sky (which will display 
            only channels from the Sky website).&lt;/li&gt;
        &lt;li&gt;Clicking the Custom playlist configurator option allows you to build your own 
            playlist from the available DI/Sky channels. From the dialog that pops up, 
            select the channels you&amp;#39;d like displayed in the channel panel section of DICA 
            and then click the save button. To clear all selections, click the clear button. 
            The add (+) button is not completely implemented at this point, but in a future 
            release will allow you specify your own .pls files located on the internet to be 
            displayed in your playlist.&lt;/li&gt;
        &lt;li&gt;The 2nd button in the bottom toolbar is the sorting specifier. Channels are 
            sorted by channel name by default. To sort the playlist by the specified option, 
            click the button. To change the sort criteria, click the arrow just to the right 
            of the button text.&lt;/li&gt;
        &lt;li&gt;The 3rd button from the right on the bottom toolbar is the media player 
            selector. Here you can choose your preferred media player to play the channel 
            stream you wish to listen to. Default will attempt to use the default player you 
            have set up for streams, however this option will cause a browser instance to be 
            opened to fetch the file from the DI/Sky website. I recommend choosing your 
            player of choice from the dropdown selection as this will bypass the browser 
            instance as the stream will be directly loaded by the player you choose.&lt;/li&gt;
        &lt;li&gt;I have made every effort possible to try and ensure that any of the bitrate 
            streams and formats can be played by any of the players listed in the dropdown 
            (with the exception of Quicktime, which will be removed in a future release). 
            There are cases where the media player you select cannot play a specific 
            playlist type, in which case you should choose a playlist type that is supported 
            by the player as noted by the icon next to stream button in the channel panel. 
            WinAmp can play all of the stream types, and iTunes and WMP can play most of 
            them. When in doubt, select a supported stream type.&lt;/li&gt;
        &lt;li&gt;Below the bottom toolbar is the status section, which has a counter for the time 
            until the next playlist refresh, and an indicator for how much memory the DICA 
            shell is currently using. If memory consumption becomes too high, restart the 
            application. All of your settings will be saved.&lt;/li&gt;
        &lt;li&gt;Below the status section is the channel panel section, which is where the 
            various selected DI/Sky channels and their relevant information will be 
            displayed. The layout should be familiar to anyone who has used the DI/Sky 
            websites as I&amp;#39;ve tried to mimic the look and feel. Clickable links are 
            underlined, with the exception of the Recent Playlist History link, which will 
            open up a small form displaying the most recent 5 songs that were played on that 
            channel along with links to their forum entries.&lt;/li&gt;
        &lt;li&gt;To listen to a stream, click the icon that displays the bitrate. The format of 
            the stream is specified by the icon next to the bitrate indicator, although as 
            stated above some streams are not player specific: DICA will attempt to open any 
            of the streams in the player specified, i.e. if you want to listen to a WMA 
            formatted stream in WinAmp, DICA will parse out the correct information for you.&lt;/li&gt;
        &lt;li&gt;The DICA shell will show a pop-up notification (aka &amp;#39;Toast&amp;#39; similar to 
            notifications given by popular IM applications) for the following: When a track 
            changes on a channel listed in the channel panel, and when new comments are 
            posted to a forum for a track. The text in the toast notifications is clickable 
            and will take you to the relevant content on the website for the channel, i.e. 
            if a new comments toast pops up, clicking it will take you to that forum.&lt;/li&gt;
        &lt;li&gt;Many options in the channel panel section are right click enabled, i.e. if you&amp;#39;d 
            like to copy a track name to the clipboard, right click the title and choose 
            copy. You can then paste into Google/etc to get more information about the 
            artist or track.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;
        Some general notes on the DICA application:&lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;To prevent the DICA application from fetching the DI/Sky playlists too often, 
            they are cached for approximately half the time specified in the Refresh 
            Playlist counter. This means that clicking the Refresh Playlist before half of 
            the playlist counter time has gone by will have no effect on refreshing the 
            playlist. To get real time updates of the playlists displayed in the channel 
            panel, set the playlist counter to a lower value in the options dialog. Anything 
            below 60 seconds is not recommended as memory usage could increase. I recommend 
            a value of 2.5 to 5 minutes (or longer if you want).&lt;/li&gt;
        &lt;li&gt;Under most circumstances, DICA will recover from any errors, but this is beta 
            software and some crashing may occur. There is no risk to the rest of your 
            system as this is written in .Net. If DICA crashes, it won&amp;#39;t take any other 
            applications down with it.&lt;/li&gt;
        &lt;li&gt;Source code is available on request only. When this reaches Release Candidate 
            stage, I will include the source code along with API documentation in the 
            download. Feel free to disassemble the assemblies at your leisure though.&lt;/li&gt;
        &lt;li&gt;Why are there so many assemblies? First and foremost DICA is a framework for 
            fetching playlist/event content from the DI/Sky websites. The included Windows 
            Forms client is just an example of how to consume these API&amp;#39;s to display DI/Sky 
            content. These API&amp;#39;s can be consumed by any type of client should a developer be 
            interested in developing their own DI/Sky based application.&lt;/li&gt;
        &lt;li&gt;There are NO spyware/loggers/trojans/etc in this application. As stated above, 
            feel free to disassemble the source code if you&amp;#39;d like to look around, or get a 
            better feel for how the application is built. I have been a professional .Net 
            developer for 7 years, and am extremely active in the .Net open source 
            community. I would never do anything to tarnish my reputation. I also am an avid 
            EDM fan, and have been listening to/making EDM for almost 20 years. This 
            application is my attempt to fold both of these together to give back to the 
            community.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;&lt;b&gt;Release History&lt;/b&gt; (unless explicitly mentioned, all bugs from previous releases are fixed in subsequent versions), current release is &lt;font color="#ff0000"&gt;&lt;b&gt;
    Beta 1 (Build 40016)&lt;/b&gt;&lt;/font&gt;:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span&gt;04/08/2008 -- DICA 
    Beta 1&lt;/span&gt;&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Et Cetera&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;
For any curious geeks, the app is ~25,000 lines of code, written 100% in C#. The overall goal is to create a framework for developing custom DI applications for any programmers wishing to do so. &lt;b&gt;The API is not complete/stable during the Alpha release timeline and will change.&lt;/b&gt; I will begin releasing source code during the Release Candidate timeframe.</description><enclosure url="http://jaysonknight.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.01.35.36/DigitallyImported.Client.zip" length="885525" type="application/zip" /></item><item><title>Community Server 2.0 Database Schema</title><link>http://jaysonknight.com/media/p/7955.aspx</link><pubDate>Fri, 31 Mar 2006 07:54:57 GMT</pubDate><guid isPermaLink="false">68946f8a-ff84-48ba-8722-56d2a9e13499:7955</guid><dc:creator>Jayson Knight</dc:creator><slash:comments>0</slash:comments><description>This is a Visio 2003 Database Model Diagram for the version 2.0 database schema. Included in the archive are a .vsd (Visio Drawing) file, as well as a .png image of the schema. If you do not have Visio installed, you can obtain a free &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3FB3BD5C-FED1-46CF-BD53-DA23635AB2DF&amp;amp;displaylang=en"&gt;Visio Viewer from Microsoft.&lt;/a&gt;&lt;br&gt;</description><enclosure url="http://jaysonknight.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.79.55/Community-Server-DB-Model.zip" length="1964754" type="application/x-zip-compressed" /></item><item><title>DotText to CS Redirect Utility</title><link>http://jaysonknight.com/media/p/7330.aspx</link><pubDate>Thu, 23 Feb 2006 09:28:18 GMT</pubDate><guid isPermaLink="false">68946f8a-ff84-48ba-8722-56d2a9e13499:7330</guid><dc:creator>Jayson Knight</dc:creator><slash:comments>0</slash:comments><description>This utility is an httpHandler that sits in your .Text website and properly redirects requests for your .Text site to your CS site.&amp;nbsp; This is needed as some of the URL formats changed between the 2 packages.&amp;nbsp; This utility can also be used in the event you've changed your top level domain name, i.e. it will forward all requests for the old domain to the proper URL in your new domain.&lt;br&gt;</description><enclosure url="http://jaysonknight.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.73.30/DotTextRedirect.zip" length="5365" type="application/x-zip-compressed" /></item></channel></rss>