<?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>Life As An Evangelist &#187; Greg Wilson</title>
	<atom:link href="http://lifeasanevangelist.com/author/greg-wilson/feed/" rel="self" type="application/rss+xml" />
	<link>http://lifeasanevangelist.com</link>
	<description>Keep up to date with Adobe's Platform Evangelists</description>
	<lastBuildDate>Wed, 08 Feb 2012 05:13:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Flex</title>
		<link>http://gregsramblings.com/2011/11/11/flex/</link>
		<comments>http://gregsramblings.com/2011/11/11/flex/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 01:42:01 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3292</guid>
		<description><![CDATA[The Flex team just provided some insight into what&#8217;s next for Flex - http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html
]]></description>
			<content:encoded><![CDATA[<p><a href="http://gregsramblings.com/wp-content/uploads/2011/11/Flex-Logo.png"><img class="size-thumbnail wp-image-3294 alignleft" title="Flex-Logo" src="http://gregsramblings.com/wp-content/uploads/2011/11/Flex-Logo-150x150.png" alt="" width="150" height="150" /></a>The Flex team just provided some insight into what&#8217;s next for Flex - <a href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html" >http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/11/11/flex/&amp;title=Flex" id="wpa2a_2"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/11/11/flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhoneGap Day Videos now available</title>
		<link>http://gregsramblings.com/2011/11/03/relive-phonegap-day-with-videos/</link>
		<comments>http://gregsramblings.com/2011/11/03/relive-phonegap-day-with-videos/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 03:10:13 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3287</guid>
		<description><![CDATA[A great way to learn a lot about PhoneGap &#8212; http://phonegap.com/2011/11/03/relive-phonegap-day-with-videos/
]]></description>
			<content:encoded><![CDATA[<p>A great way to learn a lot about PhoneGap &#8212; <a href="http://phonegap.com/2011/11/03/relive-phonegap-day-with-videos/" >http://phonegap.com/2011/11/03/relive-phonegap-day-with-videos/</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/11/03/relive-phonegap-day-with-videos/&amp;title=PhoneGap%20Day%20Videos%20now%20available" id="wpa2a_4"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/11/03/relive-phonegap-day-with-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript, CSS, HTML Frameworks and Tools – my list</title>
		<link>http://gregsramblings.com/2011/10/21/javascript-css-html-frameworks-tools-my-list/</link>
		<comments>http://gregsramblings.com/2011/10/21/javascript-css-html-frameworks-tools-my-list/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 20:57:50 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3255</guid>
		<description><![CDATA[One of the challenges in the world of HTML/JavaScript/CSS app development is cobbling together your kitchen sink of frameworks, tools and other technologies. When you start looking around, it feels like there is an endless list of options, which is good and bad!  Recently, I&#8217;ve been gathering a list of what&#8217;s popular these days and [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-3260 aligncenter" style="border-width: 1px; border-color: black; border-style: solid;" title="javascript-frameworks-500" src="http://gregsramblings.com/wp-content/uploads/2011/10/javascript-frameworks-500.jpg" alt="" width="500" height="360" /></p>
<p>One of the challenges in the world of HTML/JavaScript/CSS app development is cobbling together your kitchen sink of frameworks, tools and other technologies. When you start looking around, it feels like there is an endless list of options, which is good and bad!  Recently, I&#8217;ve been gathering a list of what&#8217;s popular these days and thought it might be useful for others to share. If you see anything obvious missing, please let me know.  Thanks to the following for helping me put together this list: <a href="http://www.coldfusionjedi.com/" >Ray Camden</a>, <a href="http://www.tricedesigns.com/" >Andy Trice</a>, <a href="http://wilsonhut.wordpress.com/" >Philip Wilson</a>, <a href="http://coenraets.org/" >Christophe Coenraets</a>, <a href="http://www.riaspace.net/" >Piotr Walczyszyn</a>, and <a href="https://twitter.com/#!/ibjhb" >James Brown</a>.</p>
<h4>In no particular order:</h4>
<ul>
<li><strong>Adobe Edge</strong> &#8211; HTML5/JS/CSS animation/interaction tool - <a href="http://labs.adobe.com/technologies/edge/" >http://labs.adobe.com/technologies/edge/</a></li>
<li><strong>Less Framework</strong> &#8211; CSS grid system/layout - <a href="http://lessframework.com/" >http://lessframework.com/</a></li>
<li><strong>Less</strong> &#8211; alternative CSS syntax &#8211; supports OO-like syntax &#8211; referenced by Google at Google IO &#8211; used in many projects - <a href="http://lesscss.org/" >http://lesscss.org/</a></li>
<li><strong>Saas</strong> &#8211; another alternative CSS syntax &#8211; similar to Less - <a href="http://sass-lang.com/" >http://sass-lang.com/</a></li>
<li><strong>Kendo UI Framework</strong> (mobile coming soon) - <a href="http://www.kendoui.com/" >http://www.kendoui.com/</a></li>
<li><strong>Sencha</strong> - <a href="http://www.sencha.com/" >http://www.sencha.com/</a> - multiple products &#8211; including Sencha Touch, Charts, etc.</li>
<li><strong>JQuery UI</strong> - <a href="http://jqueryui.com/" >http://jqueryui.com/</a></li>
<li><strong>JQuery (core)</strong> - <a href="http://jquery.com/" >http://jquery.com/</a></li>
<li><strong>JQuery Mobile</strong> - <a href="http://jquerymobile.com/" >http://jquerymobile.com/</a></li>
<li><strong>xui</strong> -minimalist JQuery-like framework - <a href="http://xuijs.com/" >http://xuijs.com/</a></li>
<li><strong>zepto.js</strong> &#8211; minimalist JQuery-like framework - <a href="http://zeptojs.com/" >http://zeptojs.com/</a></li>
<li><strong>Backbone.js</strong> MVC framework for JavaScript - <a href="http://documentcloud.github.com/backbone/" >http://documentcloud.github.com/backbone/</a></li>
<li><strong>Underscore.js</strong> &#8211; Kitchen-sink utilities for JavaScript - <a href="http://documentcloud.github.com/underscore/" >http://documentcloud.github.com/underscore/</a></li>
<li><strong>Modernizr</strong> &#8211; JavaScript library to detect device features &#8211; very popular - <a href="http://modernizr.com/" >http://modernizr.com/</a></li>
<li><strong>cubiq.org</strong> &#8211; home of iScroll, a very popular scroll/list lib - <a href="http://cubiq.org/" >http://cubiq.org/</a></li>
<li><strong>appMobi</strong> &#8211; web-based dev with emulation, etc.  Also has an HTML5-framework - <a href="http://www.appmobi.com/" >http://www.appmobi.com/</a></li>
<li><strong>LeviRoutes</strong> - lightweight routes framework for hooking in to HTML5 history - <a href="https://github.com/PaulKinlan/leviroutes" >https://github.com/PaulKinlan/leviroutes</a></li>
<li><strong>Mustache</strong> &#8211; &#8220;logic-less templates&#8221; &#8211; mentioned by Google presenters at Google IO - <a href="http://mustache.github.com/" >http://mustache.github.com/</a></li>
<li><strong>Midori</strong> &#8211; JavaScript framework &#8211; JQuery-like with some unique features - <a href="http://www.midorijs.com/" >http://www.midorijs.com/</a></li>
<li><strong>Knockout.js</strong> &#8211; JavaScript UI framework &#8211; implements MVVM pattern &#8211; recommended by Greg&#8217;s brother &#8211; popular - <a href="http://knockoutjs.com/" >http://knockoutjs.com/</a></li>
<li><strong>AngularJS</strong> &#8211; MVC framework, two-way data binding, JQuery-compatible - <a href="http://angularjs.org/" >http://angularjs.org/</a></li>
<li><strong>JSFiddle</strong> &#8211; online tool for doing lint/tidy/debugging - <a href="http://jsfiddle.net/" >http://jsfiddle.net/</a></li>
<li><strong>HighCharts</strong> &#8211; fantastic looking charts - <a href="http://www.highcharts.com/" >http://www.highcharts.com/</a></li>
<li><strong>ZingCharts</strong> &#8211; HTML5/SVG/VML and Flash charts - <a href="http://www.zingchart.com/#welcome" >http://www.zingchart.com/#welcome</a></li>
<li><strong>AMCharts</strong> &#8211; JavaScript/HTML5-based charts.  They also offer Flash-based charts. - <a href="http://www.amcharts.com/javascript/" >http://www.amcharts.com/javascript/</a></li>
<li><strong>HTML5 Boiler Plate</strong> &#8211; assist with cross-browser issues and other utils - <a href="http://html5boilerplate.com/" >http://html5boilerplate.com/</a></li>
<li><strong>Bootstrap, from Twitter</strong> - Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites. <a href="http://twitter.github.com/bootstrap/" >http://twitter.github.com/bootstrap/</a></li>
<li><strong>Popcorn.js</strong> &#8211; HTML5/JS Media Framework - <a href="http://popcornjs.org/" >http://popcornjs.org/</a></li>
<li><strong>Three.js</strong> &#8211; JavaScript 3D engine - <a href="https://github.com/mrdoob/three.js" >https://github.com/mrdoob/three.js</a> and <a href="http://www.aerotwist.com/lab/getting-started-with-three-js/" >http://www.aerotwist.com/lab/getting-started-with-three-js/</a></li>
<li><strong>PhoneGap</strong> &#8211; <a href="http://phonegap.com" >http://phonegap.com</a></li>
<li><strong>PhoneGap Plugins</strong> - <a href="https://github.com/phonegap/phonegap-plugins" >https://github.com/phonegap/phonegap-plugins</a></li>
<li><strong>Require.js</strong> &#8211; <a href="http://requirejs.org" >http://requirejs.org</a> - RequireJS is a JavaScript file and module loader</li>
<li><strong>Brunch</strong> - <a href="http://brunch.io/" >http://brunch.io/</a> - A lightweight approach to building HTML5 applications with emphasis on elegance and simplicity.</li>
</ul>
<div>I&#8217;m also collecting a list of great learning resources, especially videos from Google IO and other conferences.  I&#8217;ll blog this list soon.</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/10/21/javascript-css-html-frameworks-tools-my-list/&amp;title=JavaScript,%20CSS,%20HTML%20Frameworks%20and%20Tools%20&%238211;%20my%20list" id="wpa2a_6"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/10/21/javascript-css-html-frameworks-tools-my-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading my MacBook Pro to a SSD (solid state drive)</title>
		<link>http://gregsramblings.com/2011/10/12/upgrading-my-macbook-pro-to-a-ssd-solid-state-drive/</link>
		<comments>http://gregsramblings.com/2011/10/12/upgrading-my-macbook-pro-to-a-ssd-solid-state-drive/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 21:31:29 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3240</guid>
		<description><![CDATA[Solid-state drives (SSDs) have been available for a few years now, but I&#8217;ve been reluctant to move to one due to some early problems that friends of mine had.  When a SSD fails, there is no warning&#8230; no clicking drive sound, and no opportunity to save a few files.  When it crashes, it&#8217;s instant death. [...]]]></description>
			<content:encoded><![CDATA[<p>Solid-state drives (SSDs) have been available for a few years now, but I&#8217;ve been reluctant to move to one due to some early problems that friends of mine had.  When a SSD fails, there is no warning&#8230; no clicking drive sound, and no opportunity to save a few files.  When it crashes, it&#8217;s instant death.  I&#8217;m usually a bleeding edge guy when it comes to technology, but converting my primary drive on my primary development machine was a bit scary, so I&#8217;ve waited.  Current SSDs are much more reliable and I don&#8217;t hear of any crash stories any more, so I felt it was time.  Yesterday I upgraded my MacBook Pro 15&#8243; (early 2011 model) from a 500GB 7200RPM drive to a 300GB SSD. After tweeting about it, I had a few people ask me what steps I took, so I have documented it:</p>
<p><strong>Stuff needed:</strong></p>
<ul>
<li>Small Phillips-head screwdriver</li>
<li>T6 Torx screwdriver (I found one at the local CompUSA as part of a small computer toolkit that cost less than $15)</li>
<li>New hard drive &#8211; in my case, it&#8217;s the <a href="http://www.amazon.com/gp/product/B004T0DNI8" >Intel 320 Series 300GB SATA 3.0 GB-s 2.5&#8243; Solid State drive</a></li>
<li>SATA USB Docking station &#8211; allows you to access the new hard drive as a USB drive.  There are many alternatives.  I&#8217;ve had the <a href="http://www.amazon.com/gp/product/B001A4HAFS/" >Thermaltake BlacX</a> for a couple of years.</li>
<li>Software to clone hard drives.  There are a few options, but I use <a href="http://www.bombich.com/" >Carbon Copy Cloner</a>.  This software is also good for creating bootable USB drive images of your main drive.  In a pinch, you could boot off your USB drive and keep going if your main drive crashes.</li>
<li>Good directions on replacing the hard drive.  The iFixit site always has good directions.  For my early-2011 MacBook pro 15&#8243;, I used <a href="http://www.ifixit.com/Guide/Installing-MacBook-Pro-15-Inch-Unibody-Early-2011-Hard-Drive-Replacement/5895/1" >this page</a>.</li>
</ul>
<p><center><a href="http://gregsramblings.com/wp-content/uploads/2011/10/intel320a.png"><img class="size-thumbnail wp-image-3242 alignnone" title="intel320a" src="http://gregsramblings.com/wp-content/uploads/2011/10/intel320a-150x150.png" alt="" width="150" height="150" /> </a>    <a href="http://gregsramblings.com/wp-content/uploads/2011/10/blacxa.png"><img class="size-thumbnail wp-image-3243 alignnone" title="blacxa" src="http://gregsramblings.com/wp-content/uploads/2011/10/blacxa-150x150.png" alt="" width="150" height="150" /></a></center><strong>Steps I took:</strong></p>
<ol>
<li>I cleaned up my existing hard drive.  Since I was downsizing (for the first time in my life!), I had to do some serious space making (long overdue).</li>
<li>I plugged my new SSD into the SATA USB Dock and connected it to my computer.</li>
<li>I formatted the drive using Disk Utility.  I used the same format as my main drive (Mac OS Extended (Journaled)).</li>
<li>I ran Carbon Copy Cloner and set it to copy everything.  This took about 4 hours on my machine.  During that 4 hours, I continued to work knowing that I would be slightly out of sync when the cloning process was complete.</li>
<li>After the clone was finished, I shut down Mail, Calendar, Eclipse, Evernote, etc., and ran the clone process again as an incremental update.  This took less than 30 minutes.</li>
<li>I then shut down the MacBook Pro, unplugged it and flipped it upside down to start the surgery.</li>
<li>I followed the instructions at <a href="http://www.ifixit.com/Guide/Installing-MacBook-Pro-15-Inch-Unibody-Early-2011-Hard-Drive-Replacement/5895/1" >http://www.ifixit.com/Guide/Installing-MacBook-Pro-15-Inch-Unibody-Early-2011-Hard-Drive-Replacement/5895/1</a> to swap the drives.  Depending on which model of MacBook you have, you may need to find alternative instructions.  For the early 2011 MacBook Pro 15&#8243;, it&#8217;s a piece of cake.  The only nervous moment was getting the bottom panel to snap off.  It takes some gentle prying.  Everything else was easy.  Since I was only replacing the hard drive, I skipped the step about disconnecting the battery.  (Do this at your own risk)</li>
<li>I put everything back together and booted it up.</li>
<li>After it was up and going, I turned off the hard drive sleep feature in SETTINGS, ENERGY SAVER (uncheck the &#8220;Put the hard disks(s) to sleep when possible&#8221; on both BATTERY and POWER ADAPTER).</li>
<li>All modern MacBooks have sudden motion sensors that halt the hard drive when motion is detected to save the drive heads.  Since this is a solid state drive with no moving parts, I turned off this feature using the following command in terminal: <strong>sudo pmset -a sms 0</strong></li>
<li>I then went to disk utility and verified the disk, and ran the repair permissions function.  This is always a good idea after doing any drive swap.</li>
</ol>
<div><strong>Results:</strong></div>
<div>I expected things to be faster, but WOW!  Boot time is crazy fast.  There is no pause between logging in and being able to launch an app.  Everything on the system is faster!  Build time for Flex apps is cut in half!  The drive will pay for itself in a few weeks in saved time.  The silence is a little eerie at first, but I&#8217;ve quickly adjusted.  :)</div>
<p>&nbsp;</p>
<div><strong>UPDATE</strong>: I put a 500GB regular hard drive in the optical bay using the <a href="http://eshop.macsales.com/item/Other+World+Computing/DDAMBS0GB/" >OWC Data Doubler</a>.  The kit is fantastic and worth every penny.  It contains all of the tools that you need and their website has videos clearly documenting the hardware replacement.  I use the 2nd drive for backups, VMWare images and other media.  After I put this drive in, I decided to undo the command above that turns off hard drive sleep mode.  So far, everything has been working great.  To conserve battery life, I manually eject the drive.  Here are two command-line tricks for managing the 2nd hard drive:</div>
<p>&nbsp;</p>
<div>
<ul>
<li><strong>diskutil eject /dev/disk1</strong>  &#8211; ejects my 2nd hard drive which forces it to power down.  The drive is then unavailable until you remount it using the following command.</li>
<li><strong>diskutil mountDisk /dev/disk1</strong>  &#8212; mounts the drive again.</li>
</ul>
<p><strong>The OWC Data Doubler:</strong></p>
<div><a href="http://eshop.macsales.com/item/Other+World+Computing/DDAMBS0GB/"><img class="size-medium wp-image-3283" title="OWC Data Doubler" src="http://gregsramblings.com/wp-content/uploads/2011/10/datadoubler_hero10-300x186.jpg" alt="" width="300" height="186" /></a></div>
</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/10/12/upgrading-my-macbook-pro-to-a-ssd-solid-state-drive/&amp;title=Upgrading%20my%20MacBook%20Pro%20to%20a%20SSD%20(solid%20state%20drive)" id="wpa2a_8"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/10/12/upgrading-my-macbook-pro-to-a-ssd-solid-state-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stupid PhoneGap Tricks – loading external content</title>
		<link>http://gregsramblings.com/2011/10/12/stupid-phonegap-tricks-loading-external-content/</link>
		<comments>http://gregsramblings.com/2011/10/12/stupid-phonegap-tricks-loading-external-content/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 06:18:15 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3229</guid>
		<description><![CDATA[Most PhoneGap apps are built so that the HTML/JS/CSS content is bundled into the app (see my previous blog post).  I wondered if it was possible to load external content into the PhoneGap container, and after a few minutes of looking at the APIs, I discovered that it is doable, at least on Android (I&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>Most PhoneGap apps are built so that the HTML/JS/CSS content is bundled into the app (see my <a href="http://gregsramblings.com/2011/10/06/what-is-phonegap/">previous blog post</a>).  I wondered if it was possible to load external content into the PhoneGap container, and after a few minutes of looking at the APIs, I discovered that it is doable, at least on Android (I&#8217;ll try iOS later, but if you are reading this and already know how to do it on iOS, please comment).</p>
<p>Simply modify the main Java Class of your PhoneGap Android project and set the <strong>loadInWebView</strong> property to <strong>true</strong> &#8211; then simply load your content using http:// instead of file://.  If you try using http:// without setting the loadInWebView property, it will open the page in the device&#8217;s browser and your code won&#8217;t have access to the device APIs.</p>
<p>For example:</p>
<pre class="brush: java; title: ; notranslate">
package com.gregwilson.gregpg1;

import com.phonegap.*;

public class GregPG1Activity extends DroidGap {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.setBooleanProperty(&quot;loadInWebView&quot;, true);
        super.loadUrl(&quot;http://somewebsite/index.html&quot;);
        //ORIGINAL--&gt; super.loadUrl(&quot;file:///android_asset/www/index.html&quot;);
    }
}
</pre>
<p>Since the web content is loaded and executed in the PhoneGap container, you can use any PhoneGap JavaScript APIs you desire just as if the code was loaded from the device. A few thoughts:</p>
<ul>
<li>This could actually speed up parts of the development workflow because now I can simply modify the HTML/CSS/JS and reload the page (once I add a reload button!).  It avoids having to deploy the app over and over.</li>
<li>This opens up a huge security hole.  Imagine if someone could hack your web server and inject some new JavaScript.  Since the JavaScript executes on the device, in the PhoneGap container, it could easily extract or delete your contacts, determine your location and many other devious things.  Therefore, I would NOT recommend doing this for anything other than testing.
<li>There might be some interesting hybrid apps where some of the content is sourced from the server while other content is on the device, but I&#8217;m fairly sure this would not be a &#8220;best practice&#8221; without further code changes to avoid the security issues.</li>
<li>Assuming this is possible on iOS, I&#8217;m fairly certain that your app could be rejected since you are loading external code (a no-no in iOS-land).</li>
</ul>
<p>I&#8217;m not a PhoneGap expert (yet!), so feel free to correct me.  I&#8217;m basically blogging as I learn!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/10/12/stupid-phonegap-tricks-loading-external-content/&amp;title=Stupid%20PhoneGap%20Tricks%20&%238211;%20loading%20external%20content" id="wpa2a_10"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/10/12/stupid-phonegap-tricks-loading-external-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How PhoneGap impacts how we evangelize Flex</title>
		<link>http://gregsramblings.com/2011/10/06/how-phonegap-impacts-how-we-evangelize-flex/</link>
		<comments>http://gregsramblings.com/2011/10/06/how-phonegap-impacts-how-we-evangelize-flex/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 03:40:09 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3197</guid>
		<description><![CDATA[DISCLAIMER:  The following is my personal opinion and not necessarily that of my employer (Adobe Systems, Inc.). The PhoneGap announcement at MAX 2011 really got a lot of people excited (including me!), and it raised a few questions about how it changes our jobs as evangelists.  PhoneGap gives us the means to build cross-platform apps with [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-3215 alignright" style="margin-left: 8px; margin-right: 8px;" title="mobiledevelopmentadobe" src="http://gregsramblings.com/wp-content/uploads/2011/10/mobiledevelopmentadobe.jpg" alt="" width="278" height="200" /><strong>DISCLAIMER:</strong>  The following is my personal opinion and not necessarily that of my employer (Adobe Systems, Inc.).</p>
<p>The <a href="http://gregsramblings.com/2011/10/06/how-phonegap-impacts-how-we-evangelize-flex/PhoneGap%20announcement%20at%20MAX%202011" >PhoneGap announcement at MAX 2011</a> really got a lot of people excited (including me!), and it raised a few questions about how it changes our jobs as evangelists.  PhoneGap gives us the means to build cross-platform apps with HTML5 with hooks into the device&#8217;s native APIs (see my <a href="http://gregsramblings.com/2011/10/06/what-is-phonegap/">previous post</a>).  Having new things to show off to developers and customers is always a good thing, especially when this new thing lets us stretch our new HTML5 muscles on mobile devices.  I&#8217;m already playing around with using <a href="http://labs.adobe.com/technologies/edge/" >Adobe Edge</a> to animate some interactions in a mobile app (stay tuned!).</p>
<p>As a technical evangelist talking to developers, having PhoneGap in my arsenal removes the  &#8221;HTML vs Flash/Flex&#8221; religion  from the discussion and allows us to have a real conversation about which technology is the best solution for the requirements at hand.</p>
<p>Here&#8217;s an analogy:  If I worked for a company that sells tile flooring, it would be tough for me to convince someone that tile is the best choice for a particular room because they will expect me to say that tile is best for everything.  Conversely, if I worked for a company that sells wood flooring, they expect me to say wood is best.  However, if I work for a company that sells both types of flooring, I can have a real discussion about which is best on a room by room basis because I will have credibility in both types of flooring.</p>
<p>Now the conversation starts at a higher level and allows me to be more effective at demonstrating the value that Adobe offers to anyone building mobile apps.</p>
<p>There are clearly use-cases where PhoneGap will indeed be the better choice because of the lightweight nature, broader device support and the availability of the required skillset to build these types of apps.  However, there will continue to be use-cases that go beyond the capabilities of HTML5 and will demand the more capable Flash/Flex platform.  Features such as collaboration, complex UIs, handling of large data sets, real-time data processing, and rich data visualization are just a few examples where HTML5 simply won&#8217;t cut it today.  However, as the capabilities of the platforms evolve, Adobe is in a good position to provide solutions across the spectrum.</p>
<p>Our team is in rapid learning mode now, but that&#8217;s why we do this job.  New products, new technologies and new ways of approaching problems is what fuels us.  We&#8217;re basically professional learners.  During the next few months, you&#8217;ll see more content related to PhoneGap as well as the new features coming in Flex 4.6, and much more.  Fun, fun!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/10/06/how-phonegap-impacts-how-we-evangelize-flex/&amp;title=How%20PhoneGap%20impacts%20how%20we%20evangelize%20Flex" id="wpa2a_12"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/10/06/how-phonegap-impacts-how-we-evangelize-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is PhoneGap?</title>
		<link>http://gregsramblings.com/2011/10/06/what-is-phonegap/</link>
		<comments>http://gregsramblings.com/2011/10/06/what-is-phonegap/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 02:45:59 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3183</guid>
		<description><![CDATA[Earlier this week at Adobe MAX, it was announced that Adobe had started the process (signed a definitive agreement) of acquiring Nitobi, the makers of PhoneGap. After this announcement, I had multiple conversations with conference attendees and found that several of them really had no idea what PhoneGap is. Some thought it was a JavaScript [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this week at Adobe MAX, it was <a href="http://www.phonegap.com/2011/10/03/nitobi-enters-into-acquisition-agreement-with-adobe-2/" >announced</a> that Adobe had started the process (signed a definitive agreement) of acquiring Nitobi, the makers of PhoneGap. After this announcement, I had multiple conversations with conference attendees and found that several of them really had no idea what PhoneGap is. Some thought it was a JavaScript framework that competes with JQuery or Sencha; others thought it was something that converted JavaScript to native Objective C or Java.  Both of these are incorrect &#8211; not even close&#8230; so I decided to write a quick blog post to explain.</p>
<p>Since I&#8217;m more familiar with Android than iOS, I&#8217;ll explain how it works for Android.</p>
<p>First, you create a new Android project in Eclipse (requires the Android SDK), add the phonegap.jar file to the lib folder, and make a few tweaks to the manifest and other files (details <a href="http://www.phonegap.com/start#android" >here</a>). The main java file is modified as follows:</p>
<pre class="brush: java; highlight: [11]; title: ; notranslate">
package com.gregwilson.gregpg1;

import com.phonegap.*;
import android.os.Bundle;

public class GregPG1Activity extends DroidGap {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl(&quot;file:///android_asset/www/index.html&quot;);
    }
}
</pre>
<p>Notice the highlighted line (line 11) &#8212;  We&#8217;ve created a native Android app, and this native app loads <strong>android_assets/www/index.html</strong> in WebView when launched.  WebView is a class in the Android SDK that allows you to display web pages as a part of your layout.  It&#8217;s like having a web browser inside of your app and uses the device&#8217;s existing implementation of WebKit.  In iOS, it&#8217;s UIWebView.  Other mobile OSes use similar techniques.</p>
<p>Below is my project in both Eclipse (Android) and Xcode (iOS).  The web application is in the www folder indicated by the red arrows.</p>
<p><img class="aligncenter size-full wp-image-3184" title="adobephonegap" src="http://gregsramblings.com/wp-content/uploads/2011/10/adobephonegap.png" alt="" width="900" height="361" /></p>
<p>Now you simply compile, build, deploy like any other Android project.</p>
<p>Basically, PhoneGap apps are HTML/JS/CSS apps that run within the WebView (or equiv) component. If you are like me, at this point you are thinking, &#8220;Uh &#8211; that&#8217;s lame &#8211; is that it? I can do that today without any additional software&#8221;.</p>
<p>But there&#8217;s more&#8230; PhoneGap extends the WebView class to give it hooks back to the device itself and exposed them as JavaScript.  Remember the jar file that is in the project?  The project also includes a <strong>phonegap.js</strong> file, which exposes many new functions that make this much more than simply displaying a web page in a WebView component.</p>
<p>Check out the code below for accessing the device GPS (copied from one of the many great examples from <a href="http://docs.phonegap.com" >http://docs.phonegap.com</a>).  If you create an PhoneGap project and copy the code below to your index.html file, you can see it run.</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Device Properties Example&lt;/title&gt;

    &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot; src=&quot;phonegap.js&quot;&gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;

    // Wait for PhoneGap to load
    //
    document.addEventListener(&quot;deviceready&quot;, onDeviceReady, false);

    // PhoneGap is ready
    //
    function onDeviceReady() {
        navigator.geolocation.getCurrentPosition(onSuccess, onError);
    }

    // onSuccess Geolocation
    //
    function onSuccess(position) {
        var element = document.getElementById('geolocation');
        element.innerHTML = 'Latitude: '           + position.coords.latitude              + '&lt;br /&gt;' +
                            'Longitude: '          + position.coords.longitude             + '&lt;br /&gt;' +
                            'Altitude: '           + position.coords.altitude              + '&lt;br /&gt;' +
                            'Accuracy: '           + position.coords.accuracy              + '&lt;br /&gt;' +
                            'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + '&lt;br /&gt;' +
                            'Heading: '            + position.coords.heading               + '&lt;br /&gt;' +
                            'Speed: '              + position.coords.speed                 + '&lt;br /&gt;' +
                            'Timestamp: '          + new Date(position.timestamp)          + '&lt;br /&gt;';
    }

    // onError Callback receives a PositionError object
    //
    function onError(error) {
        alert('code: '    + error.code    + '\n' +
              'message: ' + error.message + '\n');
    }

    &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p id=&quot;geolocation&quot;&gt;Finding geolocation...&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Now your &#8220;web app&#8221; has access to Accelerometer, Camera, Compass, Contacts, and many other device capabilities.</p>
<h3>Some observations:</h3>
<ul>
<li>Since the app itself is super small, it loads crazy fast &#8211; less than one second on my HTC Inspire and iPad 2.  You probably won&#8217;t even need a splash screen.</li>
<li>The framework is simple and lightweight, so the resulting app has a very small memory footprint. This allows apps to work on older and slower hardware like the original iPhone and older BlackBerry phones.</li>
<li>The PhoneGap docs and examples are fantastic &#8211; clear and concise.  I was able to copy/paste every sample and see the results. (one note &#8212; the phonegap-1.1.0.js for Android is different than the phonegap-1.1.0.js for iOS &#8211; I initially made the mistake of assuming they were identical and killed a few hours trying to figure out why certain samples wouldn&#8217;t run)</li>
<li>The platform support is broad. As of this article, PhoneGap supports iOS (iPhone, iPhone 3G/3Gs/4/4S, iPad 1/2, Android (all versions), BlackBerry OS 4.6 and newer, WebOS, Symbian, Bada and they have recently started to support Windows Mobile. See <a href="http://www.phonegap.com/about/features" >http://www.phonegap.com/about/features</a> for a list of what&#8217;s supported on each.</li>
<li>Your HTML/JS/CSS run in the native WebView so you are free to use any frameworks you desire such as JQuery Mobile, Sencha, whatever. PhoneGap gives you a WebView/UIWebView with hooks to the device. The rest is up to you.</li>
<li>PhoneGap is free, open-source and will become an Apache project very soon (translation &#8211; it will remain free).</li>
<li>PhoneGap is extendable via a plugin model giving you a bridge between native code capabilities and JavaScript.</li>
<li>There is already a great collection of community-created plugins at <a href="https://github.com/phonegap/phonegap-plugins" >https://github.com/phonegap/phonegap-plugins</a>.</li>
<li>I haven&#8217;t figured out a good way to debug these types of apps yet.  I suspect that this will be a bit of a challenge.  There is a console.log() function that will send messages back to your Eclipse console.  When the camera sample wasn&#8217;t working, I really had no clues as to why.  It&#8217;s likely that I&#8217;m missing something, so it&#8217;s too early to judge.</li>
</ul>
<h3>PhoneGap Build</h3>
<p>As you start building mobile apps in any technology, you soon discover that each platform has it&#8217;s own deployment steps and tooling requirments (some of which are amazingly tedious and error-prone).  For example, to build a native iOS app, you use Xcode, which only runs on Mac OS X.  To build for BlackBerry phones, you have to use their tooling that only runs on Windows.  To build for both platforms, you&#8217;ll need two machines (or use virtualization).  This is why <a href="http://build.phonegap.com" >http://build.phonegap.com</a> was created.  The service allows you to upload your www project folder (or give it a GitHub URL) and it will package your app for the supported platforms.  The specific steps are documented at <a href="https://build.phonegap.com/docs/start" >https://build.phonegap.com/docs/start</a>.  NOTE: Adobe has stated that this service will continue as part of the recently announced &#8220;<a href="http://www.adobe.com/products/creativecloud.html" >Adobe Creative Cloud</a>&#8221; but no details have been provided nor has any pricing been announced.</p>
<h3>What&#8217;s next</h3>
<p>If you&#8217;re intrigued, I encourage you to go to <a href="http://phonegap.com" >http://phonegap.com</a>, where you&#8217;ll find everything you need to build an app. I was able to get a Hello World app running on both Android and iOS in under 30 minutes (not counting the downloading of Xcode).  The &#8220;Getting Started&#8221; section is excellent.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/10/06/what-is-phonegap/&amp;title=What%20is%20PhoneGap?" id="wpa2a_14"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/10/06/what-is-phonegap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A super simple approach to Splash Screens for Flex Mobile Apps</title>
		<link>http://gregsramblings.com/2011/09/25/flex-splash-screen-sizes-easy-approach/</link>
		<comments>http://gregsramblings.com/2011/09/25/flex-splash-screen-sizes-easy-approach/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 03:35:31 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3144</guid>
		<description><![CDATA[If you are fairly new to mobile app development with Flash or Flex, I bet you have run into the following issue when creating your splash screens &#8212; You create a splash image that looks great when the device is held in portrait orientation: &#8230;but then when you turn it landscape, you get the white [...]]]></description>
			<content:encoded><![CDATA[<p>If you are fairly new to mobile app development with Flash or Flex, I bet you have run into the following issue when creating your splash screens &#8212; You create a splash image that looks great when the device is held in portrait orientation:</p>
<p><a href="http://gregsramblings.com/wp-content/uploads/2011/09/app-portrait-good-orig.jpg"><img class="aligncenter size-full wp-image-3160" title="app-portrait-good-orig" src="http://gregsramblings.com/wp-content/uploads/2011/09/app-portrait-good-orig.jpg" alt="" width="215" height="388" /></a></p>
<p>&#8230;but then when you turn it landscape, you get the white borders (or whatever your app background color is):</p>
<p><img class="aligncenter size-full wp-image-3157" title="app-landscape-letterbox-bad" src="http://gregsramblings.com/wp-content/uploads/2011/09/app-landscape-letterbox-bad.jpg" alt="" width="391" height="207" /></p>
<p>&#8230;so you change the splashScreenScaleMode property to &#8220;<em>stretch</em>&#8221; and you get this (destroys the image):</p>
<p><img class="aligncenter size-full wp-image-3161" title="app-landscape-stretched-bad" src="http://gregsramblings.com/wp-content/uploads/2011/09/app-landscape-stretched-bad.jpg" alt="" width="391" height="207" /></p>
<p>&#8230;so then you start looking into how to include multiple splash screens, which requires a custom preloader and additional image work.</p>
<div class="woo-sc-box note  square " style="padding-left:15px;background-image:none;"><strong>Here&#8217;s a quick and simple solution</strong>: Put your splashScreenScaleMode back to &#8220;none&#8221;. Create your splash screen image as a square, and make the side dimensions equal to the length of the device. For example, if the screen is 480&#215;320, make it 480&#215;480, but make sure your artwork fits within the center 320&#215;320. When the app starts, the splash screen is auto centered.</div>
<p>Below is the same splash screen, but as you can see, I used a single square image that works with both orientations.</p>
<p><img class="aligncenter size-full wp-image-3163" title="app-autoorient-good" src="http://gregsramblings.com/wp-content/uploads/2011/09/app-autoorient-good.jpg" alt="" width="665" height="392" /></p>
<p>What about handling multiple device sizes? The same technique works, as long as you keep the content within the center square that has a width/height equal to the short side of the smallest device you intend to install on.</p>
<p>Below are two images; one for tablets, and one for phones. I&#8217;ve drawn the portrait and landscape edges of several popular devices.</p>
<p><strong>Tablets:</strong><br />
The largest tablet I&#8217;ve seen is the Motorola Zoom and Samsung Galaxy Tab 10.1, both of which are 1280&#215;800, so my diagram below assumes that it is the largest possible resolution by making the splash screen image 1280&#215;1280:</p>
<div id="attachment_3151" class="wp-caption aligncenter" style="width: 810px"><a href="http://gregsramblings.com/wp-content/uploads/2011/09/easy-splash-tablet.jpg"><img class="size-full wp-image-3151 " title="easy-splash-tablet-800" src="http://gregsramblings.com/wp-content/uploads/2011/09/easy-splash-tablet-800.jpg" alt="" width="800" height="800" /></a><p class="wp-caption-text">Click for full-size</p></div>
<p><strong>Phones:</strong><br />
Phones come in many resolutions. The image below assumes that the largest resolution is 960&#215;640 (iPhone 4), so the image is 960&#215;960:</p>
<div id="attachment_3152" class="wp-caption aligncenter" style="width: 620px"><a href="http://gregsramblings.com/wp-content/uploads/2011/09/easy-splash-phones.jpg"><img class="size-full wp-image-3152 " title="easy-splash-phones-600" src="http://gregsramblings.com/wp-content/uploads/2011/09/easy-splash-phones-600.jpg" alt="" width="610" height="610" /></a><p class="wp-caption-text">Click for full-size</p></div>
<p>Depending on your splash screen design, you could get away with only two images, one for tablets and one for phones. I typically do three images, one for the low-resolution iPhone 3Gs, one for other phones, and one for tablets.</p>
<p>If you are building an app that targets multiple device resolutions, I suggest you use the code below as your preloader. It assumes three images &#8211; tablet, high-res phones, low-res phones. It selects the image based on the length of the longest edge of the screen.</p>
<pre class="brush: as3; title: ; notranslate">
// Based on original DPI-based code by Jason San Jose at http://www.adobe.com/devnet/flex/articles/mobile-skinning-part2.html#articlecontentAdobe_numberedheader_5
// Improved by Christophe Coenraets to select image based on length of longest edge of device - http://coenraets.org
// Simplied by Greg Wilson to use only 3 images for all devices
package
{
	import flash.desktop.NativeApplication;
	import flash.display.NativeWindow;
	import flash.display.Stage;
	import flash.display.StageAspectRatio;
	import flash.display.StageOrientation;
	import flash.system.Capabilities;

	import mx.core.DPIClassification;
	import mx.core.mx_internal;

	import spark.preloaders.SplashScreen;

	use namespace mx_internal;

	public class MultiDPISplashScreen extends SplashScreen
	{
		[Embed(source=&quot;assets/splash-tablet.png&quot;)]
		private var SplashImageTablet:Class;

		[Embed(source=&quot;assets/splash-high-phone.png&quot;)]
		private var SplashImageHighPhone:Class;

		[Embed(source=&quot;assets/splash-low-phone.png&quot;)]
		private var SplashImageLowPhone:Class;

		public function MultiDPISplashScreen()
		{
			super();
		}

		override mx_internal function getImageClass(dpi:Number, aspectRatio:String):Class
		{
			var min:int = Math.min(Capabilities.screenResolutionX, Capabilities.screenResolutionY);

			if (min &gt; 960)
				return SplashImageTablet;
			else if (min &gt; 320)
				return SplashImageHighPhone;
			else
				return SplashImageLowPhone;
		}
	}
}
</pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/09/25/flex-splash-screen-sizes-easy-approach/&amp;title=A%20super%20simple%20approach%20to%20Splash%20Screens%20for%20Flex%20Mobile%20Apps" id="wpa2a_16"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/09/25/flex-splash-screen-sizes-easy-approach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VShieldUpdate process spiking CPU after Mac OS X Lion upgrade – FIX</title>
		<link>http://gregsramblings.com/2011/09/20/vshieldupdate-cpu-lion-macosx/</link>
		<comments>http://gregsramblings.com/2011/09/20/vshieldupdate-cpu-lion-macosx/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 21:39:39 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3137</guid>
		<description><![CDATA[I&#8217;m writing this article because it took me longer than expected to find an answer to this fairly simple problem.  Hopefully this post will save you some time. Problem: After updating to OS X Lion, I noticed that the fans were spinning constantly and my battery was being quickly drained.  A quick look at the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing this article because it took me longer than expected to find an answer to this fairly simple problem.  Hopefully this post will save you some time.</p>
<p><strong>Problem</strong>: After updating to OS X Lion, I noticed that the fans were spinning constantly and my battery was being quickly drained.  A quick look at the activity monitor showed a process called VShieldUpdate.</p>
<p>VShieldUpdate is a virus scanning app that is part of VMWare Fusion.  For some reason, the updater for this app gets hung after updating to Lion.</p>
<p><strong>Solution</strong>:  Uninstall it with the following commands (from Terminal):</p>
<div class="woo-sc-box note   " style="padding-left:15px;background-image:none;">
cd /usr/local/vscanx<br />
./VirusScan\ Uninstall.command<br />
</div>
<p>After a couple of seconds, life returns to normal.  My VMWare images might be missing some virus protection, but for me, that&#8217;s not a problem.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/09/20/vshieldupdate-cpu-lion-macosx/&amp;title=VShieldUpdate%20process%20spiking%20CPU%20after%20Mac%20OS%20X%20Lion%20upgrade%20&%238211;%20FIX" id="wpa2a_18"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/09/20/vshieldupdate-cpu-lion-macosx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Adobe MAX session – Migration to the Cloud – How Do I Get There?</title>
		<link>http://gregsramblings.com/2011/09/20/my-adobe-max-session-migration-to-the-cloud-how-do-i-get-there/</link>
		<comments>http://gregsramblings.com/2011/09/20/my-adobe-max-session-migration-to-the-cloud-how-do-i-get-there/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 19:14:40 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://gregsramblings.com/?p=3123</guid>
		<description><![CDATA[During the past year, I&#8217;ve learned a lot about various cloud computing offerings including Amazon EC2 / S3 / CloudFront / Beanstalk / RDS / etc., Rackspace Cloud, Salesforce.com, Cloud Foundry, Heroku, and of course, the growing number of Adobe cloud-related offerings.  I&#8217;ve also learned that &#8220;cloud&#8221; is probably the most overused word I&#8217;ve come [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 410px"><img class=" " src="http://gallery.tigeraerial.com/Photography/Looking-out-the-airplane/DSCF0664/147004441_QDFbC-S.jpg" alt="" width="400" height="300" /><p class="wp-caption-text">I had WiFi on this flight... Cloud Computing? <img src='http://gregsramblings.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p></div>
<p>During the past year, I&#8217;ve learned a lot about various cloud computing offerings including Amazon EC2 / S3 / CloudFront / Beanstalk / RDS / etc., Rackspace Cloud, Salesforce.com, Cloud Foundry, Heroku, and of course, the growing number of Adobe cloud-related offerings.  I&#8217;ve also learned that &#8220;cloud&#8221; is probably the most overused word I&#8217;ve come across in 20+ years in technology!  I&#8217;ve put together a crash course MAX session to introduce people to what cloud computing is really all about.  My goal is to use only a few slides and spend most of the session doing some real demos that really show off what&#8217;s cool in cloud computing.   It&#8217;ll be action packed, so come check it out!  The information is below:</p>
<p><strong>When: Wednesday, October 5, 11:00 a.m. &#8211; 12:00 p.m, I&#8217;m doing the following session at Adobe MAX 2011</strong></p>
<p><a href="https://max.adobe.com/schedule/by-session/session/S4660" ><strong>Migration to the Cloud: How Do I Get There?</strong></a></p>
<p>Cut through the hype and see what cloud computing is really all about. Take a tour of cloud infrastructure-as-a-service (IaaS) and platform-as-a-service (PaaS) solutions. Watch a live deployment of a server infrastructure that supports a new mobile app built with Adobe Flex. Learn how to create a new virtual server, configure it, and bring it online—all in a few minutes. Then see how the infrastructure is horizontally scaled to support 1,000,000+ users. During the demonstration, you&#8217;ll learn about reliability, redundancy, disaster recovery, geographic distribution, and other important considerations for migrating to the cloud.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http://gregsramblings.com/2011/09/20/my-adobe-max-session-migration-to-the-cloud-how-do-i-get-there/&amp;title=My%20Adobe%20MAX%20session%20&%238211;%20Migration%20to%20the%20Cloud%20&%238211;%20How%20Do%20I%20Get%20There?" id="wpa2a_20"><img src="http://gregsramblings.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://gregsramblings.com/2011/09/20/my-adobe-max-session-migration-to-the-cloud-how-do-i-get-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

