<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xml:base="http://dagi3d.net">
  <channel>
    <title>dagi3d - linux</title>
    <link>http://dagi3d.net</link>
    <description/>
    <language>es</language>
    <item>
      <category></category>
      <title>Beryl en Ubuntu</title>
      <link>http://dagi3d.net/blog/archive/2007/2/11/beryl-en-ubuntu</link>
      <description>
        <![CDATA[<p>Ya consegu&iacute; instalar Beryl en mi ordenador siguiendo algunos de los muchos <em>howtos</em> que circulan por la red. La pega es que no consegu&iacute; que mi tarjeta funcionase con <acronym title="que viene ya por defecto con Ubuntu/Edgy">AIGLX</acronym> y estoy utilizando <span class="caps">XGL</span> junto a los paquetes del repositorio de subversion de Beryl.<br />
De momento me ha parecido bastante estable y fluido y no not&eacute; ninguna merma en el rendimiento del sistema, as&iacute; que me parece que lo dejar&eacute; un tiempo para ver que tal.<br />
A pesar de que tiene algunos plugins que creo que no aportan nada en cuanto a usabilidad(como las ventanas de gelatina por ejemplo), creo que hay algunos muy interesantes como la generaci&oacute;n de miniaturas en la barra de tareas o en el selector de ventanas, as&iacute; como la reorganizaci&oacute;n de ventanas al m&aacute;s puro estilo Expose de MacOs.<br />
Luego est&aacute;n esos peque&ntilde;os toques que hacen que el escritorio se convierta en algo vistoso como el conocido plugin del cubo para moverse entre los escritorios virtuales o la transparencia y efectos de sombra de las ventanas.<br />
Y todo esto sin apenas consumir recursos, de c&oacute;digo abierto y por el m&oacute;dico precio de cero euros.<br />
<br />
<div align="center"><a href="http://dagi3d.net/temp/beryl_01.png"><img src="http://dagi3d.net/temp/beryl_01-thumb.png" alt="" /></a><br />
<br />
<a href="http://dagi3d.net/temp/beryl_02.png"><img src="http://dagi3d.net/temp/beryl_02-thumb.png" alt="" /></a><br />
<br />
<a href="http://dagi3d.net/temp/beryl_03.png"><img src="http://dagi3d.net/temp/beryl_03-thumb.png" alt="" /></a><br />
</div></p>]]>
      </description>
      <pubDate>Sun, 11 Feb 2007 16:58:53 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2007/2/11/beryl-en-ubuntu#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>Convertir ficheros m4a a mp3 con ruby</title>
      <link>http://dagi3d.net/blog/archive/2007/1/31/convertir-ficheros-m4a-a-mp3-con-ruby</link>
      <description>
        <![CDATA[Buscando c&oacute;mo convertir&nbsp; los ficheros de audio en formato m4a a mp3 bajo linux, vi que la soluci&oacute;n m&aacute;s com&uacute;n era realizar un script en bash que se encargase de llamar a los programas <em>mplayer</em> y <em>lame.</em><br />
El problema es que si bien las soluciones que propon&iacute;an eran totalmente funcionales, los scripts en bash siempre me han parecido un tanto cr&iacute;pticos, as&iacute; que me decid&iacute; a implementar uno en ruby(el pr&oacute;ximo paso ser&aacute; utilizar <a href="http://wxruby.rubyforge.org/wiki/wiki.pl">wxRuby</a> para seguir trasteando y a&ntilde;adirle una interfaz al frontend):<br />
<pre><code>#!/usr/bin/env ruby&lt;br /&gt;&lt;br /&gt;if ARGV.length &amp;lt; 2 &lt;br /&gt;  puts &amp;quot;usage: #{File.basename(__FILE__)} &amp;lt;source dir&amp;gt; &amp;lt;target dir&amp;gt;&amp;quot;&lt;br /&gt;  exit(1)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;src = ARGV[0]&lt;br /&gt;target = ARGV[1]&lt;br /&gt;&lt;br /&gt;if !File.exist?(src) || !File.readable?(src) || !File.directory?(src)&lt;br /&gt;  puts &amp;quot;#{src} access denied&amp;quot;&lt;br /&gt;  exit(1)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if !File.exist?(target) || !File.writable?(target) || !File.directory?(target)&lt;br /&gt;  puts &amp;quot;#{target} access denied&amp;quot;&lt;br /&gt;  exit(1)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;src_dir = Dir.new(src)&lt;br /&gt;&lt;br /&gt;src_dir.entries.each do |entry|&lt;br /&gt;  &lt;br /&gt;  src_file = File.join(src, entry)&lt;br /&gt;  &lt;br /&gt;  if File.extname(src_file).downcase == &amp;quot;.m4a&amp;quot;&lt;br /&gt;    &lt;br /&gt;    target_file = File.join(target, File.basename(src_file).gsub(/\.m4a$/i, &amp;quot;&amp;quot;))&lt;br /&gt;    puts &amp;quot;Converting #{src_file}&amp;quot;&lt;br /&gt;    &lt;br /&gt;    %x(mplayer -ao pcm:file=&amp;quot;#{target_file}.wav&amp;quot; &amp;quot;#{src_file}&amp;quot;)&lt;br /&gt;    %x(lame -h -b 192 &amp;quot;#{target_file}.wav&amp;quot; &amp;quot;#{target_file}.mp3&amp;quot;)&lt;br /&gt;    File.delete(&amp;quot;#{target_file}.wav&amp;quot;)    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;end&lt;br /&gt; </code> </pre>
Tan s&oacute;lo hay que indicarle al script en el primer par&aacute;metro el directorio origen que contiene los ficheros m4a, y como segundo par&aacute;metro d&oacute;nde queremos que se generen los ficheros mp3.]]>
      </description>
      <pubDate>Wed, 31 Jan 2007 00:13:06 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2007/1/31/convertir-ficheros-m4a-a-mp3-con-ruby#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>Los Reincidentes se pasan al country</title>
      <link>http://dagi3d.net/blog/archive/2006/11/4/los-reincidentes-se-pasan-al-country</link>
      <description>
        <![CDATA[<p>El otro día me compré el último disco de <a href="http://www.reincidentes-sca.es/">Reincidentes</a> (sí señores de la <span class="caps"><span class="caps">SGAE</span></span>, a pesar del p2p y demás inventos del diablo seguimos comprando música, que una cosa no quita la otra) y al meter el cd en el ordenador para escucharlo me saltó automáticamente el <a href="http://burtonini.com/blog/computers/sound-juicer">Sound Juice CD Extractor</a> (ni sabía que lo tenía instalado :P) para pasar las pistas de audio al ordenador. Hasta ahí todo normal si no fuese porque el programa mostraba los siguientes títulos para las canciones:</p>

    <p style="text-align:center;"><img src="http://dagi3d.net/temp/reincidentes-country.png" alt="" /></p>

    <p><span class="caps"><span class="caps">WTF</span></span>!</p>

    <p>Lo primero que se me pasó por la cabeza es que se les había ido la olla al planchar los cd&#8217;s y nos habían regalado una bonita selección de canciones country. A continuación pensé que se trataba de un cd no compatible de estos que están tan de moda últimamente y que al meter el disco en el ordenador te sacaba un contenido alternativo, pero claro, no van a ser tan cabrones esta gente de los <em>reinci</em> y al final, como casi siempre, la solución más sencilla es la correcta: se trataba de un error en la base de datos de freedb.</p>]]>
      </description>
      <pubDate>Sat, 04 Nov 2006 12:42:09 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/11/4/los-reincidentes-se-pasan-al-country#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>El Fary recomienda Ubuntu</title>
      <link>http://dagi3d.net/blog/archive/2006/10/29/el-fary-recomienda-ubuntu</link>
      <description>
        <![CDATA[<p>lol</p>

    <p style="text-align:center;"><img src="http://static.flickr.com/120/281291075_4ff5a100cc.jpg" alt="" /></p>

    <p>Vía <a href="http://planet.ubuntu.com/">Planet Ubuntu</a></p>]]>
      </description>
      <pubDate>Sun, 29 Oct 2006 18:59:56 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/10/29/el-fary-recomienda-ubuntu#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>Imagen de Ubuntu</title>
      <link>http://dagi3d.net/blog/archive/2006/10/28/imagen-de-ubuntu</link>
      <description>
        <![CDATA[<p>Mira que me gusta la distribución de Ubuntu (de hecho es la que uso habitualmente), pero es que las fotografías que usan para promocionarla me dan <strong><span class="caps"><span class="caps">MUCHA GRIMA</span></span></strong>.</p>

    <p><img src="http://www.ubuntu.com/include/edgy-cover-mid.jpg" alt="" />
<img src="http://www.ubuntubrasil.org/imagens/ubuntu-cof-606.png" alt="" /></p>]]>
      </description>
      <pubDate>Sat, 28 Oct 2006 06:00:55 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/10/28/imagen-de-ubuntu#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>Controlar el n&#250;mero de procesos</title>
      <link>http://dagi3d.net/blog/archive/2006/10/2/controlar-el-numero-de-procesos</link>
      <description>
        <![CDATA[<p>Resulta que el otro día no era capaz de acceder al correo ni de poder verlo vía web ya que el apache también parecía caido. Pero lo peor es que ni siquiera podía acceder por ssh para ver que estaba pasando e intentar arreglarlo, así que no me quedó más remedio que ponerme en contacto con el soporte del <a href="http://www.rosehosting.com/">vps</a> donde tengo instalados todos los servicios. <br />
El problema resultó ser que había sobrepasado el número máximo de procesos/hilos permitidos (lo tienen fijado en 200), así que hice un pequeño script que mande un correo cuando la máquina se acerque al límite para ver que está suciendo:</p>

<code>
<pre>
#!/bin/bash

MAIL_SUBJECT="&amp;lt;subject del correo&amp;gt;" 
MAIL_TO="&amp;lt;direccion del destinatario&amp;gt;" 
MAIL_TEXT="&amp;lt;texto del correo&amp;gt;" 
MAIL_FROM="From: &amp;lt;direccion del remitente&amp;gt;" 

# fichero donde volcar el listado con los procesos
PS_LOG="/var/log/ps_alert.log" 

MAX_PS=170

ps_count=`grep Threads /proc/*/status | gawk '{ SUM+=$NF } END { print SUM }'`

echo ${ps_count}" procesos" 

if [ "$ps_count" -gt "$MAX_PS" ]; then
  # se manda un correo
  MAIL_TEXT=${MAIL_TEXT}${ps_count}" / "${MAX_PS}

  echo $MAIL_TEXT | mail -a "$MAIL_FROM" -s "$MAIL_SUBJECT" "$MAIL_TO" 

  # se vuelca un listado con los procesos a un fichero
  ps aux &amp;gt; ${PS_LOG} &amp;#38;&amp;#38; wc -l ${PS_LOG}
  echo `date +"%d/%m/%y %H:%M:%S"` &amp;gt;&amp;gt; ${PS_LOG}
fi

</pre>
</code>

    <p>Al principio para comprobar el número de procesos usaba el comando <code>'ps auxw | wc -l'</code>, pero consulté a la gente de RoseHosting cómo lo hacían ellos y usan el comando que puse en el script. <br />
En condiciones normales hay unos 80-85 procesos, así que en caso de que me vuelva a suceder, espero así poder comprobar qué es lo que provocó todo el desaguisado.</p>

    <p>(También he de comentar que apenas transcurrieron 10 minutos hasta que obtuve la primera respuesta por parte de los administradores, lo cual es de agradecer)</p>]]>
      </description>
      <pubDate>Mon, 02 Oct 2006 13:54:03 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/10/2/controlar-el-numero-de-procesos#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>&#161;Todos a tocar la guitarra!</title>
      <link>http://dagi3d.net/blog/archive/2006/9/11/todos-a-tocar-la-guitarra</link>
      <description>
        <![CDATA[<p style="float:right"><img src="http://dagi3d.net/temp/frets-on-fire.png" alt="" /></p>

    <p>Llevo días viciadísimo al <a href="http://louhi.kempele.fi/<sub>skyostil/uv/fretsonfire/&#8221;&gt;Frets On Fire</a>, un clon para PC del <a href="http://www.guitarherogame.com/">Guitar Hero</a> donde hay que utilizar el teclado a modo de guitarra. <br/>
Las tres canciones que trae el juego están muy bien para ir practicando, pero es que por si fuera poco, la gente está adaptando <a href="http://frets.freenerd.org/?songs">nuevas canciones</a> por su cuenta, sacando incluso un <a href="http://70.87.106.106/</sub>fofspain/fofspain/&#8221;&gt;pack con los temas originales del Guitar Hero</a>. <br />
Además, los <a href="http://louhi.kempele.fi/~skyostil/uv/">creadores del juego</a> han liberado el código y cuenta con una versión para linux.</p>

    <p>Ojo, que engancha.</p>]]>
      </description>
      <pubDate>Mon, 11 Sep 2006 11:08:16 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/9/11/todos-a-tocar-la-guitarra#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>Ubuntu en el port&#225;til</title>
      <link>http://dagi3d.net/blog/archive/2006/8/18/ubuntu-en-el-portatil</link>
      <description>
        <![CDATA[<p>Recientemente adquirí un portátil para poder avanzar trabajo durante las horas muertas en la universidad. En cuanto lo desempaqueté y arranqué para comprobar que estaba todo en orden, me dispuse a formatearlo para instalar windows de nuevo (de serie el ordenador trae 30 gb de software-morralla cuando una instalación &#8216;fresca&#8217; tan sólo ocupa unos 2gb) y la versión de linux con la que trabajo habitualmente, ubuntu.</p>

    <p>Al arrancar el cd de instalación de ubuntu(es un &#8216;live cd&#8217;) me llevé una grata sorpresa: me había detectado todo el hardware sin problemas. Vamos, que una vez instalado todo el software ya tendría el ordenador listo para usar sin necesidad de tocar nada. Como mucho tendría que instalar los drivers de nvidia si quería tener aceleración 3d, pero eso tan sólo supone ejecutar un simple comando.<br />
De hecho, la instalación de linux resultó mucho más sencilla que la de windows, ya que con esta tuve que pelearme con las actualizaciones y los drivers(sobre todo el del sonido) durante un buen rato para tenerlo todo listo.<br />
A lo que quiero llegar con todo esto, es resaltar que el esfuerzo por parte de la gente de <a href="http://www.canonical.com/">Canonical</a> y el equipo de desarrolladores de <a href="http://www.ubuntu.com/">Ubuntu</a> en concreto por acercar Linux al &#8216;escritorio&#8217; y no sólo a los servidores, está dando sus frutos, ya que permite que gente inexperta en este s.o. tenga una primera experencia poco o nada traumática. En definitiva, que vamos por el buen camino :)</p>

    <p style="text-align:center;">
<a href="http://dagi3d.net/temp/ubuntu-troner.png"><img src="http://dagi3d.net/temp/ubuntu-troner-thumb.png" alt="" /></a></p>]]>
      </description>
      <pubDate>Fri, 18 Aug 2006 17:14:53 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/8/18/ubuntu-en-el-portatil#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>Migrando voy, migrando vengo, por el hosting yo me entretengo</title>
      <link>http://dagi3d.net/blog/archive/2006/6/26/migrando-voy-migrando-vengo-por-el-hosting-yo-me-entretengo</link>
      <description>
        <![CDATA[<p>Parece que ya se terminaron de propagar los nuevos dns y ya está funcionando todo correctamente en el nuevo <a href="http://www.rosehosting.com/virtserv.html">vps</a>.
<br />
La migración ha resultado relativamente sencilla ya que apenas hubo problemas con la parte de la web, a excepción de alguno con las aplicaciones que iba a mantener en el hosting antiguo, aunque gracias al soporte de <a href="http://www.dreamhost.com">Dreamhost</a> se solucionó todo. <br />
Lo que sí que dio algún que otro quebradero de cabeza fue la configuración del correo (espero que no se hayan perdido muchos durante el traslado) ya que nunca me había metido en un berenjenal así, pero como ya comenté, sin duda lo mejor para aprender es cacharrear.</p>

    <p>La configuración del hosting viene a ser:</p>

<ins>Web</ins>
    <ul>
    <li>Apache 2.2 + mod_fcgid</li>
        <li>Resin</li>
        <li>Tomcat</li>
        <li>Php5</li>
        <li>Ruby</li>
        <li>Ruby On Rails + RMagick + fcgi</li>
        <li>MySql
<br />
<br /></li>
    </ul>

<ins>Correo</ins>
    <ul>
    <li>Postfix</li>
        <li>courier + courier-pop + courier-mysql</li>
        <li>pop-before-smtp
<br />
<br /></li>
    </ul>

<ins>Dns</ins>
    <ul>
    <li>Bind
<br />
<br /></li>
    </ul>

    <p>La gestión de las cuentas de correos la estoy haciendo con courier-mysql y las cuentas virtuales de postfix también con mysql. De momento tengo que meter todo en la base de datos a mano, así que me he puesto a programar una pequeña interfaz web con ruby on rails para gestionarlas. Si queda algo más o menos presentable ya sacaré el código por si a alguien le resulta útil.</p>]]>
      </description>
      <pubDate>Mon, 26 Jun 2006 19:06:27 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/6/26/migrando-voy-migrando-vengo-por-el-hosting-yo-me-entretengo#post_comments</comments>
    </item>
    <item>
      <category></category>
      <title>Configurar servidor DNS</title>
      <link>http://dagi3d.net/blog/archive/2006/6/18/configurar-servidor-dns</link>
      <description>
        <![CDATA[<p>Recientemente contraté un <a href="http://en.wikipedia.org/wiki/Virtual_private_server">vps</a> en <a href="http://www.rosehosting.com/">Rosehosting</a> utilizando un <a href="http://www.rosehosting.com/virtserv-spec.html">descuento especial</a> para poder tener disponible una máquina remota sin las limitaciones que tiene un servidor compartido y hacer pruebas. <br />
La ventaja del vps es que hay libertad casi absoluta para instalar lo que uno quiera, y aunque también implica que todo lo tiene que administrar uno mismo, es una estupenda oportunidad para aprender y cacharrear. <br />
Así que una vez ya estaba listo el vps, el primer paso era instalar y configurar en la &#8216;nueva&#8217; máquina el servidor <span class="caps"><span class="caps">DNS</span></span> que se encargase de gestionar todos los dominios y subdominios que se fuesen creando.</p>

    <p>El servidor tiene instalado una Debian Sarge y utilicé el dominio dagi3d.com que tenía registrado pero no estaba usando y tras varias pruebas y leer distitnos how-to&#8217;s en internet, esta fue la solución a la que llegué:</p>

    <h4>Instalar Bind</h4>

<code>
<pre>
apt-get install bind
</pre>
</code>

    <h4>Añadir la entrada del dominio a <em>/etc/bind/named.conf.local</em></h4>

<code>
<pre>
zone "dagi3d.com" {
 type master;
 notify no;
 allow-query { any; };
 file "/etc/bind/dagi3d.com.zone";
};

</pre>
</code>

    <h4>Configurar el fichero para la zona del dominio (<em>/etc/bind/dagi3d.com.zone</em>):</h4>

<code>
<pre>
$TTL 3600
@ IN SOA dagi3d.com. info.dagi3d.com. (
            2006061701
            3H
            1H
            14D
            604800)
; DNS
        IN      NS      ns.dagi3d.com.
        IN      NS      ns2.dagi3d.com.
        IN      MX 10   mail.dagi3d.com.
; nombres
        IN      A       206.196.111.109
www     IN      A       206.196.111.109
mail    IN      A       206.196.111.109
ns      IN      A       206.196.111.109
ns2     IN      A       206.196.111.109
</pre>
</code>

    <p>Basicamente se está indicando que los servidores de nombres y las peticiones a dagi3d.com, www.dagi3d.com y mail.dagi3d.com(para el correo), apunten a la ip 206.196.111.109<br />
Lo ideal sería tener los distintos servicios en máquinas diferentes, pero en este caso no hay más recursos así que no queda otra :)</p>

Luego bastaría con reiniciar el servidor dns:
<code>
<pre>
/etc/init.d/bind restart
</pre>
</code>

    <p>Y por último habría que indicar donde hayamos registrado el dominio, que éste utilizará los dns&#8217;s <em>ns.dagi3d.com</em> y <em>ns2.dagi3d.com</em> pero a su vez, también hay que indicarle de alguna manera la dirección ip de cada uno, ya que en primera instancia todavía no se conoce la dirección ip de los servidores pues todavía no se ha propagado la información por el resto de servidores dns y sería como un circulo vicioso.</p>

    <p>Y estos son algunos de los enlace que utilicé y donde explican más detalladamente todo el proceso:</p>

    <ul>
    <li><a href="http://www.siliconvalleyccie.com/linux-hn/dns-static.htm">Configuring <span class="caps"><span class="caps">DNS</span></span></a></li>
        <li><a href="http://bulma.net/body.phtml?nIdNoticia=1334"><span class="caps"><span class="caps">BULMA</span></span>: El Sistema de nombres de dominio: Bind 9.2.1</a></li>
        <li><a href="http://www.aboutdebian.com/dns.htm">How To Set Up Static or Dynamic <span class="caps"><span class="caps">DNS</span></span> for Your Internet Servers</a></li>
    </ul>

    <p>El siguiente paso será instalar Postfix + Courier para el correo y en otro post explicaré como instalar Apache + mod_fcgi + Ruby On Rails</p>]]>
      </description>
      <pubDate>Sun, 18 Jun 2006 17:25:33 +0100</pubDate>
      <comments>http://dagi3d.net/blog/archive/2006/6/18/configurar-servidor-dns#post_comments</comments>
    </item>
  </channel>
</rss>
