<?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>BitBonsai Labs &#187; geek</title>
	<atom:link href="http://www.bitbonsai.com/tag/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bitbonsai.com</link>
	<description>Mauricio Wolff&#039;s geekness</description>
	<lastBuildDate>Tue, 18 Oct 2011 12:47:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Testing pastie.org embed</title>
		<link>http://www.bitbonsai.com/testing-pastie-org-embed/</link>
		<comments>http://www.bitbonsai.com/testing-pastie-org-embed/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 12:25:05 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=229</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><script src='http://pastie.org/1023253.js'></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/testing-pastie-org-embed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Make an HTML5 iPhone App</title>
		<link>http://www.bitbonsai.com/html-iphone-app/</link>
		<comments>http://www.bitbonsai.com/html-iphone-app/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 13:12:44 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=186</guid>
		<description><![CDATA[This is nice. An article on SixRevisions, short version here for my Archive. If you write a couple meta tags, your html5 app will look like any other iPhone App, but will also work on Android, PalmPre, etc&#8230; &#60;meta name=&#34;viewport&#34; content=&#34;user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0&#34;/&#62; &#60;meta name=&#34;apple-mobile-web-app-capable&#34; content=&#34;yes&#34; /&#62; &#60;meta name=&#34;apple-mobile-web-app-status-bar-style&#34; content=&#34;black&#34; /&#62; &#60;link rel=&#34;apple-touch-icon&#34; href=&#34;iphone_icon.png&#34;/&#62; [...]]]></description>
			<content:encoded><![CDATA[<h4><a href="http://img.skitch.com/20100329-k4k9rkinb4m8r2xebsqtb6d4s9.jpg"><img class="aligncenter" title="iPhone" src="http://img.skitch.com/20100329-k4k9rkinb4m8r2xebsqtb6d4s9.jpg" alt="" width="402" height="232" /></a>This is nice. An <a href="http://sixrevisions.com/web-development/html5-iphone-app/" target="_blank">article on SixRevisions</a>, short version here for my Archive.</h4>
<p>If you write a couple meta tags, your html5 app will look like any other iPhone App, but will also work on Android, PalmPre, etc&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;viewport&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0&quot;</span><span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;apple-mobile-web-app-capable&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;yes&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;apple-mobile-web-app-status-bar-style&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;black&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;apple-touch-icon&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;iphone_icon.png&quot;</span><span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;apple-touch-startup-image&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;startup.png&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;styles.css&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;screen, mobile&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;main&quot;</span> <span style="color: #000066;">charset</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;utf-8&quot;</span>&gt;</span></pre></div></div>

<ul>
<li>apple-mobile-web-app-capable: This is another tip-off that we want to be an offline app.</li>
<li>apple-mobile-web-app-status-bar-style: This hides the status bar, and nav bar when the app is offline.</li>
<li>apple-touch-icon:This is the pointer to the image that want to be the icon.</li>
<li>apple-touch-startup-image: This is a url pointing to the startup image.</li>
</ul>
<h4>Application Cache</h4>
<p>Application caching allows browsers to determine in advance all the files a web page will need for the web page to work.</p>
<p>One tricky part to this whole thing is that the manifest (the list of files that need to be cached offline) has to be passed with a filetype Header set to text/manifest. That is why you need access to a web server that can set HTTP headers.</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">    CACHE MANIFEST
&nbsp;
    <span style="color: #adadad; font-style: italic;"># Version 3 </span>
&nbsp;
    style.css
    index.html
    init.js
&nbsp;
    <span style="color: #adadad; font-style: italic;"># offline icons</span>
    startup.png
    iphone_icon.png</pre></div></div>

<h4>Offline Data</h4>
<p>Along with the ability to keep files that are needed offline, you can also store user data in an offline database. There are two major APIs for per user and/or per page data. The first is localStorage. localStorage, is an easy to use key-value store with a dead simple API.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">    localStorage.<span style="color: #660066;">dataToStore</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">5</span><span style="color: #339933;">;</span>
    console.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span>localStorage.<span style="color: #660066;">dataToStore</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// 5</span></pre></div></div>

<h4>Its also possible to use a webdatabase (SQLite):</h4>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">    <span style="color: #006600; font-style: italic;">// Try and get a database object</span>
    <span style="color: #003366; font-weight: bold;">var</span> db<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">openDatabase</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            db <span style="color: #339933;">=</span> openDatabase<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;NoteTest&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;1.0&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;HTML5 Database API example&quot;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">200000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>db<span style="color: #009900;">&#41;</span>
                <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Failed to open the database on disk.  This is probably because the version was /
                bad or there is not enough space left in this domain's quota&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span>
            <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Couldn't open the database.  Please try with a WebKit nightly with this feature enabled&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>err<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">// Check and see if you need to initalize the DB</span>
    db.<span style="color: #660066;">transaction</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>tx<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        tx.<span style="color: #660066;">executeSql</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;SELECT COUNT(*) FROM WebkitStickyNotes&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>result<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            loadNotes<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>tx<span style="color: #339933;">,</span> error<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            tx.<span style="color: #660066;">executeSql</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;CREATE TABLE WebKitStickyNotes (id REAL UNIQUE, note TEXT, timestamp /
            REAL, left TEXT, top TEXT, zindex REAL)&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>result<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                loadNotes<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">// Insert a test Note.</span>
    <span style="color: #003366; font-weight: bold;">var</span> note <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
        id<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;1&quot;</span><span style="color: #339933;">,</span>
        text<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot; This is a test note&quot;</span><span style="color: #339933;">,</span>
        timestamp<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;112123000&quot;</span><span style="color: #339933;">,</span>
        left<span style="color: #339933;">:</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span>
        top<span style="color: #339933;">:</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span>
        zIndex<span style="color: #339933;">:</span><span style="color: #CC0000;">2</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    db.<span style="color: #660066;">transaction</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>tx<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        tx.<span style="color: #660066;">executeSql</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;INSERT INTO WebKitStickyNotes (id, note, timestamp, left, top, zindex) VALUES /
        (?, ?, ?, ?, ?, ?)&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>note.<span style="color: #660066;">id</span><span style="color: #339933;">,</span> note.<span style="color: #660066;">text</span><span style="color: #339933;">,</span> note.<span style="color: #660066;">timestamp</span><span style="color: #339933;">,</span> note.<span style="color: #660066;">left</span><span style="color: #339933;">,</span> note.<span style="color: #660066;">top</span><span style="color: #339933;">,</span> note.<span style="color: #660066;">zIndex</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
    <span style="color: #006600; font-style: italic;">// Get all the notes out of the database.</span>
    db.<span style="color: #660066;">transaction</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>tx<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        tx.<span style="color: #660066;">executeSql</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;SELECT id, note, timestamp, left, top, zindex /
        FROM WebKitStickyNotes&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>tx<span style="color: #339933;">,</span> result<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> result.<span style="color: #660066;">rows</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> <span style="color: #339933;">++</span>i<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>                 <span style="color: #003366; font-weight: bold;">var</span> row <span style="color: #339933;">=</span> result.<span style="color: #660066;">rows</span>.<span style="color: #000066; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                 <span style="color: #003366; font-weight: bold;">var</span> note <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Note<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                 note.<span style="color: #660066;">id</span> <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                 note.<span style="color: #660066;">text</span> <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'note'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                 note.<span style="color: #660066;">timestamp</span> <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'timestamp'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                 note.<span style="color: #660066;">left</span> <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'left'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                 note.<span style="color: #660066;">top</span> <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'top'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                 note.<span style="color: #660066;">zIndex</span> <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'zindex'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                 <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> highestId<span style="color: #009900;">&#41;</span>
                    highestId <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'zindex'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> highestZ<span style="color: #009900;">&#41;</span>
                    highestZ <span style="color: #339933;">=</span> row<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'zindex'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>result.<span style="color: #660066;">rows</span>.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span>
                newNote<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>tx<span style="color: #339933;">,</span> error<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Failed to retrieve notes from database - '</span> <span style="color: #339933;">+</span> error.<span style="color: #660066;">message</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/html-iphone-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python x PHP: Finding IPs with regex</title>
		<link>http://www.bitbonsai.com/python-php-vs-find-ip-with-regex/</link>
		<comments>http://www.bitbonsai.com/python-php-vs-find-ip-with-regex/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 12:09:47 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=147</guid>
		<description><![CDATA[Sometimes I just like to write code in Python and PHP to compare them, and admire both&#8230; Here&#8217;s a little code to find IP adressess inside strings (returned from a nslookup). The code is not optimal, but illustrate how both languages works. Just for some friday fun&#8230; Python &#160; Python 2.6.1 &#40;r261:67515, Jul  7 2009, [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I just like to write code in Python and PHP to compare them, and admire both&#8230;</p>
<p>Here&#8217;s a little code to find IP adressess inside strings (returned from a nslookup). The code is not optimal, but illustrate how both languages works. Just for some friday fun&#8230;</p>
<h3>Python</h3>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">&nbsp;
Python 2.6.1 <span style="color: black;">&#40;</span>r261:<span style="color: #ff4500;">67515</span>, Jul  <span style="color: #ff4500;">7</span> <span style="color: #ff4500;">2009</span>,  <span style="color: #ff4500;">23</span>:<span style="color: #ff4500;">51</span>:<span style="color: #ff4500;">51</span><span style="color: black;">&#41;</span>
 <span style="color: black;">&#91;</span>GCC 4.2.1 <span style="color: black;">&#40;</span>Apple Inc. <span style="color: black;">build</span> <span style="color: #ff4500;">5646</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span> on darwin
 Type <span style="color: #483d8b;">&quot;help&quot;</span>, <span style="color: #483d8b;">&quot;copyright&quot;</span>, <span style="color: #483d8b;">&quot;credits&quot;</span> <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: #483d8b;">&quot;license&quot;</span>  <span style="color: #ff7700;font-weight:bold;">for</span>  more information.
&nbsp;
<span style="color: #66cc66;">&gt;&gt;&gt;</span> a  = <span style="color: #483d8b;">'yahoo.com IN A 69.147.114.224 18774s  (05:12:54)'</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span> a += <span style="color: #483d8b;">'yahoo.com IN A 209.131.36.159 18774s  (05:12:54)'</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span> a += <span style="color: #483d8b;">'yahoo.com IN A 209.191.93.53  18774s  (05:12:54)'</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span> <span style="color: #ff7700;font-weight:bold;">print</span> a
 <span style="color: #483d8b;">'yahoo.com IN A 69.147.114.224  18774s (05:12:54)yahoo.com IN A 209.131.36.159 18774s  (05:12:54)yahoo.com IN A 209.191.93.53  18774s (05:12:54)'</span>
<span style="color: #66cc66;">&gt;&gt;&gt;;</span> <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">re</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span> p = <span style="color: #dc143c;">re</span>.<span style="color: #008000;">compile</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'(?:<span style="color: #000099; font-weight: bold;">\d</span>{1,3}<span style="color: #000099; font-weight: bold;">\.</span>){3}<span style="color: #000099; font-weight: bold;">\d</span>{1,3}'</span><span style="color: black;">&#41;</span>
<span style="color: #66cc66;">&gt;&gt;&gt;;</span> p.<span style="color: black;">findall</span><span style="color: black;">&#40;</span>a<span style="color: black;">&#41;</span>
 <span style="color: black;">&#91;</span><span style="color: #483d8b;">'69.147.114.224'</span>, <span style="color: #483d8b;">'209.131.36.159'</span>,  <span style="color: #483d8b;">'209.191.93.53'</span><span style="color: black;">&#93;</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span></pre></div></div>

<h3>PHP</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$a</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">'yahoo.com IN A 69.147.114.224 18774s (05:12:54)'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$a</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'yahoo.com  IN A 209.131.36.159 18774s (05:12:54)'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$a</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'yahoo.com  IN A 209.191.93.53  18774s (05:12:54)'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$a</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
saida: yahoo.com IN A 69.147.114.224 18774s (05:12:54)yahoo.com IN A  209.131.36.159 18774s (05:12:54)yahoo.com IN A 209.191.93.53 18774s  (05:12:54)
*/</span>
&nbsp;
<span style="color: #000088;">$re</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/(\d+).(\d+).(\d+).(\d+)/'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">preg_match_all</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$re</span><span style="color: #339933;">,</span> <span style="color: #000088;">$a</span><span style="color: #339933;">,</span> <span style="color: #000088;">$matches</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$matches</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// saida 1</span>
<span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$matches</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// saida 2</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
saida 1:
&nbsp;
array(3) {
  [0]=&gt;
  string(14) &quot;69.147.114.224&quot;
  [1]=&gt;
  string(14) &quot;209.131.36.159&quot;
  [2]=&gt;
  string(13) &quot;209.191.93.53&quot;
}
&nbsp;
saida 2:
&nbsp;
array(5) {
  [0]=&gt;
  array(3) {
    [0]=&gt;
    string(14) &quot;69.147.114.224&quot;
    [1]=&gt;
    string(14) &quot;209.131.36.159&quot;
    [2]=&gt;
    string(13) &quot;209.191.93.53&quot;
  }
  [1]=&gt;
  array(3) {
    [0]=&gt;
    string(2) &quot;69&quot;
    [1]=&gt;
    string(3) &quot;209&quot;
    [2]=&gt;
    string(3) &quot;209&quot;
  }
  [2]=&gt;
  array(3) {
    [0]=&gt;
    string(3) &quot;147&quot;
    [1]=&gt;
    string(3) &quot;131&quot;
    [2]=&gt;
    string(3) &quot;191&quot;
  }
  [3]=&gt;
  array(3) {
    [0]=&gt;
    string(3) &quot;114&quot;
    [1]=&gt;
    string(2) &quot;36&quot;
    [2]=&gt;
    string(2) &quot;93&quot;
  }
  [4]=&gt;
  array(3) {
    [0]=&gt;
    string(3) &quot;224&quot;
    [1]=&gt;
    string(3) &quot;159&quot;
    [2]=&gt;
    string(2) &quot;53&quot;
  }
}
*/</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/python-php-vs-find-ip-with-regex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>recursively chmod only subdirectories</title>
		<link>http://www.bitbonsai.com/chmod-dirs-fix/</link>
		<comments>http://www.bitbonsai.com/chmod-dirs-fix/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 14:10:00 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[snippet]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=130</guid>
		<description><![CDATA[When I use Betterzip to uncompress a directory tree, it chmods the dirs with 700. Here&#8217;s the command to solve this: find . -type d &#124; xargs chmod 755 It finds all subdirectories and chmod&#8217;em to 755. Clever, isn&#8217;t it?]]></description>
			<content:encoded><![CDATA[<p>When I use Betterzip to uncompress a directory tree, it chmods the dirs with 700. Here&#8217;s the command to solve this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-type</span> d <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">xargs</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">755</span></pre></div></div>

<p>It finds all subdirectories and chmod&#8217;em to 755. Clever, isn&#8217;t it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/chmod-dirs-fix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lifesaver snippets</title>
		<link>http://www.bitbonsai.com/lifesaver-snippets/</link>
		<comments>http://www.bitbonsai.com/lifesaver-snippets/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 18:56:15 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[snippet]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/lifesaver-snippets/</guid>
		<description><![CDATA[Alguns códigos são simplesmente salvadores da pátria&#8230; Por exemplo: Tens de subir um site por 3g, e mesmo targzipando o site ele fica com 12Mb por causa dos .svn escondidos&#8230; tar --exclude='.svn' -czvf file.tar.gz ./* 6MB. Simples e eficaz&#8230;]]></description>
			<content:encoded><![CDATA[<p>Alguns códigos são simplesmente salvadores da pátria&#8230;</p>
<p>Por exemplo: Tens de subir um site por 3g, e mesmo targzipando o site ele fica com 12Mb por causa dos .svn escondidos&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">--exclude</span>=<span style="color: #ff0000;">'.svn'</span> <span style="color: #660033;">-czvf</span> file.tar.gz .<span style="color: #000000; font-weight: bold;">/*</span></pre></div></div>

<p>6MB. Simples e eficaz&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/lifesaver-snippets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como testar o novo Google</title>
		<link>http://www.bitbonsai.com/novo-google/</link>
		<comments>http://www.bitbonsai.com/novo-google/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 15:58:25 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=116</guid>
		<description><![CDATA[É, o google está mudando&#8230; Eles estão testando um redesign, que por enquanto está sendo mantido em segredo. Até agora&#8230;  :) Vá ao google.com Se estiver em Português, clique no Go to Google.com cole o código abaixo na location bar (barra de endereços) substituindo o http://google.com - javascript:void(document.cookie=&#8221;PREF=ID=20b6e4c2f44943bb:U=4bf292d46faad806:TM=1249677602:LM=1257919388:S=odm0Ys-53ZueXfZG;path=/; domain=.google.com&#8221;); tecle ENTER feche o browser abra [...]]]></description>
			<content:encoded><![CDATA[<p>É, o google está mudando&#8230; Eles estão testando um redesign, que por enquanto está sendo mantido em segredo.</p>
<h4>Até agora&#8230;  :)</h4>
<ol>
<li>Vá ao <a href="http://google.com">google.com</a></li>
<li>Se estiver em Português, clique no <a href="http://google.com/ncr">Go to Google.com</a></li>
<li>cole o código abaixo na location bar (barra de endereços) substituindo o http://google.com -<br />
<em><span style="color: #99cc00;">javascript:void(document.cookie=&#8221;PREF=ID=20b6e4c2f44943bb:U=4bf292d46faad806:TM=1249677602:LM=1257919388:S=odm0Ys-53ZueXfZG;path=/; domain=.google.com&#8221;);</span></em></li>
<li>tecle ENTER</li>
<li>feche o browser</li>
<li>abra o browser</li>
<li>Vá ao <a href="http://google.com">google.com</a></li>
<li>Perceba os botões azuis e faça uma busca. tada!!!</li>
</ol>
<div class="wp-caption aligncenter" style="width: 425px"><img title="Antes" src="http://img.skitch.com/20091126-bgyhn3t565ikty6y79bfgc54ri.png" alt="Antes..." width="415" height="243" /><p class="wp-caption-text">Antes...</p></div>
<div class="wp-caption aligncenter" style="width: 344px"><img title="Depois" src="http://img.skitch.com/20091126-j7rh54m3prxjwj64f5ufbbs9qg.png" alt="Depois" width="334" height="263" /><p class="wp-caption-text">Depois</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/novo-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search Engines: Por que a google vai continuar a ser o primeiro lugar</title>
		<link>http://www.bitbonsai.com/porque-a-google-vai-continuar-em-primeiro/</link>
		<comments>http://www.bitbonsai.com/porque-a-google-vai-continuar-em-primeiro/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 12:20:43 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Rumblings]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/blog/?p=97</guid>
		<description><![CDATA[Quando preciso buscar algo, não penso, vou no google. E olha que desde os anos 90 tenho procurado ficar antenado e experimentar as alternativas. Gostava do antigo askjeeves.com, que depois que virou ask.com perdeu o charme pra mim. Teve o gigablast, ou algo assim, que não decolou apesar do logo ser um foguete. Acho que [...]]]></description>
			<content:encoded><![CDATA[<p>Quando preciso buscar algo, não penso, vou no google. E olha que desde os anos 90 tenho procurado ficar antenado e experimentar as alternativas.</p>
<p>Gostava do antigo askjeeves.com, que depois que virou ask.com perdeu o charme pra mim. Teve o gigablast, ou algo assim, que não decolou apesar do logo ser um foguete. Acho que os <a href="http://www.google.com/technology/pigeonrank.html">pombos do pigeorank do google são melhores</a>. E a massiva utilização tb deve ajudar.</p>
<p style="text-align: center;"><a href="http://www.google.com/technology/pigeon_system.jpg"><img class="aligncenter" src="http://www.google.com/technology/pigeon_system.jpg" alt="" width="348" height="77" /></a></p>
<p>Agora mesmo abri os três maiores sites de busca da atualidade para dar uma comparada, pois eles estão em fase de melhoria de design, etc. O Yahoo!, recém comprado pela MS precisa recuperar audiência, o Bing precisa se estabelecer e o google se manter. Ao abrir o google levei um susto, pois aquelas sugestões de feramentas, links, tudo havia sumido. Ao mover o mouse notei que voltaram. E eis as grandes diferença da google: <strong>foco e simplicidade</strong>.</p>
<p><a href="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-19-at-09.50.52.png"><img class="alignright size-thumbnail wp-image-99" title="bing.com" src="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-19-at-09.50.52-150x150.png" alt="bing.com" width="150" height="150" /></a></p>
<p>o <a href="http://www.bing.com">Bing</a> está tentando o mesmo caminho, e apelando para impacto visual. Mas comparando lado-a-lado, chego a conclusão de que é MUITA informação visual. O objetivo é chegar à próxima página, dos resultados, e o brinde da foto (deleite visual) é supérfluo. E os links distraem, o sujeito tem de escanear toda a tela para ver as opções disponíveis. Em cima à esquerda, à direita, o logo, em cima e embaixo da caixa de texto, no rodapé da página.</p>
<p>O Yahoo! deu uma boa limpada no visual, mas ainda acho muita coisa pra ver e fazer. Como portal, tipo terra.com.br o Yahoo é uma boa alternativa, pois tem notícias, webmail, grupos, favoritos, e tudo acessível de uma boa maneira, mas&#8230; eu quero buscar! Search Engine!</p>
<p style="text-align: center;"><a style="text-decoration: none;" href="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-19-at-09.50.48.png"><img class="size-medium wp-image-98 aligncenter" title="Yahoo!" src="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-19-at-09.50.48-300x192.png" alt="Screen shot 2009-10-19 at 09.50.48" width="300" height="192" /></a></p>
<p>E a evolução da google é justamente a de <strong>oferecer menos; ter mais para quem quer</strong>. Explico: Normalmente as pessoas abrem o browser, digitam um termo (e às vezes até um site) e teclam enter. Se esta pessoa tiver como home o google, vai ver o logo, uma caixa de texto já com foco (e letras GRANDES) e dois botões. Nada mais. <strong>Digita, enter, resultados</strong>. Se não mexer o mouse, nem vai saber que a home tem mais funções. Genial. Por este tipo de decisão é que eles vão continuar na frente&#8230;</p>
<div id="attachment_100" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-19-at-09.50.59.png"><img class="size-medium wp-image-100" title="Screen shot 2009-10-19 at 09.50.59" src="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-19-at-09.50.59-300x189.png" alt="Screen shot 2009-10-19 at 09.50.59" width="300" height="189" /></a><p class="wp-caption-text">Minimalismo Google Style</p></div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/porque-a-google-vai-continuar-em-primeiro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dois programas para ser mais produtivo</title>
		<link>http://www.bitbonsai.com/produtivo/</link>
		<comments>http://www.bitbonsai.com/produtivo/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 08:14:09 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/blog/?p=87</guid>
		<description><![CDATA[Tenho uma inclinação natural ao ceticismo, ou seja, a não aceitar imediatamente o que leio ou vejo sem, no mínimo, uma boa reflexão sobre o assunto. Uma das afirmações que li algum tempo atrás do Leo Babuta no mnmlist.com foi a dica de fazer menos, e procurar programas com menos distrações. É interessante perceber que [...]]]></description>
			<content:encoded><![CDATA[<p>Tenho uma inclinação natural ao ceticismo, ou seja, a não aceitar imediatamente o que leio ou vejo sem, no mínimo, uma boa reflexão sobre o assunto.</p>
<p>Uma das afirmações que li algum tempo atrás do Leo Babuta no <a href="http://mnmlist.com/" target="_blank">mnmlist.com</a> foi a dica de fazer menos, e procurar programas com menos distrações.  É interessante perceber que programas que deveriam aumentar a produtividade por permitir multitasking acabam só atrapalhado (pelo menos a mim) pois para realmente utilizá-los é preciso dedicar um bom tempo a eles ao invés de trabalhar, e acabam ficando parecidos com uma escrivaninha com pilhas de papéis e coisas a resolver, que o sujeito fica olhando sem saber por onde começar.</p>
<p>Pois depois de um tempo descobri que esta é uma chave para uma maior produtividade. <strong>Menos botões, menos janelas, menos tudo</strong>. Uma coisa de cada vez, wrap it up, get it done.</p>
<p>Isto acabou influenciando inclusive como navego na internet, pois ter 15 tabs abertos ao mesmo tempo com leituras diferentes, referências, emails, etc estavam me deixando demasiado cansado e retendo menos informação do que agora. Então preparei uma lista de programas que estão me ajudando na mudança, que espero sejam úteis para outras pessoas. Como ultimamente estou só no mac são mac-only, mas com certeza existem equivalentes para Windows.</p>
<h3><a href="http://www.codealchemists.com/jdarkroom/">JDarkRoom</a></h3>
<p><a href="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-06-at-05.23.44.png"><img class="alignleft size-thumbnail wp-image-94" title="jDarkroom" src="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-06-at-05.23.44-150x150.png" alt="jDarkroom" width="150" height="150" /></a>O melhor editor de textos, totalmente geek-style, que já vi até hoje.</p>
<p>Junte o nano (ou pico, para os mais antigos) e os atalhos de teclado do mac e o resultado é ele. Estou escrevendo este texto nele agora, pois a falta de formatação permite que o conteúdo seja o foco. Depois de terminar o texto, salve no desktop, copie e cole no editor preferido (word, wordpress, pages, whatever) e formate da melhor forma possível. Como ele toma conta da tela, além de uma certa nostalgia dos tempos dos PC XT, nada mais distrai.</p>
<p>Caso precise fazer algo, tipo abrir o mail ou algo em janelas, basta usar os atalhos do Spaces para mudar de desktop e depois voltar para a imersão nas próprias palavras. ⌘ + H também funciona.</p>
<h3><a href="http://www.barbariangroup.com/software/plainview">PlainView</a></h3>
<p><strong><a href="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-06-at-05.03.26.png"><img class="alignleft size-thumbnail wp-image-88" title="Plain View Start Page" src="http://www.bitbonsai.com/wp-content/uploads/2009/10/Screen-shot-2009-10-06-at-05.03.26-150x150.png" alt="Plain View Start Page" width="150" height="150" /></a>Como</strong> eu consegui viver tantos anos lendo vários tabs ao mesmo tempo, às vezes em várias janelas, não sei.</p>
<p>O PlainView é um programinha super simples e despretensioso, que abre um browser (WebKit engine) em fullscreen, e os atalhos de teclado abrem HUDs (janelas modal translúcidas) que executam uma determinada função (como digitar um endereço ou ver as outras páginas abertas) e depois são fechados, eliminando as distrações.</p>
<p>Tão interessante que está fixo no Dock, descoberto ao acaso ao procurar uma extensão de Full Screen para o Firefox, que no Mac não funciona o F11 para o FFox. Se for preciso, também pode virar uma janela (com ⌘ + ⇪ + F) mas o grande barato é abrir um artigo em tela cheia e fechar ao terminar de ler.</p>
<p><strong>Por enquanto é só</strong>, mas vou continuar na procura e se achar mais algum atualizo este post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/produtivo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capturar website screenshot no Mac</title>
		<link>http://www.bitbonsai.com/capturar-website-screenshot-no-mac/</link>
		<comments>http://www.bitbonsai.com/capturar-website-screenshot-no-mac/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 11:31:09 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/blog/?p=76</guid>
		<description><![CDATA[Algumas coisas no mac me deixam realmente feliz, como freewares práticos e objetivos, que fazem uma só coisa bem feita. Agora mesmo descobri uma que é o resumo destas qualidades; precisei capturar um website, que é mais comprido que um screenshot comum me daria a possibilidade de capturar com um simples ⌘ + 3. Solução? [...]]]></description>
			<content:encoded><![CDATA[<p>Algumas coisas no mac me deixam realmente feliz, como freewares práticos e objetivos, que fazem uma só coisa bem feita.</p>
<p>Agora mesmo descobri uma que é o resumo destas qualidades; precisei capturar um website, que é mais comprido que um screenshot comum me daria a possibilidade de capturar com um simples ⌘ + 3. Solução? <a href="http://derailer.org/paparazzi/" target="_blank">Papparazzi!</a></p>
<p>Ele permite configurar a resolução mínima, crop na imagem final e salva em PNG. Depois é só abrir no preview para redimensionar e salvar. <strong>Doce</strong>.</p>
<p style="text-align: center;"><a class="fancybox" rel="fancybox" href="http://img.skitch.com/20090925-bg9xjcejgbwb5f52mxddrwmy93.jpg"><img class="aligncenter" title="Paparazzi!" src="http://img.skitch.com/20090925-1dx474xfqxqngbybh99kusdbir.jpg" alt="" width="490" height="475" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/capturar-website-screenshot-no-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spaces no Snow Leopard</title>
		<link>http://www.bitbonsai.com/spaces-no-snow-leopard/</link>
		<comments>http://www.bitbonsai.com/spaces-no-snow-leopard/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 15:33:20 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/blog/?p=62</guid>
		<description><![CDATA[Um truque que usava de vez em quando no Leopard era teclar F8 para ver os Spaces, F9 para ver o Expose e, quando me incomodava ter várias janelas em vários Spaces, teclava c para consolidar todas as janelas no primeiro Space. Fui fazer isso hoje no Snow Leopard e&#8230; nada. Não acreditei que tiraram [...]]]></description>
			<content:encoded><![CDATA[<p>Um truque que usava de vez em quando no Leopard era teclar <em><strong>F8</strong></em> para ver os <em>Spaces</em>, <em><strong>F9</strong></em> para ver o <em>Expose</em> e, quando me incomodava ter várias janelas em vários <em>Spaces</em>, teclava <strong><em>c</em></strong> para consolidar todas as janelas no primeiro <em>Space</em>. Fui fazer isso hoje no Snow Leopard e&#8230; <strong>nada</strong>.</p>
<p><strong>Não acreditei que tiraram um atalho tão útil</strong>. Procurando descobri que ele foi substituído por atalhos mais poderosos&#8230;</p>
<p>Agora o teclado funciona no <em>Spaces</em>, então pode-se navegar pelas setas. Clicando <strong>⌘ ←</strong> por exemplo move as janelas do <em>Space</em> selecionado para o da esquerda.  Se ao invés de <strong>⌘</strong> for usado <strong>⌥</strong>, ele troca a posição do <em>Space</em> da direita pelo da esquerda.</p>
<p>Melhor, não? Até agora todas as alterações que tenho visto no Snow Leopard o são&#8230;</p>
<p><img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="Spaces no Snow Leopard" src="http://img.skitch.com/20090917-c1697ab9nunw89irmbbsc1tkt3.jpg" alt="" width="460" height="159" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/spaces-no-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

