<?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>James Fishwick</title>
	<atom:link href="http://jamesfishwick.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jamesfishwick.com</link>
	<description>Web developer based in Charlottesvile, VA.</description>
	<lastBuildDate>Fri, 18 May 2012 19:38:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Automating swfdump to bulk generate flash dimensions or other metadata</title>
		<link>http://jamesfishwick.com/2012/automating-swfdump-to-generate-metadata-csv/</link>
		<comments>http://jamesfishwick.com/2012/automating-swfdump-to-generate-metadata-csv/#comments</comments>
		<pubDate>Fri, 18 May 2012 19:29:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Note to Self]]></category>
		<category><![CDATA[Production Automation]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=347</guid>
		<description><![CDATA[<p>Using a MarkLogic application at work to manage and deploy content. We have almost no available metadata nearly any of our thousands and thousands of video and flash content. We&#8217;re generating it by hook or by crook, often repurposing editorial &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Using a MarkLogic application at work to manage and deploy content. We have almost no available metadata nearly any of our thousands and thousands of video and flash content. We&#8217;re generating it by hook or by crook, often repurposing editorial transmittal grids into csv for import. Needless to say, stuff like native dimensions or the like have been lost in the sands of time &#8211; existing html embeds are done in a multitude of slapdash ways, with height and width varying greatly per instance. </p>
<p>I should also say that this is all legacy content being shoehorned into &#8220;responsive&#8221; courseware. So there are width restrictions now, when before these activities were just popped up in new windows with &#8220;100%&#8221; widths. </p>
<p>Anyway, when trying to place said swfs into the product, the embed codes for an entire disciple were completely wrong. Things squished, white spaced abounded. Turns out the person who loaded the original metadata set all the widths to the max width for the product (595 px) and then grabbed heights from the questionable html wrappers. But they didn&#8217;t in turn adjust this grabbed height in light of a new width. Oooooof. A complete mess! </p>
<p>I needed to start from scratch, but I was looking at several hundred swfs. Grepping the dimensions from the html was out, as they were suspect. As was opening each in Flash, I refuse to do manual labor! I needed a csv with all the filenames and native dimensions. If the width is over 595px, I needed an <a href="http://andrew.hedges.name/experiments/aspect_ratio/" title="Aspect Ratio Calculator" target="_blank">aspect ratio calculation</a> done.</p>
<p>So swfdump and bash to the rescue!</p>
<p><img alt="" src="http://securitylabs.websense.com/content/Assets/BlogMedia/swftool_command.PNG" title="swfdump" class="alignnone" /></p>
<p><span id="more-347"></span></p>
<p>swfdump is part of the mighty <a href="http://www.swftools.org/about.html" title="SWFTOOLS" target="_blank">SWFTools</a> library. Still useful as ever even as Flash is slowing dying. Plenty of mileage left as we need to decompile and remake things in HTML5. But back to the subject at hand&#8230;</p>
<p>swfdump prints out various information about SWFs, like contained images/fonts/sounds, disassembly of contained code as well as cross-reference and bounding box data.<br />
Usage:
<pre class="brush: plain; title: ; notranslate">./swfdump [-atpdu] file.swf</pre>
<p> <a href="http://www.swftools.org/swfdump.html" title="swfdump" target="_blank">Full options here</a></p>
<p>And here&#8217;s my script, should be easy enough to modify to grab other metadata:</p>
<pre class="brush: bash; title: ; notranslate">
shopt -s nullglob
## If there are no files matching *swf then the shell will expand *swf to exactly that, the string &quot;*swf&quot;, unless shopt nullglob is set.
for f in *swf
do
echo -ne &quot;$f,&quot; &gt;&gt; log.csv ## get the filename for our csv
'/cygdrive/c/Program Files/SWFTools/swfdump.exe' &quot;$f&quot; -XY | awk '{
## cuz awk is meant for processing column-oriented text data
## The variables $1, $2, and so forth are the contents of the first, second, etc. column of the current input line.
if ( $2 &gt; 595 )
{	nwidth = 595;
	nheight = $4/$2*nwidth;
	print nwidth&quot;,&quot;nheight&quot;,ADJUSTED&quot;;
}
## perform aspect ratio conversion if needed and make a note in our csv
else
	print $2&quot;,&quot;$4;
}' &gt;&gt; log.csv
done
</pre>
<p>Hope this helps!</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/automating-swfdump-to-generate-metadata-csv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can regex even match a null character?</title>
		<link>http://jamesfishwick.com/2012/can-regex-even-match-a-null-character/</link>
		<comments>http://jamesfishwick.com/2012/can-regex-even-match-a-null-character/#comments</comments>
		<pubDate>Fri, 11 May 2012 20:30:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[Note to Self]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=343</guid>
		<description><![CDATA[<p>Yes.<br />
<code>\x00</code><br />
That is a null char and you can match it with any PCRE engine. Note that most visual tools, like Dreamweaver etc,  won&#8217;t handle this well, and won&#8217;t even display it. In fact, most will stop processing the &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Yes.<br />
<code>\x00</code><br />
That is a null char and you can match it with any PCRE engine. Note that most visual tools, like Dreamweaver etc,  won&#8217;t handle this well, and won&#8217;t even display it. In fact, most will stop processing the file when they hit the null character.</p>
<p>The exception being the mighty Notepad++. So use that if you&#8217;re afraid of the CLI.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/can-regex-even-match-a-null-character/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting Strings into Numbers</title>
		<link>http://jamesfishwick.com/2012/converting-strings-into-numbers/</link>
		<comments>http://jamesfishwick.com/2012/converting-strings-into-numbers/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 01:12:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Note to Self]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=335</guid>
		<description><![CDATA[<p>You need to convert a string to a number. &#160;Several ways, with varying&#160;purposefulness:</p>
<p><code>Number</code> constructor called as a function simply performs <strong>type conversion</strong>:</p>
<p><code>parseInt()</code> performs <strong>parsing</strong> into an <em>integer</em>*:</p>
<p>*It&#8217;s always a good idea to supply a radix &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>You need to convert a string to a number. &nbsp;Several ways, with varying&nbsp;purposefulness:</p>
<p><code>Number</code> constructor called as a function simply performs <strong>type conversion</strong>:</p>
<pre class="brush: jscript; title: ; notranslate">
// type conversion
Number(&quot;911&quot;);        // 911
Number(&quot;20px&quot;);       // NaN
Number(&quot;2e1&quot;);        // 20, exponential notation
Number(&quot;010&quot;);        // 10 (The Number constructor doesn't detect octals)
Number(&quot;8,569&quot;)       // Nan
Number(8,569)         // 8
Number(&quot;8.569&quot;)       // 8.569
Number(&quot;0xF&quot;);        // 15 (But it can handle numbers in hexadecimal notation)
Number(&quot;false&quot;);      // NaN
Number(true)          // 1
</pre>
<p><code>parseInt()</code> performs <strong>parsing</strong> into an <em>integer</em>*:</p>
<pre class="brush: jscript; title: ; notranslate">
// parsing:
parseInt(&quot;999&quot;);        // 999
parseInt(&quot;20px&quot;);       // 20 (will stop parsing and drop any part of the string it can't figure out)
parseInt(&quot;fi5e&quot;)        // NaN (string has to start making some sense right away)
parseInt(&quot;10100&quot;, 2);   // 20
parseInt(&quot;2e1&quot;);        // 2
parseInt(&quot;010&quot;);        // 8 (if parseInt detects a leading zero on the string, it will parse the number in octal base)
parseInt(&quot;010&quot;, 10);    // 10 (decimal radix used)
parseInt(&quot;0xF&quot;);        // 15 (can also handle numbers in hexadecimal notation
parseInt(&quot;22.5&quot;)        // 22 (because the decimal point is an invalid character for an integer)
Number(&quot;false&quot;);        // NaN
Number(true)            // NaN
</pre>
<p>*It&#8217;s always a good idea to supply a radix to parseInt(value, radix) that way you don&#8217;t have accidental octal mode conversions.</p>
<p>The <code>parseFloat()</code> method works in a similar way to <code>parseInt()</code> however the string must represent a floating-point number in decimal form, not octal or hexadecimal.</p>
<pre class="brush: jscript; title: ; notranslate">
parseFloat(&quot;1234blue&quot;); 	// 1234.0
parseFloat(&quot;0xA&quot;); 	// NaN
parseFloat(&quot;22.5&quot;); 	// 22.5
parseFloat(&quot;22.34.5&quot;); 	// 22.34
parseFloat(&quot;0908&quot;); 	// 908
parseFloat(&quot;James1980&quot;); 	// NaN
</pre>
<p>The Unary Plus method (<code>+num</code>) is basically a short cut for casting to a number via <code>Number()</code>. Just a nice shortcut really.</p>
<pre class="brush: jscript; title: ; notranslate">
+&quot;911&quot;; // 911
+&quot;20px&quot;;       // NaN
//etc etc
num = 1 + +&quot;2&quot;; // num is assigned the value 3
+true; // 1 (just saying...)
</pre>
<p>Finally, you can attempt some simple math on your string, does the same as the above.</p>
<pre class="brush: jscript; title: ; notranslate">
&quot;123&quot; / 1; // 123
&quot;123.987&quot; * 1; // 123.987
</pre>
<p>You can use <code>num / 1;</code>, <code>num * 1;</code>, <code>0 + num;</code> or <code>1 * num;</code>.</p>
<p>If you&#8217;re interested in a speed comparison, <a href="http://jsperf.com/number-vs-plus-vs-toint-vs-tofloat/10">see this test case</a> (this would only matter for huge numbers of conversions. HUGE.)</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/converting-strings-into-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web App mode leaves users stranded when following image links when using WPTouch with W3 Total Cache</title>
		<link>http://jamesfishwick.com/2012/web-app-mode-leaves-users-stranded-when-following-image-links-when-using-wptouch-with-w3-total-cache/</link>
		<comments>http://jamesfishwick.com/2012/web-app-mode-leaves-users-stranded-when-following-image-links-when-using-wptouch-with-w3-total-cache/#comments</comments>
		<pubDate>Sun, 08 Apr 2012 02:10:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Note to Self]]></category>
		<category><![CDATA[Page Performance]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=332</guid>
		<description><![CDATA[<p>In most of the posts on my client&#8217;s site, embedded images link to the actual image file. I&#8217;ve also enabled Web-App mode via WPTouch. In web-app mode images linked to their larger versions shouldn&#8217;t open; since Web-App mode has no &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>In most of the posts on my client&#8217;s site, embedded images link to the actual image file. I&#8217;ve also enabled Web-App mode via WPTouch. In web-app mode images linked to their larger versions shouldn&#8217;t open; since Web-App mode has no back button, a user can follow a link to a image and become &#8220;stranded&#8221; there.</p>
<p>I&#8217;m also using W3 Total Cache, which appends the param string like &#8220;?9d7bd4&#8243; to all my images. This makes sure that if you change your browser cache policies all users immediately see that change.</p>
<p>However, apparently the appended image string allows for the images to be clicked on and stranded. Interferes with whatever is stripping the image links.</p>
<p>Best way to avoid this:</p>
<p>Go to &#8220;Browser Cache.&#8221;</p>
<p>At the bottom, you have checked the following setting:</p>
<blockquote><p><strong>Prevent caching of objects after settings change</strong><br />
<em>Whenever settings are changed, a new query string will be generated and appended to objects allowing the new policy to be applied.</em></p></blockquote>
<p>This adds an appropriate string to the end of all images called through CDN or otherwise. Uncheck that box and purge/refresh the cache to see the difference.</p>
<p>Yay. Be stranded no more.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/web-app-mode-leaves-users-stranded-when-following-image-links-when-using-wptouch-with-w3-total-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get a list of recursive one-per-line paths</title>
		<link>http://jamesfishwick.com/2012/get-a-list-of-recursive-one-per-line-paths/</link>
		<comments>http://jamesfishwick.com/2012/get-a-list-of-recursive-one-per-line-paths/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 00:55:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=325</guid>
		<description><![CDATA[<p>just want a flat listing of files with their full paths?</p>
<p>No, no, no. Don&#8217;t use <code>ls</code><code>. Use </code><code>find</code>.</p>
<p>Get certain file types:</p>
<p>Even better, if you have it, is <code>tree</code>. So boss. In fact, install this &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>just want a flat listing of files with their full paths?</p>
<p>No, no, no. Don&#8217;t use <code>ls</code><code>. Use </code><code>find</code>.</p>
<pre class="brush: bash; title: ; notranslate">find . -type f</pre>
<p>Get certain file types:</p>
<pre class="brush: bash; title: ; notranslate">find . -name \*.txt</pre>
<p>Even better, if you have it, is <code>tree</code>. So boss. In fact, install this now if you don&#8217;t have it. <a href="http://mama.indstate.edu/users/ice/tree/" target="_blank">Check it</a>.</p>
<pre class="brush: bash; title: ; notranslate">tree -if .
tree -if directory/</pre>
<p>For just files:</p>
<pre class="brush: bash; title: ; notranslate">tree -if | grep -v \&gt;</pre>
<p>Of course, <code>grep</code> out any certain file types if you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/get-a-list-of-recursive-one-per-line-paths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proper Bitnami WordPress permissions</title>
		<link>http://jamesfishwick.com/2012/proper-bitnami-wordpress-permissions/</link>
		<comments>http://jamesfishwick.com/2012/proper-bitnami-wordpress-permissions/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 21:01:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Server Admin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=322</guid>
		<description><![CDATA[<p>Total pain that you have to get switching permissions back and forth for sftp and inline updates! Here&#8217;s what they should be to have WP able to do change stuff around natively&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Total pain that you have to get switching permissions back and forth for sftp and inline updates! Here&#8217;s what they should be to have WP able to do change stuff around natively</p>
<pre class="brush: bash; title: ; notranslate">

chown -R bitnami:daemon /opt/bitnami/apps/wordpress/htdocs
find /opt/bitnami/apps/wordpress/htdocs -type f | xargs chmod 664
find /opt/bitnami/apps/wordpress/htdocs -type d | xargs chmod 775
chmod 664 /opt/bitnami/apps/wordpress/htdocs/.htaccess
chmod 664 /opt/bitnami/apps/wordpress/htdocs/wp-config.php
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/proper-bitnami-wordpress-permissions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warning: PHP Startup: apc.shm_size now uses M/G suffixes, please update your ini files</title>
		<link>http://jamesfishwick.com/2012/php-startup-apc-shm_size/</link>
		<comments>http://jamesfishwick.com/2012/php-startup-apc-shm_size/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 13:00:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=313</guid>
		<description><![CDATA[<p>You may see this error after installing APC . To fix change in your .ini  <strong>from:</strong></p>
<p>to</p>
<p>I.e. specify “<strong>M</strong>” for MB or “<strong>G</strong>” for GB to solve this issue.&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>You may see this error after installing APC . To fix change in your .ini  <strong>from:</strong></p>
<pre class="brush: bash; title: ; notranslate">apc.shm_size=64</pre>
<p>to</p>
<pre class="brush: bash; title: ; notranslate">apc.shm_size=64M</pre>
<p>I.e. specify “<strong>M</strong>” for MB or “<strong>G</strong>” for GB to solve this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/php-startup-apc-shm_size/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>adding last.fm scrobbler to Jolicloud</title>
		<link>http://jamesfishwick.com/2012/adding-last-fm-scrobbler-to-jolicloud/</link>
		<comments>http://jamesfishwick.com/2012/adding-last-fm-scrobbler-to-jolicloud/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 02:49:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[media server]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=304</guid>
		<description><![CDATA[<p>Currently, Jolicloud wants you to add Last.FM has a web app, meaning the unsatisfactory web player and experience. Of course, you want to use the desktop scrobbler! Let&#8217;s add it as a proper Local App (aka real software):</p>
<p><img src="http://jamesfishwick.com/wp-content/uploads/2012/02/tumblr_lcotke9iKw1qzaejio1_500-305x305.png" alt="last.fm" title="last.fm" width="305" height="305" class="alignright size-thumbnail wp-image-307" /></p>
<p>1) Go &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Currently, Jolicloud wants you to add Last.FM has a web app, meaning the unsatisfactory web player and experience. Of course, you want to use the desktop scrobbler! Let&#8217;s add it as a proper Local App (aka real software):</p>
<p><img src="http://jamesfishwick.com/wp-content/uploads/2012/02/tumblr_lcotke9iKw1qzaejio1_500-305x305.png" alt="last.fm" title="last.fm" width="305" height="305" class="alignright size-thumbnail wp-image-307" /></p>
<p>1) Go in Terminal (in Apps > Add a local App > Terminal), and copy/paste :</p>
<pre class="brush: bash; title: ; notranslate">wget -q http://apt.last.fm/last.fm.repo.gpg -O- | sudo apt-key add -</pre>
<p>2) Then type :</p>
<pre class="brush: bash; title: ; notranslate">sudo gedit /etc/apt/sources.list.d/ubuntu.list</pre>
<p>3) A text file just opened. At the end of the document, add a new line, and paste :</p>
<pre class="brush: bash; title: ; notranslate">deb http://apt.last.fm/ debian stable</pre>
<p>Then save!</p>
<p>4) Go back in Terminal, and copy/paste :</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get update</pre>
<p>and</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install lastfm</pre>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/adding-last-fm-scrobbler-to-jolicloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jolicloud as music server</title>
		<link>http://jamesfishwick.com/2012/jolicloud-as-music-server/</link>
		<comments>http://jamesfishwick.com/2012/jolicloud-as-music-server/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 03:02:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[media server]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=287</guid>
		<description><![CDATA[<p>Got an old IBM Thinkpad T41, probably 6 or 5 six years old: Intel Pentium 1.6GHz, 748.8Mb RAM, 30GB harddrive. Had plans for some sort of media server: maybe VortexBox, maybe Plex, maybe XBMC (I didn&#8217;t really actually know much &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Got an old IBM Thinkpad T41, probably 6 or 5 six years old: Intel Pentium 1.6GHz, 748.8Mb RAM, 30GB harddrive. Had plans for some sort of media server: maybe VortexBox, maybe Plex, maybe XBMC (I didn&#8217;t really actually know much about any of these, just that they could run on old machines, and you know, <em>stream shit</em>). The machine has XP on it, completely wiped of any and all anything else than then day it was first turned on. So at first I just did some driver updates and installed iTunes and Chrome. iTunes was just playing our shared iTunes libraries via Home Sharing and I had Chrome for MOG. Whee, except even using MOG with the latest version of Chrome was horribly slow, and I realized more than ever what a sluggish, bloated POS iTunes has become.</p>
<p>So the laptop is old and slow, and we don&#8217;t really watch movies or TV or play video games. So these heavy duty media server installs are too much, clearly. We want to play music, and maybe be able to hop onto allmusic.com or wikipedia for some fact-checking. We want to use mainly web-based streaming apps like MOG, Spotify and last.fm, be able to listen to NPR and other podcasts, watch/listen to stuff on youtube, and play from our iTunes libraries remotely. Hmm, barring that last requirement, doesn&#8217;t it just sound like what I really need is a Chromebook (Google&#8217;s netbook? Say, can I install Chrome OS on my machine? <a href="http://lifehacker.com/5820358/how-to-turn-your-netbook-into-a-chromebook-with-chromium-os" target="_blank">No, but you can install Chromium OS and it might not work amazingly well</a>. Read through that post and its one of those that keeps us all afraid of Linux. But check the comments and enter Jolicloud OS!</p>
<p><img class="alignnone size-full wp-image-295" title="jolicloud-12-08-2010" src="http://jamesfishwick.com/wp-content/uploads/2012/02/jolicloud-12-08-2010.jpg" alt="" width="600" height="352" /></p>
<p><span id="more-287"></span></p>
<p>Joli OS is built on top of Ubuntu, tweaked for netbooks and other computers with limited disk storage, memory, and screen size. Joli OS was designed for easy installation, with Wi-Fi, Bluetooth, and 3G modem support all included. Jolicloud claims the OS supports 98% of netbooks with out-of-the-box compatibility but also works on a very large number of other devices, up to 10 years old: laptops, desktops and tablets. Bottom line is it just worked for me.</p>
<p>The natural comparison in look and function is iOS, the operating system used by the Apple iPad/iPhone, though with the folders and files and CLI of a conventional Linux install tucked deep away. The user interface is built primarily in HTML5 that includes an application launcher and a library of compatible applications with one-click installation and removal.</p>
<p>Boxee, Dropbox, VLC, Skype and Google Chrome are all featured as one-click installs. So are Gmail, Google Maps, Wikipedia, MOG and Facebook. Many of the applications available to Jolicloud users are, in fact, websites but really, of course, better thought of as applications. Open any of these up, and you get the website, e.g. Gmail, as program in a heavily tweaked full-screen browser, minus most of the browser toolbars and menus. You don&#8217;t need that browser stuff though for these web apps, so when you browse, you can just browser and not waste your tabs on the web apps.</p>
<p>The distinction is further broken down in your one-click dashboard apps (a mixture of mostly web-apps and some local programs) and &#8220;native&#8221; apps like gedit, terminal, gnome settings, etc. If you know what you&#8217;re doing you can add whatever to your installation and put shortcuts in your &#8220;local apps&#8221; folder on you application launcher/dash, but not your dash proper, which is annoying. For example, if you install last.fm as an app through Joli, it just gives you the web app, whilst there is a perfectly good linux port of the superior last.fm scrobbler program. So I added it through apt and I wish I could get it directly onto the main launching area rather than having to add it as a shortcut in a folder on my main area. But there are some workarounds like adding it to the little upper &#8220;taskbar&#8221; and I don&#8217;t foresee adding many other programs, since Joli makes intelligent choices about whether to give me the web app or real app otherwise.</p>
<p>Anyway, blathering on. Some tips and tricks for this setup soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/jolicloud-as-music-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>total directory size hold the extra foo</title>
		<link>http://jamesfishwick.com/2012/total-directory-size-hold-the-extra-foo/</link>
		<comments>http://jamesfishwick.com/2012/total-directory-size-hold-the-extra-foo/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 19:37:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[Code Snippet]]></category>

		<guid isPermaLink="false">http://jamesfishwick.com/?p=284</guid>
		<description><![CDATA[&#8230;]]></description>
			<content:encoded><![CDATA[<pre class="brush: bash; title: ; notranslate">du -h | tail -n 1</pre>
]]></content:encoded>
			<wfw:commentRss>http://jamesfishwick.com/2012/total-directory-size-hold-the-extra-foo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
