<?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>Acatos &#187; Programacion</title>
	<atom:link href="http://www.acatos.es/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.acatos.es</link>
	<description>Hay otros mundos... pero están en éste.</description>
	<lastBuildDate>Mon, 05 Dec 2011 14:43:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Evitar SQL Injection en php</title>
		<link>http://www.acatos.es/2010/04/23/evitar-sqlinjection-en-php/</link>
		<comments>http://www.acatos.es/2010/04/23/evitar-sqlinjection-en-php/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 15:55:40 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[chuletario]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[evitar]]></category>
		<category><![CDATA[limpiar]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=2006</guid>
		<description><![CDATA[Estaba ojeando la lista de categorías del blog y me he dado cuenta de que solo tengo 3 entradas referentes a php. Es curioso porque php suele ocupar el 33,3% de cada uno de mis dias (exceptuando sábados y domingos). Así que me he decidido a publicar algunos tips de vez en cuando Como habrán [...]]]></description>
			<content:encoded><![CDATA[<p>Estaba ojeando la lista de categorías del blog y me he dado cuenta de que solo tengo 3 entradas referentes a <a href="http://www.acatos.es/category/programacion/php/">php</a>. Es curioso porque <strong>php</strong> suele ocupar el 33,3% de cada uno de mis dias (exceptuando sábados y domingos).</p>
<p>Así que me he decidido a publicar algunos tips de vez en cuando <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2010/04/sql-injection-car-coche.jpg"><img class="size-medium wp-image-2007 aligncenter" title="sql-injection-car-coche" src="http://www.acatos.es/wp-content/uploads/2010/04/sql-injection-car-coche-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Como habrán adivinado por la foto, hoy les voy a enseñar la función que suelo usar (cuando trabajo con <strong>mysql</strong>) para limpiar las ristras de posibles<a href="http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL#PHP"> <strong>SQL Injection</strong></a>:</p>
<p><span style="color: #000080;"># Limpia una ristra para evitar sql injection<br />
function limpia_ristra($ristra){<br />
return mysql_escape_string(strip_tags($ristra));<br />
}</span></p>
<p><span style="color: #000080;"><span style="color: #000000;">Aunque lo mejor sería utilizar querys precompilados (prepare), bind variables y cosas así&#8230; otro día hablo de ello refiriendome a oracle :p</span><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2010/04/23/evitar-sqlinjection-en-php/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>El código viejuno es para los programadores como el retrato de Dorian Gray</title>
		<link>http://www.acatos.es/2010/04/15/el-codigo-viejuno-es-para-los-programadores-como-el-retrato-de-dorian-gray/</link>
		<comments>http://www.acatos.es/2010/04/15/el-codigo-viejuno-es-para-los-programadores-como-el-retrato-de-dorian-gray/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 11:40:49 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Perretas]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[bad code]]></category>
		<category><![CDATA[chiste]]></category>
		<category><![CDATA[codigo viejo]]></category>
		<category><![CDATA[codigo viejuno]]></category>
		<category><![CDATA[dorian gray]]></category>
		<category><![CDATA[programadores]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=2013</guid>
		<description><![CDATA[El otro día estaba viendo un código viejuno, una parte de un programa que escribí yo mismo hace como tres años&#8230; se me pusieron los pelos como escarpias. Supongo que si me desagrada tanto ahora, y en su momento me pareció la hostia, es porque ahora hago las cosas mejor. O porque antes las hacía [...]]]></description>
			<content:encoded><![CDATA[<p>El otro día estaba viendo un <strong>código viejuno</strong>, una parte de un programa que escribí yo mismo hace como tres años&#8230; se me pusieron los pelos como escarpias.</p>
<p>Supongo que si me desagrada tanto ahora, y en su momento me pareció la hostia, es porque ahora hago las cosas mejor. O porque antes las hacía muy mal, no lo sé bien.</p>
<p>El tema, es que siguiendo el paralelismo entre <a href="http://www.acatos.es/2010/02/12/el-arte-es-infinito/">software/arte</a> del otro día, me dió por pensar cómo vería un pintor profesional sus dibujos infantiles. Enseguida me di cuenta de que dedicarse al desarrollo de software es una putada, porque el código viejuno nunca será tan entrañable como lo podría ser un dibujo de una casita con un arbolito.</p>
<p>Sentí envidia de la gente que produce con su trabajo obras imperecederas. Y sentí miedo por lo que pensaré sobre mi código actual dentro de unos años&#8230; entonces ví este chiste <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2010/04/bad_code-codigo-malo.png"><img class="size-large wp-image-2014 aligncenter" title="bad_code-codigo-malo" src="http://www.acatos.es/wp-content/uploads/2010/04/bad_code-codigo-malo-596x1024.png" alt="" width="382" height="653" /></a></p>
<p>Aunque las interfaces de usuario que implementamos, se pueden seguir viendo igual de bonitas con el paso de los años, los programadores somos conscientes de cómo son, e incluso a qué huelen las entrañas de ese software. A medida que vamos adquiriendo la capacidad de hacer código más bonito, ordenado y perfumado, el código viejuno nos huele peor.</p>
<p>Sabemos que sigue ahí, pudriéndose, como el <strong>Dorian Gray </strong>del retrato.</p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2010/04/dorian-gray.jpg"><img class="size-medium wp-image-2015 aligncenter" title="dorian-gray" src="http://www.acatos.es/wp-content/uploads/2010/04/dorian-gray-234x300.jpg" alt="" width="234" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2010/04/15/el-codigo-viejuno-es-para-los-programadores-como-el-retrato-de-dorian-gray/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Instalar tomcat 6 en Ubuntu</title>
		<link>http://www.acatos.es/2010/02/25/instalar-tomcat-6-en-ubuntu/</link>
		<comments>http://www.acatos.es/2010/02/25/instalar-tomcat-6-en-ubuntu/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 06:35:29 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Turoriales]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[instalar tomcat en ubuntu]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[rolename]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[tomcat6]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=1963</guid>
		<description><![CDATA[Este tutorial se basa en el que podeis encontrar en ubuntulife, con algunas modificaciones que tuve que realizar. Vamos por partes&#8230; ¿Qué es tomcat? Tomcat es un servidor web desarrollado por la peña de Apache, que tiene soporte para servlets y JSP, bastante útil si quieres programar en Java. ¿Qué es un servlet? Un servlet [...]]]></description>
			<content:encoded><![CDATA[<p>Este tutorial se basa en el que podeis encontrar en <a href="http://ubuntulife.wordpress.com/2008/05/06/instalar-javaeclipsetomcat-en-ubuntu-804/">ubuntulife</a>, con algunas modificaciones que tuve que realizar. Vamos por partes&#8230;</p>
<p><strong>¿Qué es <a href="http://es.wikipedia.org/wiki/Tomcat">tomcat</a>?</strong></p>
<p>Tomcat es un <strong>servidor web</strong> desarrollado por la peña de <a href="http://www.apache.org/"><strong>Apache</strong></a>, que tiene soporte para <a href="http://es.wikipedia.org/wiki/Java_Servlet"><strong>servlets</strong></a> y <a href="http://es.wikipedia.org/wiki/JSP"><strong>JSP</strong></a>, bastante útil si quieres programar en <strong>Java</strong>.</p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2010/02/tomcat-ubuntu.jpg"><img class="size-full wp-image-1967 aligncenter" title="tomcat-ubuntu" src="http://www.acatos.es/wp-content/uploads/2010/02/tomcat-ubuntu.jpg" alt="" width="291" height="131" /></a></p>
<p><strong>¿Qué es un servlet?</strong></p>
<p>Un servlet es un programa escrito en java que se ejecuta en un servidor y que normalmente se utiliza para generar contenido html dinámico.</p>
<p><strong>¿Qué es JSP?</strong></p>
<p>JSP se parece más a php que un servlet, porque al igual que con php, podemos tener trozos de html y de JSP mezclados, el servidor tiene que interpretar JSP de la misma manera en la que interpreta PHP.</p>
<p><strong>Instalar Tomcat 6 en Ubuntu</strong></p>
<p>Bien, ya que hemos hecho las presentaciones oportunas, empecemos con el tutorial&#8230;</p>
<p>Vamos a ver qué hay en los repositorios relacionado con <strong>Tomcat</strong>:</p>
<p><span style="color: #008000;"><em>$ apt-cache search tomcat</em></span></p>
<p>Nos devuelve algo tipo&#8230;</p>
<p><span style="color: #008000;"><em>libtomcat6-java &#8211; Servlet and JSP engine &#8212; core libraries<br />
tomcat6 &#8211; Servlet and JSP engine<br />
tomcat6-admin &#8211; Servlet and JSP engine &#8212; admin web applications<br />
tomcat6-common &#8211; Servlet and JSP engine &#8212; common files<br />
tomcat6-docs &#8211; Servlet and JSP engine &#8212; example web applications<br />
tomcat6-examples &#8211; Servlet and JSP engine &#8212; example web applications<br />
tomcat6-user &#8211; Servlet and JSP engine &#8212; tools to create user instances</em></span></p>
<p>Bien, vamos a <strong>instalar tomcat6</strong> y <strong>tomcat6-admin</strong>, al menos de momento.</p>
<p><span style="color: #008000;"><em>$ sudo apt-get install tomcat6 tomcat6-admin</em></span></p>
<p>Listo, ya hemos instalado tomcat6 en Ubuntu ¿difícil? xD</p>
<p>Los ficheros de configuración de Tomcat están en <strong>/etc/tomcat6</strong> el directorio principal de Tomcat en <strong>/usr/share/tomcat6</strong></p>
<p>Para <strong>reiniciar Tomcat</strong>, debemos usar:</p>
<p><span style="color: #008000;"><em>$ sudo /etc/init.d/tomcat6 restart</em></span></p>
<p>Ahora tenemos que <strong>configurar la seguridad</strong>, como vamos a tener un servidor de desarrollo, el nombre de usuario y contraseña que voy a poner es &#8220;tomcat&#8221;. Editamos el fichero de usuarios de tomcat:</p>
<p><span style="color: #008000;"><em>$ sudo gedit /etc/tomcat6/tomcat-users.xml</em></span></p>
<p>Tiene que quedar así:</p>
<p><em>&lt;tomcat-users&gt;<br />
&lt;role rolename=&#8221;admin&#8221;/&gt;<br />
&lt;role rolename=&#8221;manager&#8221;/&gt;<br />
&lt;user username=&#8221;tomcat&#8221; password=&#8221;tomcat&#8221; roles=&#8221;admin,manager&#8221;/&gt;<br />
&lt;/tomcat-users&gt;</em></p>
<p><strong>Reiniciamos</strong> tomcat6 para que se apliquen los cambios:</p>
<pre><span style="color: #008000;"><em>$ sudo /etc/init.d/tomcat6 restart</em></span></pre>
<p>Para <strong>probar que todo va bien</strong>, podemos ir a cualquier navegador web y escribir en la barra de direcciones:</p>
<p><a href="http://localhost:8080/manager/html"><em>http://localhost:8080/manager/html</em></a></p>
<p>A difrutar del gatito <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <em><br />
</em></p>
<p>Fuentes: <a href="http://ubuntulife.wordpress.com/2008/05/06/instalar-javaeclipsetomcat-en-ubuntu-804/">ubuntulife</a> | <a href="http://es.wikipedia.org/wiki/Tomcat">wikipedia</a><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2010/02/25/instalar-tomcat-6-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>El arte es infinito?</title>
		<link>http://www.acatos.es/2010/02/12/el-arte-es-infinito/</link>
		<comments>http://www.acatos.es/2010/02/12/el-arte-es-infinito/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 16:35:20 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[arte]]></category>
		<category><![CDATA[creatividad]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[inspiracion]]></category>
		<category><![CDATA[programas]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=1891</guid>
		<description><![CDATA[El otro día, hablando con alguien sobre software, escuché la siguiente frase: &#8220;En el mundo del software está todo inventado ya&#8220;. Una frase lapidaria que a un informático le puede parecer una blasfemia. Afortunadamente, yo soy un hombre comprensivo y sensato, así que después de hacer sufrir a ese maldito blasfemo las torturas medievales más [...]]]></description>
			<content:encoded><![CDATA[<p>El otro día, hablando con alguien sobre software, escuché la siguiente frase: &#8220;<strong>En el mundo del software está todo inventado ya</strong>&#8220;. Una frase lapidaria que a un informático le puede parecer una blasfemia.</p>
<p>Afortunadamente, yo soy un hombre comprensivo y sensato, así que después de hacer sufrir a ese maldito blasfemo las torturas medievales más horrendas y mandarlo quemar en la hoguera, reflexioné&#8230;</p>
<p>¿Está todo inventado? En el terreno de la informática, tanto en el software como en el hardware, la respuesta es un tajante NO. Incluso sé que nunca lo estará.</p>
<p>Vale, entonces&#8230; ¿Por qué ese montón de cenizas chamuscadas que antes era un blasfemo pensaba semejante atrocidad? Posiblemente, porque tenía una percepción de la informática bastante general.</p>
<p>Ahh&#8230; Interesante&#8230; Traté, de ponerme en su lugar&#8230; en ese momento pensé en el arte, la música por ejemplo&#8230; Yo no soy músico, por lo que tengo una percepción de la misma bastante general.</p>
<p>¿está todo inventado en la música? Bueno&#8230; pensé,  probablemente se han hecho canciones sobre casi todos los sentimientos sentibles. Canciones hablando de cualquier inquietud posible que pueda tener un ser humano&#8230; ¿se puede cantar algo nuevo?</p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2010/02/inspiracion-software-programas.jpg"><img class="size-medium wp-image-1928 aligncenter" title="inspiracion-software-programas" src="http://www.acatos.es/wp-content/uploads/2010/02/inspiracion-software-programas-299x300.jpg" alt="" width="299" height="300" /></a></p>
<p>Al final, llegué a la conclusión de que sí, mientras el ser humano pueda crear cosas nuevas, siempre habrá cosas nuevas sobre las que hablar, opinar y cantar. O maneras diferentes (unas mejores, otras peores) de expresar los sentimientos de siempre&#8230; no sé&#8230;</p>
<p>¿ustedes que piensan? ¿Existe alguna disciplina que implique creatividad y sobre la que se haya inventado todo?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2010/02/12/el-arte-es-infinito/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Como saber si eres un programador super geek?</title>
		<link>http://www.acatos.es/2009/08/12/como-saber-si-eres-un-programador-super-geek/</link>
		<comments>http://www.acatos.es/2009/08/12/como-saber-si-eres-un-programador-super-geek/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 16:50:00 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Listas]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[chiste]]></category>
		<category><![CDATA[friki]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[programador geek]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=1673</guid>
		<description><![CDATA[En estos tiempos en los que es cool ser geek y es chic ser friki, los que nos dedicamos al desarrollo de software molamos tanto como los cuaterback de las típicas pelis americanas. La gente común (que diría Sheldon Cooper) se mata por tratar de ser friki, porque es lo que mola hoy en día [...]]]></description>
			<content:encoded><![CDATA[<p>En estos tiempos en los que es cool ser geek y es chic ser friki, los que nos dedicamos al desarrollo de software molamos tanto como los cuaterback de las típicas pelis americanas. La gente común (que diría <a href="http://www.youtube.com/watch?v=mlhHTdDqoBc">Sheldon Cooper</a>) se mata por tratar de ser friki, porque es lo que mola hoy en día <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><img class="size-full wp-image-1675 aligncenter" title="programador" src="http://www.acatos.es/wp-content/uploads/2009/08/programador.jpg" alt="programador" width="300" height="225" /></p>
<p>&#8230; El primer paso es creerselo, el reconocimiento real ya vendrá con el tiempo ¿no? Aquí una lista con algunas características que lo convierten a uno en <strong>programador super geek</strong> <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li>Crees que 256 es un precioso número redondo</li>
<li> Empiezas a contar en 0, y terminas siempre con uno antes que los demás.</li>
<li> Terminas las frases siempre con punto y coma.</li>
<li> Escribes “igual” como ==, distinto !=.</li>
<li> Puedes teclear { llaves } si mirar al teclado.</li>
<li>El $ de tu teclado está muy gastado</li>
<li> A las frases las llamas “strings”.</li>
<li> Usas habitualmente palabras como iteración, contiguo, trivial, versión, array, polimorfismo, parsear y deprecated en conversaciones.</li>
<li> Usas camelCase cuando firmas</li>
<li> Asumes que la mayoría de la gente ama su trabajo tanto como tú.</li>
<li> Tienes más de 1 monitor</li>
<li> Tienes un servidor web en casa</li>
<li> Te envías mails a tí mismo para recordarte cosas.</li>
</ul>
<p>Esta es una adaptación de la lista que puedes encontrar en la <a href="http://www.frikipedia.es/friki/Programador">frikipedia</a> <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2009/08/12/como-saber-si-eres-un-programador-super-geek/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Obtener valores de un campo CLOB en Oracle</title>
		<link>http://www.acatos.es/2009/04/08/obtener-valores-de-un-campo-clob-en-oracle/</link>
		<comments>http://www.acatos.es/2009/04/08/obtener-valores-de-un-campo-clob-en-oracle/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 16:34:35 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[chuletario]]></category>
		<category><![CDATA[campo clob]]></category>
		<category><![CDATA[dbms_lob]]></category>
		<category><![CDATA[memo]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[obtener valor]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[postgres]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[varchar2]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=1156</guid>
		<description><![CDATA[Los campos tipo CLOB en Oracle son equivalentes a los campos tipo TEXT en postgres o los tipo MEMO en mysql, puedes almacenar muchísima información de tipo texto en ellos. Una columna CLOB puede contener hasta 4GB de información&#8230; imagínate! la biblia en braille por lo menos. El tema es que obtener el valor de [...]]]></description>
			<content:encoded><![CDATA[<p>Los campos tipo <strong>CLOB en Oracle</strong> son equivalentes a los campos tipo <strong>TEXT en postgres</strong> o los tipo <strong>MEMO en mysql</strong>, puedes almacenar muchísima información de tipo texto en ellos.</p>
<p style="text-align: center;"><img class="size-medium wp-image-1157 aligncenter" title="oracle_joke" src="http://www.acatos.es/wp-content/uploads/2009/04/oracle_joke-300x225.jpg" alt="oracle_joke" width="237" height="178" /></p>
<p>Una <strong>columna CLOB</strong> puede contener hasta 4GB de información&#8230; imagínate! la biblia en <a href="http://www.acatos.es/2008/11/12/como-funciona-el-braille/">braille</a> por lo menos.</p>
<p>El tema es que <strong>obtener el valor de un campo CLOB en un SELECT</strong> no es tan sencillo como en <strong>postgres</strong> o <strong>mysql</strong>, <strong>CLOB</strong> es un objeto y hay que usar la librería <strong>DBMS_LOB</strong> para manejarlo.</p>
<p>Las dos funciones útiles para <strong>leer un campo CLOB</strong> son las siguientes:</p>
<p><code>DBMS_LOB.substr(CLOB, longitud, posicion_inicial);</code></p>
<p><code>DBMS_LOB.getlength(CLOB);</code></p>
<p>Combinándolas, podemos <strong>obtener el contenido de una columna CLOB</strong> para nuestro SELECT.</p>
<p>Supongamos una tabla <strong>tablaprueba</strong> con un campo <strong>observaciones</strong> de tipo CLOB:</p>
<p><strong>SELECT DBMS_LOB.substr(observaciones,DBMS_LOB.getlength(observaciones),1) FROM tablaprueba;</strong></p>
<p>Así de fácil <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Si el campo de texto que queremos crear tendrá menos de 4000 caracteres&#8230; mejor usar un <strong>VARCHAR2</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2009/04/08/obtener-valores-de-un-campo-clob-en-oracle/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Master de Java online en Syncrom, ya me he apuntado</title>
		<link>http://www.acatos.es/2009/02/10/master-de-java-online-en-syncrom-ya-me-he-apuntado/</link>
		<comments>http://www.acatos.es/2009/02/10/master-de-java-online-en-syncrom-ya-me-he-apuntado/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 11:16:11 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Master de java en Syncrom]]></category>
		<category><![CDATA[master de java online]]></category>
		<category><![CDATA[Netbeans en ubuntu]]></category>
		<category><![CDATA[syncrom]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=877</guid>
		<description><![CDATA[Buenas, si me ven apuradillo de tiempo es porque ya me he apuntado en el Master de Java Online de Syncrom. Ya les hablé de ello hace unos cuantos meses y la verdad que he tardado en apuntarme desde entonces&#8230; pero lo importante es que ya lo hayamos empezado. De momento bien, estoy a la [...]]]></description>
			<content:encoded><![CDATA[<p>Buenas, si me ven apuradillo de tiempo es porque ya me he apuntado en el <a href="http://www.acatos.es/2008/09/29/master-de-java-en-syncrom/"><strong>Master de Java Online de Syncrom</strong></a>. Ya les hablé de ello hace unos cuantos meses y la verdad que he tardado en apuntarme desde entonces&#8230; pero lo importante es que ya lo hayamos empezado.</p>
<p>De momento bien, estoy a la espera de que me llegue la documentación por correo ordinario, me la he descargado en pdf de la plataforma de <strong>e-learning</strong> de <a href="http://www.syncrom.com/"><strong>syncrom</strong></a> y he empezado a leerla.</p>
<p>Ya tengo instalado <a href="http://aldeaubuntu.blogspot.com/2008/05/netbeans-en-ubuntu-hardy-heron.html"><strong>Netbeans en Ubuntu</strong></a>, la verdad es que la interfaz me parece más atractiva que la de eclipse, con el que había jugado un poco. A ver que tal.</p>
<p align="center"><img class="aligncenter size-full wp-image-878" title="ubuntu_java_logo" src="http://www.acatos.es/wp-content/uploads/2009/02/ubuntu_java_logo.jpg" alt="ubuntu_java_logo" width="160" height="160" /></p>
<p>Ya les iré poniendo al día de mis progresos <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  alguna cosilla tendré que hacer en java cuando termine el master, para poner en práctica lo aprendido&#8230; ¿sugerencias?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2009/02/10/master-de-java-online-en-syncrom-ya-me-he-apuntado/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>La importancia de tabindex en programas usables</title>
		<link>http://www.acatos.es/2008/12/16/la-importancia-de-tabindex-en-programas-usables/</link>
		<comments>http://www.acatos.es/2008/12/16/la-importancia-de-tabindex-en-programas-usables/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 13:38:53 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[itable]]></category>
		<category><![CDATA[accesibilidad]]></category>
		<category><![CDATA[elementos]]></category>
		<category><![CDATA[enter]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[orden]]></category>
		<category><![CDATA[tab]]></category>
		<category><![CDATA[tabindex]]></category>
		<category><![CDATA[usabilidad]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=541</guid>
		<description><![CDATA[Como saben, estoy intentando &#8220;terminar de empezar&#8221; (un programa nunca se termina del todo) el proyecto iTable. El software, probablemente lo van a usar personas que tendrán muchas dificultades para mover las manos. Tareas tan sencillas como hacer clic, mover el ratón o pulsar varias teclas a la vez, se complican mucho para estas personas. [...]]]></description>
			<content:encoded><![CDATA[<p>Como saben, estoy intentando &#8220;terminar de empezar&#8221; (un programa nunca se termina del todo) el proyecto <a href="http://www.acatos.es/category/itable/">iTable</a>. El software, probablemente lo van a usar personas que tendrán muchas dificultades para mover las manos. Tareas tan sencillas como hacer clic, mover el ratón o pulsar varias teclas a la vez, se complican mucho para estas personas.</p>
<p>Lo que se intenta es hacer un programa accesible que no tenga ningún tipo de barrera en cuanto al manejo. Lo ideal es depender lo menos posible del ratón y si se puede usar con el mínimo número de teclas, sería ideal.</p>
<p>Me he propuesto que se pueda usar mediante dos únicas teclas, <strong>Tabulador</strong> y <strong>Enter</strong>.</p>
<p>La tecla &#8220;tabulador&#8221; suele ser la de esta imagen:</p>
<p style="text-align: center;"><img class="size-medium wp-image-569 aligncenter" title="tecla-tabulador-tab" src="http://www.acatos.es/wp-content/uploads/2008/12/tecla-tabulador-tab-300x204.jpg" alt="tecla-tabulador-tab" width="300" height="204" /></p>
<p>La tecla &#8220;enter&#8221; es de las más famosas del teclado, se suele situar en dos posiciones:</p>
<p style="text-align: center;">
<img class="aligncenter size-medium wp-image-570" title="tecla-enter-intro" src="http://www.acatos.es/wp-content/uploads/2008/12/tecla-enter-intro-300x225.png" alt="tecla-enter-intro" width="300" height="225" />
</p>
<p>La idea, es que los usuarios de <a href="http://www.itable.es">itable</a>, puedan usar el programa usando la tecla tabulador para moverse por las categorias, opciones e imágenes del tablero. Dejando la tecla enter para seleccionar imágenes y opciones.</p>
<p>Para esto, hay una propiedad que tienen algunos elementos html llamada tabindex, con la que podemos indicar el orden que se va a seguir cuando pulsemos la tecla TAB (tabulador). Podemos ver un buen tutorial de su uso en <a href="http://www.htmlcodetutorial.com/forms/_INPUT_TABINDEX.html">este enlace</a>. Se trata, simplemente, de decirle a los elementos html el orden en que se van a seleccionar al usar la tecla TAB.</p>
<p style="text-align: center;">
<img class="aligncenter size-full wp-image-508" title="logo_itable" src="http://www.acatos.es/wp-content/uploads/2008/11/logo_itable.png" alt="logo_itable" width="200" height="90" />
</p>
<p>Los elementos que permiten esta propiedad son &lt;A&gt;, &lt;AREA&gt;, &lt;BUTTON&gt;, &lt;INPUT&gt;, &lt;OBJECT&gt;, &lt;SELECT&gt; Y &lt;TEXTAREA&gt;. Además, hay un asunto importante, si le damos a tabindex un valor -1, no se seleccionará el elemento al usar la tecla TAB.</p>
<p>En el ejemplo práctico de <a href="http://www.itable.es">itable</a>, solo permitiré que se pueda usar el Tabulador con las categorias, imágenes y quizás alguna opción. Simplificando el manejo (creo yo). </p>
<p>Cualquier duda o sugerencia&#8230; ya saben <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2008/12/16/la-importancia-de-tabindex-en-programas-usables/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iTable: Ya pasa el texto a voz gracias a vozme</title>
		<link>http://www.acatos.es/2008/11/20/itable-ya-pasa-el-texto-a-voz-gracias-vozme/</link>
		<comments>http://www.acatos.es/2008/11/20/itable-ya-pasa-el-texto-a-voz-gracias-vozme/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 01:56:29 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[itable]]></category>
		<category><![CDATA[modulacion voz]]></category>
		<category><![CDATA[pasar texto a voz]]></category>
		<category><![CDATA[tablero comunicacion]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=506</guid>
		<description><![CDATA[El proyecto iTable necesitaba un empujón y he avanzado un poquito. ¡Ya he conseguido uno de los objetivos que me marqué en aquel post! Poder pasar el texto generado a voz Uso el servicio inestimable de vozme, una manera sencilla de modular voz online. Hay que decir que el tablero que se crea por defecto [...]]]></description>
			<content:encoded><![CDATA[<p>El proyecto <a href="http://www.acatos.es/category/itable/"><strong>iTable</strong></a> necesitaba un empujón y he avanzado un poquito. <strong>¡Ya he conseguido uno de los objetivos que me marqué en <a href="http://www.acatos.es/2008/05/19/retomando-el-proyecto-itable/">aquel post</a>!</strong> Poder pasar el texto generado a voz <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2008/11/speaker.png"><img class="alignnone size-medium wp-image-507 aligncenter" title="speaker" src="http://www.acatos.es/wp-content/uploads/2008/11/speaker.png" alt="" width="120" height="120" /></a></p>
<p style="text-align: left;">Uso el servicio inestimable de <a href="http://vozme.com/index.php?lang=es">vozme</a>, una manera sencilla de modular voz online. Hay que decir que el tablero que se crea por defecto no destaca por su amplio léxico, pero recuerden que está en una fase alpha. Ya habrá tiempo de perfeccionar el juego de imágenes en sí.</p>
<p style="text-align: left;">He hecho unos cuantos contactos gracias a los anteriores post que escribí aquí y ayuda especializada en este tipo de comunicación no me faltará.</p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2008/11/logo_itable.png"><img class="alignnone size-medium wp-image-508 aligncenter" title="logo_itable" src="http://www.acatos.es/wp-content/uploads/2008/11/logo_itable.png" alt="" width="200" height="90" /></a></p>
<p style="text-align: left;">Bueno, si quieren probarlo y hacerlo explotar como buenos usuarios test pueden ir a <a href="http://www.itable.es">www.itable.es</a>. Hay algunos errores que ya he detectado yo y tengo pendientes de solucionar, pero si encuentran alguno avisen 1654 ojos ven más que dos (hoy entraron aquí 827 almas). Para acceder a <a href="http://www.itable.es">iTable</a> pueden usar:</p>
<p style="text-align: left;">Usuario: <strong>foo9</strong> Password: <strong>foo9</strong></p>
<p style="text-align: left;">No se creen usuarios aun, que tengo que solucionar algunas cosillas en la creación de usuario. Queda poquito para tener esa parte acabada. No está mal para una tarde de trabajo (gimnasio incluido). Me voy a dormir que dentro de 5 horas me despierto :p</p>
<p style="text-align: left;">PD: Ahora se me antojó hacer un <a href="http://www.acatos.es/2008/11/12/como-funciona-el-braille/">iBraille</a>, pero tengo que acabar este primero para ir por partes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2008/11/20/itable-ya-pasa-el-texto-a-voz-gracias-vozme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Master de java en Syncrom</title>
		<link>http://www.acatos.es/2008/09/29/master-de-java-en-syncrom/</link>
		<comments>http://www.acatos.es/2008/09/29/master-de-java-en-syncrom/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 05:15:25 +0000</pubDate>
		<dc:creator>acatos</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[ccna]]></category>
		<category><![CDATA[certificacion sun]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Master de java en Syncrom]]></category>
		<category><![CDATA[master de java online]]></category>
		<category><![CDATA[precio]]></category>
		<category><![CDATA[syncrom]]></category>
		<category><![CDATA[temario]]></category>

		<guid isPermaLink="false">http://www.acatos.es/?p=284</guid>
		<description><![CDATA[En mi profesión es muy importante la formación continua y procuro no dejar más de un año entre curso y curso. Así cuando me coma las uvas el 31 puedo mirar atrás y decirme: &#8220;Se ha pasado rápido el año, pero he aprendido tal cosa&#8221;. Este año acabé el ccna (Cisco Certificate for Network Associate) [...]]]></description>
			<content:encoded><![CDATA[<p>En mi profesión es muy importante la formación continua y procuro no dejar más de un año entre curso y curso. Así cuando me coma las uvas el 31 puedo mirar atrás y decirme: &#8220;Se ha pasado rápido el año, pero he aprendido tal cosa&#8221;.</p>
<p>Este año acabé el <a href="http://www.cisco.com/web/learning/netacad/index.html"><strong>ccna</strong></a> (<em>Cisco Certificate for Network Associate</em>) y para este nuevo periodo quería hacer algo de <a href="http://java.sun.com/">Java</a>. Llevo tiempo mirando y para un <strong>máster online de Java</strong> que cubra bastante contenido y tenga un precio no demasiado caro la mejor opción es la del <a href="http://www.syncrom.com/temarios/sfe1/sfe1_faq.asp">máster de java de Syncrom</a>.</p>
<p>El <a href="http://www.syncrom.com/temarios/sfe1/sfe1_faq4.asp?CodPromo=">temario del master</a> parece bastante completo y ya tengo algun amigo haciendolo, enfrascados en prácticas como en los tiempos de la universidad <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  que recuerdos ese <strong>Micros II</strong>.</p>
<p>Cubre el contenido de dos certificaciones Java,</p>
<p><em><span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: x-small;">- Sun Certified Programmer for Java 2 Platform 1.4                           (CX-310-035)<br />
- Sun Certified Web Component Developer for the Java                           2 Platform, Enterp. Ed. 1.4 (CX-310-081)</span></span></em></p>
<p>Aunque el derecho a examen no está incluido en el precio.</p>
<p style="text-align: center;"><a href="http://www.acatos.es/wp-content/uploads/2008/09/java-master.jpg"><img class="alignnone size-medium wp-image-362 aligncenter" title="java-master" src="http://www.acatos.es/wp-content/uploads/2008/09/java-master-300x227.jpg" alt="" width="300" height="227" /></a></p>
<p>Pues eso, el máster sale por <strong>475€</strong> y tienes un año para realizarlo, mi intención es no estar más de 4 o 5 meses, a ver que tal.</p>
<p>Les iré contando como me va <img src='http://www.acatos.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.acatos.es/2008/09/29/master-de-java-en-syncrom/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

