<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
	
	<title><![CDATA[Jason Miller Design]]></title>
	<link>http://jasonmillerdesign.com/</link>
	<description>A way to stay connected to interesting web technology and news.</description>
	<image>
		<url>http://jasonmillerdesign.com/images/coffee-128.png</url>
		<title>Jason Miller Design</title>
		<link>http://jasonmillerdesign.com/</link>
	</image>

	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JasonMillerDesign" /><feedburner:info uri="jasonmillerdesign" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>JasonMillerDesign</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Introducing forte.fm: Rdio Client for BB10</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/Sh2-AjerANs/Introducing_forte_fm_Rdio_Client_for_BB10</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Web_Apps/Introducing_forte_fm_Rdio_Client_for_BB10</guid>
		<pubDate>Mon, 08 Apr 2013 12:45:21 -0500</pubDate>
		<description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;a href="http://crackberry.com/no-rdio-app-blackberry-10-yet-try-fortefm"&gt;As seen on CrackBerry.com!&lt;/a&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://jasonmillerdesign.com/images/editor-uploads/Forte_FM_Rdio_App.jpg"&gt;  &lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;I'm pleased to introduce...&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://forte.fm/images/icon-256.png" width="128" height="128"&gt;&lt;/div&gt;  &lt;div&gt;&lt;a href="http://forte.fm/" target="_blank"&gt;forte.fm&lt;/a&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;I've added a bunch of features, but the main ones are the things asked for here:&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  1. Shuffle!  &lt;div&gt;Just hit the menu button from any screen to access the toggle. The checkbox shows you if shuffle is enabled.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  2. Shared Playstate  &lt;div&gt;Like other Rdio apps, Forte.fm now acts as a remote control if Rdio is playing elsewhere. To switch to your device for audio output, just tap the   track position slider.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  3. Search  &lt;div&gt;Tap the search box or click the "Search" tab. Type your search, then hit [enter] to get the results.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  4. Infinite Scrolling  &lt;div&gt;Scrolling to the bottom of lists fetches more results from Rdio. Particularly useful if you have a large collection or lots of playlists.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  5. Track Scrubbing  &lt;div&gt;On the Now Playing screen (tap the icon in the upper left), the blue track scrubber now works. As mentioned above, tapping the scrubber will also   redirect audio output to your phone if Forte/Rdio isn't already playing there.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  6. Add Track To Library  &lt;div&gt;A new "star" icon in the upper right of the Now Playing screen lets you add the current song to your collection.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  7. New About &amp; Report Issue Screens  &lt;div&gt;Not amazingly useful, but they work now. The bug report link opens Hub Email so you can quickly send me issues and suggestions.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  8. Homescreen Icon  &lt;div&gt;Add the app to your homescreen via the corresponding BlackBerry Browser menu item, and you'll see a nice icon.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  9. Faster...Everything  &lt;div&gt;Good software gets faster over time. Hopefully the speed boosts for launch, scrolling and navigation are noticeable.&lt;/div&gt;  &lt;div&gt;Screenshots&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://forums.crackberry.com/attachments/blackberry-10-apps-f274/148750d1365331104-rdio-app-i-built-img_00000114.png"&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://forums.crackberry.com/attachments/blackberry-10-apps-f274/148751d1365331162-rdio-app-i-built-img_00000115.png"&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://forums.crackberry.com/attachments/blackberry-10-apps-f274/148752d1365331202-rdio-app-i-built-img_00000116.png"&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://forums.crackberry.com/attachments/blackberry-10-apps-f274/148753d1365331370-rdio-app-i-built-img_00000117.png"&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Sh2-AjerANs:io7ybacUTtE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Sh2-AjerANs:io7ybacUTtE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=Sh2-AjerANs:io7ybacUTtE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Sh2-AjerANs:io7ybacUTtE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=Sh2-AjerANs:io7ybacUTtE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Sh2-AjerANs:io7ybacUTtE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=Sh2-AjerANs:io7ybacUTtE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/Sh2-AjerANs" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Web_Apps/Introducing_forte_fm_Rdio_Client_for_BB10</feedburner:origLink></item>

	<item>
		<title>Facebook App Centre is launched</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/Nt8vF3w37F0/Facebook_App_Centre_is_launched</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/Facebook_App_Centre_is_launched</guid>
		<pubDate>Mon, 18 Jun 2012 09:01:53 -0500</pubDate>
		<description>&lt;div&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;  &lt;span&gt;Facebook has launched their very own app store in a bid to help members explore the software that's available on the social network. The new service is to be available for Android and iOS users as well as those using a desktop computer.  &lt;/span&gt;&lt;br /&gt;&lt;span&gt;This should be a good move for Facebook, because whether they bought a PC from PC world, or a phone from &lt;a href="http://www.o2.co.uk/"&gt;O2&lt;/a&gt;, customers will boost the internet giants revenues. Facebook has a 30% share of app purchases that are made using its credit system.  &lt;/span&gt;&lt;br /&gt;&lt;span&gt;So far Facebook is allowing users from the company's native US to test out the store first. The UK and other countries across Europe and the world are to follow later, getting what the firm has described as a "personalised experience".  &lt;/span&gt;&lt;br /&gt;&lt;span&gt;It's going to have similar features to the rest of the Facebook site. In the same way that Facebook tells you what things your friends have liked, it will also tell you what apps your friends are using from the store. Which will make it easier for you to know which will allow friendly interaction between apps.  &lt;/span&gt;&lt;br /&gt;&lt;span&gt;More than 600 apps have been introduced to the new app store to start it off, including the video app Socialcam and other social sites like rival Pinterest.  &lt;/span&gt;&lt;br /&gt;&lt;span&gt;Speaking about the new App Centre, Matt Wyndowe, Facebook's Product Manager for app games said: "Every app in the App Centre has screen-shots and a detailed description, so you can learn more about it before installing it." He says the Centre will also allow the user to choose who gets to see their Facebook activity.  &lt;/span&gt;&lt;br /&gt;&lt;span&gt;Facebook's been trying to expand into the mobile market for a while now. Although the social network is cautious. If this venture falls through, its "financial performance and ability to grow revenue" will be affected negatively.  &lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Nt8vF3w37F0:NGga1aDkUNI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Nt8vF3w37F0:NGga1aDkUNI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=Nt8vF3w37F0:NGga1aDkUNI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Nt8vF3w37F0:NGga1aDkUNI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=Nt8vF3w37F0:NGga1aDkUNI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=Nt8vF3w37F0:NGga1aDkUNI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=Nt8vF3w37F0:NGga1aDkUNI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/Nt8vF3w37F0" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/Facebook_App_Centre_is_launched</feedburner:origLink></item>

	<item>
		<title>July 2011 Macbook Air is $949 and iMac is $899</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/2TdASkFHpU4/July_2011_Macbook_Air_is_949_and_iMac_is_899</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/July_2011_Macbook_Air_is_949_and_iMac_is_899</guid>
		<pubDate>Fri, 15 Jul 2011 02:17:30 -0500</pubDate>
		<description>&lt;br /&gt;&lt;div&gt;Through some crafty google searching, I just happened on this particularly interesting result:&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://jasonmillerdesign.com/images/editor-uploads/2011-macbook-air-949.png"&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Does this mean we're going to see a price drop for both these computers?  If so, I'm going to be out a ton of cash this month!&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=2TdASkFHpU4:zyAoPs6Pa3U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=2TdASkFHpU4:zyAoPs6Pa3U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=2TdASkFHpU4:zyAoPs6Pa3U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/2TdASkFHpU4" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/July_2011_Macbook_Air_is_949_and_iMac_is_899</feedburner:origLink></item>

	<item>
		<title>Basic AJAX: Using XMLHttpRequest</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/P2Z_W4wuOus/Basic_AJAX_Using_XMLHttpRequest</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Programming/Basic_AJAX_Using_XMLHttpRequest</guid>
		<pubDate>Tue, 31 May 2011 22:58:02 -0500</pubDate>
		<description>&lt;div&gt;So, XMLHttpRequest is a feature in JavaScript that lets a page make HTTP requests to a web server on the same domain&lt;em&gt; (note: there are ways to make requests to subdomains, they are not covered here)&lt;/em&gt;.&lt;/div&gt;  &lt;div&gt;First, you get an instance of it:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;var xhr = new XMLHttpRequest();&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;You need some way to be notified when the HTTP request is done loading and the data is ready.&lt;/div&gt;  &lt;div&gt;It's very similar to the listen() method in chat.botApi.&lt;/div&gt;  &lt;div&gt;To listen for the end of the request, you create a function and assign it as the readyState Change Handler:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"&gt;xhr.onreadystatechange = function() {&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;// your stuff here&lt;/div&gt;  &lt;div&gt;};&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;You need to check that the request has ended, cause that function gets called 3 or 4 times depending on the browser, to indicate the various request states (sending, waiting, receiving, done - with done being readyState 4)&lt;/div&gt;  &lt;div&gt;So, in your handler, check the readyState:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;xhr.onreadystatechange = function() {&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;		&lt;/span&gt;if (this.readyState===4) {&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;			&lt;/span&gt;// huzzah, the data is here!&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;			&lt;/span&gt;alert(xhr.responseText);&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;		&lt;/span&gt;}&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;};&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;Once you have that, you open a connection to the server, with the request type (GET or POST, same as for a  action), the URL you want to reach, and Boolean true.&lt;/div&gt;  &lt;div&gt;(the last param, true, means asynchronous, which allows the browser and page to do other stuff while the request is loading. It's important, and you should never use false for that value, if you do browser makers will come to your house and change it. And they won't tell you.)&lt;/div&gt;  &lt;div&gt;So that part goes like this:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;xhr.open("GET", "/path/to/file.html", true);&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;Finally, you need to submit the request to the server. That part is easy, it only takes one parameter - the POST variables (exactly like  fields in a )&lt;/div&gt;  &lt;div&gt;if you want to send an HTTP post to your server, for a form or whatever, you need to URL-encode all the parameters and send it as a string&lt;/div&gt;  &lt;div&gt;if you're just making a GET request, leave it blank, like so:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;xhr.send();&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;... and we're done!&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Let me know if this helps you out, or if you would be interested in more articles covering JavaScript basics!&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=P2Z_W4wuOus:4VMXnqmMMek:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=P2Z_W4wuOus:4VMXnqmMMek:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=P2Z_W4wuOus:4VMXnqmMMek:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/P2Z_W4wuOus" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Programming/Basic_AJAX_Using_XMLHttpRequest</feedburner:origLink></item>

	<item>
		<title>Smallest JSONp Implementation</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/8yq_I-ylNJ8/Smallest_JSONp_Implementation</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Programming/Smallest_JSONp_Implementation</guid>
		<pubDate>Wed, 06 Apr 2011 12:28:12 -0500</pubDate>
		<description>&lt;p&gt;Here's a tiny chunk of JavaScript I wrote while experimenting with writing an insanely small web chat client. I think this might be the worlds smallest JSONp implementation   that doesn't suck.&lt;/p&gt;  &lt;br /&gt;      /** Pico JSONp: */  function jsonp(u,cb){var a=jsonp._c=(jsonp._c||0)+1,b='picojsonp_'+a,c=document,d=c.body,s=c.createElement('script');window[b]=function()  {d.removeChild(s);cb.apply(cb,arguments);cb=c=d=s=null;};s.src=u.replace('{callback}',b);d.appendChild(s);}    /** Example usage: */  jsonp('http://example.com/timeline.json?callback={callback}', function(response) {      console.log(response);  });      &lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=8yq_I-ylNJ8:TuFGH-aAwx4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=8yq_I-ylNJ8:TuFGH-aAwx4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=8yq_I-ylNJ8:TuFGH-aAwx4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/8yq_I-ylNJ8" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Programming/Smallest_JSONp_Implementation</feedburner:origLink></item>

	<item>
		<title>What is a Top Tweet?</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/9dKi5ALILgM/What_is_a_Top_Tweet_</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/What_is_a_Top_Tweet_</guid>
		<pubDate>Fri, 01 Apr 2011 13:25:20 -0500</pubDate>
		<description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;img src="http://jasonmillerdesign.com/images/editor-uploads/amoebaos-top-tweet.png"&gt;&lt;br /&gt;&lt;div&gt;I posted an article to the amoebaOS Twitter account today, and I noticed later that it had been marked as a "Top Tweet".  It left me wondering what exactly constitutes a "Top Tweet", given that the only re-tweets were from my other accounts (come on, everyone does it).&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Does anyone have a theory?  Or is this another mysterious algorithm to lump in with Google Search?&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=9dKi5ALILgM:-5fOwvmSaIc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=9dKi5ALILgM:-5fOwvmSaIc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=9dKi5ALILgM:-5fOwvmSaIc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/9dKi5ALILgM" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/What_is_a_Top_Tweet_</feedburner:origLink></item>

	<item>
		<title>The FSF is Out of Control</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/1kXIngb8c70/The_FSF_is_Out_of_Control</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/The_FSF_is_Out_of_Control</guid>
		<pubDate>Fri, 01 Apr 2011 08:37:38 -0500</pubDate>
		<description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  I understand the need for open-source software.  Especially when it comes to re-usable code libraries.  But seriously? Asking a client-side application to "open up" just proves they don't have sufficient skill available to assess JavaScript-based applications.  It would take a very naive developer to assert that the bulk of Gmail's functionality lies within its JavaScript front-end, considering it is not a thick-client (aka thin server) application.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;The article to which I am referring is here:&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://www.fsf.org/blogs/community/gmail-jstrap/" target="_blank"&gt;http://www.fsf.org/blogs/community/gmail-jstrap/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Honestly, every time I see a &lt;a href="http://jasonmillerdesign.com/Blog/The_FSF_Condemns_Efficient_JavaScript"&gt;statement from the FSF regarding JavaScript&lt;/a&gt; (or any other browser tech), it just deteriorates my opinion of the organisation further.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=1kXIngb8c70:NAd0wvdOzGY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=1kXIngb8c70:NAd0wvdOzGY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=1kXIngb8c70:NAd0wvdOzGY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/1kXIngb8c70" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/The_FSF_is_Out_of_Control</feedburner:origLink></item>

	<item>
		<title>Delete HTML5 Web SQL Databases</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/CEMKtreO0u4/Delete_HTML5_Web_SQL_Databases</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/Delete_HTML5_Web_SQL_Databases</guid>
		<pubDate>Thu, 31 Mar 2011 14:41:02 -0500</pubDate>
		<description>&lt;br /&gt;&lt;div&gt;I've been spending a lot of time in Chrome's new "Clear Browsing Data" UI, and I wanted to make sure other people don't fall into the same trap.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;While window.openDatabase and friends are fast and efficient for client-side storage, the API is underwhelming.  For all the complexity of SQL, something like &lt;em&gt;deleting a created database&lt;/em&gt; is &lt;strong&gt;still not possible&lt;/strong&gt;.  That sucks, and I would certainly consider it an oversight in the API design, not a feature as SQLite fans tend to portray it.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;The only way to really delete a Web SQL Database (in Chrome, at least), is to clear all client-side storage mechanisms through the Clear Browsing Data interface (Command+Shift+Delete).  &lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;The main problem with this limitation is that it's possible (and very easy) to screw up Web SQL DBs.  For example, calling openDatabase numerous times on a single page results in this lovely mess in Web Inspector:&lt;/div&gt;  &lt;div&gt;&lt;img src="http://jasonmillerdesign.com/images/editor-uploads/webkitsqlite-fail.png"&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;How useful is that?  Oh and if you were wondering, all those identically named databases also contain tables named "undefined" with no results that fail to open.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Not that I fault Chrome - it's obviously a very early stage in the development of this API, and they are taking a risk in order to push the web forward faster than the W3C can be bothered to make simple decisions (are they making any these days?).&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;I'm putting out a call for solutions here - can anyone come up with a way to actually &lt;strong&gt;delete&lt;/strong&gt; (drop?) a WebkitSQLite database in Chrome?&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=CEMKtreO0u4:lSAKtlNAve8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=CEMKtreO0u4:lSAKtlNAve8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=CEMKtreO0u4:lSAKtlNAve8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/CEMKtreO0u4" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/Delete_HTML5_Web_SQL_Databases</feedburner:origLink></item>

	<item>
		<title>Your Computer has More Web Browsers Than you Think</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/in_ywhEjgg4/Your_Computer_has_More_Web_Browsers_Than_you_Think</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Linux_Life/Your_Computer_has_More_Web_Browsers_Than_you_Think</guid>
		<pubDate>Fri, 04 Mar 2011 09:31:19 -0600</pubDate>
		<description>&lt;br /&gt;&lt;div&gt;I'm going to be posting the screenshots I take of amoebaOS running in strange situations here. I'm starting this off now, because I thought this one, in particular, was interesting:&lt;/div&gt;  &lt;ul class="gallery_images"&gt;  	&lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/amoebaos_in_coda_books.png" title="Image: amoebaOS running in Code Books" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/amoebaos_in_coda_books.png" alt="amoebaOS running in Coda Books" height="500" width="500"&gt;  		&lt;/a&gt;  		amoebaOS running in Coda Books  &lt;br /&gt;  &lt;/li&gt;  &lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/amoebaos_in_osx_dashboard2.png" title="Image: amoebaOS running in OS X Dashboard (2)" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/amoebaos_in_osx_dashboard2.png" alt="amoebaOS running in OS X Dashboard" height="500" width="500"&gt;  		&lt;/a&gt;  		amoebaOS running in OS X Dashboard  &lt;br /&gt;  &lt;/li&gt;  &lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/amoebaos_in_osx_dashboard.png" title="Image: amoebaOS running in OS X Dashboard" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/amoebaos_in_osx_dashboard.png" alt="amoebaOS running in OS X Dashboard" height="500" width="500"&gt;  		&lt;/a&gt;  		amoebaOS running in OS X Dashboard  &lt;br /&gt;  &lt;/li&gt;  &lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/cob_wars_in_osx_dashboard.png" title="Image: COB Wars running in OS X Dashboard" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/cob_wars_in_osx_dashboard.png" alt="COB Wars running in OS X Dashboard" height="500" width="500"&gt;  		&lt;/a&gt;  		COB Wars running in OS X Dashboard  &lt;br /&gt;  &lt;/li&gt;  &lt;/ul&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=in_ywhEjgg4:IVkTw8Y1Ecs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=in_ywhEjgg4:IVkTw8Y1Ecs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=in_ywhEjgg4:IVkTw8Y1Ecs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/in_ywhEjgg4" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Linux_Life/Your_Computer_has_More_Web_Browsers_Than_you_Think</feedburner:origLink></item>

	<item>
		<title>Undeniably Awesome:  The .app TLD</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/3L8NAArFceo/Undeniably_Awesome_The_app_TLD</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/Undeniably_Awesome_The_app_TLD</guid>
		<pubDate>Wed, 09 Feb 2011 01:14:50 -0600</pubDate>
		<description>&lt;div&gt;&lt;strong&gt;&lt;em&gt;Why don't we already have this? &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;div&gt;It's the most obvious TLD I can think of, and an excellent way to &lt;a href="http://jasonmillerdesign.com/Blog/Webapp_Or_Website_Does_Anyone_Care_"&gt;differentiate between websites and webapps&lt;/a&gt;!  Apparently there are   125 TLDs on the suggestion list for when the process is formalized in a month or two, perhaps someone has already suggested it (not that I'm aware, but it's possible).&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Can you picture the simplicity?  Imagine telling your users "Just type minipng.app into your browser"...&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=3L8NAArFceo:5o5HM40u9xI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=3L8NAArFceo:5o5HM40u9xI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=3L8NAArFceo:5o5HM40u9xI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/3L8NAArFceo" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/Undeniably_Awesome_The_app_TLD</feedburner:origLink></item>

</channel>
</rss>
