<?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>[protofusion] &#187; Technology</title> <atom:link href="http://protofusion.org/wordpress/category/technology/feed/" rel="self" type="application/rss+xml" /><link>http://protofusion.org/wordpress</link> <description>Generally Interesting</description> <lastBuildDate>Thu, 09 Feb 2012 19:23:09 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Downloading wget Without wget: Use bash</title><link>http://protofusion.org/wordpress/2011/01/downloading-wget-with-bash/</link> <comments>http://protofusion.org/wordpress/2011/01/downloading-wget-with-bash/#comments</comments> <pubDate>Fri, 14 Jan 2011 07:16:59 +0000</pubDate> <dc:creator>Nathan Phillip Brink</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Quick Tips]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[download]]></category> <category><![CDATA[from irc]]></category> <category><![CDATA[networking]]></category> <category><![CDATA[shell]]></category> <category><![CDATA[wget]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=816</guid> <description><![CDATA[There are many ways to download and install wget without having wget itself installed. For example, one can use curl, ]]></description> <content:encoded><![CDATA[<p> There are many ways to download and install <a
href="http://www.gnu.org/software/wget/">wget</a> without having wget itself installed. For example, one can use <a
href="http://curl.haxx.se/">curl</a>, a sort of competitor to wget, or a package manager with <span
title="what is this lib's homepage?">libfetch or some other library-level downloader integrated (such as <a
href="http://archlinux.org/pacman/">pacman</a>). One may be able to use SSH&#8217;s scp or sftp utility or even use netcat to transfer a wget tarball over a network. But these methods of obtaining wget are not always feasible or even possible whereas a <a
href="http://gnu.org/software/bash/">bash</a> shell and a few core utilities are often readily available.<br
/> </span></p><p><span
id="more-816"></span></p><p> I was introduced to the bash builtin <tt>/dev/tcp</tt> by <a
href="http://forums.unrealircd.com/viewtopic.php?f=9&amp;t=6498#p32272" title="formerly known as aegis">warg</a> the other day on <a
href="irc://irc.x-tab.org/chat">x-tab#chat</a>. He explained a basic use of this device by demonstrating how to download wget&#8217;s compressed tarball. The download process itself can be done with pure bash, but some post-processing of the downloaded file must be done to remove HTTP headers. I document warg&#8217;s application of <tt>/dev/tcp</tt> here because I found the idea fascinating and want this documentation for myself <img
src='http://pf-wordpress.s3.amazonaws.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p><h2>Connecting and Downloading</h2><p> To read about the <tt>/dev/tcp</tt> builtin for yourself, check out the following:</p><p><code>$ info '<a
href="http://gnu.org/software/bash/manual/bash.html#Redirections">(bash) Redirections</a>'</code></p><p> With the <tt>exec</tt> line we initiate the connection, allocating a file descriptor and storing the numeic file descriptor into the HTTP_FD variable. Then, with the <tt>echo</tt> line, we send an HTTP request through the descriptor to the server. After sending the request, we process the server&#8217;s response with the <tt>sed</tt> line which skips over the HTTP headers sent by the server and stows the results into <tt>wget-latest.tar.gz</tt>. Note that this last command will sit around for a while. It is with this command that the builk of the data transfer is performed. And, since you&#8217;re using shell redirections to download the file, you cannot see the download progress. Instead, wait for the command to complete. This also involves waiting for the server to time out your connection since it supports pipelining. After this process is completed, the wget-latest.tar.gz file is as your disposal.</p><p><code><pre>
$ WGET_HOSTNAME='ftp.gnu.org'
$ exec {HTTP_FD}&lt;&gt;/dev/tcp/${WGET_HOSTNAME}/80
$ echo -ne 'GET /gnu/wget/wget-latest.tar.gz HTTP/1.1\r\nHost: '\
    ${WGET_HOSTNAME}'\r\nUser-Agent: '\
    'bash/'${BASH_VERSION}'\r\n\r\n'  &gt;&amp;${HTTP_FD}
