<?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>D&#039;oh! &#187; web</title>
	<atom:link href="http://pabloseminario.com/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://pabloseminario.com</link>
	<description>pabluk&#039;s blog</description>
	<lastBuildDate>Thu, 15 Sep 2011 23:16:35 +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>Another Twitter command-line client</title>
		<link>http://pabloseminario.com/2008/06/13/another-twitter-command-line-client/</link>
		<comments>http://pabloseminario.com/2008/06/13/another-twitter-command-line-client/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 23:46:00 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.pabloseminario.com.ar/?p=24</guid>
		<description><![CDATA[No sé hasta cuando me va a durar, pero por ahora sigo usando Twitter. El tema o la excusa para escribir este script, es que es un embole tener un browser corriendo solo para ver los updates. Y aprovechando que la API esta por todos lados y no es nada complicado hacerse un cliente en]]></description>
			<content:encoded><![CDATA[<p>No sé hasta cuando me va a durar, pero por ahora sigo usando <a href="http://twitter.com/pabluk" target="_blank">Twitter</a>. El tema o la excusa para escribir este script, es que es un embole tener un browser corriendo solo para ver los updates. Y aprovechando que la <a href="http://groups.google.com/group/twitter-development-talk/web/api-documentation" target="_blank">API</a> esta por todos lados y no es nada complicado hacerse un cliente en cualquier lenguaje. En este caso lo hice con PHP, si si ya sé que podría haber usado hasta bash y tidy para esto. Pero esto fue lo más rápido que encontré para hacerlo, solo necesitaba PHP para parsear JSON y un poco de PEAR. <a href="http://twitter.com" target="_blank">Twitter</a> también soporta XML, RSS y ATOM.</p>
<pre class="brush:php">&lt;?php
include ("HTTP/Request.php");

$user = "pabluk";
$pass = "pass";

$timeline = new HTTP_Request("http://twitter.com/statuses/friends_timeline/" .
                             $user . ".json");
$timeline-&gt;setBasicAuth($user, $pass);
$timeline-&gt;sendRequest();

$updates = array_reverse(json_decode($timeline-&gt;getResponseBody(), TRUE));

foreach ($updates as $update) {
    if ($update['user']['screen_name'] == $user) {
        echo "\033[32m" . $update['user']['screen_name'] . ":\33[37m " .
             $update['text'] . "\n";
    } else {
        echo "\033[33m" . $update['user']['screen_name'] . ":\33[37m " .
             $update['text'] . "\n";
    }
}

?&gt;</pre>
<p>Bastante sencillo, muestra el username en color y uso <span style="font-family:monospace;">array_reverse()</span> para ordenar los updates en la terminal, así aparecen los más recientes al final.<br />
Lo ejecuto con</p>
<pre class="brush:shell; light: true;">pabluk@amidala:~$ php twitter-status.php</pre>
<p>Para tenerlo cada tanto actualizado se puede correr con</p>
<pre class="brush:shell; light: true;">pabluk@amidala:~$ while : ; do clear ; php twitter-status.php ; sleep 120 ; done</pre>
<p>Y por supuesto que también se pueden enviar updates, usando <span style="font-family:monospace;">curl</span></p>
<pre class="brush:shell">
#!/bin/bash
curl -u "pabluk:pass" -d status="$@" \
        "http://twitter.com/statuses/update.json" &amp;&gt; /dev/null</pre>
<p>y haciendo</p>
<pre class="brush:shell; light: true;">pabluk@amidala:~$ twitter-update.sh "fin del post..."</pre>
]]></content:encoded>
			<wfw:commentRss>http://pabloseminario.com/2008/06/13/another-twitter-command-line-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hay cosas que el dinero no puede comprar&#8230;.</title>
		<link>http://pabloseminario.com/2008/06/09/hay-cosas-que-el-dinero-no-puede-comprar/</link>
		<comments>http://pabloseminario.com/2008/06/09/hay-cosas-que-el-dinero-no-puede-comprar/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 10:15:00 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Real life]]></category>
		<category><![CDATA[Ouch]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.pabloseminario.com.ar/?p=22</guid>
		<description><![CDATA[Este parece ser el caso de Twitter. Después de leer este post en el blog de Kastor, decidí probar Twitter. Bajo el lema &#8220;What are you doing?&#8221; uno puedo postear en 140 caracteres lo que esta haciendo, pensando etc. y otros pueden verlo casi instantáneamente. Parece ser que la idea de los creadores de Twitter]]></description>
			<content:encoded><![CDATA[<p><a href="http://4.bp.blogspot.com/_q0bemMki3uo/SEDuL8FShKI/AAAAAAAAEJ0/6zegFs4qTXg/s1600-h/Twitter+over+capacity.jpg" target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5206423058114577570" style="float:right; margin:0 10px 0 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_q0bemMki3uo/SEDuL8FShKI/AAAAAAAAEJ0/6zegFs4qTXg/s144/Twitter+over+capacity.jpg" border="0" alt="" /></a><br />
Este parece ser el caso de <a href="http://twitter.com" target="_blank">Twitter</a>. Después de leer este <a href="http://khq.org.ar/2008/05/16/la-web-20-me-atrapa/" target="_blank">post</a> en el blog de Kastor, decidí probar Twitter. Bajo el lema</p>
<blockquote><p><span style="font-style:italic;">&#8220;What are you doing?&#8221;</span></p></blockquote>
<p>uno puedo postear en 140 caracteres lo que esta haciendo, pensando etc. y otros pueden verlo <span style="text-decoration: line-through;">casi</span> instantáneamente.<br />
<a href="http://2.bp.blogspot.com/_q0bemMki3uo/SEqmqhyzwmI/AAAAAAAAEK8/Ds0dNvP7uZI/s1600-h/Twitter+is+currently+down.jpg" target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5209159168563593826" style="float:left; margin:0 10px 0 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_q0bemMki3uo/SEqmqhyzwmI/AAAAAAAAEK8/Ds0dNvP7uZI/s144/Twitter+is+currently+down.jpg" border="0" alt="" /></a><br />
Parece ser que la idea de los creadores de Twitter fue un éxito y ahora están pagando su precio, porque aparentemente tienen grandes problemas de escalabilidad, las imágenes hablan por si solas, el link de <span style="font-style:italic;">help</span> no lleva a ninguna parte, borrar un mensaje es imposible, lo intente durante 4 minutos y aunque parece procesar mi request no hace nada, también existe la posibilidad de enviar updates vía Jabber pero tampoco me funciono. Y llevo menos de 2 semanas probándolo.<br />
Leyendo estos links (<a href="http://www.codinghorror.com/blog/archives/000838.html" target="_blank">Twitter: Service vs. Platform</a>, <a href="http://www.techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/" target="_blank">Twitter Said To Be Abandoning&#8230;</a> y <a href="http://slashstar.com/blogs/tim/archive/2008/05/05/twitter-s-problems-are-the-result-of-architecture-xmpp-may-be-the-answer.aspx" target="_blank">Twitter&#8217;s problems are the result of architecture, XMPP may be the answer</a>), que me paso Marteen por <a href="http://www.lugmen.org.ar/servicios/irc" target="_blank">irc</a>, me entero del problema: el sitio recibe <span style="font-style:italic;">11000 request por segundo</span>! lo que no es poca cosa!<br />
Esperemos que lo solucionen y <a href="http://twitter.com/pabluk" target="_blank">follow me on Twitter.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pabloseminario.com/2008/06/09/hay-cosas-que-el-dinero-no-puede-comprar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

