<?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>habdas.org</title>
	<atom:link href="http://www.habdas.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.habdas.org</link>
	<description>A tech blog by Josh Habdas</description>
	<lastBuildDate>Sat, 04 Feb 2012 21:23:42 +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>Drupal 7 for WordPress Admins</title>
		<link>http://www.habdas.org/2012/01/29/drupal-7-for-wordpress-admins/</link>
		<comments>http://www.habdas.org/2012/01/29/drupal-7-for-wordpress-admins/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 00:09:42 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[cmf]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=2146</guid>
		<description><![CDATA[WordPress continues to become more and more sophisticated as time draws on, with a constantly improving admin dashboard and easy-to-use plugin architecture. And themes like Twenty Eleven give both bloggers and web developers something to appreciate. But while WordPress is a great CMS for &#8230; <a href="http://www.habdas.org/2012/01/29/drupal-7-for-wordpress-admins/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>WordPress continues to become more and more sophisticated as time draws on, with a constantly improving admin dashboard and easy-to-use plugin architecture. And themes like <a href="http://wordpress.org/extend/themes/twentyeleven">Twenty Eleven</a> give both bloggers and web developers something to appreciate. But while WordPress is a great CMS for personal blogs, it&#8217;s not well suited for more complex applications such as e-commerce, discussion forums, or collaborative wikis. <a href="http://drupal.org/">Drupal</a>, on the other hand and by design, excels at all of the above. This article will look at some of the similarities and differences between WordPress and Drupal 7, explain how to accomplish some of the less intuitive administration procedures in Drupal, share some newbie gotchas and timesavers, and provide a list of modules useful to get a new Drupal site off the ground. It is assumed readers are new to Drupal but have a familiarity with using the <a href="http://wordpress.com/">WordPress</a> blogging platform.</p>
<h2>Similarities between WordPress and Drupal</h2>
<p>Drupal and WordPress aren&#8217;t all that dissimilar at first glance. For instance, both of them are CMSs. Both run using PHP. Both allow users to install different themes and plug-ins/modules. And both can be used to create a blog. Even when moving between the CMS dashboards not a lot changes. Listed here are a number of comparable features and the different terms used for them between the two apps:</p>
<table>
<tbody>
<tr>
<th>WordPress 3</th>
<th>Drupal 7</th>
</tr>
<tr>
<td>Users</td>
<td>People</td>
</tr>
<tr>
<td>Settings</td>
<td>Configuration</td>
</tr>
<tr>
<td>Plugins</td>
<td>Modules</td>
</tr>
<tr>
<td>Posts, Pages &amp; Media</td>
<td>Content</td>
</tr>
<tr>
<td>Widgets</td>
<td>Blocks</td>
</tr>
<tr>
<td>Menu</td>
<td>Menus</td>
</tr>
<tr>
<td>Tags &amp; Categories</td>
<td>Taxonomy</td>
</tr>
<tr>
<td>Themes</td>
<td>Themes</td>
</tr>
</tbody>
</table>
<p>As you can see both Drupal and WordPress contain a number of similar features, even with similar names. But regardless of the name, not all of the features are exactly alike. For example, due to its modular nature and dependency management capabilities, Drupal users will find themselves installing and managing a greater number of modules. Some modules must be installed on top of the Drupal core simply to achieve the same level of functionality provided by WordPress out of the box, such as with Drupal&#8217;s <a href="http://drupal.org/node/120631">URL aliases</a> and <a href="http://drupal.org/project/pathauto">Pathauto</a>. However, the flexibility and extensive configuration options typically built into Drupal modules often outweigh the additional effort involved in setting them up correctly. This is one area where WordPress and Drupal begin to diverge.</p>
<h2>Differences in content management underpinnings</h2>
<p>WordPress and Drupal content types draw clear comparisons, mainly due to the limited set of types available in WordPress. Notice how Drupal can contain a number of content types whereas WordPress uses only two. In Drupal, not everything is a page or a post as with WordPress:</p>
<table>
<tbody>
<tr>
<th>WordPress 3</th>
<th>Drupal 7</th>
</tr>
<tr>
<td>Post</td>
<td>Article</td>
</tr>
<tr>
<td>Page</td>
<td>Basic page</td>
</tr>
<tr>
<td>–</td>
<td>Blog entry</td>
</tr>
<tr>
<td>–</td>
<td>Book page</td>
</tr>
<tr>
<td>–</td>
<td>Poll</td>
</tr>
</tbody>
</table>
<p>Another area where Drupal stands apart from WordPress is in its extensible, open-source architecture. Based on the concept of building with <a href="http://drupal.org/documentation/modules/node">nodes</a> and <a href="http://drupal.org/project/views">views</a>, Drupal gives a number of ways to customize the site. However, the in-depth customization capabilities also present a small learning curve for users more familiar with WordPress.</p>
<h2>Tricky site administration concepts in Drupal</h2>
<p>The following administration concepts are not immediately obvious when coming from WordPress to Drupal:</p>
<ul>
<li>Creating PHP snippets</li>
<li>Injecting custom CSS into a theme</li>
</ul>
<p>PHP snippets provide a method for executing PHP code from an arbitrary block of content sitting in one of the theme&#8217;s block regions. Snippet blocks can supplement existing modules or function as self-contained module replacement. To create one first enable the <em>PHP filter module</em>, pre-installed as a part of Drupal 7 core. Once enabled, add a new content block and choose the <em>PHP code</em> content format. Enter PHP code into the block body, name the code snippet (consider prefixing with &#8220;Snippet:&#8221;, and save and position in one of a theme&#8217;s block regions to activate.</p>
<p>Cosmetic tweaks can be made to the site using <a href="http://drupal.org/project/css_injector">CSS Injector</a>. For example, <a href="http://drupal.org/project/disqus">DISQUS</a> users viewing the comment system using the Drupal 7 Garland theme may notice alignment issues in the DISQUS UI as a result of cascading bullet styles. To resolve this issue add a CSS injector rule titled &#8220;Garland-Disqus List Style Fix&#8221; and enter the following code:<br />
<code><br />
#dsq-content li,<br />
#dsq-recentcomments li {<br />
list-style: none;<br />
}<br />
</code><br />
Save any changes and reload the page, or, if CSS caching is enabled, clear the cache from the <em>Performance</em> section of the site&#8217;s Configuration.</p>
<h2>Drupal newb gotchas and timesavers</h2>
<p>A few tips that just may save a frustrating amount of time digging:</p>
<ul>
<li>If a timeout error occurs during module installation of or while saving configuration, <a href="http://drupal.org/node/207036">increase the memory limit</a> in PHP.ini. It is possible for timeout errors to cause partial module installations which, if left unaddressed, can lead to confusion later on.</li>
<li>When installing libraries for the <a href="http://drupal.org/project/wysiwyg">Wysiwyg</a> module buttons may not be visible by default, true for <em>all</em> libraries in Drupal 7. Individual buttons can be enabled, however, via the Buttons and Plugins dialog accessible from the Wysisyg profiles list (look for the Edit link). If no buttons are enabled for the library installed it may appear as if Wysiwyg or its libraries are not functioning properly, so don&#8217;t be fooled.</li>
</ul>
<h2>Modules to get Drupal up and running quickly</h2>
<p>The following list of Drupal 7 modules was compiled as <a href="http://www.canthespam.org/">canthespam.org</a> was pieced together and represents a list of some of the modules used to create one of the world&#8217;s first and only spamblogs:</p>
<ul>
<li>Start with the <a href="http://drupal.org/node/1182798">Drupal 7 top ten contributed modules</a> which includes must-have modules such as <a href="http://drupal.org/project/google_analytics">Google Analytics</a> and <a href="http://drupal.org/project/webform">Webform</a> as well as other modules likely to be rolled into the core for the Drupal 8 release.</li>
<li><a href="http://drupal.org/project/disqus">DISQUS</a> is a comments platform that helps you build an active community from your website&#8217;s audience.</li>
<li><a href="http://drupal.org/project/fivestar">Fivestar</a> adds a clean, attractive voting widget to nodes in Drupal 5, node and comments in Drupal 6, and any entity in Drupal 7.</li>
<li><a href="http://drupal.org/project/mollom">Mollom</a> is an “intelligent” content moderation web service. By monitoring content activity on all sites in the Mollom network, Mollom is in a unique position to determine if a post is potentially spam; not only based on the posted content, but also on the past activity and reputation of the poster.</li>
<li><a href="http://drupal.org/project/gravatar">Gravatar</a> integrates Drupal user pictures with the service provided by Gravatar, a globally recognized avatar.</li>
<li><a href="http://drupal.org/project/colorbox">Colorbox</a> is a light-weight, customizable lightbox plugin for jQuery 1.3 through 1.6. This module allows for integration of Colorbox into Drupal.</li>
<li><a href="http://drupal.org/project/css_injector">CSS Injector</a> Allows administrators to inject CSS into the page output based on configurable rules. It&#8217;s useful for adding simple CSS tweaks without modifying a site&#8217;s official theme. There&#8217;s also a <a href="http://drupal.org/project/js_injector">JS Injector</a> based off CSS Injector currently in development.</li>
<li><a href="http://drupal.org/project/twitter">Twitter</a> provides API integration with the Twitter microblogging service and (theoretically) API-compatible alternatives like Identi.ca.</li>
<li><a href="http://drupal.org/project/globalredirect">Global redirect</a> is a module that performs 301 redirects and helps prevent crawlers from indexing a single page from multiple paths.</li>
<li><a href="http://drupal.org/project/xmlsitemap">XML Sitemap</a> creates a sitemap that conforms to the sitemaps.org specification.</li>
<li><a href="http://drupal.org/project/shortcode">Shortcode</a> provides a shortcode API and basic shortcodes through Drupal filters.</li>
<li><a href="http://drupal.org/project/adsense">AdSense</a> provides web content providers with the means to earn revenue from visitors by displaying ads from Google AdSense™ advertising service on their sites.</li>
<li><a href="http://drupal.org/project/location">Location</a> allows real-world geographic locations to be associated with Drupal nodes, including people, places, and other content.</li>
<li><a href="http://drupal.org/project/backup_migrate">Backup and Migrate</a> simplifies the task of backing up and restoring your Drupal database or copying your database from one Drupal site to another.</li>
</ul>
<h2>Summing things up</h2>
<p>As explained in this article, WordPress and Drupal share a number of similarities and differences. At the surface level both share a lot of dashboard features in common. But both CMSs have some significant differences in their use content types, and management and display of data. The article explored similarities and differences between WordPress and Drupal, explained some of the less intuitive site administration concepts, shared a number of gotchas and provided a listing of useful modules for starting a new site. Drupal is a significant departure from the polish WordPress site administrators may have grown used to, but it also offers many additional capabilities not suited for WordPress.<br />
<script type="text/javascript">// <![CDATA[
 google_ad_client = "ca-pub-0082825360919078"; /* habdas.org banner ad */ google_ad_slot = "2440223718"; google_ad_width = 468; google_ad_height = 60;
// ]]&gt;</script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">// <![CDATA[</p>
<p>// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2012/01/29/drupal-7-for-wordpress-admins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JSONView for Google Chrome</title>
		<link>http://www.habdas.org/2012/01/25/jsonview-google-chrome-extension/</link>
		<comments>http://www.habdas.org/2012/01/25/jsonview-google-chrome-extension/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 06:37:41 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[debugging tools]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=2008</guid>
		<description><![CDATA[Learned about the JSONView Google Chrome extension. A handy tool for viewing formatted JSON data in the browser. There&#8217;s also an add-on for Firefox.]]></description>
			<content:encoded><![CDATA[<p>Learned about the <a href="https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc">JSONView Google Chrome extension</a>. A handy tool for viewing formatted JSON data in the browser. There&#8217;s also an add-on for Firefox.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2012/01/25/jsonview-google-chrome-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMS Spamblog</title>
		<link>http://www.habdas.org/2012/01/15/sms-spamblog/</link>
		<comments>http://www.habdas.org/2012/01/15/sms-spamblog/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 04:43:49 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Internet Marketing]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1976</guid>
		<description><![CDATA[Started a new website to blog the endless droves of SMS spam texts I receive: Can the Spam. Unfortunately after several days of little to no organic traffic from Google I started asking around for suggestions. One kind soul suggested &#8230; <a href="http://www.habdas.org/2012/01/15/sms-spamblog/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Started a new website to blog the endless droves of SMS spam texts I receive: <a href="http://www.canthespam.org">Can the Spam</a>. Unfortunately after several days of little to no organic traffic from Google I started asking around for suggestions. One kind soul suggested that using AdWords might help boost organic search traffic. After about three days using AdWords the ad campaign was disabled in violation of the AdWords bridge page policy. I&#8217;m guessing that&#8217;s the main reason Google isn&#8217;t sending much traffic. Hopefully links copied from the text messages aren&#8217;t being considered as affiliate links. I&#8217;ve gone through and tweaked them so the site now shows a warning pop-up dialog before users are redirected to untrustworthy links in a pop-up window. And now I&#8217;m hoping some of the link juice from this post will help bump the site&#8217;s credibility. But only time will tell&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2012/01/15/sms-spamblog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get started with PHP in Eclipse</title>
		<link>http://www.habdas.org/2012/01/15/get-started-with-php-in-eclipse/</link>
		<comments>http://www.habdas.org/2012/01/15/get-started-with-php-in-eclipse/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 23:31:45 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1833</guid>
		<description><![CDATA[Eclipse is a powerful IDE supporting many different languages, including PHP. Unfortunately, many Eclipse installations do not provide PHP language support right out of the box—some assembly required. This article will focus on getting Eclipse set-up for PHP development and local debugging. &#8230; <a href="http://www.habdas.org/2012/01/15/get-started-with-php-in-eclipse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Eclipse is a powerful IDE supporting many different languages, including PHP. Unfortunately, many Eclipse installations do not provide PHP language support right out of the box—some assembly required. This article will focus on getting Eclipse set-up for PHP development and local debugging.</p>
<p>To get started, first download and install the <abbr title="PHP Development Tools">PDT</abbr> plug-in for Eclipse. <a href="http://wiki.eclipse.org/PDT/Installation">PDT installation instructions</a> are available on Eclipsepedia. Once installed, a PHP perspective will become available, providing PHP syntax highlighting and code completion, as well as the ability to create PHP project types. The basics are now in place for developing PHP applications, save for local debugging.</p>
<p>Debugging PHP apps locally requires users to install a separate debugging tool. Two currently available PHP debugging solutions include XDebug and Zend. We will focus on getting set-up using Zend as it is relatively easy to install and use. We will not discuss XDebug because, at the time of writing, attempts to get XDebug up-and-running ended in nothing but frustration.</p>
<p>To use Zend for PHP debugging first <a href="http://us.php.net/downloads">download and install PHP</a>, if not already available, which is required for Zend to work properly. With PHP installed, <a href="http://www.zend.com/en/products/server-ce/downloads ">download and install Zend Server CE</a>, the free community edition. When the server is running return to Eclipse to configure it to use Zend:</p>
<ol>
<li>Start or restart the Eclipse IDE.</li>
<li>Create a new PHP Project in Eclipse.<br />
<strong>Note:</strong> Eclipse may default the project contents to the local Zend server. This can be changed if desired so that projects are consolidated in a single workspace.</li>
<li>Open project Properties dialog and enable project specific settings from the PHP Debug panel.</li>
<li>If not already selected, choose Zend Debugger as the PHP Debugger and set the Base Path to &#8220;/&#8221;, the local root.<br />
<strong>Note:</strong> Zend CE restricts users from hosting multiple PHP projects simultaneously.</li>
<li>Choose OK to save settings and close the Properties dialog.</li>
</ol>
<p>With Zend installed and Eclipse configured it should now possible to debug PHP on the localhost. To do so create a simple PHP file of the hello world variety, select it in the PHP Explorer (visible from the PHP Perspective), press <strong>F11</strong> or choose <strong>Debug As&#8230;</strong> and select <strong>PHP Web Page</strong> from the Debug As dialog. The Launch URL should be something like http://localhost/index.php. If the Launch URL includes the project name, Zend debugging may not function as expected.</p>
<p>Once debugging is started the browser will open as well as the Debug perspective in Eclipse. The Eclipse Debug perspective will be stopped on the first PHP instruction encountered and ready for debugging. Press <strong>F8</strong> to resume processing and then switch back to the PHP Perspective. Local PHP debugging is now available.<br />
<script type="text/javascript">// <![CDATA[
google_ad_client = "ca-pub-0082825360919078";
/* habdas.org banner ad */
google_ad_slot = "2440223718";
google_ad_width = 468;
google_ad_height = 60;
// ]]&gt;</script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">// <![CDATA[</p>
<p>// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2012/01/15/get-started-with-php-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improve SEO with AdWords Keyword Tool</title>
		<link>http://www.habdas.org/2011/12/20/adwords-keyword-tool/</link>
		<comments>http://www.habdas.org/2011/12/20/adwords-keyword-tool/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 03:07:19 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1934</guid>
		<description><![CDATA[Working on SEO and need to find out which keywords to optimize for? Need ideas keyword changes? The AdWords Keyword Tool ought to help.]]></description>
			<content:encoded><![CDATA[<p>Working on SEO and need to find out which keywords to optimize for? Need ideas keyword changes? The <a href="https://adwords.google.com/select/KeywordToolExternal" title="https://adwords.google.com/select/KeywordToolExternal">AdWords Keyword Tool</a> ought to help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2011/12/20/adwords-keyword-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Running Ice Cream Sandwich on the HTC HD2</title>
		<link>http://www.habdas.org/2011/12/05/running-ice-cream-sandwich-on-the-htc-hd2/</link>
		<comments>http://www.habdas.org/2011/12/05/running-ice-cream-sandwich-on-the-htc-hd2/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 03:35:51 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Mobile Computing]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hd2]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1840</guid>
		<description><![CDATA[The HD2 proves yet again to have been a great purchase. Just as soon as Android evolved to version 4.0 with ICS so too did ICS AOSP Hit the HD2. Continue reading to learn how to direct-boot Ice Cream Sandwich using Nandroid &#8230; <a href="http://www.habdas.org/2011/12/05/running-ice-cream-sandwich-on-the-htc-hd2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The HD2 proves yet again to have been a great purchase. Just as soon as Android evolved to version 4.0 with <abbr title="Ice Cream Sandwich">ICS</abbr> so too did <a href="http://www.xda-developers.com/android/ics-aosp-hits-the-hd2/">ICS AOSP Hit the HD2</a>. Continue reading to learn how to direct-boot Ice Cream Sandwich using Nandroid on the HTC HD2.</p>
<p>To get started, <strong>complete my existing instructions</strong> to <a href="http://www.habdas.org/2011/01/17/direct-boot-gingerbread-on-the-hd2#install-hard-spl">install HSPL</a>, <a href="http://www.habdas.org/2011/01/17/direct-boot-gingerbread-on-the-hd2#upgrade-to-a-new-radio">upgrade to a new radio</a> and <a href="http://www.habdas.org/2011/01/17/direct-boot-gingerbread-on-the-hd2#install-magldr">install MAGLDR</a>. These updates are needed to flash custom ROMs on the HD2. (Note: <a href="http://forum.xda-developers.com/showthread.php?t=901305">cLK</a> can be as an alternative to MAGLDR in some cases, but both require HSPL be installed first.) Installation times vary widely by skill level. Once installed, return here to finish the rest.</p>
<p>As a debugging tool for beta ROM installations <strong>download and store a functional copy of Android Gingerbread</strong> on the SD card, in case there is a need to revert from <abbr title="Ice Cream Sandwich">ICS</abbr> to an earlier, bug-free version of Android. The <a href="http://www.habdas.org/2011/01/17/direct-boot-gingerbread-on-the-hd2/#current-setup">Gingerbread ROM I used to use</a> worked for me.</p>
<p><strong>Download and install Ice Cream Sandwich</strong> from the <a href="http://forum.xda-developers.com/forumdisplay.php?f=928">XDA forums</a>. (See <a href="#current-setup">my most recent configuration</a> for ideas on which to install.) With MAGLDR it is easiest to upgrade using the <a href="http://forum.xda-developers.com/showthread.php?t=898913">ClockworkMod Recovery</a> utility, accessible via the MAGLDR main menu once installed. To access ClockworkMod Recovery, enter MAGLDR (reset phone with &#8220;shut down&#8221; key depressed) and choose &#8220;AD Recovery&#8221; from the main menu. The resulting menu system provides methods for installing and restoring ROMs from ZIP archives stored on the SD card. (Note: If upgrading from an existing Android NAND ROM, the system partition size may need to be increased before installation as per the ROM instructions.)</p>
<div>
<figure><iframe src="http://www.youtube.com/embed/LChoaaLBTDQ?rel=0" frameborder="0" width="560" height="315"></iframe></p>
<figcaption>Video depicting ICS installation procedure using <abbr title="ClockworkMod">CWM</abbr> Recovery.</figcaption>
</figure>
</div>
<p>If installation problems occur please be sure to follow <strong>all</strong> of the instructions provided with the ROM. Once installed, if things seem buggy, consider <a href="http://www.habdas.org/2011/01/17/direct-boot-gingerbread-on-the-hd2/">direct-booting Gingerbread</a>, or, if using the old <a href="http://www.habdas.org/2010/08/21/running-android-on-htc-hd2-leo/">dual-booting Android and WinMo</a>, switch over to a direct-boot method such as this one. Or simply try simply copying the set-up below. Those with an <a href="http://www.habdas.org/2010/10/10/managing-passwords-on-android/">Android password management system</a> will revel knowing how much time their careful planning has saved them once again.</p>
<p>HD2 set-up (last updated <time datetime="2011-12-17">17-Dec-11</time>):</p>
<p><strong>Device:</strong> TMoUS HTC HD2<br />
<strong>HSPL:</strong> <a href="http://forum.xda-developers.com/showpost.php?p=6891358&amp;postcount=1893">CotullaHSPL3 (SPL-2.08-HSPL)</a><br />
<strong>Radio:</strong> <a href="http://forum.xda-developers.com/showthread.php?t=611787">2.15.50.14</a><br />
<strong>Boot Loader: </strong><a href="http://forum.xda-developers.com/showpost.php?p=10197474&amp;postcount=1">MAGLDR v1.13</a><br />
<strong>Android ROM:</strong> <a title="[14.Dec.2011] (Android 4.0.1) (AOSP ICS ROM for HD2) NexusHD2-IceCreamSandwich Beta6" href="http://forum.xda-developers.com/showthread.php?t=1354267">NexusHD2-IceCreamSandwich Beta6</a><br />
<strong>Recovery:</strong> <a href="http://forum.xda-developers.com/showthread.php?t=898913">ClockworkMod Recovery v1.3</a><br />
<script type="text/javascript"><!--
google_ad_client = "ca-pub-0082825360919078";
/* habdas.org banner ad */
google_ad_slot = "2440223718";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2011/12/05/running-ice-cream-sandwich-on-the-htc-hd2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Push Upstream with EGit and Eclipse Indigo</title>
		<link>http://www.habdas.org/2011/11/21/push-upstream-with-egit-and-eclipse-indigo/</link>
		<comments>http://www.habdas.org/2011/11/21/push-upstream-with-egit-and-eclipse-indigo/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 05:02:18 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[egit]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1799</guid>
		<description><![CDATA[While working through the EGit User Guide I ran into difficulty pushing files upstream using Eclipse Indigo SR1 (build 20110916-0149). The difficulties manifested themselves at first with an &#8220;auth failed&#8221; error, which was quickly resolved with a visit to Stack Overflow. But &#8230; <a href="http://www.habdas.org/2011/11/21/push-upstream-with-egit-and-eclipse-indigo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>While working through the <a href="http://wiki.eclipse.org/EGit/User_Guide">EGit User Guide</a> I ran into difficulty pushing files upstream using Eclipse Indigo SR1 (build 20110916-0149). The difficulties manifested themselves at first with an &#8220;auth failed&#8221; error, which was quickly resolved with a <a href="http://stackoverflow.com/questions/3601805/auth-problem-with-egit-and-github">visit to Stack Overflow</a>. But after fixing that problem I began seeing the following error while trying to push to a remote repo:</p>
<blockquote>
<pre><strong>Cannot get remote repository refs.</strong></pre>
<pre><strong>Reason:</strong>
<strong>ssh://git@github.com:22: Passphrase for C:\Users\...\.ssh\id_rsa</strong></pre>
</blockquote>
<p>Initial research indicated that Eclipse/EGit SSH authentication <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326526">has</a> <a href="http://egit.eclipse.org/r/#change,3796">problems</a>. So I just kept messing around until I was able to get things working. After a little Googling and even more fiddling I found two solutions:</p>
<ul>
<li><a href="#simple-fix">A simple fix that skips the passphrase altogether</a>; and</li>
<li><a href="#using-putty">A more robust fix that uses PuTTY for file transfers over SSH</a>.</li>
</ul>
<h2 id="simple-fix">Simple fix that skips the passphrase and uses only Eclipse</h2>
<ol>
<li>Use ssh-keygen from Git Bash, <a href="http://stackoverflow.com/questions/3601805/auth-problem-with-egit-and-github/5965118#5965118">or Eclipse</a>, to generate an RSA key, but do so <em>without</em> setting a passphrase.<strong><br />
</strong></li>
<li>Open and copy the public key from ~/.ssh/id_rsa.pub and add it to GitHub via the SSH Public Keys section in <a href="https://github.com/account/">Account Settings</a>.</li>
<li>Restart Eclipse. (Note: Not doing this was tripping me up for a while.)</li>
<li>Try the <a href="http://wiki.eclipse.org/EGit/User_Guide#Push_Upstream">Push Upstream steps</a> again from the EGit User Guide.</li>
</ol>
<p>The obvious pitfall here is that a passphrase cannot be associated with the RSA key. If skipping the passphrase is out of the question the following solution a little more up your alley.</p>
<h2 id="using-putty">Use PuTTY for file transfers over SSH from within Eclipse</h2>
<ol>
<li>Download the following <a href="http://www.putty.org/">PuTTY</a> binaries: Plink, Pageant and PuTTYgen.</li>
<li>Use PuTTYgen to generate a new public/private key pair <em>with</em> a passphrase. Open and copy the public key from ~/.ssh/id_rsa.pub and add it to GitHub via the SSH Public Keys section in <a href="https://github.com/account/">Account Settings</a>. Save the private key file in your ~/.ssh directory for later.</li>
<li>Run Pageant and add the key created during the last step, entering the passhprase when prompted. Leave this utility running.</li>
<li>Cache the server&#8217;s host key in the registry by:</li>
<ol>
<li>From a bash prompt like Git Bash execute the following command (assumes Plink binary is accessible from the current path): plink git@github.com</li>
<li>Verify the RSA key fingerprint matches GitHub&#8217;s and, if they match, choose to store the key in the registry.</li>
</ol>
<li>Add a new environment variable called GIT_SSH and point it to the downloaded Plink binary (e.g. &#8220;C:\Windows\system32\plink.exe&#8221;). EGit will attempt to use this binary for SSH, if configured.</li>
<li>Restart Eclipse, ensuring Pageant is still running with the private key available.</li>
<li>Try the <a href="http://wiki.eclipse.org/EGit/User_Guide#Push_Upstream">Push Upstream steps</a> again from the EGit User Guide.</li>
</ol>
<p>If done correctly, Eclipse should allow pushes to the remote repo without any further configuration, though Pageant must be running with the private key configured for it to work correctly. If problems continue see the <a href="http://help.github.com/ssh-issues/">SSH issues</a> in the GitHub help documentation for additional information. Good luck!<br />
<script type="text/javascript"><!--
google_ad_client = "ca-pub-0082825360919078";
/* habdas.org banner ad */
google_ad_slot = "2440223718";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2011/11/21/push-upstream-with-egit-and-eclipse-indigo/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Mobile Emulators &amp; Simulators: The Ultimate Guide</title>
		<link>http://www.habdas.org/2011/11/13/mobile-emulators-simulators-the-ultimate-guide/</link>
		<comments>http://www.habdas.org/2011/11/13/mobile-emulators-simulators-the-ultimate-guide/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 19:42:18 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Mobile Computing]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[browser compatibility]]></category>
		<category><![CDATA[debugging tools]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile web]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1788</guid>
		<description><![CDATA[Developing for mobile? You&#8217;re gonna need an emulator. Here&#8217;s a list of emulators and simulators that can be used to test your mobile webapps]]></description>
			<content:encoded><![CDATA[<p>Developing for mobile? You&#8217;re gonna need an emulator. Here&#8217;s a <a href="http://www.mobilexweb.com/emulators">list of emulators and simulators</a> that can be used to test your mobile webapps</p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2011/11/13/mobile-emulators-simulators-the-ultimate-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switching from Firebug to Chrome Dev Tools</title>
		<link>http://www.habdas.org/2011/09/26/switching-from-firebug-to-chrome-dev-tools/</link>
		<comments>http://www.habdas.org/2011/09/26/switching-from-firebug-to-chrome-dev-tools/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 16:35:43 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[debugging tools]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1760</guid>
		<description><![CDATA[Here&#8217;s the presentation given at Google I/O this year by Paul Irish and Pavel Feldman that got me to switch to Chrome Developer Tools promptly after watching: http://youtu.be/N8SS-rUEZPg. If you&#8217;re a front-end web developer and haven&#8217;t seen this yet take a look. &#8230; <a href="http://www.habdas.org/2011/09/26/switching-from-firebug-to-chrome-dev-tools/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the presentation given at Google I/O this year by Paul Irish and Pavel Feldman that got me to switch to Chrome Developer Tools promptly after watching: <a title="Google I/O 2011: Chrome Dev Tools Reloaded" href="http://youtu.be/N8SS-rUEZPg">http://youtu.be/N8SS-rUEZPg</a>. If you&#8217;re a front-end web developer and haven&#8217;t seen this yet take a look. It just may change the way you work.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/N8SS-rUEZPg?rel=0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2011/09/26/switching-from-firebug-to-chrome-dev-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Cross Browser Polyfills</title>
		<link>http://www.habdas.org/2011/09/22/html5-cross-browser-polyfills/</link>
		<comments>http://www.habdas.org/2011/09/22/html5-cross-browser-polyfills/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 04:04:06 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[html5 javascript UI]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1757</guid>
		<description><![CDATA[Recently ran across this impressive list of HTML5 cross-browser shim/polyfills on GitHub on the Modernizer Wiki: https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills. A perfect excuse to try out the Link format in the WordPress Twenty Eleven theme.]]></description>
			<content:encoded><![CDATA[<p>Recently ran across this impressive list of HTML5 cross-browser shim/polyfills on GitHub on the Modernizer Wiki: <a href="https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills">https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills</a>. A perfect excuse to try out the Link format in the WordPress Twenty Eleven theme.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2011/09/22/html5-cross-browser-polyfills/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

Served from: www.habdas.org @ 2012-02-04 23:34:56 -->
