<?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>Un programador más &#187; twitter</title>
	<atom:link href="http://www.unprogramadormas.com/tag/twitter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.unprogramadormas.com</link>
	<description>Experiencias de un programador curioso del SEO</description>
	<lastBuildDate>Mon, 07 Mar 2011 16:54:36 +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>Función de c# para dar formato a un tweet</title>
		<link>http://www.unprogramadormas.com/06/01/2010/funcion-de-csharp-para-dar-formato-a-un-tweet/</link>
		<comments>http://www.unprogramadormas.com/06/01/2010/funcion-de-csharp-para-dar-formato-a-un-tweet/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 16:01:39 +0000</pubDate>
		<dc:creator>jmnieves</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.unprogramadormas.com/?p=414</guid>
		<description><![CDATA[Hara unos días creando un módulo de twitter para el CMS Cuyahoga tuve que desarrollar una función de c# para dar formato a un tweet. Revisando el twitter he visto el excelente artículo de Alfredo Artiles sobre Expresiones regulares para dar formato a un Tweet , este excelente profesional ha desarrollado funciones para php y]]></description>
			<content:encoded><![CDATA[<p>Hara unos días creando un módulo de twitter para el <acronym title="Content Management Systems">CMS</acronym> <a title="A .NET Web Site Framework " href="http://www.cuyahoga-project.org/" target="_blank">Cuyahoga</a> tuve que desarrollar una <strong>función de c# para dar formato a un tweet</strong>.</p>
<p>Revisando el twitter he visto el excelente artículo de <a title="Twitter de Alfredo" href="http://twitter.com/aartiles24" target="_blank">Alfredo Artiles</a> sobre <a title="Expresiones regulares para dar formato a un Tweet" href="http://www.bitacoradewebmaster.com/2010/01/06/expresiones-regulares-para-dar-formato-a-un-tweet/#comment-14999" target="_blank">Expresiones regulares para dar formato a un Tweet</a> , este excelente profesional ha desarrollado funciones para php y javascript y despues de leer su articulo se me ha ocurrido que podria compartir con vosotros la que realice para c#.</p>
<h5>Función en c#</h5>
<pre class="brush: csharp; title: ; notranslate">
const string ScreenNamePattern = @&quot;@([A-Za-z0-9\-_&amp;amp;;]+)&quot;;
const string HashTagPattern = @&quot;#([A-Za-z0-9\-_&amp;amp;;]+)&quot;;
const string HyperLinkPattern = @&quot;(http://\S+)\s?&quot;;

public static string FormatTweetText(string text)
{
string result = text;

if (result.Contains(&quot;http://&quot;))
{
var links = new List&amp;lt;string&amp;gt;();
foreach (Match match in Regex.Matches(result, HyperLinkPattern))
{
var url = match.Groups[1].Value;
if (!links.Contains(url))
{
links.Add(url);
result = result.Replace(url, String.Format(&quot;&amp;lt;a href=\&quot;{0}\&quot;&amp;gt;{0}&amp;lt;/a&amp;gt;&quot;, url));
}
}
}

if (result.Contains(&quot;@&quot;))
{
var names = new List&amp;lt;string&amp;gt;();
foreach (Match match in Regex.Matches(result, ScreenNamePattern))
{
var screenName = match.Groups[1].Value;
if (!names.Contains(screenName))
{
names.Add(screenName);
result = result.Replace(&quot;@&quot; + screenName,
String.Format(&quot;&amp;lt;a href=\&quot;http://twitter.com/{0}\&quot;&amp;gt;@{0}&amp;lt;/a&amp;gt;&quot;, screenName));
}
}
}

if (result.Contains(&quot;#&quot;))
{
var names = new List&amp;lt;string&amp;gt;();
foreach (Match match in Regex.Matches(result, HashTagPattern))
{
var hashTag = match.Groups[1].Value;
if (!names.Contains(hashTag))
{
names.Add(hashTag);
result = result.Replace(&quot;#&quot; + hashTag,
String.Format(&quot;&amp;lt;a href=\&quot;http://twitter.com/search?q={0}\&quot;&amp;gt;#{1}&amp;lt;/a&amp;gt;&quot;,
HttpUtility.UrlEncode(&quot;#&quot; + hashTag), hashTag));
}
}
}

return result;
}
</pre>
<p>Como siempre para vuestra comodidad tambien os la dejo disponible en <a title="Funcion en pastebin" href="http://pastebin.com/d4f87c7ed">pastebin</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unprogramadormas.com/06/01/2010/funcion-de-csharp-para-dar-formato-a-un-tweet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter : Destroy Status con REST y cURL en C#</title>
		<link>http://www.unprogramadormas.com/24/12/2009/twitter-destroy-status-con-res-y-curl-en-c/</link>
		<comments>http://www.unprogramadormas.com/24/12/2009/twitter-destroy-status-con-res-y-curl-en-c/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 15:46:02 +0000</pubDate>
		<dc:creator>jmnieves</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://yokese.wordpress.com/?p=384</guid>
		<description><![CDATA[Hace unos dias estuve trasteando con la API de twitter concretamente tratando de eliminar mensajes del timeline. Twitter ofrece en su API metodos REST. Revisando estos metodos encontre  Destroy Status metodo que permite ser llamado via cURL ; como sabeis habitualmente trabajo con c# así que me puse manos a la obra y encontre la]]></description>
			<content:encoded><![CDATA[<p>Hace unos dias estuve trasteando con la <strong><acronym title="Interfaz de programación de aplicaciones">API</acronym> de twitter</strong> concretamente tratando de <strong>eliminar mensajes del timeline</strong>. Twitter ofrece en su <acronym title="Interfaz de programación de aplicaciones">API</acronym> metodos <a title="¿Que es REST?" href="http://es.wikipedia.org/wiki/Representational_State_Transfer">REST</a>. Revisando estos metodos encontre  <a title="Metodo Destroy Status de la API de Twitter" href="http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0destroy">Destroy Status</a> metodo que permite ser llamado via <strong><a title="¿Que es cURL?" href="http://es.wikipedia.org/wiki/CURL">cURL</a></strong> ; como sabeis habitualmente trabajo con c# así que me puse manos a la obra y encontre la libreria <strong><a title="Libreria cURL para .NET" href="http://sourceforge.net/projects/libcurl-net/">libcurl.NET</a></strong> que permite usar <strong><a title="¿Que es cURL?" href="http://es.wikipedia.org/wiki/CURL">cURL</a></strong> desde una aplicación .NET. Bueno no me enrollo más y os dejo con lo importante un ejemplo de la implementación de un metodo para eliminar mensajes de twitter via <strong><a title="Metodo Destroy Status de la API de Twitter" href="http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0destroy">Destroy Status</a> en C#</strong>.</p>
<h6>Codigo de ejemplo de eliminación de un mensaje en twitter via REST y cURL.</h6>
<pre class="brush: csharp; title: ; notranslate">
Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);
Easy easy = new Easy();
Easy.ReadFunction wf = new Easy.ReadFunction(OnWriteData);
string statusid = &quot;idejemplo&quot;; //Id del Status
easy.SetOptCURLoption.CURLOPT_URL,&quot;http://twitter.com/statuses/destroy/&quot; + statusid + &quot;.xml&quot;);
easy.SetOpt(CURLoption.CURLOPT_POST,true);
easy.SetOpt(CURLoption.CURLOPT_USERPWD, _TWITTERUSER + &quot;:&quot; + _TWITTERPASS);
string code = easy.Perform().ToString();
easy.Cleanup();
Curl.GlobalCleanup();
</pre>
<p><a title="Ejemplo de codigo en pastebin para una mejor visualización" href="http://pastebin.com/f37206e92">Ejemplo en pastebin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unprogramadormas.com/24/12/2009/twitter-destroy-status-con-res-y-curl-en-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter : Evitar el ruido en el timeline de tus followers</title>
		<link>http://www.unprogramadormas.com/15/10/2009/twitter-evitar-el-ruido-en-el-timeline-de-tus-followers/</link>
		<comments>http://www.unprogramadormas.com/15/10/2009/twitter-evitar-el-ruido-en-el-timeline-de-tus-followers/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 21:51:44 +0000</pubDate>
		<dc:creator>jmnieves</dc:creator>
				<category><![CDATA[La Red]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://yokese.wordpress.com/?p=178</guid>
		<description><![CDATA[Muchas veces en  twitter tendemos a mantener conversaciones en nuestro timeline con otros usuarios. Estas &#8220;conversaciones&#8221; provocan un ruido en el resto de nuestros followers , que les puede resultar molesto. Para evitar el ruido en el timeline de tus followers con nuestras conversaciones 2 bandas existe una sencilla  solución: Como sabeis para que un]]></description>
			<content:encoded><![CDATA[<p>Muchas veces en  <a title="Twitter" href="http://twitter.com">twitter</a> tendemos a mantener conversaciones en nuestro timeline con otros usuarios. Estas &#8220;conversaciones&#8221; provocan un <strong>ruido</strong> en el resto de nuestros <strong>followers</strong> , que les puede resultar molesto.</p>
<p>Para <strong>evitar el ruido en el timeline de tus followers</strong> con nuestras conversaciones 2 bandas existe una sencilla  solución:</p>
<p>Como sabeis para que un tweet dirigido a otra persona se muestre en el timeline de nuestros followers , estos deben seguir a la personal a la cual va dirigido.</p>
<p>Teniendo claro este punto la solución pasa por crear un usuario al cual no siguieran ni siguiera a nadie. De este  modo he creado la cuenta  <em><a title="Twitter de noruido" href="http://twitter.com/@noruido">@noruido</a></em> . Si escribiis <em><a title="Twitter de noruido" href="http://twitter.com/@noruido">@noruido</a></em> al principio de vuestro tweet dirigido a otro usuario este tweet solo sera visualizado por el usuario al que va realmente dirigido y ya no sera mostrado en el timeline de nuestros seguidores evitando asi el ruido de nuestra conversación.</p>
<p>Ejemplo:<br />
<code><br />
<em><a title="Twitter de noruido" href="http://twitter.com/@noruido">@noruido</a> Hola <a title="Twitter de Y0K3S3" href="http://twitter.com/y0k3s3">@Y0k3s3</a> , te apetece tomar una cerveza esta tarde¿?</em></code></p>
<h5><em>La idea original es del blog <a title="Blog destrasdemicristal" href="http://detrasdemicristal.wordpress.com">Detrasdemicristal</a> , yo me he limitado a adaptarlo al contexto de los usuarios de España.<br />
</em></h5>
]]></content:encoded>
			<wfw:commentRss>http://www.unprogramadormas.com/15/10/2009/twitter-evitar-el-ruido-en-el-timeline-de-tus-followers/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