$ sed -e '1,/^.$/d' &lt;&amp;${HTTP_FD} &gt;wget-latest.tar.gz
</pre><p></code></p><p> Now you have a wget source tarball on your machine. As long as you have tar and a compiler on the machine, you are well on your way to downloading stuff using a self-compiled wget. In the commands above, you may replace &#8220;gz&#8221; with &#8220;bz2&#8243; or &#8220;lzma&#8221; for smaller downloads if the machine you&#8217;re using has bzip2 or xz-utils installed. And, of course, it should not be too hard to repurpose the above code to download a particular version of wget or even a completely unrelated software package.</p><p> Please feel free to point out problems with this approach or give pointers on porting this to other environments <img
src='http://pf-wordpress.s3.amazonaws.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/01/downloading-wget-with-bash/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Google Voice and Asterisk</title><link>http://protofusion.org/wordpress/2010/06/google-voice-and-asterisk/</link> <comments>http://protofusion.org/wordpress/2010/06/google-voice-and-asterisk/#comments</comments> <pubDate>Mon, 14 Jun 2010 03:32:01 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Asterisk]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=419</guid> <description><![CDATA[There are numerous guides about setting up Google Voice and an incoming sip number for free outgoing calling. Sadly, all ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/06/gvheader.png" rel="lightbox[419]"><img
class="alignnone size-large wp-image-436" title="Google Voice &amp; Asterisk" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/06/gvheader-500x205.png" alt="Google Voice &amp; Asterisk" width="500" height="205" /></a></p><p>There are numerous guides about setting up Google Voice and an incoming sip number for free outgoing calling. Sadly, all of the guides I found were written for FreePBX or some other Asterisk bundle, and also used a shell script to do much of the work (scary!). I have compiled the minimal amount that you need to put in your asterisk conf files to make things work, GUI-free and variant-independent.</p><p><span
id="more-419"></span></p><h2>Prerequisites</h2><p><a
href="http://sipgate.com/" target="_blank"><img
class="size-large wp-image-444 alignright" title="sipgate logo" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/06/sipgate-logo-500x187.jpg" alt="sipgate logo" width="225" height="84" /></a></p><p>First off, you need a sip number. I recommend <a
href="http://sipgate.com/" target="_blank">sipgate</a> or <a
href="http://ipkall.com/">ipkall</a> (I use sipgate, it&#8217;s much more user-friendly). If you google around, you&#8217;ll find out how to set up your sipgate/ipkall number as an incoming number in asterisk, I won&#8217;t waste time covering it here.</p><p>Secondly, you need a google voice number. Once you get said number, turn off call presentation. Also, assign the account a password that you don&#8217;t mind having plaintext in a conf file. In addition, you <strong><em>must</em></strong> add your incoming sip number as a phone in google  voice. I&#8217;d recommend connecting a softphone to your sip number to set this up with google&#8217;s verification call, or redirect all incoming calls in Asterisk to your extension.</p><p>Thirdly, you need <a
href="http://code.google.com/p/pygooglevoice/" target="_blank">pygooglevoice</a>. Download and install it, or use python&#8217;s easy_install command.</p><h2>The outgoing rule</h2><p>Now for the actual configuration. First you need to set up an outgoing call rule, so all calls to the outside world (in this case, 10-digit numbers preceded with a &#8220;9&#8243;) are directed though google voice.</p><blockquote><p
style="padding-left: 30px;">[CallingRule_LocalCalls]<br
/> exten = _9XXXXXXXXXX,1,Goto(custom-gv,${EXTEN:-10},1)</p></blockquote><p><em><strong>Explanation:</strong> Any outgoing 10-digit number prefixed with a 9 will match this rule and go to the custom-gv section which we will set up later. The number that was dialed is passed (the &#8220;-10&#8243; excludes the 9 prefix from this) at the first dialplan rule.</em></p><h2>The GV dialer<em><br
/> </em></h2><p>Now we need to set up the custom-gv section:</p><blockquote><p
style="padding-left: 30px;">[custom-gv]<br
/> exten =&gt; _X.,1,Verbose(0, Custom-GV Preparing to call and park call at number ${EXTEN})<br
/> exten =&gt; _X.,n,Wait(1)<br
/> exten =&gt; _X.,n,Playback(pls-wait-connect-call)<br
/> exten =&gt; _X.,n,System(gvoice -e <span
style="text-decoration: line-through;">me@me.com</span> -p <span
style="text-decoration: line-through;">GVPassword</span> call ${EXTEN} <span
style="text-decoration: line-through;">IncomingNum</span> &amp;)<br
/> exten =&gt; _X.,n,Set(PARKINGEXTEN=701)<br
/> exten =&gt; _X.,n,Park()</p></blockquote><p><em><strong>Explanation:</strong> After you dial an outgoing number, you&#8217;ll be dropped in here. The Verbose() function tosses some output in debug level 0 and up (see the console for this output). The System() command dials the number with google voice. Make sure you change the items in <span
style="text-decoration: line-through;">strikethrough</span> to your own personal information. The call is then parked on extension 701 (70X extensions for parking are default. Switch to your parking extension range if you are using non-default options).</em></p><h2>Routing GV callbacks<em><br
/> </em></h2><p>Now you need to set up an incoming call rule. Direct all incoming calls from your sip number at this rule.</p><blockquote><p
style="padding-left: 30px;">[incoming-call-sifter]<br
/> exten = s,1,NoOp(CIDredirect)<br
/> exten = s,2,Verbose(0, Got incoming CID ${CALLERID(num)}, redirecting&#8230;)<br
/> exten = s,3,GotoIf($["${CALLERID(num)}" == "<span
style="text-decoration: line-through;">GVNumber</span>"]?custom-park,s,1)<br
/> exten = s,4,Goto(<span
style="text-decoration: line-through;">section-to-route-normal-incoming-calls</span>,s,1)</p></blockquote><p><em><strong>Explanation:</strong> If your google voice number rings your PBX, you know that it&#8217;s connecting you to the call you just dialed, so we need to reconnect it to the extension you dialed from. We&#8217;ll handle linking of the incoming GV call and your outgoing call (which is now parked) in the next section (custom-park).</em></p><h2>Bringing it all together<em><br
/> </em></h2><p>The custom-park section links a google voice incoming call (which is actually ringing the person you originally dialed) with your original outgoing call (which is parked).</p><blockquote><p
style="padding-left: 30px;">[custom-park]<br
/> exten =&gt; s,1,Verbose(0, Got incoming GV Callback! Connecting to your original outgoing call&#8230;)<br
/> exten =&gt; s,2,ParkedCall(701)</p></blockquote><p><em><strong>Explanation:</strong> After you dialed your external number, your call was parked as google voice started dialing the other number. This section joins your outgoing call with google voice&#8217;s incoming call, so you are connected to the party you originally dialed.</em></p><h2>You&#8217;re done!</h2><div
class="simplePullQuote">Have comments, questions, or need clarification? Leave a  comment!</div><p>Well that turned out to be a bit longer than I expected, but if you know what you&#8217;re doing, you can just ignore the italicized text.</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2010/06/google-voice-and-asterisk/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>End of the road for free data on iDen?</title><link>http://protofusion.org/wordpress/2010/06/end-of-the-road-for-free-data-on-iden/</link> <comments>http://protofusion.org/wordpress/2010/06/end-of-the-road-for-free-data-on-iden/#comments</comments> <pubDate>Fri, 11 Jun 2010 21:11:08 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[iDen]]></category> <category><![CDATA[internet]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=429</guid> <description><![CDATA[It looks like getting free data access on iDen handsets is going to end, likely on or before 6/20/10 according ]]></description> <content:encoded><![CDATA[<p><a
href="http://www.engadget.com/2010/06/11/engadget-podcast-200-06-11-2010/"><img
class="alignnone" title="Sprint Data Throttling and Blocking" src="http://www.blogcdn.com/www.engadget.com/media/2010/06/sprint-data-throttle.jpg" alt="" width="423" height="317" /></a></p><p>It looks like getting free data access on iDen handsets is going to end, likely on or before 6/20/10 according to this Sprint document (credit Engadget). Coincidentally, this is the same day that the Motorola i1 is released, the first Android phone on the iDen network. With this phone, Sprint would needed to lock down iDen data access a bit harder than blocking the phone&#8217;s built-in browser (the status quo), so the change will affect all phones on the iDen network (Boost and Nextel).</p><p>This also means that getting <a
href="http://protofusion.org/wordpress/2009/09/arduino-mobile-connectivity/">mobile connectivity for your Arduino</a> will no longer be free. Boost mobile&#8217;s data rates run at $.35/day.</p><p><strong><em>Update: </em>6/20 has passed, and I still have data access.</strong></p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2010/06/end-of-the-road-for-free-data-on-iden/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Randomly Interesting: The Super-Kamiokande</title><link>http://protofusion.org/wordpress/2010/05/the-super-kamiokande/</link> <comments>http://protofusion.org/wordpress/2010/05/the-super-kamiokande/#comments</comments> <pubDate>Fri, 14 May 2010 03:25:31 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[engineering]]></category> <category><![CDATA[Interesting]]></category> <category><![CDATA[physics]]></category> <category><![CDATA[science]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=334</guid> <description><![CDATA[The Super-Kamiokande is a submerged neutrino (cosmic ray) detector located in Mount Kamiokakō in Japan, 1000 meters underground in an ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/head.jpg" rel="lightbox[334]"><img
class="alignnone size-large wp-image-341" title="Super-Kamiokande" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/head-500x334.jpg" alt="" width="500" height="334" /></a><br
/> The Super-Kamiokande is a submerged neutrino (cosmic ray) detector located in Mount Kamiokakō in Japan, 1000 meters underground in an old mineshaft. The enormous apparatus is primarily used for detecting supernovas and cosmic rays. Originally constructed in 1993, the detector allowed researchers to detect proton decay, a feature which previous detectors lacked. The Super-Kamiokande is 15 times larger than its predecessor, giving it unchallenged accuracy at the time.<br
/> <span
id="more-334"></span></p><div
id="attachment_350" class="wp-caption alignnone" style="width: 220px"><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/sk_03-wm.jpg" rel="lightbox[334]"><img
class="size-medium wp-image-350" title="sk_03-wm" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/sk_03-wm-210x300.jpg" alt="" width="210" height="300" /></a><p
class="wp-caption-text">Rubber rafts were used for tube maintenance and installation</p></div><p>The Super-Kamiokande consists of a 41m tall by 39m wide stainless-steel tank filled with purified water. The walls of the tank are lined with 13,000 <a
href="http://en.wikipedia.org/wiki/Photomultiplier" target="_blank">photomultiplier tubes</a> (think night vision goggles for cosmic rays). The photomultipliers amplify the cosmic rays and measure them, sending data back to a central computer system. Very accurate information regarding the ring direction and type of neutrino sensed can be derived from the time and magnitude measurements of the photomultiplier tube.</p><div
id="attachment_346" class="wp-caption alignnone" style="width: 510px"><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/PMTstandalone.jpg" rel="lightbox[334]"><img
class="size-large wp-image-346" title="Photomultiplier and Worker" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/PMTstandalone-500x375.jpg" alt="" width="500" height="375" /></a><p
class="wp-caption-text">Worker with Photomultiplier Tube</p></div><p>In 2001, one of the photomultiplier tubes imploded, setting off a chain reaction of imploding tubes in the detector tank. The detector was restored by removing the damaged detectors and evenly distributing the remaining detectors. Full reconstruction did not take place until 2006, when over 6,000 detector tubes were replaced and covered with acrylic shields to prevent future implosion.</p><div
id="attachment_347" class="wp-caption alignnone" style="width: 510px"><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/finalPanel.jpg" rel="lightbox[334]"><img
class="size-large wp-image-347" title="Final PMT Panel" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2010/05/finalPanel-500x334.jpg" alt="" width="500" height="334" /></a><p
class="wp-caption-text">Installing the final PMT panel</p></div><p>Over many years, the Super-Kamiokande and predecessors have detected many solar phenomena, detected data from exploding stars, and could possibly help us understand more about the formation of matter in the future.</p><p>For more information about the Super-Kamiokande and for high-resolution photos (albeit a slow server), check out the <a
href="http://www-sk.icrr.u-tokyo.ac.jp/sk/gallery/index-e.html#sk-const-high" target="_blank">official site</a>. Wikipedia also has a concise article regarding the <a
href="http://en.wikipedia.org/wiki/Super_Kamiokande" target="_blank">Super-Kamiokande</a> and <a
href="http://en.wikipedia.org/wiki/Neutrino_detector">neutrino detectors</a> in general.</p><p><em>Photos graciously provided by <a
href="http://www-sk.icrr.u-tokyo.ac.jp/index-e.html" target="_blank">Kamioka Observatory</a> at the <a
href="http://www.u-tokyo.ac.jp/index_e.html" target="_blank">University of Tokyo</a>.</em></p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2010/05/the-super-kamiokande/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Multitouch: Fundamental Feature or Fad?</title><link>http://protofusion.org/wordpress/2009/10/multitouch-fundamental-feature-or-fad/</link> <comments>http://protofusion.org/wordpress/2009/10/multitouch-fundamental-feature-or-fad/#comments</comments> <pubDate>Fri, 09 Oct 2009 18:50:23 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[computers]]></category> <category><![CDATA[multitouch]]></category> <category><![CDATA[user interface]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=150</guid> <description><![CDATA[Popularized with the ever-present  iPhone and expanding into the tablet and desktop sector by companies such as Dell and HP, ]]></description> <content:encoded><![CDATA[<p><img
title="Multitouch" src="http://farm1.static.flickr.com/98/234302780_f34752b017.jpg" alt="" width="380" height="285" /></p><p>Popularized with the ever-present  iPhone and expanding into the tablet and desktop sector by companies such as Dell and HP, multitouch is becoming an interesting addition to today&#8217;s user interfaces. Overseas companies, such as Asus, are also taking advantage of the technology in new inexpensive tablets; even Gateway is offering a mulititouch tablet these days. Despite the popularity of multitouch, especially on the mobile platform, it seems like a technology with stunted growth and limited applications.</p><p><span
id="more-150"></span></p><h2>Key points (if you&#8217;re too lazy to read the article)</h2><ul><li> Today&#8217;s interfaces are not designed for multitouch</li><li>Multitouch would require redesigning and rethinking of most GUIs<ul><li>Multitouch often wastes screen real estate</li><li>With multitouch, one often can&#8217;t see what&#8217;s under one&#8217;s finger</li><li>Multitouch requires larger on-screen items for finger interaction</li></ul></li><li>Do we need multitouch? What advantages does it pose?<ul><li>Multitouch provides a more organic interface between human and computer</li><li>Multitouch allows simultaneous on-screen manipulation of multiple objects</li></ul></li></ul><h2>No GUI Support</h2><p>Most modern GUIs have little to no support for multi-touch technology. One prime example of this is Windows 7, which came with multitouch built-in, but the software updates have little impact on end-user experience. Multitouch is still limited to a specific audience in Windows 7, as navigating through the &#8220;All Programs&#8221; in the start menu, clicking on links in web pages, and using system tray icons are all quite challenging using one&#8217;s fingers. Also, multitouch gestures are not well-implemented into the operating system. To be extremely effective, Windows should have bindings for custom gestures, or at least include more default gestures for the base operating system itself.</p><p>Current applications are also severely limited with multitouch interactions, as most applications available today have small hard-to-tap virtual buttons. Including larger buttons wastes screen real-estate and can be a bit unsightly. Many applications also require keyboard input to accomplish a variety of functions. It would be extremely challenging to implement numerous keyboard-based functions into on-screen gestures and buttons. One other prominent issue with touchscreens in general is that one&#8217;s finger obscures the item that is being clicked, which makes clicking small objects extremely challenging.</p><h2>No Need</h2><p>Next comes the big question: do we really need multitouch? Many people have the opinion that navigation is much faster with a keyboard and mouse than a touchscreen. This is true for most applications, such as web browsing that involves a good deal of typing and link-clicking.</p><h2>Advantages</h2><p>Despite the downsides stated, multitouch does provide some advantages to human-computer interaction. For instance, multitouch  allows manipulation of multiple objects, or multiple characteristics of objects, at the same time. One simple example of multi-object interaction would be a digital soundboard, where sliders and dials must often be adjusted simultaneously. This would be impossible using a single mouse pointer, and would not allow precise control of speed with a keyboard.</p><p>Multitouch also provides for more organic interaction with computers, allowing the manipulation of digital data in a more physical manner. This interaction could be flipping through photos, organizing files, or moving windows around the desktop.</p><h6><em>Image courtesy of <a
href="http://www.flickr.com/photos/hackaday/">RobotSkirt</a></em></h6><div
id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">http://farm1.static.flickr.com/98/234302780_f34752b017.jpg</div> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2009/10/multitouch-fundamental-feature-or-fad/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 561/618 objects using disk: basic
Content Delivery Network via Amazon Web Services: S3: pf-wordpress.s3.amazonaws.com

Served from: protofusion.org @ 2012-02-10 16:58:31 -->
