<?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>gnapse.com &#187; Software</title>
	<atom:link href="http://gnapse.com/blog/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://gnapse.com/blog</link>
	<description>whatever comes to my mind</description>
	<lastBuildDate>Wed, 02 May 2012 15:08:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Unit conversion extension for Alfred</title>
		<link>http://gnapse.com/blog/2012/02/08/unit-conversion-extension-for-alfred/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unit-conversion-extension-for-alfred</link>
		<comments>http://gnapse.com/blog/2012/02/08/unit-conversion-extension-for-alfred/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 20:23:43 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[alfredapp]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[unit conversion]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=345</guid>
		<description><![CDATA[I&#8217;m pretty much a fan of unit conversion tools. Everywhere I read references to measurements of temperature, weight, speed. These are often given in imperial or US units, but I&#8217;m more familiar with the metric system. I often resort to Google for this, because they had this very clever idea of incorporating a unit conversion tool [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pretty much a fan of unit conversion tools. Everywhere I read references to measurements of temperature, weight, speed. These are often given in imperial or US units, but I&#8217;m more familiar with the metric system. I often resort to Google for this, because they had this very clever idea of incorporating a <a href="http://www.google.com/insidesearch/features.html#unit" target="_blank">unit conversion tool</a> into their search engine. The problem was that I could only use this while online, and an offline alternative was an essential need.</p>
<p>Then it hit me. What if <a href="http://www.alfredapp.com/" target="_blank">Alfred</a> be able to do it? I&#8217;m a developer, and Alfred is extensible, so I got onto a new project to develop an Alfred extension to do this, just like Google does. Today I think my project is stable enough so I decided to go public with it. You can download the extension <a href="http://cl.ly/3a1I3i1O3v0A361S1I2e" target="_blank">here</a>.</p>
<h2>How to use it</h2>
<p>I&#8217;m assuming you&#8217;re already an <a href="http://www.alfredapp.com/" target="_blank">Alfred</a> user with the <a href="http://www.alfredapp.com/powerpack/" target="_blank">Powerpack</a> installed. You&#8217;ll also be needing <a href="http://growl.info" target="_blank">Growl</a> to be able to see the results of your queries. After downloading and installing this extension, you can trigger unit conversions with the keyword <strong><code>cv</code></strong> (as in <span style="text-decoration: underline;">c</span>on<span style="text-decoration: underline;">v</span>ert). You can change that to something else of your preference, of course.</p>
<div id="attachment_337" class="wp-caption alignright" style="width: 310px"><a href="http://gnapse.com/blog/wp-content/uploads/2012/02/alfred-unit-conversion.png"><img class="size-medium wp-image-337 " title="Alfred Unit Conversion" src="http://gnapse.com/blog/wp-content/uploads/2012/02/alfred-unit-conversion-300x87.png" alt="Unit Conversion with Alfred" width="300" height="87" /></a><p class="wp-caption-text">Performing a unit conversion query with Alfred</p></div>
<p>Using it is simple. You open the Alfred command window, type the extension keyword and the query and press ENTER. You&#8217;ll see the results shown in a Growl notification, and you&#8217;ll also get the results copied to the clipboard.</p>
<p>As for the queries and how to phrase them, I won&#8217;t make an exhaustive explanation here. I rather prefer to list here some examples of valid unit conversion queries that you can perform. This will give you an idea of how to phrase queries and a sample of the variety of units supported out-of-the-box. The following are examples of valid queries. Be sure to type them in Alfred preceded with the keyword for the extension.</p>
<ul>
<li>10 km in miles</li>
<li>100 kph in miles per hour</li>
<li>50 pounds in kg</li>
<li>134.5 seconds in minutes</li>
<li>200 milliliters in cubic centimeters</li>
<li>2 acre foot per year in liters per day</li>
<li>3 newtons in lb ft / square second</li>
<li>-40 fahrenheit in celcius</li>
<li>1 megaparsec in astronomical units</li>
<li>6.5e17 decays per minute in megabecquerels</li>
<li>10 gallons in liters</li>
</ul>
<p>Note how you can refer to units by their long or short name, and also how <a href="http://en.wikipedia.org/wiki/SI_prefix" target="_blank">unit prefixes</a> (like <em>kilo-</em>, <em>milli-</em>, etc.) are supported too. Long unit names can be given in plural or singular form.</p>
<p>You can also convert sums of quantities&#8230;</p>
<ul>
<li>1.5 weeks + 2 days in hours</li>
<li>2 miles, 3 furlongs and 25 yards in km</li>
<li>100 km/h, 10 m/s and 2 feet per minute in miles per hour</li>
<li>3 hours 15 minutes in seconds</li>
</ul>
<p>&#8230;or omit certain parts of the query. The following are valid queries too. Try them to see the results.</p>
<ul>
<li>3 leagues</li>
<li>ounces in grams</li>
<li>parsec</li>
<li>3 minutes 23 seconds</li>
</ul>
<p>The math is performed internally without loss of precision, so you get very accurate results. Also, you can work with really large or small numbers. Try the following queries:</p>
<ul>
<li>1 cubic parsec in cubic picometers</li>
<li>1e-50 meV in petajoules</li>
</ul>
<h2>Supported units and measurements</h2>
<p>From the examples above you can get an idea of the range of units and physical properties it supports. I won&#8217;t list all the units here, but just to give an idea, this extension supports units over a wide variety of physical properties, most of which are listed below.</p>
<dl>
<dt><strong>Most common properties</strong></dt>
<dd><a href="http://en.wikipedia.org/wiki/Unit_of_length" target="_blank">Length</a> (distance), <a href="http://en.wikipedia.org/wiki/Unit_of_time" target="_blank">time</a>, <a href="http://en.wikipedia.org/wiki/Category:Units_of_temperature" target="_blank">temperature</a>, <a href="http://en.wikipedia.org/wiki/Mass" target="_blank">mass</a> (<a href="http://en.wikipedia.org/wiki/Mass_versus_weight" target="_blank">weight</a>), <a href="http://en.wikipedia.org/wiki/Area#Units" target="_blank">area</a>, <a href="http://en.wikipedia.org/wiki/Volume#Units" target="_blank">volume</a>, <a href="http://en.wikipedia.org/wiki/Density" target="_blank">density</a>, <a href="http://en.wikipedia.org/wiki/Speed#Units" target="_blank">speed</a>, <a href="http://en.wikipedia.org/wiki/Category:Units_of_acceleration" target="_blank">acceleration</a>, <a href="http://en.wikipedia.org/wiki/Angular_velocity" target="_blank">angular velocity</a>, <a href="http://en.wikipedia.org/wiki/Momentum" target="_blank">momentum</a>, <a href="http://en.wikipedia.org/wiki/Force" target="_blank">force</a>, <a href="http://en.wikipedia.org/wiki/Category:Units_of_pressure" target="_blank">pressure</a>, <a href="http://en.wikipedia.org/wiki/Work_(physics)" target="_blank">work</a> (energy), <a href="http://en.wikipedia.org/wiki/Power_(physics)" target="_blank">power</a>, <a href="http://en.wikipedia.org/wiki/Plane_angle" target="_blank">plane angle</a>, <a href="http://en.wikipedia.org/wiki/Solid_angle" target="_blank">solid angle</a>, <a href="http://en.wikipedia.org/wiki/Amount_of_substance" target="_blank">amount of substance</a>.</dd>
<dt><strong>Electricity and magnetism</strong></dt>
<dd><a href="http://en.wikipedia.org/wiki/Electric_current" target="_blank">Electric current</a>, <a href="http://en.wikipedia.org/wiki/Electric_charge" target="_blank">electric charge</a>, <a href="http://en.wikipedia.org/wiki/Voltage" target="_blank">voltage</a>, <a href="http://en.wikipedia.org/wiki/Electrical_resistance_and_conductance" target="_blank">resistance/conductance</a>, <a href="http://en.wikipedia.org/wiki/Capacitance" target="_blank">capacitance</a>, <a href="http://en.wikipedia.org/wiki/Magnetic_flux" target="_blank">magnetic flux</a>, <a href="http://en.wikipedia.org/wiki/Inductance" target="_blank">inductance</a>.</dd>
<dt><strong>Light and radiation</strong></dt>
<dd><a href="http://en.wikipedia.org/wiki/Luminous_intensity" target="_blank">Luminous intensity</a>, <a href="http://en.wikipedia.org/wiki/Luminous_flux" target="_blank">luminous flux</a>, <a href="http://en.wikipedia.org/wiki/Illuminance" target="_blank">illuminance</a>, <a href="http://en.wikipedia.org/wiki/Luminous_energy" target="_blank">luminous energy</a> (quantity of light), <a href="http://en.wikipedia.org/wiki/Absorbed_dose" target="_blank">radiation dose</a>, <a href="http://en.wikipedia.org/wiki/Ionizing_radiation" target="_blank">ionizing radiation</a>, <a href="http://en.wikipedia.org/wiki/Radioactive_decay" target="_blank">radioactivity</a>.</dd>
<dt><strong>Other properties</strong></dt>
<dd><a href="http://en.wikipedia.org/wiki/Category:Units_of_catalytic_activity" target="_blank">Catalytic activity</a>, <a href="http://en.wikipedia.org/wiki/Reciprocal_length" target="_blank">reciprocal length</a>, <a href="http://en.wikipedia.org/wiki/Acoustic_impedance" target="_blank">acoustic impedance and resistance</a>, <a href="http://en.wikipedia.org/wiki/Thermal_resistance" target="_blank">thermal resistance</a>, <a href="http://en.wikipedia.org/wiki/Viscosity#Dynamic_viscosity" target="_blank">dynamic viscosity</a>, <a href="http://en.wikipedia.org/wiki/Molar_concentration" target="_blank">molar concentration</a>, <a href="http://en.wikipedia.org/wiki/Mass_flow" target="_blank">mass flow</a>, <a href="http://en.wikipedia.org/wiki/Volumetric_flow_rate" target="_blank">volumetric flow</a>.</dd>
</dl>
<p>In addition to physical phenomena, this extension also supports conversion of currency and <a href="http://en.wikipedia.org/wiki/Units_of_information" target="_blank">units of digital information</a>, such as data size and data rate (e.g. bits, bytes, kilobytes, kbits per second). In this last case, in addition to the <a href="http://en.wikipedia.org/wiki/SI_prefix" target="_blank">SI prefixes</a>, it also supports <a href="http://en.wikipedia.org/wiki/Binary_prefix" target="_blank">binary prefixes</a> like <em>kibi-</em>, <em>mebi-</em>, etc.</p>
<h3>A note about currency exchange rates</h3>
<p>In the case of currency conversion, the extension will attempt to update currency exchange rates from the Internet at most once every hour, but it keeps a local cached version. The extension can only update the cached version when it&#8217;s used, even if it is not used for currency conversion. But if you spend many hours or days without triggering the extension while being online, you&#8217;ll end up with outdated currency conversions.</p>
<p>Also note that currency exchange rates given by this application are for information purposes only. It will always be approximate to what you&#8217;ll actually get when exchanging money. For your information, currency exchange rates are obtained by the extension from a wonderful public API hosted at <a href="http://openexchangerates.org/" target="_blank">openexchangerates.org</a>, which is based on the <a href="http://currencybot.github.com/" target="_blank">currency bot</a> project.</p>
<h2>What&#8217;s next</h2>
<p>First of all, enjoy it. You can also <a href="http://gnapse.com/blog/contact/">contact me</a> to send feedback, bug reports and suggestions of improvements and new features.</p>
<p>If you&#8217;re a developer, you can also contribute to the unit conversion engine that powers this extension. It&#8217;s an open source Java library that I authored and published on github. You can check it out <a title="Metric: Unit Conversion Library for Java" href="https://github.com/gnapse/metric" target="_blank">here</a>.</p>
<p><a href="https://www.dropbox.com/s/jqdgen96z59ihpj/Unit%20Conversion.alfredextension" target="_blank"><strong>Download the Alfred Unit Conversion Extension</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2012/02/08/unit-conversion-extension-for-alfred/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Unit Conversion for Alfred and Java</title>
		<link>http://gnapse.com/blog/2012/02/07/unit-conversion-for-alfred/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unit-conversion-for-alfred</link>
		<comments>http://gnapse.com/blog/2012/02/07/unit-conversion-for-alfred/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 22:14:53 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[alfredapp]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[offline]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[unit conversion]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=335</guid>
		<description><![CDATA[Have you ever tried typing unit conversion queries in Google&#8217;s search box? You&#8217;ll get something like this. Imagine if you could that offline, or even be able to have this functionality available to incorporate it in scripts or other programs as well. Imagine you could have this functionality as an extension in Mac&#8217;s AlfredApp. Introducing Metric: [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever tried typing unit conversion queries in Google&#8217;s search box? You&#8217;ll get something like this.</p>
<div id="attachment_336" class="wp-caption aligncenter" style="width: 552px"><a href="http://gnapse.com/blog/wp-content/uploads/2012/02/google-unit-conversion.png"><img class="size-full wp-image-336" title="Google Unit Conversion" src="http://gnapse.com/blog/wp-content/uploads/2012/02/google-unit-conversion.png" alt="Google Unit Conversion" width="542" height="293" /></a><p class="wp-caption-text">Performing unit conversion queries using Google&#39;s search box.</p></div>
<p>Imagine if you could that offline, or even be able to have this functionality available to incorporate it in scripts or other programs as well. Imagine you could have this functionality as an extension in Mac&#8217;s <a title="Alfred App" href="http://www.alfredapp.com/" target="_blank">AlfredApp</a>.</p>
<h2>Introducing Metric: A Unit Conversion Library for Java</h2>
<p>I needed this functionality to develop an extension for Alfred, the most wonderful Mac launcher, and I wanted it to work offline, without having to retrieve the results from Google or another online source. So I created a Java library that&#8217;s capable of performing unit conversion queries expressed in natural English. I called it simply <strong>Metric</strong>, made it open source, and <a href="https://github.com/gnapse/metric" target="_blank">published it on Github</a>. You can clone it, fork it, play with it or contribute back if you will. The code is fairly well documented and organized. The library includes some supporting sub-libraries that may be used independently in other projects, including a plural/singular inflector for the English language.</p>
<h2>Metric meets Alfred</h2>
<p>The original goal of developing a library like <strong>Metric</strong> was to use it as an Alfred extension. Alfred (<a href="http://www.alfredapp.com/" target="_blank">http://www.alfredapp.com/</a>) is a wonderful productivity application for Mac, much like Quicksilver or Google&#8217;s Quick Search Box, but  a little bit better in my opinion. You can grab a copy of Metric as an Alfred extension <a title="Unit Conversion extension for AlfredApp" href="http://cl.ly/340O1y0n0p3c1b2D3n30" target="_blank">here</a>. After you install this extension, you can type unit conversion queries on Alfred using <code>cv</code> as keyword.</p>
<div id="attachment_337" class="wp-caption aligncenter" style="width: 658px"><a href="http://gnapse.com/blog/wp-content/uploads/2012/02/alfred-unit-conversion.png"><img class="size-full wp-image-337" title="Alfred Unit Conversion" src="http://gnapse.com/blog/wp-content/uploads/2012/02/alfred-unit-conversion.png" alt="Unit Conversion with Alfred" width="648" height="190" /></a><p class="wp-caption-text">Performing a unit conversion query with Alfred</p></div>
<p>This Alfred extension shows the results of the conversion using Growl, but I guess if you already have a Mac chances are that you Growl installed. If not, you can get it <a title="Growl" href="http://growl.info/" target="_blank">here</a>.</p>
<h2>Links and resources</h2>
<ul>
<li><a href="https://github.com/gnapse/metric" target="_blank">Metric source code repository on Github</a></li>
<li><a href="http://cl.ly/340O1y0n0p3c1b2D3n30" target="_blank">Unit Conversion extension for AlfredApp</a></li>
<li><a href="http://www.alfredapp.com/" target="_blank">Alfred App</a> and <a href="http://growl.info/" target="_blank">Growl</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2012/02/07/unit-conversion-for-alfred/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Opera 11 brings tab stacks and some improvements</title>
		<link>http://gnapse.com/blog/2010/12/03/opera-11-brings-tab-stacks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=opera-11-brings-tab-stacks</link>
		<comments>http://gnapse.com/blog/2010/12/03/opera-11-brings-tab-stacks/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 16:27:05 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[tabbed browsing]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=276</guid>
		<description><![CDATA[Opera invented tabs and many other innovations that other most successful browsers have adopted over the years. In fact Opera is the browser that has lead more innovative features than any other browser. And yet somehow this browser –my favorite one till Google Chrome appeared– has never been considered a major one except in some [...]]]></description>
			<content:encoded><![CDATA[<p>Opera invented tabs and many other innovations that other most successful browsers have adopted over the years. In fact Opera is the browser that has lead more <a class="print-href" href="http://operawiki.info/operainnovations" target="_blank">innovative features</a> than any other browser. And yet somehow this browser –my favorite one till Google Chrome appeared– has never been considered a major one except in some niche markets.</p>
<p>Personally I always considered it the best browser ever, although with great grief I had to hand over that title to Chrome, which has everything really worth taking from Opera, plus several improvements that were hard to ignore. It was the first browser able to claim being nearly as fast as the Norwegian big O, plus <a href="http://www.chromium.org/developers/design-documents/sandbox" target="_blank">sandboxing</a>, well-achieved <a class="print-href" href="https://chrome.google.com/extensions/" target="_blank">extensions</a> framework, uncluttered interface and a great attention to detail from its designers.</p>
<p>But I didn&#8217;t throw away Opera for this. Today I took a glimpse of what&#8217;s expected for their upcoming <a href="http://www.opera.com/browser/next/" target="_blank">11th edition</a>, and I have to say I was impressed but not surprised at all: I expected no less from the best browser vendor in the world.</p>
<p>Opera 11 beta brings up several improvements over past versions. Keeping up with the competition is the least they could, and they seem to be doing really well in terms of features: better HTML5 support, smaller installer, better performance, safer browsing, secure and informative address field, private navigation mode, and a great new overdue addition which I haven&#8217;t yet explored in its entirety: <a class="print-href" href="https://addons.labs.opera.com/" target="_blank">extensions</a>.<span id="more-276"></span></p>
<h2>Something really new</h2>
<p>But all these only puts it on par with competitors, feature-wise. What&#8217;s really hard these days is to come up with new stuff; unprecedented functionality on an era where everything seems to be already invented. That&#8217;s what&#8217;s truly amazing of a new version of any software, particularly web browsers. And Opera has always been one of the bests at this.</p>
<p>This 11th version takes tabs to a next level: <a href="http://www.youtube.com/watch?v=5hqSGGk1YTI" target="_blank">tab groups or stacks</a>. Users can manually group tasks on stacks that can be expanded or collapsed at will, cleaning up space and clutter on the tab bar. For heavy-weight Internet users like me this is a great idea. Watch <a class="print-href" href="http://www.youtube.com/watch?v=5hqSGGk1YTI" target="_blank">the video at youtube</a> to see how it works, or <a class="print-href" href="http://www.opera.com/browser/next/" target="_blank">download the browser</a> and try it yourself.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/5hqSGGk1YTI?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="550" height="385" src="http://www.youtube.com/v/5hqSGGk1YTI?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>Managing stacks from thumbnails preview</h2>
<p>This feature gets even better when combined with floating thumbnail previews. When you hover the mouse pointer over a collapsed stack, a large floating view appears with a grid of small thumbnail views of each tab in the stack. You can click on the thumbnails in the floating view to switch tabs without having to expand the stack. Watch it working in the following video.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/i0B-euI5uI4?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="550" height="385" src="http://www.youtube.com/v/i0B-euI5uI4?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>What I really miss and I hope it&#8217;ll be included in the final non-beta version, is the ability to specify in the preferences that when middle-clicking links to open in new tabs, these new tabs get automatically stacked with the tab that spawned them. This should of course be optional and not enabled by default, or even made available only with some modifier key while middle-clicking.</p>
<h2>The verdict</h2>
<p>This is still a beta release with some rough edges, specially a little prone to instability and crashing. But it&#8217;s good to know Opera is still heading in a good direction. They lost too much time with stuff like BitTorrent support and <a class="print-href" href="http://www.opera.com/unite/" target="_blank">Opera Unite</a>, instead of focusing in the browsing experience. Hopefully this browser will someday get the attention it deserves.</p>
<p><strong>What do you think about Opera 11 and tab stacks? Do you think this feature will make its way to other browsers in the future? </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/12/03/opera-11-brings-tab-stacks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Taking notes the simple way</title>
		<link>http://gnapse.com/blog/2010/10/20/taking-notes-the-simple-way/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=taking-notes-the-simple-way</link>
		<comments>http://gnapse.com/blog/2010/10/20/taking-notes-the-simple-way/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 15:57:09 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[note-taking]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=248</guid>
		<description><![CDATA[Recently I&#8217;ve been playing around with a few note-taking applications, specially with support for mobile devices such as my iPhone and a simple way to keep notes in sync with my laptop or desktop computers. I was most recently getting along with PlainText, a note-taking iPhone app that stores your notes in a folder in [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been playing around with a few note-taking applications, specially with support for mobile devices such as <a href="http://gnapse.com/blog/2010/02/03/my-new-ipad-nano-aka-iphone/">my iPhone</a> and a simple way to keep notes in sync with my laptop or desktop computers.</p>
<p>I was most recently getting along with <a title="PlainText for iPhone" href="http://itunes.apple.com/us/app/plaintext-dropbox-text-editing/id391254385?mt=8" target="_blank">PlainText</a>, a note-taking iPhone app that stores your notes in a folder in your Dropbox account. It&#8217;s a very simple yet powerful concept, specially for those of us who already use Dropbox. Instead of having yet another syncing environment for notes, they already take advantage of the Dropbox user base out there.</p>
<p>The interface is simple and visually appealing, yet out of the ordinary. The notes are always in sync between the iPhone and the computers thanks to Dropbox, and I can get to organize my notes into folders. No more nasty notes from the default iPhone notes app getting into my mail (whoever thought that notes were related to mail is insane).<span id="more-248"></span></p>
<h2>But then the simple got even simpler&#8230;</h2>
<p><a href="http://gnapse.com/blog/wp-content/uploads/2010/10/simplenote.png"><img class="alignright size-medium wp-image-260" title="SimpleNote" src="http://gnapse.com/blog/wp-content/uploads/2010/10/simplenote-200x300.png" alt="" width="200" height="300" /></a>Today I stumbled on a simpler and better alternative: <a class="print-href" href="http://simplenoteapp.com/" target="_blank">SimpleNote</a>. It&#8217;s an online web service with <a href="http://simplenoteapp.com/downloads/itunes.html" target="_blank">an iPhone app</a>, an <abbr title="Application Programming Interface"><a href="http://simplenoteapp.com/api/">API</a></abbr>, and a set of <a href="http://simplenoteapp.com/downloads/" target="_blank">third-party supporting apps and tools</a> that complete the picture.</p>
<h3>Great features</h3>
<p>The killer <a title="SimpleNotes features" href="http://simplenoteapp.com/features/" target="_blank">features</a> over PlainText are tagging, versioning and sharing. Yes, you read it right.</p>
<p>With SimpleNote you organize your notes with <strong>tags</strong>, instead of placing them on folders. You can associate any number of tags to a single note, and you can also list all notes regardless of tagging. It&#8217;s of course a bit unfair to make this comparison against PlainText, since its Dropbox storage paradigm would not allow for anything else than folders.</p>
<p>You can also <strong>share</strong> notes with other people. I did not found a way to do this on the web app, although there should be. In the iPhone app you can activate sharing, and it&#8217;ll give you a URL, plus the possibility to send an email with an invitation to the share note. I haven&#8217;t tested this though because I still have no one on SimpleNote to share with.</p>
<p>Also worth mentioning are its <strong>versioning</strong> capabilities. You can check past versions of your notes, up to a limit of 10 versions in the past. There&#8217;s a premium non-free plan for a mere $12 a year (that&#8217;s $1 per month) which extends this limit to 30, plus extra features such as no ads, better support, creating notes by email <a class="print-href" title="SimpleNote premium plan" href="http://simplenoteapp.com/premium/" target="_blank">and more</a>.</p>
<h3>On the desktop side of the equation</h3>
<p>On the desktop side there&#8217;s no &#8220;official&#8221; app for SimpleNote, but on the <a class="print-href" title="SimpleNote downloads" href="http://simplenoteapp.com/downloads/" target="_blank">downloads page</a> I found a couple of third-party client applications for Windows and Mac that I am really liking. On the Mac side we have <a class="print-href" href="http://selfcoded.com/justnotes/" target="_blank">JustNotes</a>, which syncs with the online service and supports tagging and searching. On the Windows side I was not expecting much, but it turns out that <a class="print-href" href="http://www.resoph.com/" target="_blank">ResophNotes</a> is a pretty good client with email, printing and <a href="http://daringfireball.net/projects/markdown/" target="_blank">Markdown</a> support. <span style="text-decoration: line-through;">The downside is that it does not support tagging</span>. It did not support tagging until recently, so be sure to have the latest version.</p>
<p>There are some other options for both platforms, specially for the Mac, and there are options for Android as well. There&#8217;s even an Emacs package and extensions for Firefox and Chrome!</p>
<p><strong>What other alternative services do you use for note-taking on the iPhone with desktop-sync support?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/10/20/taking-notes-the-simple-way/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A new way to manage your passwords</title>
		<link>http://gnapse.com/blog/2010/10/13/a-new-way-to-manage-your-passwords/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-way-to-manage-your-passwords</link>
		<comments>http://gnapse.com/blog/2010/10/13/a-new-way-to-manage-your-passwords/#comments</comments>
		<pubDate>Wed, 13 Oct 2010 15:53:52 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Whatever]]></category>
		<category><![CDATA[password manager]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=229</guid>
		<description><![CDATA[In this ever increasing digital world with lots of useful services on the Internet, keeping track of your passwords is a daunting task. Many people end up using one or two passwords for everything, or are otherwise constantly resetting their passwords via email. Luckily there are lots of different choices of password managers, softwares that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gnapse.com/blog/wp-content/uploads/2010/10/300_password0.jpg"><img class="size-full wp-image-242 alignright" title="password_forgotten" src="http://gnapse.com/blog/wp-content/uploads/2010/10/300_password0.jpg" alt="" width="210" height="227" /></a>In this ever increasing digital world with lots of useful services on the Internet, <a class="print-href" title="How do you manage your passwords?" href="http://itickr.com/?p=162" target="_blank">keeping track of your passwords</a> is a daunting task. Many people end up using one or two passwords for everything, or are otherwise constantly resetting their passwords via email.</p>
<p>Luckily there are lots of different choices of <a title="Search for Password Managers at Google" href="http://www.google.com/search?q=password+managers" target="_blank">password managers</a>, softwares that will help you keep a secure database of all this information, sometimes even in a way that they help you collect your passwords as you use them in your browser, autofill login forms, and even generate new random passwords for you.</p>
<p>This is all great, but <strong>I am not convinced</strong>. Random passwords generated and filled into forms, all done by a software tool? I end up not really knowing my passwords. What if the tool ever fails, or its database gets corrupted? What if my hard drive melts and after the fix I get a clean install with no passwords database? I also do not like the idea of passwords being stored digitally, not even encrypted.</p>
<p>So I ended up with a small password managing system that I designed myself. With it <strong>you can still use a conventional password manager</strong>, but in a slightly different way.<span id="more-229"></span></p>
<h2>Grab some passwords&#8230;</h2>
<p>I have a small set of around nine or ten different passwords that I use for all the services and accounts I have access to. These passwords <strong>range across all the spectrum of difficulty and strength</strong>.</p>
<p>Then I <strong>distribute this set of passwords more or less evenly</strong> across the whole spectrum of services and accounts that I have access to. I use strong passwords for the most precious and important services; the dumb passwords for unimportant stuff, like all the garbage sites that require membership for even the dumbest thing; and I leave the medium-range passwords for most of the average-but-important services that most people, including me, use these days.</p>
<h2>&#8230;but store keywords instead</h2>
<p>For this password system to work you really ought to <strong>remember the actual passwords yourself</strong>. The password managing system is mostly just to remember what passwords are used for what access, not to remember the actual passwords. You can keep these associations between user accounts and passwords stored in several different ways, so it&#8217;s pretty easy to use, not needing any specific software. You can use an actual password manager, or you can use an Excel spreadsheet or a simple text file, just as I do. The medium is really up to you.</p>
<p>There are a couple of rules when setting up this associations list</p>
<ol>
<li><strong>Do not store the actual passwords in the associations</strong>, just small bits of text that loosely resemble, reminds you, or have any obscure-for-anybody-else relation to the password. It can be a small bit of the password itself, perhaps a bit tweaked, reversed, or with some phonetical changes. Or it can be something textually unrelated to the password, but having some association with it that only you can devise.</li>
<li><strong>Each password should have at least two different keywords</strong> that you&#8217;ll associate with it, and not just one. This ensures that if somebody ever gets access to this associations, it won&#8217;t be easy to determine what services use the same password.</li>
</ol>
<h2>An example</h2>
<p>I&#8217;ll give you an example with my own passwords and keywords (not really). We&#8217;ll work with a set of six passwords with various levels of strength. Notice in the stronger cases the use of <a class="print-href" title="Leet Speak" href="http://en.wikipedia.org/wiki/Leet" target="_blank">L33T 5PEAK</a> and <a class="print-href" title="Dvorak encoding" href="http://en.wikipedia.org/wiki/Dvorak_encoding" target="_blank">other tweaks</a>.</p>
<table style="border-collapse: collapse; margin-bottom: 10px;" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<th>Password</th>
<th>Explanation</th>
<th>Sample keywords</th>
</tr>
<tr>
<td><code>ReaLY-5tr0n6-p4swrd</code></td>
<td>&#8220;Really strong password&#8221;, tweaked with <a class="print-href" title="Leet Converter" href="http://ermarian.net/services/converters/leet" target="_blank">Leet</a></td>
<td>strong, weak</td>
</tr>
<tr>
<td><code>3krpatYpal</code></td>
<td>&#8220;DvorakTrap&#8221; <a class="print-href" title="Qwerty to Dvorak conterter" href="http://wbic16.xedoloh.com/dvorak.html" target="_blank">converted to Dvorak</a> and slightly tweaked with Leet.</td>
<td>trap, paypal</td>
</tr>
<tr>
<td><code>dst00pid1</code></td>
<td>The stupid one</td>
<td>dummy, foolish</td>
</tr>
<tr>
<td><code>L1ber1an61rL</code></td>
<td><a class="print-href" href="http://en.wikipedia.org/wiki/Liberian_Girl" target="_blank">Liberian Girl</a></td>
<td>africa, thriller, michael, jackson</td>
</tr>
<tr>
<td><code>Manhattan7D1</code></td>
<td><a class="print-href" title="September 11 attacks" href="http://en.wikipedia.org/wiki/September_11_attacks" target="_blank">Manhattan 2001</a>, with the number in <a class="print-href" href="http://en.wikipedia.org/wiki/Hexadecimal" target="_blank">hex notation</a></td>
<td>911, ny, big-apple, wtc</td>
</tr>
<tr>
<td><code>Ernesto117</code></td>
<td>My name and year of birth in <a class="print-href" href="http://en.wikipedia.org/wiki/Octal" target="_blank">octal notation</a></td>
<td>self, me, this, i, yo, moi, je</td>
</tr>
</tbody>
</table>
<p>As you can see, most keywords by itself do not reveal the password, not even remotely. And even if someone ever guesses the relation, the password itself is usually more than the part that links to the keyword, with the further complication of tweaks in the spelling, the use leetspeak and similar encodings, etc.</p>
<p>But remember that <strong>you do not really write down the table above</strong>. What you really do is write down a list of services and accounts, and the keyword that associates a password with it, instead of the actual password. <strong>During the creation of this list below is when you really think about keywords associated to your passwords</strong>.</p>
<table style="border-collapse: collapse; margin-bottom: 10px;" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<th>Service</th>
<th>User name</th>
<th>Password</th>
</tr>
<tr>
<td>WordPress Blog</td>
<td>john23</td>
<td>africa</td>
</tr>
<tr>
<td>Facebook</td>
<td>john23@gmail.com</td>
<td>dummy</td>
</tr>
<tr>
<td>Gmail</td>
<td>john23</td>
<td>weak</td>
</tr>
<tr>
<td>Yahoo</td>
<td>johnnyola</td>
<td>paypal</td>
</tr>
<tr>
<td>Twitter</td>
<td>johnny23</td>
<td>thriller</td>
</tr>
<tr>
<td>MacBook</td>
<td>john</td>
<td>moi</td>
</tr>
<tr>
<td>iphone root</td>
<td>root</td>
<td>911</td>
</tr>
<tr>
<td>iphone ssh</td>
<td>mobile</td>
<td>foolish</td>
</tr>
<tr>
<td>Office Webmail</td>
<td>john.ola</td>
<td>wtc</td>
</tr>
<tr>
<td>Instapaper</td>
<td>johnny23</td>
<td>trap</td>
</tr>
</tbody>
</table>
<p>You can now store this table in whatever format you prefer, and take whatever measures to not loose it. You should also store it in a secure location, but in a way that you can access it whenever you need to lookup for something, or to modify it. <a class="print-href" href="http://www.dropbox.com" target="_blank">Dropbox</a> and <a class="print-href" href="http://www.evernote.com" target="_blank">Evernote</a> are good choices. In Dropbox you can store it in a password protected file as well, if you think you can use some extra security.</p>
<h2>But&#8230;</h2>
<p>Sure this system has some drawbacks. For instance, some people might argue that some password managers also fill out login forms for you when integrated to the web browser. So even if you do use one of these password managers to store just the keywords and not the actual passwords, then the autofill-login-form feature becomes useless. But hey, <a class="print-href" title="The Web is dead. Long live the Internet." href="http://www.wired.com/magazine/2010/08/ff_webrip/all/1" target="_blank">who access content on the Internet via web browsers anymore</a>?</p>
<p><strong>What tools or systems do you use to manage your ever-increasing list of passwords and user accounts?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/10/13/a-new-way-to-manage-your-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Import your iPhone address book into the iPhone simulator</title>
		<link>http://gnapse.com/blog/2010/09/13/import-your-iphone-address-book-into-the-iphone-simulator/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=import-your-iphone-address-book-into-the-iphone-simulator</link>
		<comments>http://gnapse.com/blog/2010/09/13/import-your-iphone-address-book-into-the-iphone-simulator/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 18:11:00 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[address book]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphone simulator]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=214</guid>
		<description><![CDATA[When you are developing an iPhone application that works with the system-wide address book, it&#8217;s sometimes useful to have already some entries to play with when testing the app. Suppose then that you are testing in the simulator, which comes with no contacts at all. You cannot sync your simulator with iTunes, and the simulator [...]]]></description>
			<content:encoded><![CDATA[<p>When you are developing an iPhone application that works with the system-wide address book, it&#8217;s sometimes useful to have already some entries to play with when testing the app. Suppose then that you are testing in the simulator, which comes with no contacts at all. You cannot sync your simulator with iTunes, and the simulator is not integrated into your Mac Address Book, so you have to start creating some contacts manually.</p>
<p>Well, not exactly. If you have a real device (and you should anyway, if you are developing for the platform) and this device has lots of contacts in it, then you can copy the internal address book files into the simulator&#8217;s file system in your Mac. I actually got the tip from <a title="Using your own address book in the iPhone Simulator" href="http://0xced.blogspot.com/2009/01/using-your-own-address-book-in-iphone.html" target="_blank">this blog post</a> after searching on Google a little bit, but it did not worked for me exactly that way. I&#8217;ll let you know why.<span id="more-214"></span></p>
<p>First you have to extract the device&#8217;s address book sqlite files. There are two files actually, and according to their names, one is for the actual contacts, and the other one stores the contact images. Both files are located in <code>/var/mobile/Library/AddressBook/</code> inyour iPhone, so if you have a jailbroken device, then it is as simple as copying through ssh&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">scp</span> mobile<span style="color: #000000; font-weight: bold;">@</span>iphone:Library<span style="color: #000000; font-weight: bold;">/</span>AddressBook<span style="color: #000000; font-weight: bold;">/*</span>  ~<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Application\ Support<span style="color: #000000; font-weight: bold;">/</span>iPhone\ Simulator<span style="color: #000000; font-weight: bold;">/</span>User<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>AddressBook</pre></div></div>

<p>If your device is not jailbroken then it is a bit more complicated. The solution involves extracting the sqlite files from the backups of your device created by iTunes in your Mac whenever you sync. The blog post linked above has a nice script for doing this, although I have not tested it.</p>
<p>But this did not work for me right away. I copied the files into the specified directory and started the simulation just to see the same empty list. So I wandered a bit through the vicinities of that location and I realized that along with the <code>User</code> directory inside <code>~/Library/Application Support/iPhone Simulator</code>, there are a few more directories whose names correspond to the versions of the <abbr title="Software Development Kit">SDK</abbr> installed in the simulator. Since I am running the simulator on iOS 4.0.2, then I copied the files into this directory structure instead, like below</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">scp</span> mobile<span style="color: #000000; font-weight: bold;">@</span>iphone:Library<span style="color: #000000; font-weight: bold;">/</span>AddressBook<span style="color: #000000; font-weight: bold;">/*</span>  ~<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Application\ Support<span style="color: #000000; font-weight: bold;">/</span>iPhone\ Simulator<span style="color: #000000; font-weight: bold;">/</span>4.0.2<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>AddressBook</pre></div></div>

<p>So if the <code>User</code> directory don&#8217;t work for you either, then try looking for the one corresponding to the SDK version that you are running in the simulator.</p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/09/13/import-your-iphone-address-book-into-the-iphone-simulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selectively print link URLs in your wordpress blog</title>
		<link>http://gnapse.com/blog/2010/09/08/selectively-print-link-urls-in-your-wordpress-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=selectively-print-link-urls-in-your-wordpress-blog</link>
		<comments>http://gnapse.com/blog/2010/09/08/selectively-print-link-urls-in-your-wordpress-blog/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 17:52:18 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web programming]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=202</guid>
		<description><![CDATA[Today I was trying to improve the print-view styles of this blog. This is useful not only to actually print on paper, but also when you print to PDF to keep a digital copy of the content. So besides the obvious hiding of sections not relevant on a printed media, like the sidebar, comments form, [...]]]></description>
			<content:encoded><![CDATA[<p>Today I was trying to improve the print-view styles of this blog. This is useful not only to actually print on paper, but also when you print to PDF to keep a digital copy of the content.</p>
<p>So besides the obvious hiding of sections not relevant on a printed media, like the sidebar, comments form, etc., I started to look at what other improvements could be made for a printed version of a web page. I readily searched for and turned to an article I recall having read some time ago in <em>A List Apart</em> about exactly this matter: <a class="print-href" href="http://www.alistapart.com/articles/goingtoprint/" target="_blank">Going to Print</a>.</p>
<p>Following the article&#8217;s suggestions I started customizing margins, backgrounds, font type and size, etc. Then I stumbled upon a very tricky issue they mention: what to do with links? They are clearly of no direct use in printed media since users can&#8217;t click on a paper, but on the other hand it&#8217;s a pity that the extra information conveyed in a link (namely the referenced <abbr title="Uniform Resource Locator">URL</abbr>) gets lost.<span id="more-202"></span></p>
<h3>CSS selectors to the rescue</h3>
<p>The article suggests using an advanced <abbr title="Cascading Style Sheet">CSS2</abbr> technique. Using special selectors we can append after every link, the URL it refers to enclosed in parentheses. This will only be visible using modern and fully CSS2-compliant browsers (Yes, I am staring at you, Internet Explorer).</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#content</span> <span style="color: #6666ff;">.post</span> a<span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot; (&quot;</span> attr<span style="color: #00AA00;">&#40;</span>href<span style="color: #00AA00;">&#41;</span> <span style="color: #ff0000;">&quot;) &quot;</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">90%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>The above rule states that <strong>after</strong> any anchor tag within the post, the href attribute value should be added in parenthesis. It also additionally puts the link in a slightly smaller font so that the link text gets more attention.</p>
<p>However, when I actually tried this I didn&#8217;t like it. The resulting printed view is too cluttered, specially if you have a sizable amount of links in your post, or if some of them reference URLs that are too long and hard to read. It would be really nice if one could selectively apply this printed styling to certain links only.</p>
<p>An apparent solution would be to apply a certain CSS class to the links we want to have this behavior, and then specify in our style sheet that the rule above should only apply to links with this CSS class.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#content</span> <span style="color: #6666ff;">.post</span> a<span style="color: #6666ff;">.print-href</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot; (&quot;</span> attr<span style="color: #00AA00;">&#40;</span>href<span style="color: #00AA00;">&#41;</span> <span style="color: #ff0000;">&quot;) &quot;</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">90%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Note the <code>.print-href</code> class in the CSS selector. We now have to apply this class to all the links in a post that we want to be printed along with the referenced URL.</p>
<p>The problem is that there&#8217;s no straightforward way of doing this in WordPress&#8217; post editor. The link popup allows you to specify a style class to be selected from a predefined set of wordpress-specific classes, but not your own.</p>
<h3>Plugins to save the day</h3>
<p>The short story about how to solve this, involves installing the <a href="http://wordpress.org/extend/plugins/tinymce-advanced/" target="_blank">TinyMCE Advanced plugin</a> in WordPress, which enhances the post editor in several ways. One of the several enhancements is that the link popup is larger and has more options, even a few separate tabs grouping lots of different options. The last tab, the one labeled <em>Advanced</em>, allows you to arbitrarily specify the value for several possible attributes of the anchor tag, including the <code>class</code> attribute.</p>
<p><a href="http://gnapse.com/blog/wp-content/uploads/2010/09/wordpress-advanced-links.png"><img class="aligncenter size-full wp-image-204" title="Advanced links popup for WordPress" src="http://gnapse.com/blog/wp-content/uploads/2010/09/wordpress-advanced-links.png" alt="" width="486" height="423" /></a></p>
<p>Notice the classes text field in the picture above, where it is already filled with the class name. The actual class name doesn&#8217;t matter, as long as you use the same class name in both your links and the CSS rule in your stylesheet.</p>
<p>So now, if you <a href="javascript:window.print();">print this post</a>, you&#8217;ll notice how some links in it get printed along with the referenced web page, and others don&#8217;t. I hope this hint may helpful to anybody out there.</p>
<p><strong>Do you know any other helpful hints about making web pages and blog posts more printer-friendly?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/09/08/selectively-print-link-urls-in-your-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easily arrange your windows with ShiftIt</title>
		<link>http://gnapse.com/blog/2010/08/25/easily-arrange-your-windows-with-shiftit/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=easily-arrange-your-windows-with-shiftit</link>
		<comments>http://gnapse.com/blog/2010/08/25/easily-arrange-your-windows-with-shiftit/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 21:26:04 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[divvy]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[shiftit]]></category>
		<category><![CDATA[window management]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=194</guid>
		<description><![CDATA[Yesterday I learned via TheAppleBlog about a nifty little software called Divvy, which allows you to quickly arrange and position windows in your Mac desktop with a menu and configurable shortcuts. The application sits away in the menu bar and you can click on it or invoke via a global shortcut key. You can then [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I learned via <a title="Divvy up your screen" href="http://theappleblog.com/2010/08/24/divvy-up-your-screen/" target="_blank">TheAppleBlog</a> about a nifty little software called <a class="print-href" href="http://www.mizage.com/divvy/" target="_blank">Divvy</a>, which allows you to quickly arrange and position windows in your Mac desktop with a menu and configurable shortcuts. The application sits away in the menu bar and you can click on it or invoke via a global shortcut key. You can then tell it to re-position the frontmost window according to what you specify in a grid-like representation of the screen.</p>
<p>Since I don&#8217;t have $14 to spare on this app, and I also do not really think it&#8217;s worth it, I went on to <a class="print-href" title="AlternativeTo" href="http://alternativeto.net/" target="_blank">find some alternative softwares</a> for this. This wonderful website alternativeto.net allows you to look for software applications on certain platforms and find out about some other softwares that could serve as alternatives or equivalents, either in the same platform but free, or perhaps because you are looking for an alternative to switch or use in another platform.</p>
<p>In this case I wanted to find an <a href="http://alternativeto.net/software/divvy/?sort=likes&amp;platform=mac&amp;license=free" target="_blank">alternative to Divvy</a> also for the Mac, but <a class="print-href" title="Gratis vs. Libre" href="http://en.wikipedia.org/wiki/Gratis_versus_Libre" target="_blank">free as in beer</a>. I didn&#8217;t really care that much if it was open source, although it would be a plus. Thankfully I found <a class="print-href" href="http://code.google.com/p/shiftit/" target="_blank">ShiftIt</a>, wich is not only free and open source, but also even better than Divvy in my opinion.<span id="more-194"></span></p>
<p><a href="http://gnapse.com/blog/wp-content/uploads/2010/08/shiftit-menu.png"><img class="alignright size-full wp-image-195" title="ShiftIt menu" src="http://gnapse.com/blog/wp-content/uploads/2010/08/shiftit-menu.png" alt="ShiftIt menu" width="230" height="332" /></a>ShiftIt, just as Divvy, sits unobtrusively in the menu bar. It would be nicer if it had an icon instead of text, but that&#8217;s a minor complain. What makes it great is that it already comes with sensible default shortcuts for positioning windows in logical default locations, such as covering the left or right halves of the screen, or top, or bottom. Plus covering the four screen areas formed by dividing it in four parts: top left, top right, bottom left and bottom right. And of course, two more options for full screen and center a window respectively.</p>
<p>When I saw this I immediately uninstalled Divvy. I found in ShiftIt preconfigured what I was manually configuring in Divvy just a few minutes ago. Exactly those very options, perhaps with some similar shortcuts I invented. Somebody would say that ShiftIt should allow you to customize the shortcuts and/or allow you to add some other configurations, but I guess they just want to keep it simple, and as simple as it is, it is still useful and able to replace Divvy 90% of the time.</p>
<p>I also found out about <a title="Alternatives to Divvy" href="http://alternativeto.net/software/divvy/?sort=likes&amp;platform=mac" target="_blank">other similar alternatives</a>, like SizeUp, Cinch, etc. But I only really tried the free one, as this was my goal. But maybe you want to try them all and stick with what you think is the best. And don&#8217;t be shy about making any suggestions here, either free software or not.</p>
<p><strong>Do you know about any alternatives to Divvy and ShiftIt, be it for the Mac or not? Maybe with better or different features?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/08/25/easily-arrange-your-windows-with-shiftit/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Gnapse.com goes mobile!</title>
		<link>http://gnapse.com/blog/2010/08/09/gnapse-com-goes-mobile/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gnapse-com-goes-mobile</link>
		<comments>http://gnapse.com/blog/2010/08/09/gnapse-com-goes-mobile/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 19:15:19 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web programming]]></category>
		<category><![CDATA[gnapse.com]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=185</guid>
		<description><![CDATA[It&#8217;s a tiny change, but I wanted to say it out loud. I recently updated this website to be mobile-friendly when visited from a handheld device such as an iPhone and other smart-phones. Go and see it for yourself and you&#8217;ll know what it&#8217;s like. Actually it was very simple and required almost no work. There&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a tiny change, but I wanted to say it out loud. I recently updated this website to be mobile-friendly when visited from a handheld device such as an iPhone and other smart-phones. Go and see it for yourself and you&#8217;ll know what it&#8217;s like.</p>
<p><a href="http://gnapse.com/blog/wp-content/uploads/2010/08/gnapse.com-mobile.png"><img class="aligncenter size-full wp-image-192" title="gnapse.com in mobile safari" src="http://gnapse.com/blog/wp-content/uploads/2010/08/gnapse.com-mobile.png" alt="" width="320" height="460" /></a></p>
<p>Actually it was very simple and required almost no work. There&#8217;s <a title="Wordpress Mobile Edition by Crowd Favorite" href="http://crowdfavorite.com/wordpress/plugins/wordpress-mobile-edition/" target="_blank">a wordpress plugin</a> for that already, which along with <a title="Carrington Mobile" href="http://crowdfavorite.com/wordpress/themes/carrington-mobile/" target="_blank">a custom mobile-friendly theme</a> gets the job done. Both the plugin and the theme are developed by <a href="http://crowdfavorite.com/" target="_blank">Crowd Favorite</a>, a web development company specializing in WordPress customization and enhancement. They also provide two great standard themes, including the one used in the blog&#8217;s standard interface.</p>
<p><strong>Do you know any other plugins or tools to make a WordPress blog friendly to handheld mobile devices?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/08/09/gnapse-com-goes-mobile/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Open multiple Gmail accounts at once</title>
		<link>http://gnapse.com/blog/2010/08/06/open-multiple-gmail-accounts-at-once/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-multiple-gmail-accounts-at-once</link>
		<comments>http://gnapse.com/blog/2010/08/06/open-multiple-gmail-accounts-at-once/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 14:37:28 +0000</pubDate>
		<dc:creator>ernesto</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://gnapse.com/blog/?p=166</guid>
		<description><![CDATA[Yesterday Google unveiled a great new feature for Gmail and other Google services, which allows you to sign into more than one Google Account at the same time, with no need to use separate browsers, or constantly signing in and out of one or the other. Once you enable multiple accounts, the account name that appears on the [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday Google unveiled a <a href="http://gmailblog.blogspot.com/2010/08/access-two-gmail-accounts-at-once-in.html" target="_blank">great new feature</a> for Gmail and other Google services, which allows you to sign into more than one Google Account at the same time, with no need to use separate browsers, or constantly signing in and out of one or the other.</p>
<div id="attachment_167" class="wp-caption alignright" style="width: 246px"><a href="http://gnapse.com/blog/wp-content/uploads/2010/08/gmail-multilogin.png"><img class="size-full wp-image-167" title="Gmail multi-login menu" src="http://gnapse.com/blog/wp-content/uploads/2010/08/gmail-multilogin.png" alt="Gmail multi-login menu" width="236" height="110" /></a><p class="wp-caption-text">The drop-down menu used to switch accounts when multi-login is enabled.</p></div>
<p>Once you enable multiple accounts, the account name that appears on the top-right area of the window now features a drop-down menu that allows you to switch accounts. You may be thinking that you cannot use two accounts really <em>at once</em>, but that you would only be able to easily switch. But this is not the case. You can actually keep two or more different tabs or windows in your browser open at the same time with different Gmail accounts.</p>
<h2>A word of caution</h2>
<p>Google is not shy about <a href="http://www.google.com/support/accounts/bin/answer.py?answer=181599&amp;hl=en" target="_blank">warning you of the drawbacks</a> of this new setting and the care you need to take when using the different available Google services from each account you are logged into. First of all, not all services currently support the multiple accounts setup, so they will default to the primary account, which is the one you logged into first, and the one from which you setup the login for the extra accounts. Also, offline Gmail and Calendar are not supported if you enable this new feature.</p>
<p>Clearly, you need to be specially aware of what you are doing and what it means during your workflow. This is particularly true while using the Gmail service, because you could end up sending an email from the wrong account! This is where Gmail themes come very handy. You can apply different themes to different Gmail accounts, to visually and instantly distinguish where you are standing at.</p>
<p>Anyway, surely this new quirk is very welcome. I wonder why Google is always hitting the nail in the head, and I certainly hope they keep performing that way.</p>
]]></content:encoded>
			<wfw:commentRss>http://gnapse.com/blog/2010/08/06/open-multiple-gmail-accounts-at-once/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

