<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1346779786156529893</id><updated>2024-10-24T23:51:51.407+02:00</updated><category term="linux"/><category term="live-cd"/><category term="live-usb"/><category term="maven"/><category term="mvn"/><category term="open source"/><category term="php"/><category term="svn"/><category term="ubuntu"/><category term="EAN 128"/><category term="OpenOffice"/><category term="adobe"/><category term="almacenamiento"/><category term="android"/><category term="apache"/><category term="aplicaciones"/><category term="backup"/><category term="barcode4j"/><category term="bash"/><category term="blog"/><category term="blogging"/><category term="checksum"/><category term="cli"/><category term="configuracion"/><category term="control de versiones"/><category term="código de barras"/><category term="código fuente"/><category term="datos"/><category term="desarrollo"/><category term="desarrollo web"/><category term="eclipse"/><category term="encoding"/><category term="estadisticas"/><category term="ext3"/><category term="faq"/><category term="fat"/><category term="fat32"/><category term="georeferencia"/><category term="google maps"/><category term="grep"/><category term="habitos de lectura"/><category term="home"/><category term="htc"/><category term="informática"/><category term="java"/><category term="javascript"/><category term="kettle"/><category term="lamp"/><category term="magic"/><category term="mantis"/><category term="maven_opts"/><category term="metodología"/><category term="mysql"/><category term="móvil"/><category term="ntfs"/><category term="pdf"/><category term="pendrive"/><category term="pentaho"/><category term="phpmyadmin"/><category term="programación"/><category term="proxy"/><category term="script"/><category term="sh"/><category term="sistema de ficheros"/><category term="sql"/><category term="teléfono"/><category term="temporizar"/><category term="troubleshooting"/><category term="táctil"/><category term="vfat"/><category term="vodafone"/><category term="wiki"/><title type='text'>texaco blog</title><subtitle type='html'>He tenido otros blogs, de temática más específica, pero siempre he necesitado donde poner ciertas notas para no olvidarlas.&#xa;Espero que este sea el sitio.&#xa;De qué va? De las cosas que a mi me interesan, que son (actualmente) tecnología, java, linux, android, bicicleta de montaña, running, video juegos...&#xa;Y a saber qué más.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-3677235489345086227</id><published>2014-08-03T19:00:00.000+02:00</published><updated>2014-08-03T19:57:32.563+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blog"/><category scheme="http://www.blogger.com/atom/ns#" term="blogging"/><category scheme="http://www.blogger.com/atom/ns#" term="estadisticas"/><category scheme="http://www.blogger.com/atom/ns#" term="habitos de lectura"/><category scheme="http://www.blogger.com/atom/ns#" term="temporizar"/><title type='text'>Temporiza tus publicaciones</title><content type='html'>&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUqMNelWXejdUqTWzak1cEza0SxPw1s4ioKbJ1C-TNQC-tCAixKQRe45WHYQjLQpSLAJGt5pXoXyAzqIvQsHIMZzRh9kl2J02wGm4UdtcsygnwCZmUYV4K3E_pGBjz7KY4nqEYOYrcrug/s1600/5281453002_bbb90760f8_o.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Temporización de las publicaciones en internet.&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUqMNelWXejdUqTWzak1cEza0SxPw1s4ioKbJ1C-TNQC-tCAixKQRe45WHYQjLQpSLAJGt5pXoXyAzqIvQsHIMZzRh9kl2J02wGm4UdtcsygnwCZmUYV4K3E_pGBjz7KY4nqEYOYrcrug/s1600/5281453002_bbb90760f8_o.png&quot; height=&quot;132&quot; title=&quot;Temporización&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Sean MacEntee (&lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/&quot;&gt;algunos derechos reservados&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
En &lt;a href=&quot;http://blog.kissmetrics.com/science-of-social-timing-3/&quot;&gt;kissMetrics&lt;/a&gt; nos ofrecen una infografía donde se muestran algunos indicadores influyentes a la hora de elegir el &lt;b&gt;momento de tus publicaciones&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
La infografía comienza con las siguientes premisas.&lt;br /&gt;
&lt;br /&gt;
Publicar en las horas punta:&lt;br /&gt;
&lt;br /&gt;
Como ventaja se tienen &lt;b&gt;más visitas&lt;/b&gt; y &lt;b&gt;más comentarios&lt;/b&gt;, pero por contra tu publicación aparece &lt;b&gt;enterrada entre otras noticias&lt;/b&gt; y &lt;b&gt;publicaciones&lt;/b&gt;, y el porcentaje de &lt;b&gt;rebote es mayor&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Publicar fuera de las horas puntas:&lt;br /&gt;
&lt;br /&gt;
El &lt;b&gt;menor ruido&lt;/b&gt; hace que las publicaciones sean más importantes ante la competencia. Es más fácil que tu publicación aparezca recomendada durante estas horas. Por otro lado, tendremos &lt;b&gt;menos visitas&lt;/b&gt;, &lt;b&gt;menos comentarios&lt;/b&gt; y &lt;b&gt;menor porcentaje de rebote&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Se analizan los siguientes hábitos.&lt;br /&gt;
&lt;br /&gt;
Sobre el 70% de los lectores de noticias, lo hacen &lt;b&gt;por la mañana&lt;/b&gt;, decreciendo dicho porcentaje a lo largo del día.&lt;br /&gt;
&lt;br /&gt;
Los &lt;b&gt;hombre leen más noticias&lt;/b&gt; que las mujeres.&lt;br /&gt;
&lt;br /&gt;
El día que &lt;b&gt;se leen más&lt;/b&gt; blogs son &lt;b&gt;los lunes&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
A la hora a la que los blogs tienen &lt;b&gt;más tráfico&lt;/b&gt; es a las &lt;b&gt;11 am&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;El sábado &lt;/b&gt;es el día en el que se reciben &lt;b&gt;más comentarios&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
A las &lt;b&gt;9 am&lt;/b&gt; es la hora a la que los blogs reciben &lt;b&gt;más comentarios&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Los lunes&lt;/b&gt; y &lt;b&gt;los jueves&lt;/b&gt; son los días que los blogs reciben &lt;b&gt;más enlaces&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
A las &lt;b&gt;7 am&lt;/b&gt; es cuando más se reciben estos &lt;b&gt;enlaces&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Es complicado establecer conclusiones al respecto de estos datos y depende de la cantidad de información que publiquéis.&lt;br /&gt;
&lt;br /&gt;
En mi caso publico &lt;b&gt;cuando tengo tiempo para escribir&lt;/b&gt;. Aunque me he interesado por este tema para considerar &lt;b&gt;temporizar mis publicaciones&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
¿Qué es lo que os funciona a vosotros?</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/3677235489345086227/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2014/08/temporiza-tus-publicaciones.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/3677235489345086227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/3677235489345086227'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2014/08/temporiza-tus-publicaciones.html' title='Temporiza tus publicaciones'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUqMNelWXejdUqTWzak1cEza0SxPw1s4ioKbJ1C-TNQC-tCAixKQRe45WHYQjLQpSLAJGt5pXoXyAzqIvQsHIMZzRh9kl2J02wGm4UdtcsygnwCZmUYV4K3E_pGBjz7KY4nqEYOYrcrug/s72-c/5281453002_bbb90760f8_o.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-962229401537823195</id><published>2010-09-21T10:36:00.000+02:00</published><updated>2014-07-15T18:41:01.253+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="encoding"/><category scheme="http://www.blogger.com/atom/ns#" term="faq"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="maven_opts"/><category scheme="http://www.blogger.com/atom/ns#" term="mvn"/><category scheme="http://www.blogger.com/atom/ns#" term="proxy"/><category scheme="http://www.blogger.com/atom/ns#" term="troubleshooting"/><title type='text'>MAVEN - RESOLUCION DE PROBLEMAS</title><content type='html'>Problemas que me he ido encontrando y como solucionarlos.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;PROXY&lt;/span&gt;&lt;br /&gt;Aunque tengas configurado un proxy para todo el sistema, maven no entiende eso. Hay que configurarlo de forma específica en su fichero /etc/maven2/setting.xml&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ENCODING&lt;/span&gt;&lt;br /&gt;Cuando intentas compilar desde una máquina linux, el código desarrollado en un windows, suele ocurrir, que los encodings utilizados son diferentes.&lt;br /&gt;Esto suele acarrear que el compilador no reconozca algunos caracteres de los ficheros fuentes y por tanto sea incapaz de compilarlos.&lt;br /&gt;&lt;br /&gt;Para resolver esto, podemos informar explícitamente en qué juego de caracteres están nuestras fuentes.&lt;br /&gt;&lt;br /&gt;A mi me gusta hacerlo mediante variable de entorno, ya que es un caso muy común y si intento que el equipo de trabajo desarrolle en UTF-8, seguro que a alguno se le escapa.&lt;br /&gt;&lt;br /&gt;MAVEN_OPTS=-Dfile.encoding=ISO-8859-1&lt;br /&gt;&lt;br /&gt;Aunque esto se puede establecer desde la lína de comandos cuando lanzas el maven o incluso en el propio pom.xml&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ARTEFACTOS EN REPOSITORIOS EXTERNOS&lt;/span&gt;&lt;br /&gt;Es muy cotidiano encontrase con que para construir nuestros proyectos, no encontremos algunas dependencias, ya sean de librerías o de plugins.&lt;br /&gt;&lt;br /&gt;Para esto debemos tener registrado el repositorio en el que se encuentran para que se los traiga a nuestro repositorio local en el primer acceso.&lt;br /&gt;&lt;br /&gt;En estas URL&#39;s podemos hacer una búsqueda rápida de artefactos para saber de donde podemos obtenerlos.&lt;br /&gt;&lt;br /&gt;http://mvnrepository.com/&lt;br /&gt;http://www.mvnbrowser.com/index.html</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/962229401537823195/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/09/maven-resolucion-de-problemas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/962229401537823195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/962229401537823195'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/09/maven-resolucion-de-problemas.html' title='MAVEN - RESOLUCION DE PROBLEMAS'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-7559144569391485081</id><published>2010-09-20T15:43:00.000+02:00</published><updated>2014-07-15T18:41:01.250+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="mvn"/><title type='text'>MAVEN</title><content type='html'>En esta serie de entradas intentaremos tomar apuntes de los temas claves para comprender y usar MAVEN.&lt;br /&gt;&lt;br /&gt;En esta entrada hablaremos de...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Plugins y Goals&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;LIFECYCLE&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;COORDENADAS&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;DEPENDENCIAS&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Plugins y Goals&lt;/span&gt;&lt;br /&gt;Una imagen vale más que mil palabras.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_plugin.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 406px; height: 160px;&quot; src=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_plugin.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Efectivamente, podríamos decir que un plugin, es un conjunto de goals.&lt;br /&gt;&lt;br /&gt;A nivel de línea de comandos, cuando podemos invocar un plugin y un goal de la siguiente forma:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;mvn plugin:goal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como por ejemplo cuando lanzamos:&lt;br /&gt;&lt;br /&gt;mvn dependency:purgue-local-repository&lt;br /&gt;&lt;br /&gt;En realidad lo que estamos haciendo es lanzar el goal &lt;span style=&quot;font-style: italic;&quot;&gt;purgue-local-repository&lt;/span&gt; del plugin &lt;span style=&quot;font-style: italic;&quot;&gt;dependency&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Estos son algunos de los colorarios que podríamos arrojar sobre los GOALS&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El goal, es la unidad básica de trabajo en MAVEN.&lt;/li&gt;&lt;li&gt;Un goal se puede ejecutar por si solo, o formar parte de un complejo proceso de construcción&lt;/li&gt;&lt;li&gt;MAVEN no sabe compilar tu proyecto. Se descarga el &lt;span style=&quot;font-weight: bold;&quot;&gt;plugin&lt;/span&gt; y ejecuta el &lt;span style=&quot;font-weight: bold;&quot;&gt;goal&lt;/span&gt; correspondiente. Como tampoco sabe empaquetar tu proyecto en un JAR.&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;LIFECYCLE&lt;/span&gt;&lt;br /&gt;mvn install no es un goal específico de un plugin. Se trata de una fase en un LIFECYCLE.&lt;br /&gt;&lt;br /&gt;Un lifecycle, es una secuencia ordenada de fases o pasos que conforman la construcción de un proyecto.&lt;br /&gt;&lt;br /&gt;Una fase de un lifecycle, puede tener ninguno o varios goals asociados.&lt;br /&gt;&lt;br /&gt;Cuando invocamos MAVEN con una fase, maven ejecuta todas las fases precedentes a dicha fase en determinado lifecycle (se entiende que si no se configura o especifica un lifecycle, se establece uno por omisión), hasta llegar a la fase indicada en la linea de comando.&lt;br /&gt;&lt;br /&gt;Por lo tanto cuando ejecutamos mvn install, ejecuta compile, test y package previamente.&lt;br /&gt;&lt;br /&gt;Un gráfico de como se ejecutan los goals asociados a un lifecycle:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_lifecyclebinding.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 389px; height: 595px;&quot; src=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_lifecyclebinding.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Ejecutar mvn install tendría el mismo resultado que ejecutar:&lt;br /&gt;&lt;pre class=&quot;screen&quot;&gt;&lt;span&gt;&lt;strong class=&quot;command&quot;&gt;mvn resources:resources \&lt;br /&gt;compiler:compile \&lt;br /&gt;resources:testResources \&lt;br /&gt;compiler:testCompile \&lt;br /&gt;surefire:test \&lt;br /&gt;jar:jar \&lt;br /&gt;install:install&lt;/strong&gt;&lt;/span&gt; &lt;/pre&gt;En este ejemplo, especificaríamos el goal que deseamos usar.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;COORDENADAS&lt;/span&gt;&lt;br /&gt;Existen unos atributos a forma de coordenadas que permiten identificar un proyecto de forma unívoca.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_annopom.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 447px; height: 300px;&quot; src=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_annopom.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tal y como aparece en la imagen, podemos identificar las COORDENADAS de un proyecto en su pom.xml y la forma de hacer referencia única a dicho proyecto es la siguiente:&lt;br /&gt;&lt;br /&gt;groupId:artifactId:packagin:version&lt;br /&gt;&lt;br /&gt;Estos 4 parametros conforman lo que se llama ESPACIO MAVEN.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;DEPENDENCIAS&lt;/span&gt;&lt;br /&gt;Cuando creamos un proyecto maven, solo hay que indicar las dependencias directas de nuestro proyecto. Maven calcula las dependencias de estas dependencias.&lt;br /&gt;Es decir, si necesitamos junit para testar nuestro proyecto, solo tenemos que indicar que depende de junit.&lt;br /&gt;Las dependencias de junit, serán resueltas de forma automática.&lt;br /&gt;&lt;br /&gt;Esto es lo que Maven denomina dependencias transitivas:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_depgraph.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 371px; height: 241px;&quot; src=&quot;http://www.sonatype.com/books/maven-book/reference/figs/web/simple-project_depgraph.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Las dependencias tiene un ámbito. Si indicamos que junit tiene el ámbito de test, no estará disponible para el goal compile.&lt;br /&gt;&lt;br /&gt;En concreto el ámbito &lt;span style=&quot;font-style: italic;&quot;&gt;provided&lt;/span&gt;, indica que el contenedor de la aplicación (tomcat, weblogic...) proveerá dicha dependencia, no incluyendose dentro del empaquetado (war, ear...)&lt;br /&gt;&lt;br /&gt;Esto puede ocasionar que un proyecto compile, y se empaquete, pero a la hora de desplegarse lance un error si dichas dependencias no están debidamente provistas (un típico ClassNotFoundException)&lt;br /&gt;&lt;br /&gt;Fuente: manual de maven de SONATA&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/7559144569391485081/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/09/maven.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7559144569391485081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7559144569391485081'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/09/maven.html' title='MAVEN'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-8241731699233889104</id><published>2010-05-19T17:57:00.000+02:00</published><updated>2010-05-19T18:33:39.501+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="checksum"/><category scheme="http://www.blogger.com/atom/ns#" term="código fuente"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>Que no te la den con el código!!</title><content type='html'>Alguna vez habéis pensado en como guardaros la espalda cuando entregáis un código.&lt;br /&gt;&lt;br /&gt;¿Romperán el proyecto y luego te dirán que lo arregles?&lt;br /&gt;&lt;br /&gt;La ingeniería de el software ya es bastante complicada como para tener parámetros como este en cuenta.&lt;br /&gt;&lt;br /&gt;Sería buena práctica resolver las incidencias sobre un código fuente que valide el checksum y por tanto NO MODIFICADO.&lt;br /&gt;&lt;br /&gt;Para comprobar que el fuente no se ha modificado (y sobre el que se desarrollarán los parches) realizaremos los siguientes pasos.&lt;br /&gt;&lt;br /&gt;1. - Entrega el código y calculo del checksum&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;find \( -name &quot;*.java&quot; -o -name &quot;*.jsp&quot; -o -name &quot;*.jar&quot; -o -name&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; &quot;pom.xml&quot; \) -type f -exec md5sum {} \; &gt; PROYECTO.md5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En el fichero PROYECTO.md5 se guardarán los checksum de los ficheros fuentes jsp, java, jar y el pom.xml&lt;br /&gt;&lt;br /&gt;2. - Verificación del código para hacer uso de la garantía.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;md5sum -c PROYECTO.md5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El resultado de este comando indica si se ha modificado algún fichero y cual o cuales se han modificado.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;NOTA&lt;/span&gt;: Si en lugar del código, entregáis un binario, solo habría que hacer el md5sum del fichero binario.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/8241731699233889104/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/que-no-te-la-den-con-el-codigo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/8241731699233889104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/8241731699233889104'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/que-no-te-la-den-con-el-codigo.html' title='Que no te la den con el código!!'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-3532352584198085097</id><published>2010-05-19T12:19:00.001+02:00</published><updated>2010-05-19T12:29:25.338+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adobe"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenOffice"/><category scheme="http://www.blogger.com/atom/ns#" term="pdf"/><title type='text'>Crear formularios PDF en LINUX</title><content type='html'>&amp;lt;modo_evil&amp;gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;En realidad es multiplataforma... pero los usuarios de microshoft, que paguen del producto de adobe.&lt;/span&gt;&lt;br /&gt;&amp;lt;/modo_evil&amp;gt;&lt;br /&gt;&lt;br /&gt;Pues eso, que desde linux también se pueden crear formularios rellenables (fillable) en PDF.&lt;br /&gt;&lt;br /&gt;¿Ventajas de estos formularios? que los puedes rellenar en el ordenador, e imprimirlos.&lt;br /&gt;&lt;br /&gt;Con los otros tendrías que imprimirlos y rellenarlos a mano.&lt;br /&gt;&lt;br /&gt;Bueno, para hacer esto, solo necesitas el &lt;span style=&quot;font-weight: bold;&quot;&gt;OpenOffice&lt;/span&gt; (yo estoy usando la versión del repositorio del &lt;span style=&quot;font-weight: bold;&quot;&gt;Ubuntu Lucid&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1. - Mostrar la barra de herramientas de formularios&lt;/span&gt;&lt;br /&gt;Ver -&gt; Barras de herramientas -&gt; Campos de control de formularios&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2. - Componer tu formulario&lt;/span&gt;&lt;br /&gt;Arrastrar campos a diestro y siniestro.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;3.- Exportar como PDF y a disfrutar difundiendo tus formularios con acabados profesionales.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/3532352584198085097/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/crear-formularios-pdf-en-linux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/3532352584198085097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/3532352584198085097'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/crear-formularios-pdf-en-linux.html' title='Crear formularios PDF en LINUX'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-7145288651854619661</id><published>2010-05-18T20:24:00.000+02:00</published><updated>2010-05-18T21:39:42.030+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="georeferencia"/><category scheme="http://www.blogger.com/atom/ns#" term="google maps"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>Google Maps</title><content type='html'>Ya en su momento, trabajé el tema de la &lt;span style=&quot;font-weight: bold;&quot;&gt;Geo-Referencia&lt;/span&gt;.&lt;br /&gt;Eran otros tiempos y otros requisitos.&lt;br /&gt;&lt;br /&gt;Por entonces exploré el tandem &lt;a href=&quot;http://geoserver.org/display/GEOS/Welcome&quot;&gt;geoserver&lt;/a&gt;-&lt;a href=&quot;http://openlayers.org/&quot;&gt;openlayers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hoy nos toca pelearnos con la api de &lt;span style=&quot;font-weight: bold;&quot;&gt;google-maps&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Importar las librerías.&lt;/span&gt;&lt;br /&gt;Sacado de un ejemplo de la ayuda de google maps, tenemos lo siguiente.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt; &amp;lt;head&amp;gt;&lt;br /&gt;  ...&lt;br /&gt;  &amp;lt;script&lt;br /&gt;                      src=&quot;http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;key=[KEY]&quot;&lt;br /&gt;                      type=&quot;text/javascript&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;  ...&lt;br /&gt; &amp;lt;/head&amp;gt;&lt;br /&gt; &amp;lt;body&amp;gt;&lt;br /&gt;  ...&lt;br /&gt; &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;KEY&lt;/span&gt;&lt;br /&gt;Es necesario solicitar una KEY para utilizar la api de google &lt;a href=&quot;http://code.google.com/intl/es/apis/maps/signup.html&quot;&gt;aquí&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Crear Mapa Básico&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Código básico para poner un mapa.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   function initialize() {&lt;br /&gt;     if (GBrowserIsCompatible()) {&lt;br /&gt;       var map = new GMap2(document.getElementById(&quot;map_canvas&quot;));&lt;br /&gt;       map.setCenter(new GLatLng(37.4419, -122.1419), 13);&lt;br /&gt;       map.setUIToDefault();&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Establecer un Centro&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt; function LoadMapSearchControl() {&lt;br /&gt;&lt;br /&gt; var options = {&lt;br /&gt;     zoomControl : GSmapSearchControl.ZOOM_CONTROL_ENABLE_ALL,&lt;br /&gt;     title : &quot;málaga&quot;,&lt;br /&gt;     url : &quot;http://www.google.com/corporate/index.html&quot;,&lt;br /&gt;     idleMapZoom : GSmapSearchControl.ACTIVE_MAP_ZOOM,&lt;br /&gt;     activeMapZoom : GSmapSearchControl.ACTIVE_MAP_ZOOM&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt; new GSmapSearchControl(&lt;br /&gt;     document.getElementById(&quot;mapsearch&quot;),&lt;br /&gt;     &quot;1600 Amphitheatre Parkway, Mountain View, CA&quot;,&lt;br /&gt;     options&lt;br /&gt;     );&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt; // arrange for this function to be called during body.onload&lt;br /&gt; // event processing&lt;br /&gt; GSearch.setOnLoadCallback(LoadMapSearchControl);&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Cargar una marca en el mapa&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; var point = new GLatLng(lat,lon);&lt;br /&gt; map.addOverlay(new GMarker(point));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Capturar la geo-referencia&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;GEvent.addListener(map, &quot;click&quot;, function(overlay,latlng) {&lt;br /&gt; if (latlng) {&lt;br /&gt;   var myHtml = &quot;The GPoint value is: &quot; + map.fromLatLngToDivPixel(latlng) + &quot; at zoom level &quot; + map.getZoom();&lt;br /&gt;   map.openInfoWindow(latlng, myHtml);&lt;br /&gt; }&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Y creo que con esto, tenemos para empezar!!</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/7145288651854619661/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/google-maps.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7145288651854619661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7145288651854619661'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/google-maps.html' title='Google Maps'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-7954970875635268779</id><published>2010-05-18T14:43:00.001+02:00</published><updated>2010-05-18T15:13:54.802+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="datos"/><category scheme="http://www.blogger.com/atom/ns#" term="kettle"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="pentaho"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>Ingeniería de Datos</title><content type='html'>¿No os habéis encontrado nunca con una migración de datos, parseo de datos, o elaboración de informes con una cantidad ingente de datos?&lt;br /&gt;&lt;br /&gt;¿Esos datos os vienen de las fuentes más diversas? ¿CSV, excel, Oracle, MySql...?&lt;br /&gt;&lt;br /&gt;En esta ocasión, he tenido que realizar una serie de scripts SQL de inserción, desde unos registros en base de datos de Oracle.&lt;br /&gt;&lt;br /&gt;Estoy seguro de que se os ocurren muchas formas de hacer esto, pero yo recuerdo a un ex-compañero (saludos rubio!) de trabajo que se divertía mucho con el Pentaho.&lt;br /&gt;&lt;br /&gt;Pentaho, es una herramienta Open Source para la minería de datos. Aunque es Open Source, hay una empresa detrás que quiere sacar tajada.&lt;br /&gt;&lt;br /&gt;Uno de los componentes de esta herramienta, es Kettle. Implementa la parte de integración de datos (data-integration).&lt;br /&gt;&lt;br /&gt;Con esta herramienta podemos hacer precisamente esto.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Obtener datos desde diferentes fuentes de datos (BBDD, CSV, excel...)&lt;/li&gt;&lt;li&gt;Cruzar los datos para obtener unos registros más ricos.&lt;/li&gt;&lt;li&gt;Filtrar los datos.&lt;/li&gt;&lt;li&gt;Operar los datos, creando columnas resultantes.&lt;/li&gt;&lt;li&gt;Concatenar los datos, reemplazar cadenas.&lt;/li&gt;&lt;li&gt;Obtener salidas a diferentes fuentes de datos (ficheros sql, tabla de BBDD...)&lt;/li&gt;&lt;/ul&gt;La documentación de esta herramienta no es la más rica en contenidos precisamente, pero no hay que dedicarle demasiado tiempo antes de empezar a obtener resultados.&lt;br /&gt;&lt;br /&gt;Por desgracia, el desconocimiento de la herramienta, como su falta de documentación, me han requerido apoyarme en scripts de Linux para finalizar el trabajo solicitado. Pero el resultado es satisfactorio.&lt;br /&gt;&lt;br /&gt;La web oficial de Kettle &lt;a href=&quot;http://kettle.pentaho.org/&quot;&gt;http://kettle.pentaho.org/&lt;/a&gt;&lt;br /&gt;Descarga... y gratis!!!&lt;a href=&quot;http://sourceforge.net/projects/pentaho/files/&quot;&gt; http://sourceforge.net/projects/pentaho/files/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Una captura un poco obsoleta, para que veáis la pinta de la herramienta.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.kettle.be/images/expandbar.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 695px; height: 561px;&quot; src=&quot;http://www.kettle.be/images/expandbar.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/7954970875635268779/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/ingenieria-de-datos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7954970875635268779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7954970875635268779'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/ingenieria-de-datos.html' title='Ingeniería de Datos'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-8799365068453066028</id><published>2010-05-18T11:41:00.000+02:00</published><updated>2010-05-18T12:59:07.332+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="mantis"/><category scheme="http://www.blogger.com/atom/ns#" term="metodología"/><category scheme="http://www.blogger.com/atom/ns#" term="svn"/><category scheme="http://www.blogger.com/atom/ns#" term="wiki"/><title type='text'>Metodología en el Trabajo</title><content type='html'>Siempre he pensado que la metodología es lo que diferencia a los buenos profesionales del resto.&lt;br /&gt;&lt;br /&gt;Como profesional, puedes confiar en alguien que es metodológico.&lt;br /&gt;&lt;br /&gt;Este es equipo que suelo implantar como herramientas compañeras de la metodología allá donde voy y me lo permiten:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;SVN + MantisBT + WIKI.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Esto podemos llevarlo montado en una VMWare (o una VirtualBox aunque requiere más configuración para el acceso a red) con una DEBIAN, un LAMP... (y otras cosas que quizás explique en otro momento) y tenemos un entorno de desarrollo de bolsillo.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Este equipo, podemos complementarlo con el &lt;a href=&quot;http://www.eclipse.org/mylyn/&quot;&gt;plugin MyLyn&lt;/a&gt; de eclipse, orientado a tareas y el &lt;a href=&quot;http://sourceforge.net/projects/mylyn-mantis/&quot;&gt;conector de mantis&lt;/a&gt; que nos permitirá:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Obtener un registro de los recursos modificados por tareas.&lt;/li&gt;&lt;li&gt; Una vista reducida de recursos por tareas&lt;/li&gt;&lt;li&gt; Comentarios de sincronización orientados a tareas (&lt;a href=&quot;http://www.tigris.org/scdocs/SVNTips&quot;&gt;+info&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;Sé que no es mucho... pero establece orden en el caos y espero poder ir ampliando este equipo con el tiempo.</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/8799365068453066028/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/metodologia-en-el-trabajo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/8799365068453066028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/8799365068453066028'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/metodologia-en-el-trabajo.html' title='Metodología en el Trabajo'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-2850037190271456346</id><published>2010-05-18T09:22:00.000+02:00</published><updated>2010-05-18T11:38:40.711+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="script"/><category scheme="http://www.blogger.com/atom/ns#" term="sh"/><title type='text'>Script de Linux</title><content type='html'>Una de las cosas que más me gusta de mi trabajo, es poder aprender e investigar cosas.&lt;br /&gt;&lt;br /&gt;Y cada vez que tengo que realizar un script de Linux, tengo que remangarme, ajustarme las gafas para tener la frente bien abierta.&lt;br /&gt;&lt;br /&gt;Ahí va, lo que pretende ser una chuletilla de scripting en linux.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:130%;&quot; &gt;Recorrer los ficheros de una determinada carpeta&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;VARIABLE=`ls $RUTA_BASE`&lt;br /&gt;for carpeta in $VARIABLE&lt;br /&gt;do&lt;br /&gt;      # Codigo a ejecutar por cada carpeta&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:130%;&quot; &gt;Reemplazar texto de una cadena&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;VARIABLE=${TEXTO_ORIGEN//CADENA_BUSCADA/CADENA_REEMPLAZO}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;En este caso, se reemplazan todas las ocurrencias.&lt;br /&gt;&lt;br /&gt;Para reemplazar la primera tendríamos que hacer lo siguiente.&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;VARIABLE=${TEXTO_ORIGEN/CADENA_BUSCADA/CADENA_REEMPLAZO}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:130%;&quot; &gt;Reemplazar texto de un fichero&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sed &quot;s/CADENA_BUSCADA/CADENA_REEMPLAZO/&quot; FICHERO_ORIGEN &gt;&gt; FICHERO_DESTINO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:130%;&quot; &gt;Incluir el texto de un fichero en otro&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cat FICHERO_ORIGEN &gt;&gt; FICHERO_DESTINO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:130%;&quot; &gt;Aritmética Básica&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CONTADOR=$[$CONTADOR + 1]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:130%;&quot; &gt;Control de flujo&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;if [ -e FICHERO ]&lt;br /&gt;  then&lt;br /&gt;      #Codigo a ejecutar&lt;br /&gt;  else&lt;br /&gt;     #Codigo a ejecutar&lt;br /&gt;  fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Especial mención a la forma en la que se comprueba que el fichero existe.&lt;br /&gt;Podemos comprobar el resto de flags en en &lt;a href=&quot;http://tldp.org/LDP/abs/html/fto.html&quot;&gt;TLDP&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/2850037190271456346/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/script-de-linux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/2850037190271456346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/2850037190271456346'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/script-de-linux.html' title='Script de Linux'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-2365889308463996364</id><published>2010-05-14T11:47:00.000+02:00</published><updated>2010-05-14T12:03:40.053+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="almacenamiento"/><category scheme="http://www.blogger.com/atom/ns#" term="fat"/><category scheme="http://www.blogger.com/atom/ns#" term="fat32"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="pendrive"/><category scheme="http://www.blogger.com/atom/ns#" term="sistema de ficheros"/><category scheme="http://www.blogger.com/atom/ns#" term="vfat"/><title type='text'>Ficheros de Bolsillo</title><content type='html'>Malidita compatibilidad hacia atrás con sistemas de ficheros (como no... de windows!).&lt;br /&gt;&lt;br /&gt;Os pongo en situación.&lt;br /&gt;&lt;br /&gt;Estáis en casa de un colega y os enseña un buen repertorio de cosas interesantes y jugosas... isos de juegos, películas con super calidad HD y sonido laxante... y otros grandes éxitos &lt;span style=&quot;font-weight: bold;&quot;&gt;pesados&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Los ojos os hacen chirivitas y resulta que tienes un super pendrive de 32GB o más...&lt;br /&gt;&lt;br /&gt;Lástima que para mantener retro compatibilidad tenga un sistema de ficheros en &lt;span style=&quot;font-weight: bold;&quot;&gt;fat, fat32 o vfat&lt;/span&gt;, que solo te va a dejar llevarte ficheros de &lt;span style=&quot;font-weight: bold;&quot;&gt;hasta 2GB&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Otra vez, linux al rescate.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Paso 1. - Partir los ficheros&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;split -b [tamaño_byte] [archivo_origen] [archivo_destino]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;por ejemplo:&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;split -b 1000 perfil.jpg perfil.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;genera los ficheros:&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;perfil.aa&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;perfil.ab&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;perfil.zz&lt;/span&gt; (depende del tamaño del fichero)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Paso 2. - Unir los ficheros&lt;/span&gt;&lt;br /&gt;Esta es la parte complicada...&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;cat perfil.?? &gt; perfil_pegado.jpg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Paso 3. - Sé limpio, por lo que más quieras!!&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;rm perfil.??&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/2365889308463996364/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/ficheros-de-bolsillo.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/2365889308463996364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/2365889308463996364'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/ficheros-de-bolsillo.html' title='Ficheros de Bolsillo'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-529756835471801989</id><published>2010-05-11T23:29:00.000+02:00</published><updated>2010-05-11T23:48:21.200+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="htc"/><category scheme="http://www.blogger.com/atom/ns#" term="magic"/><category scheme="http://www.blogger.com/atom/ns#" term="móvil"/><category scheme="http://www.blogger.com/atom/ns#" term="teléfono"/><category scheme="http://www.blogger.com/atom/ns#" term="táctil"/><category scheme="http://www.blogger.com/atom/ns#" term="vodafone"/><title type='text'>HTC Magic</title><content type='html'>Hoy me han preguntado qué tal era la magic.&lt;br /&gt;&lt;br /&gt;Ya llevo un tiempo disfrutando de ella y este es el resumen que puedo hacer:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;PROS&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Es muy divertida&lt;/li&gt;&lt;li&gt;El market&lt;/li&gt;&lt;li&gt;El GPS&lt;/li&gt;&lt;li&gt;Los juegos&lt;/li&gt;&lt;li&gt;Conectado eternamente&lt;/li&gt;&lt;li&gt;Android = Linux&lt;/li&gt;&lt;li&gt;Poder escuchar los podcasts (gomaespumaaaaaa!!!)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Poder consultar el correo electrónico&lt;/li&gt;&lt;li&gt;Poder hacer deporte y registrar los resultados.&lt;/li&gt;&lt;li&gt;Escuchar música.&lt;/li&gt;&lt;li&gt;Leer libros (ebooks).&lt;/li&gt;&lt;li&gt;google maps, my track, maps editor, place directory... etc...&lt;/li&gt;&lt;li&gt;Tener la agenda de teléfonos en la &quot;nube&quot; (cuantas veces perdiste esos números de teléfono?).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;CONTRAS&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La batería no dura más de un día con uso. Día y medio en espera.&lt;/li&gt;&lt;li&gt;La mía se apaga eventualmente (volvió de la garantía igual :()&lt;/li&gt;&lt;li&gt;El GPS hace que la batería dure mucho menos... llegando a durar medio día.&lt;/li&gt;&lt;li&gt;Muy limitada de Hardware. Las aplicaciones van lentas, pocos juegos potentes...&lt;/li&gt;&lt;li&gt;La funda del móvil es una porquería... sobre todo la blanca (solo vale para perderla).&lt;/li&gt;&lt;li&gt;No terminan de actualizarla a la versión 2 de android.&lt;/li&gt;&lt;li&gt;Pagar más de teléfono por tener tarifa de datos.&lt;/li&gt;&lt;li&gt;No poder usar voz-ip.&lt;/li&gt;&lt;li&gt;No poder hacer video-conferencia.&lt;/li&gt;&lt;li&gt;EL TECLADO!!!&lt;/li&gt;&lt;li&gt;Es difícil llamar!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;RESUMEN&lt;/span&gt;&lt;br /&gt;Solo la cambiaba por otro android (nexus quizás?).&lt;br /&gt;Por cierto, alguien ha visto en los contras... que no es multitactil? Por que la verdad... no lo echo en falta.&lt;br /&gt;&lt;br /&gt;Esto es de lo que me acuerdo ahora mismo... pero hay más, seguro.</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/529756835471801989/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/htc-magic.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/529756835471801989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/529756835471801989'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/htc-magic.html' title='HTC Magic'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-2065340010461726538</id><published>2010-05-11T16:23:00.000+02:00</published><updated>2010-05-11T16:26:08.070+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="barcode4j"/><category scheme="http://www.blogger.com/atom/ns#" term="código de barras"/><category scheme="http://www.blogger.com/atom/ns#" term="EAN 128"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>Crear código de barras EAN 128 en java</title><content type='html'>Di tu que alguna vez lo necesito!!&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;package javeando.test;&lt;br /&gt;&lt;br /&gt;import java.awt.image.BufferedImage;&lt;br /&gt;import java.io.ByteArrayOutputStream;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;import org.krysalis.barcode4j.impl.code128.EAN128;&lt;br /&gt;import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt; */&lt;br /&gt;public class BarCodeEan128 {&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @param codigo TODO&lt;br /&gt;     */&lt;br /&gt;    public static void main(String []codigo) {&lt;br /&gt;        /*&lt;br /&gt;         * La idea es generar una imagen de codigo de barras&lt;br /&gt;         * con codificacion ean 128&lt;br /&gt;         */&lt;br /&gt;       &lt;br /&gt;   &lt;br /&gt;        String code = &quot;12345678&quot;;&lt;br /&gt;        System.out.println(code.length());&lt;br /&gt;        System.out.println(barCodeEan128(code));&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Metodo que permite obtener un array de byte que generan una imagen&lt;br /&gt;     * en PNG del codigo de barras en ean 128.&lt;br /&gt;     *&lt;br /&gt;     * @param codigo&lt;br /&gt;     * @return&lt;br /&gt;     */&lt;br /&gt;    public static byte[] barCodeEan128(String codigo){&lt;br /&gt;        EAN128 bean = new EAN128();&lt;br /&gt;&lt;br /&gt;        final int dpi = 150;&lt;br /&gt;&lt;br /&gt;        //Configure the barcode generator&lt;br /&gt;&lt;br /&gt;        //Open output file&lt;br /&gt;        ByteArrayOutputStream out = null;&lt;br /&gt;        out = new ByteArrayOutputStream();&lt;br /&gt;        try {&lt;br /&gt;            //Set up the canvas provider for monochrome PNG output&lt;br /&gt;            BitmapCanvasProvider canvas = new BitmapCanvasProvider(&lt;br /&gt;                    out, &quot;image/x-png&quot;, dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);&lt;br /&gt;&lt;br /&gt;            //Generate the barcode&lt;br /&gt;            bean.generateBarcode(canvas, codigo);&lt;br /&gt;&lt;br /&gt;            //Signal end of generation&lt;br /&gt;            canvas.finish();&lt;br /&gt;        } catch (IOException e) {&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        } finally {&lt;br /&gt;            try {&lt;br /&gt;                out.close();&lt;br /&gt;            } catch (IOException e) {&lt;br /&gt;                e.printStackTrace();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        return out.toByteArray();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/2065340010461726538/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/crear-codigo-de-barras-ean-128-en-java.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/2065340010461726538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/2065340010461726538'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/crear-codigo-de-barras-ean-128-en-java.html' title='Crear código de barras EAN 128 en java'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-8462683401424976960</id><published>2010-05-09T20:31:00.001+02:00</published><updated>2010-05-09T20:36:14.032+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="grep"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>Buscar texto en ficheros</title><content type='html'>Muchas veces no recordamos en que fichero hay cierto contenido.&lt;br /&gt;&lt;br /&gt;Cuanto los proyectos son megatónicos, se vuelve una tarea importante encontrar ese recurso que andas buscando.&lt;br /&gt;&lt;br /&gt;En linux se hace así:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;grep &quot;system-message&quot; `find -name *.php`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En este caso se busca la cadena &lt;span style=&quot;font-style: italic;&quot;&gt;system-message&lt;/span&gt; en todos los ficheros &lt;span style=&quot;font-style: italic;&quot;&gt;.php&lt;/span&gt; de la carpeta actual y subcarpetas.&lt;br /&gt;&lt;br /&gt;El tiempo de espera dependerá del número de ficheros en el que buscar (aunque en cualquier caso, es mucho más rápido que cualquier IDE), por lo que se recomienda se acote en medida de lo posible la sentencia &lt;span style=&quot;font-style: italic;&quot;&gt;find&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/8462683401424976960/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/buscar-texto-en-ficheros.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/8462683401424976960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/8462683401424976960'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/buscar-texto-en-ficheros.html' title='Buscar texto en ficheros'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-6354998135094350162</id><published>2010-05-09T19:35:00.000+02:00</published><updated>2010-05-09T19:40:04.120+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="lamp"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="phpmyadmin"/><title type='text'>LAMP</title><content type='html'>Queréis una forma fácil y rápida de instalar un LAMP?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;sudo apt-get install phpmyadmin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ya lo dice el refran, A buen linuxero... pocos comandos bastan.&lt;br /&gt;&lt;br /&gt;Ah, se me olvidaba... con este comando también instaláis el phpMyAdmin.</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/6354998135094350162/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/lamp.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/6354998135094350162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/6354998135094350162'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/lamp.html' title='LAMP'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-5161451441729025826</id><published>2010-05-09T18:15:00.001+02:00</published><updated>2010-05-09T18:41:55.049+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aplicaciones"/><category scheme="http://www.blogger.com/atom/ns#" term="desarrollo web"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>PHP - LINUX</title><content type='html'>Desarrollar en &lt;span style=&quot;font-weight: bold;&quot;&gt;PHP&lt;/span&gt; sobre &lt;span style=&quot;font-weight: bold;&quot;&gt;linux&lt;/span&gt;...&lt;br /&gt;Llevo tiempo buscando un conjunto de herramientas para esto.&lt;br /&gt;Cansado de la cantidad de recursos que consumen monstruosos IDE&#39;s como&lt;span style=&quot;font-weight: bold;&quot;&gt; Eclipse&lt;/span&gt; o &lt;span style=&quot;font-weight: bold;&quot;&gt;NetBeans&lt;/span&gt;, finalmente me decanto por un buen editor de textos que esté ligeramente orientado al lenguaje.&lt;br /&gt;&lt;br /&gt;Estas son las herramientas que utilizaré a partir de ahora.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Edición&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Edición de PHP - &lt;a href=&quot;http://www.gphpedit.org/&quot;&gt;gPHPEdit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Edición de CSS - &lt;a href=&quot;http://cssed.sourceforge.net/&quot;&gt;CSSED&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Gráficos&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Edición de Gráficos - &lt;a href=&quot;http://www.gimp.org/&quot;&gt;Gimp&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Edición de Gráficos Vectoriales - &lt;a href=&quot;http://www.inkscape.org/?lang=es&quot;&gt;Inkscape&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Base de Datos&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Motor de Base de Datos - &lt;a href=&quot;http://www.mysql.com/&quot;&gt;MySql&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Cliente de Base de Datos - &lt;a href=&quot;http://dev.mysql.com/doc/query-browser/es/index.html&quot;&gt;MySQL Query Browser&lt;/a&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;/span&gt;Administración de Base de Datos - &lt;a href=&quot;http://dev.mysql.com/doc/administrator/en/&quot;&gt;MySql Administrator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Servidor&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Servidor Web - &lt;a href=&quot;http://httpd.apache.org/&quot;&gt;Apache2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Control de Versiones&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Control de Versiones - &lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;Subversion&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Algo se me olvidará.&lt;br /&gt;&lt;br /&gt;A modo de apostilla... a ver si se va a poder desarrollar con software libre!!</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/5161451441729025826/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/php-linux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/5161451441729025826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/5161451441729025826'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/php-linux.html' title='PHP - LINUX'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-4057937809911914102</id><published>2010-05-09T16:48:00.000+02:00</published><updated>2014-07-15T18:33:58.900+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuracion"/><category scheme="http://www.blogger.com/atom/ns#" term="home"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="live-cd"/><category scheme="http://www.blogger.com/atom/ns#" term="live-usb"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Utilizar un home existente</title><content type='html'>Después de haber recuperado vuestro sistema, quereis recuperar vuestros ficheros que están en otra partición... incluso puede que de otro disco.&lt;br /&gt;
&lt;br /&gt;
Pues bien, estos serían los pasos:&lt;br /&gt;
&lt;br /&gt;
1. Identificar el disco&lt;br /&gt;
Genralmente están en /dev/sda o /dev/sdb, que son los discos duros conectados al PC.&lt;br /&gt;
&lt;br /&gt;
Dependiendo del disco hay que identificar la partición... pero bueno, no es el objetivo de esta entrada/nota aunque me lo apunto para explicarlo en mayor profundidad.&lt;br /&gt;
&lt;br /&gt;
2. Una vez identificado, creamos una entrada en el fichero ftab de la siguiente forma.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;/dev/sda2    /home/carpeta_ejemplo    ext3    errors=remount-ro    0    2&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Tratandose de un partición que se encuentra en el disco primario (sda) la 2da partición.&lt;br /&gt;
&lt;br /&gt;
Se montará en /home/carpeta_ejemplo y tiene un sistema de ficheros ext3&lt;br /&gt;
&lt;br /&gt;
Lo demás, son opciones que si encontramos porblemas tendríamos que tocarlas, pero nos valdría igual.&lt;br /&gt;
&lt;br /&gt;
3. Una vez realizado esto, ejecutamos el comando &lt;span style=&quot;font-style: italic;&quot;&gt;sudo mount -a&lt;/span&gt; para no tener que reiniciar nuestro sistema.&lt;br /&gt;
&lt;br /&gt;
NOTA: En caso de problemas, lanzar el comando &lt;span style=&quot;font-style: italic;&quot;&gt;dmesg | tail&lt;/span&gt; puede arrojarnos la causa del error (generalmente, no hemos puesto bien el sistema de ficheros).&lt;br /&gt;
&lt;br /&gt;
4. Ahora solo falta hacer propietario al usuario que va a disfrutar de su home.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;sudo chown -R usuario:usuario /home/carpeta_ejemplo&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Y disfrutar comprobando que no hemos perdido nada y podemos seguir producciendo.</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/4057937809911914102/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/utilizar-un-home-existente.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/4057937809911914102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/4057937809911914102'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/utilizar-un-home-existente.html' title='Utilizar un home existente'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-3526262275459112250</id><published>2010-05-09T13:28:00.000+02:00</published><updated>2010-05-09T13:43:18.948+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="ext3"/><category scheme="http://www.blogger.com/atom/ns#" term="live-cd"/><category scheme="http://www.blogger.com/atom/ns#" term="live-usb"/><category scheme="http://www.blogger.com/atom/ns#" term="ntfs"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Acceder a Particiones desde Ubuntu Live</title><content type='html'>Seguro que alguna vez se os ha jodido el equipo y quereis recuperar (o al menos comprobar) la información de los discos antes de reinstalar el sistema operativo.&lt;br /&gt;&lt;br /&gt;En caso de que la respuesta sea negativa... posiblemente tengais que cerrar esta ventana del navegador!!!&lt;br /&gt;&lt;br /&gt;Bien, pues para esto podemos usar los live-cd o live-usb de ubuntu.&lt;br /&gt;&lt;br /&gt;Por desgracia, en la nueva versión no parecen traer soporte para montar las unidades de forma gráfica. Pero pasa nada.&lt;br /&gt;&lt;br /&gt;Montamos manualmente las unidades.&lt;br /&gt;&lt;br /&gt;Para montar las unidades, va a depender de sistema de ficheros que tengais.&lt;br /&gt;Primero creamos una carpeta donde montar las unidades.&lt;br /&gt;&lt;br /&gt;Normalmente en /media&lt;br /&gt;&lt;br /&gt;sudo mkdir discob&lt;br /&gt;&lt;br /&gt;Montamos la unidad&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;sudo mount -t ext3 /dev/sdb1 /media/discob&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En este caso se ha montado una unidad del tipo ext3 sobre la carpeta &lt;span style=&quot;font-style: italic;&quot;&gt;/media/discob&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Si teneis la &lt;span style=&quot;font-weight: bold;&quot;&gt;desgracia&lt;/span&gt; de tener que trabajar con unidades del tipo NTFS, no pasa nada... por que &lt;span style=&quot;font-weight: bold;&quot;&gt;si microshoft, pone barreras, linux pone puentes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Creamos la carpeta para montar la unidad&lt;br /&gt;&lt;br /&gt;sudo mkdir /media/discoa&lt;br /&gt;&lt;br /&gt;Montamos la unidad&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;sudo mount -t ntfs-3g /dev/sda1 /media/discoa/ -o force&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y ya teneis vuestras unidades montadas para hacer los backups o trapichear a gusto.&lt;br /&gt;&lt;br /&gt;Para más referecias, siempre tendreis a mano la opción &lt;span style=&quot;font-style: italic;&quot;&gt;man&lt;/span&gt; (&lt;span style=&quot;font-style: italic;&quot;&gt;man mount&lt;/span&gt; en el caso que nos ocupa) pero para los que  todavía no usais linux como sistema por omisión, podeis disfrutar de  páginas como esta &lt;a href=&quot;http://linux.die.net/man/8/mount&quot;&gt;http://linux.die.net/man/8/mount&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/3526262275459112250/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/acceder-particiones-desde-ubuntu-live.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/3526262275459112250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/3526262275459112250'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/acceder-particiones-desde-ubuntu-live.html' title='Acceder a Particiones desde Ubuntu Live'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1346779786156529893.post-7361305381536805464</id><published>2010-05-09T12:08:00.000+02:00</published><updated>2014-07-15T18:35:18.693+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cli"/><category scheme="http://www.blogger.com/atom/ns#" term="control de versiones"/><category scheme="http://www.blogger.com/atom/ns#" term="informática"/><category scheme="http://www.blogger.com/atom/ns#" term="programación"/><category scheme="http://www.blogger.com/atom/ns#" term="svn"/><title type='text'>Ciclo básico de SVN</title><content type='html'>Bueno, un control de versiones es algo ya a estas alturas no debería de tener secretos para nosotros.&lt;br /&gt;
&lt;br /&gt;
Pero en ocasiones o bien no tenemos a mano un cliente gráfico o simplemente no queremos consumir esos recursos extras que estos requieren.&lt;br /&gt;
&lt;br /&gt;
Por eso voy relatar/anotar cual sería un ciclo básico de trabajo con SVN desde línea de comando.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Antes de ponerse a trabajar&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Actualizarse &lt;span style=&quot;font-style: italic;&quot;&gt;svn update&lt;/span&gt;&lt;span class=&quot;command&quot; style=&quot;font-style: italic;&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Realizar los cambios necesarios (es decir... trabajar)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Comprobar el estado de las modificaciones &lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li style=&quot;font-style: italic;&quot;&gt;svn status&lt;/li&gt;
&lt;li style=&quot;font-style: italic;&quot;&gt;svn diff&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Deshacer posibles cambios&lt;/span&gt;&lt;br /&gt;
&lt;ol style=&quot;font-style: italic;&quot;&gt;
&lt;li&gt;svn revert&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resolver conflictos&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Realizar la mezcla... generalmente de forma manual.&lt;/li&gt;
&lt;li&gt;Marcar como resuelto &lt;span style=&quot;font-style: italic;&quot;&gt;svn resolve&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Subir los cambios&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Añadir documentos nuevos &lt;span style=&quot;font-style: italic;&quot;&gt;svn add&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Subir el trabajo &lt;span style=&quot;font-style: italic;&quot;&gt;svn commit&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
Tengo pendiente hacer un listado de buenas prácticas en el trabajo de SVN</content><link rel='replies' type='application/atom+xml' href='http://texacoblog.blogspot.com/feeds/7361305381536805464/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://texacoblog.blogspot.com/2010/05/ciclo-basico-de-svn.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7361305381536805464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1346779786156529893/posts/default/7361305381536805464'/><link rel='alternate' type='text/html' href='http://texacoblog.blogspot.com/2010/05/ciclo-basico-de-svn.html' title='Ciclo básico de SVN'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/14289494684040611100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>