<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jm2dev &#187; UNIX</title>
	<atom:link href="http://www.jm2dev.com/tag/unix/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jm2dev.com</link>
	<description>desarrollo software en el siglo XXI</description>
	<lastBuildDate>Sun, 28 Aug 2011 16:09:44 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tracking FreeBSD 8 STABLE</title>
		<link>http://www.jm2dev.com/2011/04/tracking-freebsd-8-stable/</link>
		<comments>http://www.jm2dev.com/2011/04/tracking-freebsd-8-stable/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 11:08:38 +0000</pubDate>
		<dc:creator>josemiguel</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[stable]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.jm2dev.com/?p=164</guid>
		<description><![CDATA[The procedure I followed to track FreeBSD 8 stable.]]></description>
			<content:encoded><![CDATA[<p>Here I describe the instructions I run to trac FreeBSD 8 stable, which is a bit similar to debian testing for linux users.</p>
<p><a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html">FreeBSD documentation is the best resource</a>, and this post doesn&#8217;t intend to be a replacement, just a quickguide. I strongly recommend read it for further clarifications and to get a proper understanding of what you&#8217;re doing.</p>
<p>Basically I reboot my Thinkpad X60s with the minimum services, no tomcat, no database, no X system. You can see my rc.conf <a href="https://github.com/jm2dev/jm-workstation/blob/master/FreeBSD-stable/rc.conf">here</a>.</p>
<p>OK, so now we are in front a nice old school terminal, log in as root, sync code for the base system (here you can find my supfile for csup utility), build the kernel, reboot in single user mode and install the new built base system.</p>
<p>FreeBSD can be seen as two different parts: the operating system, what I called base system, and the third party applications. We finished with the first part, the second one is quite similar as we get the code (sync ports) and upgrade the applications using packages when they are available.</p>
<p>Again I used csup and my ports supfile can be found <a href="https://github.com/jm2dev/jm-workstation/blob/master/FreeBSD-stable/portupgrade-UK-stable-supfile">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jm2dev.com/2011/04/tracking-freebsd-8-stable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando FreeBSD 8 STABLE</title>
		<link>http://www.jm2dev.com/2011/04/usando-freebsd-8-stable/</link>
		<comments>http://www.jm2dev.com/2011/04/usando-freebsd-8-stable/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 11:03:25 +0000</pubDate>
		<dc:creator>josemiguel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[stable]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.jm2dev.com/?p=160</guid>
		<description><![CDATA[Instrucciones y ficheros de configuración que he usado para sincronizar con la versión estable de FreeBSD 8.]]></description>
			<content:encoded><![CDATA[<p>Sincronizar tu FreeBSD con la rama estable, viene a ser lo mismo que seguir la rama testing de debian. Es la versión usable donde tienes disponible las ultimas versiones de aplicaciones que se van añadiendo.</p>
<p>La documentación de FreeBSD al respecto es muy buena, y aconsejo su lectura.</p>
<p>Esta ha sido mi experiencia, que se resume en reiniciar con los servicios mínimos, recompilar el kernel con la ultima versión del código disponible, y actualizar mis aplicaciones mediante el sistema de ports.</p>
<p>Primero desactivo servicios innecesarios, mi /etc/rc.conf puedes verlo  <a href="https://github.com/jm2dev/jm-workstation/blob/master/FreeBSD-stable/rc.conf">aquí</a>.</p>
<p>Tras reiniciar, en modo texto, pues una terminal es lo único que necesitamos, adapto el supfile de ejemplo (/usr/share/example/supfile) que usare para sincronizar con csup quedando <a href="https://github.com/jm2dev/jm-workstation/blob/master/FreeBSD-stable/csup-UK-stable-supfile">así</a>.</p>
<p>A continuación como se describe en la forma canónica para <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html">recompilar el núcleo</a>. Donde la diferencia es que he ejecutado make con la opción j8 porque tengo un core 2 duo y de esta forma reduzco considerablemente el tiempo necesario para las compilaciones.</p>
<p>Si todo ha ido bien tenemos la ultima versión del núcleo, y procedemos a actualizar las aplicaciones en este caso con portupgrade y usando paquetes precompilados siempre que sea posible. También he creado un <a href="https://github.com/jm2dev/jm-workstation/blob/master/FreeBSD-stable/portupgrade-UK-stable-supfile">supfile</a> que se ajusta a mis necesidades.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jm2dev.com/2011/04/usando-freebsd-8-stable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vim como IDE</title>
		<link>http://www.jm2dev.com/2010/02/vim-como-ide/</link>
		<comments>http://www.jm2dev.com/2010/02/vim-como-ide/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 11:14:21 +0000</pubDate>
		<dc:creator>josemiguel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[vimrc]]></category>

		<guid isPermaLink="false">http://www.jm2dev.com/?p=131</guid>
		<description><![CDATA[Vim como un r&#225;pido y sencillo IDE para Java.]]></description>
			<content:encoded><![CDATA[<p>Aunque vim, un clónico del clásico editor vi, no puede compararse a la funcionalidad que proveen populares IDEs como <a href="www.eclipse.org">Eclipse</a> o <a href="www.netbeans.org">Netbeans</a>, tiene una serie de ventajas como su ligereza y el estar disponible en casi todos las distribuciones Linux o UNIX, y es este punto el que justifica esta entrada.</p>
<p>En determinados entornos no tenemos disponible un IDE o ni siquiera un entorno de ventanas, pero aún así se puede editar código Java. Primero hablemos de la configuración de Vim para numeración de líneas, identación de código con cuatro espacios y resalte la sint&aacute;xis.</p>
<p><code> set nu<br />
set tabstop=4<br />
syntax on<br />
</code></p>
<p>La anterior configuraci&oacute;n debe a&ntilde;adirse al fichero <code>.vimrc</code> en nuestro directorio HOME de usuario. Los leguajes más populares est&aacute;n soportados, y de no ser así en la web de <a href="http://www.vim.org/"vim</a> podemos encontrar los ficheros necesarios para otros lenguajes.</p>
<p>A pesar de que Vim es muy ligero, no es necesario editar, grabar y salir para compilar el código, con la secuencia &#8220;<code>ESC + : +  ! + comando</code>&#8221; podemos invocar cualquier aplicación disponible:</p>
<p><code><br />
:!ls<br />
</code></p>
<p>Recordamos que con &#8220;<code>ESC</code>&#8221; accedemos al modo comando de vi, mientras que pulsando la tecla &#8220;<code>i</code>&#8221; lo hacemos al de edici&oacute;n.</p>
<p>Para muestra un botón, el clásico Hola Mundo.</p>
<p><code><br />
vi Hello.java<br />
</code></p>
<pre>
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
</pre>
<p>Que puede compilarse y ejecutarse con los siguientes comandos.</p>
<p><code><br />
:!javac Hello.java<br />
:!java Hello<br />
</code></p>
<p>Con las anteriores instrucciones.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jm2dev.com/2010/02/vim-como-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La importancia de la documentación</title>
		<link>http://www.jm2dev.com/2009/02/la-importancia-de-la-documentacion/</link>
		<comments>http://www.jm2dev.com/2009/02/la-importancia-de-la-documentacion/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 23:05:41 +0000</pubDate>
		<dc:creator>josemiguel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[archivo]]></category>
		<category><![CDATA[documentación]]></category>
		<category><![CDATA[fichero]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[TeX]]></category>
		<category><![CDATA[texto]]></category>
		<category><![CDATA[texto plano]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.jm2dev.com/?p=53</guid>
		<description><![CDATA[Cualquier proyecto de ingeniería por la complejidad que acarrea requiere de un esfuerzo especial para plasmar las idea principal y cómo desarrollarla de principio a fin. En el caso de los proyectos de software no nos encontramos en una situación muy diferente.
Pero cómo se puede documentar un proyecto software de forma sencilla y satisfactoria? En [...]]]></description>
			<content:encoded><![CDATA[<p>Cualquier proyecto de ingeniería por la complejidad que acarrea requiere de un esfuerzo especial para plasmar las idea principal y cómo desarrollarla de principio a fin. En el caso de los proyectos de software no nos encontramos en una situación muy diferente.</p>
<p>Pero cómo se puede documentar un proyecto software de forma sencilla y satisfactoria? En los tiempos en que UNIX era practicamente el único sistema operativo se usaban ficheros de texto plano, de hecho muchos de las guías rápidas de Linux o <em><a href="http://tldp.org/">howtos</a></em> también.</p>
<p>Si a estas alturas eso no nos parece una barbaridad debe faltar poco. Y por supuesto sustituir los ficheros de texto plano por archivos de Word no me parece una solución aceptable. Al fin y al cabo el hecho de tener que cambiar de aplicación para realizar una consulta es de todo menos eficiente, máxime cuando a pesar de las mejoras en potencia de cálculo sigue tardando una eternidad en abrir un simple fichero más o menos formateado.</p>
<p>Y si además se considera que los diferentes desarrolladores pueden no estar geográficamente (ni temporalmente seamos <a href="http://es.wikipedia.org/wiki/Curvatura_del_espacio-tiempo">relativistas</a>) en el mismo lugar. Se puede argüir que el correo electrónico salva este inconveniente. Pero en este caso hay que utilizar una segunda aplicación: el cliente de correo electrónico, para descargar el fichero y abrirlo con otra aplicación.</p>
<p>Sin duda alguna los proyectos de software libre, que adoro, han resuelto de forma satisfactoria este problema  porque su propia supervivencia dependía de ello. Al ser proyectos colaborativos internacionales, y donde principalmente los desarrolladores aportan su conocimiento, ganas y tiempo libre, es de vital importancia que cada miembro sepa lo que debe hacer, para averiguar cómo hacerlo, y todo ello en el menor tiempo posible.</p>
<p>Es aquí donde el hipertexto o HTML demuestra sus virtudes:</p>
<ul>
<li>Información accesible en línea</li>
<li>Referencias enlazadas en el documento principal gracias a los hiperenlaces</li>
<li>Estándar</li>
</ul>
<p>A día de hoy donde muchas de las aplicaciones software a desarrollar hacen uso del navegador, tiene sentido usar esa misma herramienta para presentar la documentación. Al hilo de esta idea han surgido diferentes propuestas como wikis y blogs que además permiten la edición colaborativa.</p>
<p>Pero a todo esto le veo un problema. Por ser un aficionado a la lectura aprecio una correcta impresión, y se debe reconocer que un fichero HTML impreso es de una calidad inferior a un libro barato. De hecho durante bastante tiempo he usado <a href="http://www.tug.org/">LaTeX</a> para generar documentación impresa de calidad como es costumbre entre científicos e ingenieros (de verdad).</p>
<p>Y aunque LaTeX está bien, por sus muchas virtudes, alguno de sus inconvenientes es aprender un lenguaje de macros (es anterior a la popularización de HTML) y que fue concebido como generador de documentos a imprimir.</p>
<p>Existe algo a día de hoy omnipresente en la sociedad de la información, que estructure correctamente la información, independiente de plataforma, a ser posible un estándar, donde prime el contenido, relevándonos de los detalles de composición y que permita un procesado ágil? Sí, <a href="http://www.xml.org/">XML</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jm2dev.com/2009/02/la-importancia-de-la-documentacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

