<?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>DansNetwork.com</title>
	<atom:link href="http://dansnetwork.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dansnetwork.com</link>
	<description>Web Design, Javascript, CSS, and More...</description>
	<lastBuildDate>Sun, 29 Apr 2012 11:36:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Smartlinc Android App</title>
		<link>http://dansnetwork.com/smartlinc-android-app/</link>
		<comments>http://dansnetwork.com/smartlinc-android-app/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 01:47:44 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[insteon]]></category>
		<category><![CDATA[smartlinc]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=417</guid>
		<description><![CDATA[Here are the beginnings of an Android app that I've built for Insteon's Smartlinc:
 

Upcoming features:

- device status
- dimming capability (code is already there, just need the UI)

There's one sentence on Smarthome's product page for this controller that reads: *Browsers running on Linux are not currently supported From what I've read on various blogs and [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the beginnings of an Android app that I've built for <a title="Insteon Smartlinc" href="http://www.smarthome.com/2412N/SmartLinc-INSTEON-Central-Controller/p.aspx">Insteon's Smartlinc</a>:</p>
<p><img class="alignnone" style="float: left; border: 1px solid yellow;" title="Smartlincr - Smartlinc Android App" src="http://static.dansnetwork.com/media/smartlincr1.png" alt="Smartlincr" width="300" /> <img class="alignnone" style="float: left; border: 1px solid yellow; margin-left: 25px;" title="Smartlincr Settings" src="http://static.dansnetwork.com/media/smartlincr2.png" alt="Smartlincr" width="300" /></p>
<p style="clear:both; padding-top:30px;">
Upcoming features:</p>
<ul>
<li>- device status</li>
<li>- dimming capability (code is already there, just need the UI)</li>
</ul>
<p>There's one sentence on Smarthome's product page for this controller that reads: <i>*Browsers running on Linux are not currently supported </i>From what I've read on various blogs and forums, there's a bug that causes a 4 second delay for HTTP requests and it has more to do with Linux than which browser you use. So, because Android is Linux based, the bug is apparent in this app. Fortunately, it is an asynchronous 4 second delay. For example, you can tell a light to quickly turn on and off 5 times in a row and in 4 seconds the light will turn on and off 5 times as you commanded; it won't take 4 seconds for each command.</p>
<p>Feel free to leave a comment below if you have a question or feature request!</p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/smartlinc-android-app/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Google TV &#8211; An Initial Revue Review</title>
		<link>http://dansnetwork.com/google-tv-revue-review/</link>
		<comments>http://dansnetwork.com/google-tv-revue-review/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 16:07:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[gtv]]></category>
		<category><![CDATA[htpc]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=355</guid>
		<description><![CDATA[I’ve been playing around with the whole ‘HTPC’ thing for a few years now. I’ve had my go at MythTV, XBMC, Windows Media Center, MediaTomb, Ubuntu, etc. There were always hurdles to jump and integration was too expensive or just wasn’t possible. When GTV was introduced, I had high hopes of an elegant solution to [...]]]></description>
			<content:encoded><![CDATA[<div><img src="http://static.dansnetwork.com/media/logitech_revue.jpg" style="float:right;" alt="Revue" />I’ve been playing around with the whole ‘HTPC’ thing for a few years now. I’ve had my go at MythTV, XBMC, Windows Media Center, MediaTomb, Ubuntu, etc. There were always hurdles to jump and integration was too expensive or just wasn’t possible. When GTV was introduced, I had high hopes of an elegant solution to a TV connected media box/PC and wasn't let down after recently receiving my Logitech Revue.</p>
<p>The initial reviews of GTV, from reputable magazines and blog sites, have deemed the Revue/GTV as sub-par. I’ve read the following ‘cons’:<br />
<section style="border:1px solid #999; border-color:#C33; padding:0 10px;"></p>
<ul>
<li>-- Setup takes too long</li>
<li>-- Only integrates with Dish Network</li>
<li>-- Too complicated</li>
<li>-- It won’t replace your existing television provider</li>
<li>-- You can’t enter in a URL to go directly to a web page (you can only search)</li>
</ul>
<p><i>Issues that were resolved in one of the first updates:</i></p>
<ul>
<li>-- immovable picture-in-picture box</li>
<li>-- outdated Netflix app</li>
</ul>
<p></section></p>
<p>- The setup probably takes about 15-20min (you are warned in the beginning). You have to realize what is going on in this initial setup: an initial software/firmware update, screen/resolution adjustments, the IR setup of your AV equipment so that you can control it all from the keyboard/remote, etc. The AV integration setup is similar to that of other Logitech Harmony devices and it’s all done on the TV screen through menus (MFR and model # is all that’s needed).</p>
<p>- I actually believed that it only integrated with Dish Network. I have DirecTV and after entering the model number of my satellite box, GTV was able to change channels, run the guide, menu, etc. Here’s another example of its integration:<br />
‘Judge Judy’ was on CBS and I was watching ABC. I pulled up the search box and typed in ‘judge judy’. Several result options were displayed and the first one was ‘<i>judge judy - now playing - WBBM</i>’. After choosing this result, the channel was instantly changed to CBS.</p>
<p>- GTV is far easier to operate than any previous solution that I’ve used. It was never meant to replace your television provider. I read in Maximum PC:<i> ‘If you wish to navigate directly to a website, you must type the URL into a search box and then pick out the link from the results’</i>. This is false. Maybe this was an issue resolved in the latest update... The only issue that I have so far is the inability of switching the content of the PIP window.</p>
<p>The best part about GTV is that it overlays the current display on your TV. This just isn’t possible with other solutions. Whenever you wanted to use your HTPC, you’d have to switch video inputs on your TV; ugh, what a hassle. Another notable feature is that it seems to 'pause' the Flash player when you switch between web content and TV!</p>
<p>I think the GTV is excellent as it is and it’ll only get better with updates. I believe the networks that are currently blocking GTV (ABC, CBS, NBC, Hulu, etc. - via Adobe Flash signature/version) will smarten up and unblock in the near future. Why would they not want more content viewers? More people to sell ads to?<br />
Currently at $250, you aren’t going to put together an HTPC with the same features and level of integration!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/google-tv-revue-review/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Use Gmail To Filter Hotmail Spam</title>
		<link>http://dansnetwork.com/use-gmail-to-filter-hotmail-spam/</link>
		<comments>http://dansnetwork.com/use-gmail-to-filter-hotmail-spam/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 01:21:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=201</guid>
		<description><![CDATA[Still haven't managed to get rid of that embarrassing Hotmail account?  Me neither!
Gmail allows you to retrieve the email from other  email accounts via POP3 (just as many desktop email clients do). The  nice thing about it is that it will also filter email from that account  and mark suspected SPAM [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Still haven't managed to get rid of that embarrassing Hotmail account?  Me neither!</p>
<p>Gmail allows you to retrieve the email from other  email accounts via POP3 (just as many desktop email clients do). The  nice thing about it is that it will also filter email from that account  and mark suspected SPAM as such.</p>
<p>This feature is found in<strong>:<br />
Gmail  -&gt; Settings -&gt; Accounts and Import (tab) -&gt; Check mail using  POP3</strong></p>
<p>I set mine up to delete mail from Hotmail's server upon  retrieval to prevent email clog up. Also be sure to tag your Hotmail, so  it doesn't get mixed in with the important stuff. You may still need to  log into Hotmail occasionally to prevent them from shutting down your  account. I've thought about setting up another Gmail account to replace  my beloved Microsoft email acct. but...</p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/use-gmail-to-filter-hotmail-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test With IE On Your Mac OS X</title>
		<link>http://dansnetwork.com/test-with-ie-on-your-mac-os-x/</link>
		<comments>http://dansnetwork.com/test-with-ie-on-your-mac-os-x/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 19:33:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ietester]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=171</guid>
		<description><![CDATA[Requirements:
- Mac OS X (Snow Leopard was used for this article)
- XAMPP/Apache  or Mac webserver of your choice
- VirtualBox
- Windows  XP, Vista, or 7 install disk
- IETester (allows for testing in  multiple flavors of Internet Explorer using tabs)
We've all seen  this show before. The tricky part is finding your way back [...]]]></description>
			<content:encoded><![CDATA[<p>Requirements:<br />
- <strong>Mac OS X</strong> (Snow Leopard was used for this article)<br />
- <strong>XAMPP/Apache  or Mac webserver of your choice<br />
- <a title="VirtualBox" href="http://virtualbox.org">VirtualBox</a><br />
- Windows  XP, Vista, or 7 install disk<br />
- <a title="IETester" href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a></strong> (allows for testing in  multiple flavors of Internet Explorer using tabs)</p>
<p>We've all seen  this show before. The tricky part is finding your way back to XAMPP  (Apache) from IE Tester while maintaining a consistent base URL. This  isn't important when running a few static websites, but many frameworks  have this value stored in its database. When you view your site using a  different URL, links to static files (CSS, images, etc.) and other pages  become broken. In a few easy steps I'm going to show you one method to  resolve this issue.</p>
<p>Go ahead and install the above applications  and OSes if you haven't already. Use the default network mode  of "NAT" for VirtualBox. I'm going to assume that you can access your  local sites (from your Mac) using - http://localhost/<em>sitename</em>/</p>
<p>- <strong>Step  1:</strong> Boot up your Windows install and use ipconfig (Run -&gt; cmd  -&gt; ipconfig) to get your gateway IP. It was 10.0.0.2 for me.</p>
<p>- <strong>Step  2:</strong> Add the following lines to both system's (Mac and virtual  Windows install) hosts files (http://en.wikipedia.org/wiki/Hosts_file).  'localhost.com' can be replaced with a URL of your choice.</p>
<pre class="brush: plain;">
# Mac:
localhost.com 127.0.0.1

# Windows:
localhost.com 10.0.0.2
</pre>
<p>- <strong>Step 3:</strong> Be sure  that all of your web frameworks (Wordpress, Magento, etc.) are aware of  your new base URL 'localhost.com' (or whatever you chose in step 2).</p>
<p>- <strong>Step  4:</strong> Access one of your sites from each of your operating system's  browser using - http://localhost.com/<em>sitename</em>/</p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/test-with-ie-on-your-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Content Expirator &#8211; jQuery Content Expiration Plugin</title>
		<link>http://dansnetwork.com/content-expirator-jquery-content-expiration-plugin/</link>
		<comments>http://dansnetwork.com/content-expirator-jquery-content-expiration-plugin/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 20:19:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=125</guid>
		<description><![CDATA[Content Expirator is a jQuery utility plugin that provides an easy way to give DOM elements an expiration date. If the element is found to be expired, its 'display' parameter is set to 'none'. A better approach would be to perform this function server side with a server side language, but this is a quick [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.dansnetwork.com/img/content_expirator.jpg" class="right" alt="Content Expirator" title="Content Expirator" /><strong>Content Expirator</strong> is a jQuery utility plugin that provides an easy way to give DOM elements an expiration date. If the element is found to be expired, its 'display' parameter is set to 'none'. <i>A better approach would be to perform this function server side with a server side language, but this is a quick and easy way to implement it client side.</i></p>
<p><strong>Download:</strong> <a href="http://static.dansnetwork.com/source/jQuery/jquery.content_expirator-0.1.0.js" title="Content Expirator">jquery.content_expirator-0.1.0.js</a></p>
<p>&nbsp;</p>
<p class="clear">Let's say your client has given you a flyer to put on their website for an event.</p>
<pre class="brush: xml;">&lt;img src=&quot;easter_flyer_2010.jpg&quot; class=&quot;aligncenter&quot; alt=&quot;Easter Flyer&quot; /&gt;</pre>
<p>After Easter is over, you're going to want to take this flyer off of their site. Instead of manually editing the site on the Monday after Easter to take it down, you can give it an expiration date so that it isn't displayed after Easter.</p>
<pre class="brush: xml;">&lt;img src=&quot;easter_flyer_2010.jpg&quot; class=&quot;exp-2010-04-04 aligncenter&quot; alt=&quot;Easter Flyer&quot; /&gt;</pre>
<p>The Content Expirator looks for an element containing a class name (must be the first one listed) containing the prefix 'exp'. When it comes across one, it compares the date (formatted year-month-day) with the current day to decide if the element's 'display' (style) parameter should be set to 'none'.</p>
<p>Calling The Function:</p>
<p>default:</p>
<pre class="brush: jscript;">$(document).ready(function(){
    jQuery.contentExpirator();
});
// looks for -&gt; 'exp-year-month-day'</pre>
<p>custom prefix:</p>
<pre class="brush: jscript;">$(document).ready(function(){
    jQuery.contentExpirator('end');
});
// looks for -&gt; 'end-year-month-day'</pre>
<div class="codenplay">
&lt;script&gt;
<textarea class="cpJS">
(function($){
    $.contentExpirator = function(prfx){
        var pfix = prfx || 'exp';
        $("[class|="+pfix+"]").each(function(){
            var eString = $(this).attr('class').split(' ')[0];
            var dString = eString.split('-');
            var d = new Date(dString[1],dString[2].toString()-1,dString[3]);
            var today = new Date();
            if(d < today){
                $(this).css('display','none');
            }
        });
    }
})(jQuery);</textarea>
&lt;html&gt;
<textarea class="cpHTML">
<!doctype html>
<html lang="en" class="no-js">
<head>
  
  <meta charset="utf-8" />
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
  <script>
    $(document).ready(function(){
      jQuery.contentExpirator();
    });
  </script>
</head>
<body>
  <div class="exp-2100-12-03">You Should See Me</div>
  <div class="exp-2010-12-03">You Should Not See Me</div>
</body>
</html>
</textarea>
Result:<br /><iframe src="http://dansnetwork.com/wp-content/plugins/codenplay/index.html" class="cpResult run"></iframe><br /><a class="cpRun" title="Run" href="#run">Run</a></div><script type="text/javascript">var codenplay={}; codenplay.WP_PLUGIN_URL = "http://dansnetwork.com/wp-content/plugins";</script><script type="text/javascript" src="http://dansnetwork.com/wp-content/plugins/codenplay/js/LAB.min.js"></script><link rel="stylesheet" type="text/css" href="http://dansnetwork.com/wp-content/plugins/codenplay/css/style.css" />]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/content-expirator-jquery-content-expiration-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Round Half To Even With Javascript</title>
		<link>http://dansnetwork.com/round-half-to-even-with-javascript/</link>
		<comments>http://dansnetwork.com/round-half-to-even-with-javascript/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 02:19:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Financial]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=69</guid>
		<description><![CDATA[Updated: v0.2.1 
(special thanks to: Donatas v0.2.0 (http://happycode.info)
The following script provides an easy way to perform unbiased rounding, convergent rounding, statistician's rounding, Dutch rounding, Gaussian rounding, or bankers' rounding using Javascript.
Examples
var numToRound = 10.005;
numToRound.rhte(0.01);
result: 10.00
var numToRound = 10.0015;
numToRound.rhte(0.001);
result: 10.002
var numToRound = 10.00500000001;
numToRound.rhte(0.01);
result: 10.01
var numToRound = 1005001;
numToRound.rhte(10000);
result: 1010000&#160;

&#60;script&#62;

/*
  Round Half To Even (rhte) extends the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Updated: v0.2.1 </p>
<p>(special thanks to: Donatas v0.2.0 (<a href="http://happycode.info">http://happycode.info</a>)</strong></p>
<p>The following script provides an easy way to perform unbiased rounding, convergent rounding, statistician's rounding, Dutch rounding, Gaussian rounding, or bankers' rounding using Javascript.</p>
<p><span style="text-decoration: underline;">Examples</span></p>
<p><em>var numToRound = 10.005;<br />
numToRound.rhte(0.01);<br />
result: <span style="text-decoration: underline;">10.00</span></em></p>
<p><strong>var numToRound = 10.0015;<br />
numToRound.rhte(0.001);<br />
result: <span style="text-decoration: underline;">10.002</span></strong></p>
<p><em>var numToRound = 10.00500000001;<br />
numToRound.rhte(0.01);<br />
result: <span style="text-decoration: underline;">10.01</span></em></p>
<p><strong>var numToRound = 1005001;<br />
numToRound.rhte(10000);<br />
result: <span style="text-decoration: underline;">1010000</span></strong><br />&nbsp;</p>
<div class="codenplay">
&lt;script&gt;
<textarea class="cpJS">
/*
  Round Half To Even (rhte) extends the 'Number' and 'String' objects
  Argument(placeToRound) examples: 0.0001,0.01,1,10,100
  Usage:
    Number.rhte(rounding value)
      (124.34450000).rhte(0.001) - [Result: 124.344]
      (124.34450001).rhte(0.001) - [Result: 124.345]
      (124.34550000).rhte(0.001) - [Result: 124.346]
    String.rhte(rounding value)
      '124.34450000'.rhte(0.001) - [Result: 124.344]
      '124.34450001'.rhte(0.001) - [Result: 124.345]
      '124.34550000'.rhte(0.001) - [Result: 124.346]
*/
var rhte = function(placeToRound){
  var fixed = placeToRound.toString().split('.').length < 2 ? 0 : placeToRound.toString().split('.')[1].length,
  numParts = {
    mvDec : (this/placeToRound).toFixed(this.toString().length).toString().split('.'),
    wholeNum: function(){return parseInt(this.mvDec[0],10);},
    dec: function(){return this.mvDec.length > 1 ? parseFloat('0.'+this.mvDec[1]) : 0;},
    oddEven: function(){return (this.wholeNum() % 2 === 1) ? 1 : 0;}
  };
      
  if(numParts.dec() !== 0.5){
    return(numParts.dec() > 0.5) ? parseFloat(((numParts.wholeNum()+1)*placeToRound).toFixed(fixed)) : parseFloat((numParts.wholeNum()*placeToRound).toFixed(fixed));
  }
  else{
    if(numParts.oddEven() === 1){
      return parseFloat(((numParts.wholeNum()+1)*placeToRound).toFixed(fixed));
    }
    else{
      return parseFloat((numParts.wholeNum()*placeToRound).toFixed(fixed));
    }
  }
};
Number.prototype.rhte = rhte;
String.prototype.rhte = rhte;

test("Unit Tests", function() { //QUnit Tests
  ok( (1.000).rhte(1) === 1, "(1.000).rhte(1) === 1" );
  ok( ('1.000').rhte(1) === 1, "('1.000').rhte(1) === 1" );
  ok( (1.01).rhte(0.001) === 1.010, "(1.01).rhte(0.001) === 1.010" );
  ok( (10.0501).rhte(0.1) === 10.1, "(10.0501).rhte(0.1) === 10.1" );
  ok( (1.01499999).rhte("0.01") === 1.01, "(1.01499999).rhte(\"0.01\") === 1.01" );
  ok( (1.0150000000).rhte(0.01) === 1.02, "(1.0150000000).rhte(0.01) === 1.02" );
  ok( (476).rhte(50) === 500, "(476).rhte(50) === 500" );
});

</textarea>
&lt;html&gt;
<textarea class="cpHTML">
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://raw.github.com/jquery/qunit/master/qunit/qunit.css" type="text/css" />
<script type="text/javascript" src="https://github.com/jquery/qunit/raw/master/qunit/qunit.js"></script>
<meta charset=utf-8 />

<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
  article, aside, figure, footer, header, hgroup,
  menu, nav, section { display: block; }
</style>
</head>
<body>
   <h1 id="qunit-header">QUnit Tests</h1>
   <h2 id="qunit-banner"></h2>
   <div id="qunit-testrunner-toolbar"></div>
   <h2 id="qunit-userAgent"></h2>
   <ol id="qunit-tests"></ol>
   <div id="qunit-fixture"></div>
</body>
</html>

</textarea>Result:<br /><iframe src="http://dansnetwork.com/wp-content/plugins/codenplay/index.html" class="cpResult run"></iframe><br /><a class="cpRun" title="Run" href="#run">Run</a></div><script type="text/javascript">var codenplay={}; codenplay.WP_PLUGIN_URL = "http://dansnetwork.com/wp-content/plugins";</script><script type="text/javascript" src="http://dansnetwork.com/wp-content/plugins/codenplay/js/LAB.min.js"></script><link rel="stylesheet" type="text/css" href="http://dansnetwork.com/wp-content/plugins/codenplay/css/style.css" />]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/round-half-to-even-with-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress postMash Widget</title>
		<link>http://dansnetwork.com/wordpress-postmash-widget/</link>
		<comments>http://dansnetwork.com/wordpress-postmash-widget/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 21:57:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=56</guid>
		<description><![CDATA[I really like the postMash plugin for Wordpress. It allows you to drag and drop your posts into any order. This is great when using posts as events. You can put them into the order that they'll occur rather than the order that you posted them. The only problem is that the Recent Posts widget [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I really like the <a href="http://joelstarnes.co.uk/blog/postMash/">postMash</a> plugin for Wordpress. It allows you to drag and drop your posts into any order. This is great when using posts as events. You can put them into the order that they'll occur rather than the order that you posted them. The only problem is that the Recent Posts widget won't match your post order once you've re-ordered them.</p>
<p style="text-align: left;">Here I've modified the Recent Posts widget (file: /wp-includes/<strong>default-widgets.php</strong>) so that it'll work with this plugin.</p>
<p>
Insert the following code after line #545 (<em>$r = new WP_Query(array('showposts' =>...</em>)(WP ver-2.8)</p>
<pre class="brush: php;">
$r-&gt;set('orderby', 'menu_order');
$r-&gt;set('order', 'ASC');
$r-&gt;get_posts();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/wordpress-postmash-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slicehost &#8211; Ubuntu Quick Setup</title>
		<link>http://dansnetwork.com/slicehost-ubuntu-quick-setup/</link>
		<comments>http://dansnetwork.com/slicehost-ubuntu-quick-setup/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 13:37:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[slicehost]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=39</guid>
		<description><![CDATA[I've been looking at different hosting options for the past few weeks (mainly dedicated and virtual private / virtual dedicated). It seems as if they're all out to nickle and dime you to death. "Oh, you want your server to be connected to the internet?... that'll be an extra $20/mo please". They don't even really [...]]]></description>
			<content:encoded><![CDATA[<p>I've been looking at different hosting options for the past few weeks (mainly dedicated and virtual private / virtual dedicated). It seems as if they're all out to nickle and dime you to death. "Oh, you want your server to be connected to the internet?... that'll be an extra $20/mo please". They don't even really say "please" (I threw that in myself). Through some forums, I discovered a company called <a title="slicehost" href="http://slicehost.com">slicehost</a>. They only sell VPS plans, but it seems as if they know what we (the developer) want. It says so right on their website. They offer multiple flavors of Linux installs and you have full root access to them along with a bunch of other features. Last year Slicehost was aquired by the mighty <a title="rackspace" href="http://rackspace.com">RackSpace</a>, one of the top hosting companies in the world.</p>
<p>Everything sounded interesting, so I decided to try my first "slice". I went with the 256, knowing that I can upgrade at any time. After you pay, your slice is ready within minutes and your ip address and root password are emailed to you. I chose to go with an Ubuntu image (8.04 LTS) and I'll show you how to get it up and running ASAP!</p>
<p>If you like this tutorial and think would like to try out a slice for yourself (currently starting at only $20/mo.), please don't be affraid to use my refferal link:<br />
<a title="slicehost" href="https://manage.slicehost.com/customers/new?referrer=6167bb58471750b3ab3d4ece5277a150">https://manage.slicehost.com/customers/new?referrer=6167bb58471750b3ab3d4ece5277a150</a></p>
<p>Go ahead and login to your server (I use <a title="PuTTY" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY </a>for Windows for my SSH needs). The first thing that you'll probably want to do is change your root password and then setup a user for yourself, so that you won't be working as root all of the time.</p>
<p>Next we'll install Apache 2:</p>
<p style="padding:5px 0 20px 30px; border:1px solid #CCC;"><strong>sudo apt-get install apache2</strong></p>
<p>... and then MySQL. Be sure to set your root password:</p>
<p style="padding:5px 0 20px 30px; border:1px solid #CCC;"><strong>sudo apt-get install mysql-server</strong></p>
<p>For MySQL management I installed phpMyAdmin (this will also install PHP as a dependency):</p>
<p style="padding:5px 0 20px 30px; border:1px solid #CCC;"><strong>sudo apt-get install phpMyAdmin</strong></p>
<p>As an extra admin tool, you can install Webmin. I just downloaded this into my home directory with wget:</p>
<p style="padding:5px 0 20px 30px; border:1px solid #CCC;"><strong>wget http://link_to_current_webmin.deb</strong></p>
<p>To install Webmin you can use (replace current_webmin.deb with the name of the deb file that you downloaded with wget):</p>
<p style="padding:5px 0 20px 30px; border:1px solid #CCC;"><strong>dpkg -i current_webmin.deb</strong></p>
<p>It will probably fail due to a lack of dependencies, so you can run apt to fix it. This should also continue the Webmin installation:</p>
<p style="padding:5px 0 20px 30px; border:1px solid #CCC;"><strong>sudo apt-get --fix-broken</strong></p>
<p>You should now be able to access your server at: https://your-ip-address:10000<br />
You'll have to add an exception to your browser for the invalid SSL cert. It's ok to do so.</p>
<p>Lastly I just installed ProFTPD, for my FTP server, through Webmin. There's a one click install under unused modules or you can use:</p>
<p style="padding:5px 0 20px 30px; border:1px solid #CCC;"><strong>sudo apt-get install proftpd</strong></p>
<p>Once this was installed, I used Edit Config Files to uncomment (remove the '#') "DefaultRoot ~" (this allows users access to only their home directories) and add the line: "IdentLookups Off" (this speeds up the login process).</p>
<p>At this point, Webmin showed my memory usage at less than half (102MB) of the 256MB allotted and my disk usage at around 1.2GB of the 10GB for this plan! I just set my slice up, so I can't comment on it's performance as of yet.</p>
<p>I hope this is a good start to get you up and running. I can't guarantee that this is the most secure setup, but it's a start...</p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/slicehost-ubuntu-quick-setup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery Classes &#8211; An Object Oriented Approach</title>
		<link>http://dansnetwork.com/jquery-classes-object-oriented-approach/</link>
		<comments>http://dansnetwork.com/jquery-classes-object-oriented-approach/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 04:40:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=33</guid>
		<description><![CDATA[MooTools has been my framework of choice for the past couple of years. I've worked my way up to using Classes for most of my projects and really liked using the OOP approach. For the past couple of projects, I started using Wordpress as my CMS and every time ended up using jQuery. I was [...]]]></description>
			<content:encoded><![CDATA[<p>MooTools has been my framework of choice for the past couple of years. I've worked my way up to using <a title="MooTools Classes" href="http://mootools.net/docs/Class/Class">Classes</a> for most of my projects and really liked using the OOP approach. For the past couple of projects, I started using Wordpress as my CMS and every time ended up using jQuery. I was disappointed to find out that it didn't have the native Class library that MooTools did. Fortunately there is a plugin available to assist with this task:</p>
<p>- A plugin that adds class functionality to jQuery: <a title="jQuery-Klass" href="http://code.google.com/p/jquery-klass/">jQuery-Klass</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/jquery-classes-object-oriented-approach/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New BBC Radio 1 RTSP Stream Format</title>
		<link>http://dansnetwork.com/new-bbc-radio-1-rtsp-stream-format/</link>
		<comments>http://dansnetwork.com/new-bbc-radio-1-rtsp-stream-format/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 16:24:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[radio1]]></category>
		<category><![CDATA[rip]]></category>
		<category><![CDATA[rtsp]]></category>

		<guid isPermaLink="false">http://blog.dansnetwork.com/2009/02/14/new-bbc-radio-1-rtsp-stream-format/</guid>
		<description><![CDATA[Every week or two I rip some new music from Radio 1 for my IPod Nano w/RockBox firmware (had to throw that in). It looks like they've changed the stream URL format. They used to use the DJ's name in the URL, but now they are using the day of week and show time. Here's [...]]]></description>
			<content:encoded><![CDATA[<p>Every week or two I rip some new music from Radio 1 for my IPod Nano w/RockBox firmware (had to throw that in). It looks like they've changed the stream URL format. They used to use the DJ's name in the URL, but now they are using the day of week and show time. Here's a couple examples.</p>
<pre class="brush: jscript;">

Pete Tong:
rtsp://rmv8.bbc.net.uk:554/radio1coyopa/radio_1_-_friday_1900.ra

Fabio and Grooverider:
rtsp://rmv8.bbc.net.uk:554/radio1coyopa/radio_1_-_sunday_0100.ra
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/new-bbc-radio-1-rtsp-stream-format/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

