<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Disco Shiny &#187; Projects</title>
	<atom:link href="http://discoshiny.com/category/projects/feed" rel="self" type="application/rss+xml" />
	<link>http://discoshiny.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 09 Aug 2010 18:20:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Mason Media Lab Invoicing System</title>
		<link>http://discoshiny.com/post/mason-media-lab-invoicing-system</link>
		<comments>http://discoshiny.com/post/mason-media-lab-invoicing-system#comments</comments>
		<pubDate>Wed, 20 May 2009 20:30:03 +0000</pubDate>
		<dc:creator>Kurt</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://discoshiny.com/?p=50</guid>
		<description><![CDATA[XHTML CSS PHP MySQL jQuery/AJAX PDF Creation Limited Demo One major project I&#8217;ve been working on has been replacing the person who&#8217;s job it was to aggregate all our invoices, send them off to accounting, and report our numbers each month. Her system comprised a number of excel spreadsheets between which she would copy all [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_51" class="wp-caption alignleft" style="width: 160px"><a href="http://discoshiny.com/wp-content/uploads/2009/05/invoicing-screenshot.png"><img src="http://discoshiny.com/wp-content/uploads/2009/05/invoicing-screenshot-150x150.png" alt="The Front Page" title="MML Invoicing System" width="150" height="150" class="size-thumbnail wp-image-51" /></a><p class="wp-caption-text">The Front Page</p></div>
<ul class="projectTech">
<li>XHTML</li>
<li>CSS</li>
<li>PHP</li>
<li>MySQL</li>
<li>jQuery/AJAX</li>
<li>PDF Creation</li>
</ul>
<p><a href="http://projects.discoshiny.com/invoicing/" target="_blank">Limited Demo</a></p>
<p>One major project I&#8217;ve been working on has been replacing the person who&#8217;s job it was to aggregate all our invoices, send them off to accounting, and report our numbers each month. Her system comprised a number of excel spreadsheets between which she would copy all relevant data. Naturally a database is a much better solution and so I set about creating one. The project is not yet complete, I still have to create the administration section. Most of the framework is in place, though, and the front end is what I consider to be beta status.</p>
<p><span id="more-50"></span></p>
<p>This project was a vehicle for me to learn JavaScript. Since our previous system of creating invoices was entirely based in Excel, the new system had to have at least as much functionality. This meant creating a rich web application which would carry out the calculations for costs automatically.</p>
<p>Using jQuery has allowed me to do a number of things with the site that are both aesthetically pleasing and highly functional. The page that allows users to search for and filter invoices, for instance, uses hidden form inputs combined with a table to simulate rich checkboxes. Clicking a table cell highlights or normalizes it, indicating that it is active or not. The actual form element is a hidden input for each table cell that toggles between &#8216;off&#8217; and &#8216;on&#8217; through the use of jQuery.</p>
<p>One very important feature of the new system relates to the way we are paid as a university organization. Each organization has one or more fund numbers which they can supply as a form of payment, and funds are automatically deducted when we submit the completed invoices to accounting. Unfortunately, these are simply numbers and are rather non-descriptive. This invoicing system uses PHP/cURL and AJAX to look up the unit name tied to a given org number so we can double check with clients. We have since caught three instances of clients giving us entirely the wrong department&#8217;s number.</p>
<p>The system is incomplete, as I have said. I am actively developing it and hope to have it deployed in beta or gold status by the next fiscal year. At this point we intend to start shopping it all over the university to other organizations that provide services within the university. This is highly tentative and should not be taken as official word.</p>
]]></content:encoded>
			<wfw:commentRss>http://discoshiny.com/post/mason-media-lab-invoicing-system/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Monocle Radio</title>
		<link>http://discoshiny.com/post/monocle-radio</link>
		<comments>http://discoshiny.com/post/monocle-radio#comments</comments>
		<pubDate>Sat, 09 May 2009 15:25:03 +0000</pubDate>
		<dc:creator>Kurt</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://discoshiny.com/?p=22</guid>
		<description><![CDATA[XHTML/CSS layout PHP MPD class for PHP MySQL for user management Icecast2 streaming server Monocle Radio is a front end to Music Player Daemon, an application for Linux that does exactly what its name implies. The only way to use it is to run a front end, such as Monocle Radio. SourceForge Page In my [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_23" class="wp-caption alignleft" style="width: 160px"><a href="http://discoshiny.com/wp-content/uploads/2009/05/monocle-screenshot.png"><img class="size-thumbnail wp-image-23" title="Monocle Radio Screenshot" src="http://discoshiny.com/wp-content/uploads/2009/05/monocle-screenshot-150x150.png" alt="Monocle Radio" width="150" height="150" /></a><p class="wp-caption-text">Monocle Radio</p></div>
<ul class="projectTech">
<li>XHTML/CSS layout</li>
<li>PHP</li>
<li><a href="http://mpd.24oz.com/" target="_blank">MPD class for PHP</a></li>
<li>MySQL for user management</li>
<li>Icecast2 streaming server</li>
</ul>
<p>Monocle Radio is a front end to <a href="http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki" target="_blank">Music Player Daemon</a>, an application for Linux that does exactly what its name implies. The only way to use it is to run a front end, such as Monocle Radio.</p>
<p><a href="http://sourceforge.net/projects/monoradio" target="_blank">SourceForge Page</a></p>
<p><span id="more-22"></span></p>
<p>In my freshman year of college I had an old computer I used as a server. I kept some backups on it as well as my music. I wanted to be able to listen to my music even when I was not in my room, so I decided to set up a streaming solution.</p>
<p>I looked into available solutions and at the time all the software I could find was either incomplete or too complete. My server was not powerful enough to handle <a href="http://ampache.org/" target="_blank">Ampache</a>, for instance. It was for this reason that I decided to make a web-based interface to suit my needs. I wanted something no-nonsense and responsive, even on my aging Pentium 2 box.</p>
<p>My roommate and a couple other people I know wanted to be able to listen as well and have control when I wasn&#8217;t using it, so I implemented a multi-user system. It was not very secure and focused more on getting the job done. It required users to be logged in to change the playlist or control the playback, but anyone could listen.</p>
<p>At its completion, Monocle Radio fulfilled my needs. I released a couple bug-fixing releases, but have since ceased development. I no longer maintain a server for my music due to bandwidth and power constraints. Also the old server was 2.5 feet tall and weighed well around 40lbs, an impractical machine at best.</p>
]]></content:encoded>
			<wfw:commentRss>http://discoshiny.com/post/monocle-radio/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
