<?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</title>
	<atom:link href="http://www.bitbonsai.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bitbonsai.com</link>
	<description>&#34;The art of bonsai tells a story through living illusion. A bonsai artist searches for ways to express his personal creativity by mixing form and thought in a miniature world.&#34; Now imagine a bonsai made of bits. That&#039;s code to me.</description>
	<lastBuildDate>Sun, 12 May 2013 14:58:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>GIT to deploy website (in 5 steps)</title>
		<link>http://www.bitbonsai.com/git-deploy-website-5steps/</link>
		<comments>http://www.bitbonsai.com/git-deploy-website-5steps/#comments</comments>
		<pubDate>Sun, 12 May 2013 14:55:41 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=412</guid>
		<description><![CDATA[I believe I just found the easiest and cleanest way to publish a website using GIT. This is based on 2 articles; well, actually one, and a translation. But the translation is a bit different, so&#8230; The article is from &#8230; <a href="http://www.bitbonsai.com/git-deploy-website-5steps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I believe I just found the easiest and cleanest way to publish a website using GIT. This is based on 2 articles; well, actually one, and a translation. But the translation is a bit different, so&#8230;</p>
<p>The article is from <a href="http://toroid.org/ams/git-website-howto" target="_blank">Abhijit Menon-Sen</a>, and its translation is from <a href="http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/" target="_blank">Thiago Belem</a>. Both differs from the approach I used couple years ago, which involved having a full repo at server (let&#8217;s call it repo1), outside the public docs, and another bare repo at <pre class="crayon-plain-tag">/www</pre>  (<pre class="crayon-plain-tag">repo2</pre> ) pulling from <pre class="crayon-plain-tag">repo1</pre>  in the <pre class="crayon-plain-tag">post-commit</pre>  hook.</p>
<p>The advantage of this method is that you could do little changes on the <pre class="crayon-plain-tag">/www</pre>  using vi and push them to repo1, which will then execute the hook that would republish the file to <pre class="crayon-plain-tag">/www</pre> .</p>
<p>But I admit, it&#8217;s a bit confusing. So both articles above have a much cleaner solution that I just tested and it&#8217;s working just fine. I won&#8217;t be able to vi the server, but that&#8217;s a compromise I&#8217;m comfortable with.</p>
<h2>Step 1: Create the local GIT repository</h2>
<p></p><pre class="crayon-plain-tag">$ mkdir -p ~/Sites/domain.com/www/; cd $_
$ echo Hello Dog &gt; index.html
$ git init
$ git add *
$ git commit -am "inicial"</pre><p></p>
<h2> Step 2: Prepare the server</h2>
<p>ssh into the server, and make sure you have your RSA key on ~/.ssh/authorized_keys. If doesn&#8217;t&#8230; well, add it. :)</p><pre class="crayon-plain-tag">$ mkdir ~/domain.git; cd $_
$ git init --bare</pre><p></p>
<h2>Step 3: Create a post-receive hook on server</h2>
<p></p><pre class="crayon-plain-tag">$ cat &gt; hooks/post-receive &lt;&lt; EOF
&gt;
#!/bin/sh
GIT_WORKTREE=/home/www/domain.com git checkout -f" &gt; a.txt
EOF
$ chmod +x hooks/post-receive;</pre><p></p>
<h2>Step 4: Configure local machine</h2>
<p></p><pre class="crayon-plain-tag">$ git remote add www ssh://domain.com/home/domain/domain.git
$ git push www +master:refs/heads/master</pre><p></p>
<h2>5: Test the thing!</h2>
<p>After the first commit, the normal flow would be:</p>
<ul>
<li>[change local file]</li>
<li><pre class="crayon-plain-tag">git commit -am "Always comment your commits"</pre></li>
<li><pre class="crayon-plain-tag">git push www</pre></li>
</ul>
<h3>Bonus Track: Different Environments</h3>
<p>If you have a real website, with billions of billions of users, then you&#8217;ll need to test your changes before you push them live (unless you&#8217;re like that XX guy).</p>
<p>In that case, just add remotes pointing to different repositories, and repeat the same steps above to configure it. Then you&#8217;ll just push to different repos by doing:</p><pre class="crayon-plain-tag">git push testing
git push www</pre><p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/git-deploy-website-5steps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Criatividade no Phishing (IR 2013)</title>
		<link>http://www.bitbonsai.com/phishing-ir2013/</link>
		<comments>http://www.bitbonsai.com/phishing-ir2013/#comments</comments>
		<pubDate>Thu, 02 May 2013 10:58:49 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[IR 2013]]></category>
		<category><![CDATA[Phishing]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=401</guid>
		<description><![CDATA[Uma coisa que se pode dizer do pessoal que faz Phishing é que são criativos, com certeza. Phishing é uma forma de fraude eletrônica, caracterizada por tentativas de adquirir dados pessoais de diversos tipos; senhas, dados financeiros como número de &#8230; <a href="http://www.bitbonsai.com/phishing-ir2013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Uma coisa que se pode dizer do pessoal que faz Phishing é que são criativos, com certeza.</p>
<blockquote><p>Phishing é uma forma de fraude eletrônica, caracterizada por tentativas de adquirir dados pessoais de diversos tipos; senhas, dados financeiros como número de cartões de crédito e outros dados pessoais. (http://pt.wikipedia.org/wiki/Phishing)</p></blockquote>
<p>No dai 1 de maio, recebi um email da &#8220;Receita Federal&#8221;. De tão simples até parecia legítimo. Eis o email:</p>
<p><img alt="IR 2013 Phishing email" src="http://cl.ly/Ogxj/Screen%20Shot%202013-05-01%20at%2010.39.24%20PM.png" /></p>
<p>Levou aproximadamente meio segundo para pensar que era treta. Mas resolvi ler o email, vai que não é&#8230;</p>
<p>A linguagem pareceu adequada. O visual simples. O link não pareceu tão absurdo. Claro que tem umas coisas que facilitam, por exemplo eles colocaram um número qualquer da declaração, não mostram nenhum dado pessoal além do email. Aí fui ver o site que estava hospedando a página de coleta de dados:</p>
<p><a href="http://www.bitbonsai.com/wp-content/uploads/2013/05/url2png.png"><img class="size-full wp-image-407 aligncenter" alt="url2png" src="http://www.bitbonsai.com/wp-content/uploads/2013/05/url2png.png" width="420" height="361" /></a></p>
<p>Mandei email para a empresa informando que estavam sendo usados para tentativa de fraude e procurei na receita um email para copiá-los, mas não tem. De qualquer forma, no site da Receita eles estão avisando que existem várias tentativas, então já devem estar cientes.</p>
<p>É preciso ter cuidado&#8230; sempre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/phishing-ir2013/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JSHint-Inline in Package Control</title>
		<link>http://www.bitbonsai.com/jshint-inline-in-package-control/</link>
		<comments>http://www.bitbonsai.com/jshint-inline-in-package-control/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 10:14:28 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=400</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><img src="http://cl.ly/ORPP/Screen%20Shot%202013-04-22%20at%207.13.16%20AM.png" alt="JSHint-Inline" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/jshint-inline-in-package-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSHinting script tags inside html files</title>
		<link>http://www.bitbonsai.com/jshinting-script-tags-inside-html-files/</link>
		<comments>http://www.bitbonsai.com/jshinting-script-tags-inside-html-files/#comments</comments>
		<pubDate>Sun, 31 Mar 2013 18:45:43 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=387</guid>
		<description><![CDATA[First public Sublime Text Extension (works on both versions 2 and 3). JSHint-Inline allows JSHint to run on HTML files, and only requires node. All required node modules are embed into the plugin, so no need to npm anything. How &#8230; <a href="http://www.bitbonsai.com/jshinting-script-tags-inside-html-files/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>First public Sublime Text Extension (works on both versions 2 and 3). <a href="https://github.com/bitbonsai/JSHint-Inline">JSHint-Inline</a> allows JSHint to run on HTML files, and only requires node.</p>
<p>All required node modules are embed into the plugin, so no need to npm anything.</p>
<p>How to install:</p>
<ol>
<li>Be sure to have the awesome <a href="http://wbond.net/sublime_packages/community">Package Manager from wBond</a> installed. I&#8217;ve already submitted the package, but might take some time to appear on the list.</li>
<li>Open Sublime and go to <code>Preferences &gt; Browse Packages</code>. Open the folder User, and then a terminal window on that folder. On Windows I&#8217;m using Git Bash Console window.</li>
<li><code>$git clone <a href="https://github.com/bitbonsai/JSHint-Inline">https://github.com/bitbonsai/JSHint-Inline.git</a></code></li>
<li>All done. Now when you have an HTML file with script&gt; tags, just choose <code>Tools &gt; Build System &gt; JSHint-Inline</code></li>
<li>And press <code>CTRL + B</code>. Result?</li>
</ol>
<p><a href="http://www.bitbonsai.com/wp-content/uploads/2013/03/jshintinline.png"><img class="alignnone  wp-image-393" style="width: 100%;" alt="JSHint Inline" src="http://www.bitbonsai.com/wp-content/uploads/2013/03/jshintinline.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/jshinting-script-tags-inside-html-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>nodejs, npm and sqlite3 [SOLVED]</title>
		<link>http://www.bitbonsai.com/nodejs-npm-and-sqlite3/</link>
		<comments>http://www.bitbonsai.com/nodejs-npm-and-sqlite3/#comments</comments>
		<pubDate>Thu, 28 Mar 2013 17:09:52 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=360</guid>
		<description><![CDATA[So&#8230; today I decided to install the sqlite3 package in node&#8230; but then I got a non-nice error saying I didn&#8217;t have make installed. Yes, now I&#8217;m on Windows7. I consider myself a rather eclectic guy when the subject is &#8230; <a href="http://www.bitbonsai.com/nodejs-npm-and-sqlite3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So&#8230; today I decided to install the <a href="https://npmjs.org/package/sqlite3" target="_blank">sqlite3 package</a> in node&#8230; but then I got a non-nice error saying I didn&#8217;t have <code>make</code> installed. Yes, now I&#8217;m on Windows7.</p>
<p>I consider myself a rather eclectic guy when the subject is OSs. At home I have OSX, Windows7 and Ubuntu 12.10, and what I really like is the fact that I use the same code editor for all of them (buy <a href="http://www.sublimetext.com/2" target="_blank">Sublime</a>, the best editor ever) and that I have all servers installed on all of them. Ok, for Windows I downloaded binaries, but they work. Just <code>git clone</code> a website and run it, simple like that.</p>
<p>But then, I got that error above. So I&#8217;ll document the steps to make it work here, and save myself (and hopefully others) some time with this notes.</p>
<h3>preReqs</h3>
<p><a href="https://npmjs.org/" target="_blank">Npm</a> is pretty awesome and brainless, but it&#8217;s good to take a look at the error log files if a requisite is missing. I had to download <a href="http://www.python.org/ftp/python/2.7/" target="_blank">Python</a> (and installed <a href="http://sourceforge.net/projects/pywin32/files/pywin32/" target="_blank">python&#8217;s win32 extensions</a>) Already have VS2012 installed, so no need for C++ runtime, and the most important: downloaded <a href="http://sourceforge.net/projects/getgnuwin32/files/getgnuwin32/0.6.30/GetGnuWin32-0.6.3.exe/download" target="_blank">GNUWin32 Utils</a>. 400 and something packages, look into the folder for <code>.bat</code> files and read them. The first to be executed is <code>download.bat</code>.</p>
<p>After all is set, I&#8217;ve tried <code>npm -g install sqlite3</code>; it installed, but can&#8217;t use, don&#8217;t know why. Then when I installed with <code>npm install sqlite3</code> (without -g) it created a <code>node_modules</code> folder and placed the module inside it. That did the trick. <strong>Working like a charm!</strong></p>
<h3>UPDATE</h3>
<p>What was missing to make it work installing with -g was NODE_PATH in Environment Variables. Right-click <code>My Computer &gt; Properties &gt; Advanced system settings &gt; Environment Variables</code> and add:</p><pre class="crayon-plain-tag">NODE_PATH
C:\Users\YOUR_USERNAME\AppData\Roaming\npm\node_modules</pre><p>To test it, a little script, save as <code>nodesqlite3.js</code>:</p><pre class="crayon-plain-tag">var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(':memory:');

db.serialize(function() {
db.run("CREATE TABLE lorem (info TEXT)");

var stmt = db.prepare("INSERT INTO lorem VALUES (?)");
for (var i = 0; i &lt; 10; i++) {
stmt.run("Ipsum " + i);
}
stmt.finalize();

db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
console.log(row.id + ": " + row.info);
});
});

db.close()</pre><p>And the result?</p><pre class="crayon-plain-tag">$ node nodesqlite3.js
1: Ipsum 0
2: Ipsum 1
3: Ipsum 2
4: Ipsum 3
5: Ipsum 4
6: Ipsum 5
7: Ipsum 6
8: Ipsum 7
9: Ipsum 8
10: Ipsum 9</pre><p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/nodejs-npm-and-sqlite3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>google maps api</title>
		<link>http://www.bitbonsai.com/google-maps-api/</link>
		<comments>http://www.bitbonsai.com/google-maps-api/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 03:33:32 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[Hmmm. Esqueci de colocar a categoria]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=354</guid>
		<description><![CDATA[Just found out this&#8230; typed my city in change.org, and it filled out the city, state and country&#8230; I was amazed. Looking at the network panel, found out this call: http://maps.googleapis.com/maps/api/js/GeocodeService.Search?4sporto%20alegre&#38;7sbr&#38;9sen-US&#38;callback=_xdc_._t9nhk5&#38;token=32861 And opening this on a new tab, checked this &#8230; <a href="http://www.bitbonsai.com/google-maps-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Just found out this&#8230; typed my city in <a href="http://change.org">change.org</a>, and it filled out the city, state and country&#8230; I was amazed. Looking at the network panel, found out this call:</p>
<p><code>http://maps.googleapis.com/maps/api/js/GeocodeService.Search?<span style="background-color: yellow">4sporto%20alegre</span>&amp;7sbr&amp;9sen-US&amp;callback=_xdc_._t9nhk5&amp;token=32861</code></p>
<p>And opening this on a new tab, checked this result:</p><pre class="crayon-plain-tag">_xdc_._t9nhk5 &amp;amp;&amp;amp; _xdc_._t9nhk5( {
   &quot;results&quot; : [
      {
         &quot;address_components&quot; : [
            {
               &quot;long_name&quot; : &quot;Porto Alegre&quot;,
               &quot;short_name&quot; : &quot;Porto Alegre&quot;,
               &quot;types&quot; : [ &quot;locality&quot;, &quot;political&quot; ]
            },
            {
               &quot;long_name&quot; : &quot;Rio Grande do Sul&quot;,
               &quot;short_name&quot; : &quot;RS&quot;,
               &quot;types&quot; : [ &quot;administrative_area_level_1&quot;, &quot;political&quot; ]
            },
            {
               &quot;long_name&quot; : &quot;Brazil&quot;,
               &quot;short_name&quot; : &quot;BR&quot;,
               &quot;types&quot; : [ &quot;country&quot;, &quot;political&quot; ]
            }
         ],
         &quot;formatted_address&quot; : &quot;Porto Alegre - Rio Grande do Sul, Brazil&quot;,
         &quot;geometry&quot; : {
            &quot;bounds&quot; : {
               &quot;northeast&quot; : {
                  &quot;lat&quot; : -29.93063560,
                  &quot;lng&quot; : -51.0124710
               },
               &quot;southwest&quot; : {
                  &quot;lat&quot; : -30.26880690,
                  &quot;lng&quot; : -51.30614780
               }
            },
            &quot;location&quot; : {
               &quot;lat&quot; : -30.02770410,
               &quot;lng&quot; : -51.22873460
            },
            &quot;location_type&quot; : &quot;APPROXIMATE&quot;,
            &quot;viewport&quot; : {
               &quot;northeast&quot; : {
                  &quot;lat&quot; : -29.93063560,
                  &quot;lng&quot; : -51.0124710
               },
               &quot;southwest&quot; : {
                  &quot;lat&quot; : -30.26880690,
                  &quot;lng&quot; : -51.30614780
               }
            }
         },
         &quot;types&quot; : [ &quot;locality&quot;, &quot;political&quot; ]
      }
   ],
   &quot;status&quot; &lt;code&gt;: &quot;OK&quot;
}
 )</pre><p>Checking the <code>formatted_address</code> part, and I have the full address. I can then record that into the DB, or that AND the lat/lng. VERY interesting&#8230; :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/google-maps-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You gotta luv PHP&#8230;</title>
		<link>http://www.bitbonsai.com/luvphp/</link>
		<comments>http://www.bitbonsai.com/luvphp/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 03:51:01 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=347</guid>
		<description><![CDATA[Why I &#60;3 PHP: [crayon-51c1cbb707148/]]]></description>
				<content:encoded><![CDATA[<p>Why I <code>&lt;3</code> PHP:</p><pre class="crayon-plain-tag">json_decode(json_encode(simplexml_load_string(file_get_contents($xml_url))), 1);</pre><p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/luvphp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weather Icon on GeekTool</title>
		<link>http://www.bitbonsai.com/weather-icon-on-geektool/</link>
		<comments>http://www.bitbonsai.com/weather-icon-on-geektool/#comments</comments>
		<pubDate>Tue, 16 Oct 2012 11:19:15 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=337</guid>
		<description><![CDATA[Finally I got it working&#8230; after a while the geeklet I was using for Yahoo&#8217;s weather icon stopped working, so I took a couple minutes to make it shiny again&#8230; Basically, I&#8217;m scraping Weather Channel&#8217;s local page, grep for the &#8230; <a href="http://www.bitbonsai.com/weather-icon-on-geektool/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Finally I got it working&#8230; after a while the geeklet I was using for Yahoo&#8217;s weather icon stopped working, so I took a couple minutes to make it shiny again&#8230;</p>
<p>Basically, I&#8217;m scraping Weather Channel&#8217;s local page, grep for the image tag and sed the src of that image, saving it to /tmp/weather.png. Then the geektool looks for that image and refreshes it every half an hour. The cron also checks for a new image in 30 minutes interval&#8230;</p><pre class="crayon-plain-tag">0,30 * * * * /Users/mw/bin/weather.sh</pre><p>The weather.sh is also pretty simple:</p><pre class="crayon-plain-tag">curl --silent -o /tmp/poa.html &quot;http://www.weather.com/weather/right-now/Porto+Alegre+Brazil+BRXX0186&quot;; grep &quot;&amp;lt;img class=\&amp;quot;wx-weather-icon\&amp;quot;.*&gt;&quot; &quot;/tmp/poa.html&quot; | sed -n 's/.*src=&quot;\([^&quot;]*\)&quot;.*/\1/p' | xargs curl --silent -o /tmp/weather.png</pre><p>And the final result:</p>
<p><a href="http://cl.ly/KBMd"><img class="aligncenter" title="Weather Icon on my top left desktop area" src="http://cl.ly/KBMd/Screen%20Shot%202012-10-16%20at%208.10.47%20AM.png" alt="" width="424" height="325" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/weather-icon-on-geektool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Blog Engine or Jekyll?</title>
		<link>http://www.bitbonsai.com/jekyll/</link>
		<comments>http://www.bitbonsai.com/jekyll/#comments</comments>
		<pubDate>Mon, 03 Sep 2012 23:55:59 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[Hmmm. Esqueci de colocar a categoria]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=334</guid>
		<description><![CDATA[So, I&#8217;m a little tired of WordPress. Sorry, dude. When I want to publish something, I want to write in markdown, save the file, commit and BAM! It&#8217;s published. I had high hopes on Posterous but then you have spaces, &#8230; <a href="http://www.bitbonsai.com/jekyll/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So, I&#8217;m a little tired of WordPress. Sorry, dude.</p>
<p>When I want to publish something, I want to write in markdown, save the file, commit and BAM! It&#8217;s published. I had high hopes on Posterous but then you have spaces, too many features&#8230; blablabla. And then you have email html parsing, never looks like I want or adds too much clutter&#8230;</p>
<p>I was looking into Jekyll, but then&#8230; I&#8217;m a PHP guy, would I be able to write something that just works? So I&#8217;m thinking about the features and maybe I&#8217;m gonna write something, why? Because yes.</p>
<ul>
<li>Markdown for posts/pages</li>
<li>git fork publishing</li>
<li>ftp publishing</li>
<li>no admin hassle</li>
<li>URL routes automagically</li>
<li>Easy templates</li>
</ul>
<p>I&#8217;ll update my progress, once I have time to start something so unnecessary&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/jekyll/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AngularJs, Backbone, Meteor, Knockout&#8230; It&#8217;s all a poker game after all, isn&#8217;t it?</title>
		<link>http://www.bitbonsai.com/angularjs-backbone-meteor-knockout-its-all-a-poker-game-after-all-isnt-it/</link>
		<comments>http://www.bitbonsai.com/angularjs-backbone-meteor-knockout-its-all-a-poker-game-after-all-isnt-it/#comments</comments>
		<pubDate>Sat, 02 Jun 2012 13:31:30 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[Rumblings]]></category>

		<guid isPermaLink="false">http://www.bitbonsai.com/?p=323</guid>
		<description><![CDATA[So many interesting things, all claiming to be the next revolution in WebApp development&#8230; Right now seems that it&#8217;s the time to bet in one of them and see who wins the race. I&#8217;m betting on Angular, the only thing &#8230; <a href="http://www.bitbonsai.com/angularjs-backbone-meteor-knockout-its-all-a-poker-game-after-all-isnt-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div class='posterous_autopost'>
<p>So many interesting things, all claiming to be the next revolution in WebApp development&#8230; Right now seems that it&#8217;s the time to bet in one of them and see who wins the race.</p>
<p>I&#8217;m betting on Angular, the only thing that still bothers me is the tendency to create too many &#8220;reusable&#8221; components that are not plain HTML tags, like their &lt;tabs&gt; example on&nbsp;<a href="http://angularjs.org/" target="_blank">http://angularjs.org/</a></p>
<p>Also, they have a huge parter (Google) and on their first meetup they revealed that google is going to launch apps written in angular.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bitbonsai.com/angularjs-backbone-meteor-knockout-its-all-a-poker-game-after-all-isnt-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
