<?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"
	>

<channel>
	<title>gLinuxeando</title>
	<atom:link href="http://blog.gfear.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gfear.com</link>
	<description>Un blog sobre Linux, Ubuntu, Debian y programacion...</description>
	<pubDate>Wed, 07 May 2008 21:59:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>CakePHP (y el porque de mi poca actividad)</title>
		<link>http://blog.gfear.com/view/cakephp_y_el_porque/</link>
		<comments>http://blog.gfear.com/view/cakephp_y_el_porque/#comments</comments>
		<pubDate>Wed, 07 May 2008 21:59:41 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Programacion]]></category>

		<category><![CDATA[cakephp]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=16</guid>
		<description><![CDATA[<br/>Quiero comentar que estos dias he estado sumamente opupado estudiando y comprendiendo el funcionamiento de CakePHP.

Me interesa poder pasar varios sistemas Web a este framework.
Para quien no lo conozca, CakePHP es un framework para desarrollo de aplicaciones PHP. CakePHP hace uso del modelo MVC (Model, View, Controller), lo que facilita mucho el mantenimiento del codigo.
Esta [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Quiero comentar que estos dias he estado sumamente opupado estudiando y comprendiendo el funcionamiento de <a title="CakePHP: sitio oficial" href="http://www.cakephp.org/" target="_blank"><strong>CakePHP</strong></a>.</p>
<p style="text-align: center;"><a href="http://blog.gfear.com/wp-content/uploads/cake_logo.png"><img class="size-thumbnail wp-image-17" title="CakePHP logo" src="http://blog.gfear.com/wp-content/uploads/cake_logo-100x100.png" alt="Logo de CakePHP" width="100" height="100" /></a></p>
<p>Me interesa poder pasar varios sistemas Web a este framework.</p>
<p>Para quien no lo conozca, <strong>CakePHP es un framework para desarrollo de aplicaciones PHP</strong>. CakePHP hace uso del <a title="MVC, definicion en Wikipedia.org" href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador" target="_blank">modelo MVC</a> (Model, View, Controller), lo que facilita mucho el mantenimiento del codigo.</p>
<p>Esta basado en <a title="Ruby on Rails, definicion en Wikipedia.org" href="http://es.wikipedia.org/wiki/Ruby_on_Rails" target="_blank">Ruby on Rails (ROR)</a> que a su vez es un framework de desarrollo de aplicaciones pero con Ruby.</p>
<p>Estoy probandolo en su version beta (v<a title="Descargar CakePHP version beta" href="http://cakeforge.org/frs/download.php/594/cake_1.2.0.6311-beta.tar.gz" target="_blank">1.2.0.6311</a>) que por lo que he podido ver ya se encuentra bastante avanzada.</p>
<p>P.D: ademas, por aca (Mexico) este fin de semana pasado fue de vacaciones (puente) asi que aproveche para descansar un poco de la computadora y experimentar la aventura de los rapidos (rafting).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/cakephp_y_el_porque/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mi actualizacion a Ubuntu 8.04 (Hardy Heron)</title>
		<link>http://blog.gfear.com/view/actualizacion-a-hardy/</link>
		<comments>http://blog.gfear.com/view/actualizacion-a-hardy/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 16:44:02 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Noticias]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[ubuntu hardy actualizacion]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=14</guid>
		<description><![CDATA[<br/>El dia 24 de abril salio la version final de Ubuntu 8.04 con nombre Hardy Heron (garza robusta) y que como ya se ha estado hablando trae varias novedades:

Kernel 2.6.24
Gnome 2.22
Xorg 7.3
PulseAudio
Nuevos programas predeterminados (Brasero, Transmission, Firefox 3, Vinagre)
ufw (Uncomplicated Firewall)
Applet de reloj mundial
Soporte LTS (Long Term Support), lo que se traduce en 3 años [...]]]></description>
			<content:encoded><![CDATA[<br/><p><a href="http://blog.gfear.com/wp-content/uploads/ubuntu_down.png"></a>El dia 24 de abril salio la <strong>version final de <a title="Pagina oficial de Ubuntu" href="http://www.ubuntu.com" target="_blank">Ubuntu 8.04</a></strong> con nombre Hardy Heron (garza robusta) y que como ya se ha estado hablando trae varias novedades:</p>
<ul>
<li>Kernel 2.6.24</li>
<li>Gnome 2.22</li>
<li>Xorg 7.3</li>
<li>PulseAudio</li>
<li>Nuevos programas predeterminados (Brasero, Transmission, Firefox 3, Vinagre)</li>
<li>ufw (Uncomplicated Firewall)</li>
<li>Applet de reloj mundial</li>
<li>Soporte LTS (Long Term Support), lo que se traduce en 3 años para la version Desktop y 5 años para la version Server.</li>
<li>Wubi</li>
</ul>
<p>Yo realice mi <a title="Guia de actualizacion oficial de Ubuntu.com" href="http://www.ubuntu.com/getubuntu/upgrading" target="_blank">actualizacion</a> (desde Gutsy Gibbon) hace 2 dias, y me <strong>fue de maravilla</strong>!!! (solo tuve una interrupcion porque no tenia suficiente espacio libre en raiz, por lo que solo limpie las caches y pude continuar).</p>
<p><span id="more-14"></span>Quise esperarme todo ese tiempo por razones personales, ademas de que los primeros dias los servidores de Ubuntu estaban realmente saturados:</p>
<p style="text-align: center;"><a href="http://blog.gfear.com/wp-content/uploads/ubuntu_down.png"><img class="aligncenter size-medium wp-image-15" title="ubuntu_down" src="http://blog.gfear.com/wp-content/uploads/ubuntu_down-300x67.png" alt="Servidores de Ubuntu abajo" width="300" height="67" /></a></p>
<p>Una vez que tengas tu CD, te recomiendo la <a title="Sobre para guardar el CD de Hardy Heron" href="http://marwal.wordpress.com/2008/04/25/sobre-para-cd-ubuntu-804-lts-hardy-heron/" target="_blank">imprimas un bonito sobre</a>, o que realices un pedido de medias originales de Hardy Heron desde <a title="ShipIt, programa de envio de CDs de Ubuntu" href="https://shipit.ubuntu.com/" target="_blank">ShipIt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/actualizacion-a-hardy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Instalar diseñador de interfaces graficas en Ubuntu/Debian</title>
		<link>http://blog.gfear.com/view/instalar-glade/</link>
		<comments>http://blog.gfear.com/view/instalar-glade/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 22:13:42 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[Debian]]></category>

		<category><![CDATA[GTK+]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programacion]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[glade]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=13</guid>
		<description><![CDATA[<br/>Glade es un diseñador de interfaces graficas para GTK+ (GNOME).
Mediante esta herramienta se va a poder crear las ventanas (GUIs) para aplicaciones, y desde la nueva version 3.x (glade-3) genera unicamente un archivo XML (GladeXML) con la estructura de la GUI diseñada. Para mas informacion sobre Glade se puede visitar la pagina oficial del proyecto [...]]]></description>
			<content:encoded><![CDATA[<br/><p><strong>Glade </strong>es un diseñador de interfaces graficas para GTK+ (GNOME).</p>
<p>Mediante esta herramienta se va a poder crear las ventanas (GUIs) para aplicaciones, y desde la nueva version 3.x (glade-3) genera unicamente un archivo XML (GladeXML) con la estructura de la GUI diseñada. Para mas informacion sobre Glade se puede visitar la <a title="Proyecto Glade" href="http://glade.gnome.org/" target="_blank">pagina oficial del proyecto</a> o la <a title="Definicion de Glade en Wikipedia.org" href="http://es.wikipedia.org/wiki/Glade" target="_blank">entrada en la Wikipedia</a>.</p>
<p>Para instalarlo en Ubuntu/Debian solo hace falta ejecutar el siguiente comando en el terminal:</p>
<blockquote><p>sudo apt-get install <a title="AptURL: Glade3 (instalar via web)" href="apt://glade-3" target="_blank">glade-3</a></p></blockquote>
<p>Una vez instalado, podemos abrir el programa desde:</p>
<blockquote><p>Aplicaciones -&gt; Programacion -&gt; <strong>Glade3</strong></p></blockquote>
<p>O ejecutando directamente desde el terminal:</p>
<blockquote><p>glade-3</p></blockquote>
<p><span id="more-13"></span>Cabe mencionar que esta version es mas modular que las anteriores, por lo que para tener widgets (elementos graficos) adicionales (de GNOME) se tiene que instalar:</p>
<blockquote><p>sudo apt-get install <a title="AptURL: Glade3-GNOME (instalar via web)" href="apt://glade-gnome-3" target="_blank">glade-gnome-3</a></p></blockquote>
<p>Así mismo, como ya se menciono en la <a title="Instalar Anjuta IDE en Ubuntu/Debian" href="http://blog.gfear.com/view/instalar-anjuta/" target="_blank">entrada de Anjuta</a>, Glade se integra dentro de dicho IDE (Entorno de Desarrollo Integrado) para permitir diseñar las interfaces de los proyectos.</p>
<p>Otra forma de usar Glade, es diseñar la interfaz mediante el programa (glade-3), lo que generara un archivo <em>*</em>.glade que posteriormente se podra cargar desde el codigo fuente del programa (lo que permite que el codigo este en varios lenguajes: C, C++, Python, PHP, etc). Para esto se usa libglade, que se puede instalar ejecutando:</p>
<blockquote><p>sudo apt-get install <a title="AptURL: LibGlade (instalar via web)" href="apt://libglade0" target="_blank">libglade0</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/instalar-glade/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Instalar documentacion de desarrollo en Ubuntu/Debian</title>
		<link>http://blog.gfear.com/view/instalar-devhelp/</link>
		<comments>http://blog.gfear.com/view/instalar-devhelp/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 00:31:15 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[Debian]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programacion]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[devhelp]]></category>

		<category><![CDATA[documentacion]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=12</guid>
		<description><![CDATA[<br/>DevHelp es el visor de la documentacion de desarrollo (programacion) y API’s  de GNOME.
Como ya se vio en la entrada sobre Anjuta, es posible instalar DevHelp para ver la ayuda desde dentro del mismo Anjuta o como un visor separado.
Ejecutar en un terminal:
sudo apt-get install devhelp
De esta forma se instalara el visor, sin embargo, [...]]]></description>
			<content:encoded><![CDATA[<br/><p>DevHelp es el visor de la documentacion de desarrollo (programacion) y <a title="Definicion de API en Wikipedia.org" href="http://es.wikipedia.org/wiki/API_%28inform%C3%A1tica%29" target="_blank">API</a>’s  de GNOME.</p>
<p>Como ya se vio en la <a title="Instalar Anjuta IDE en Ubuntu/Debian" href="http://blog.gfear.com/view/instalar-anjuta" target="_blank">entrada sobre Anjuta</a>, es posible instalar DevHelp para ver la ayuda desde dentro del mismo Anjuta o como un visor separado.</p>
<p>Ejecutar en un terminal:</p>
<blockquote><p>sudo apt-get install <a title="AptURL: DevHelp (instalar via web)" href="apt://devhelp" target="_blank">devhelp</a></p></blockquote>
<p>De esta forma se instalara el visor, sin embargo, para que realmente tengamos informacion de algunas APIs para poder consultar, es recomendable instalar:<span id="more-12"></span></p>
<ul>
<li>Documentacion de <a title="Definicion de GLib en Wikipedia.org" href="http://es.wikipedia.org/wiki/GLib" target="_blank">GLib</a> (libreria de uso general para C):<br />
sudo apt-get install <a title="AptURL: GLib-doc (instalar via web)" href="apt://libglib2.0-doc" target="_blank">libglib2.0-doc</a></li>
<li>Documentacion <a title="Definicion de GTK+ en Wikipedia.org" href="http://es.wikipedia.org/wiki/GTK+" target="_blank">GTK+</a> (desarrollo de interfaces graficas):<br />
sudo apt-get install <a title="AptURL: GTK-doc (instalar via web)" href="apt://libgtk2.0-doc" target="_blank">libgtk2.0-doc</a></li>
<li>Documentacion sobre <a title="Definicion de PyGTK en Wikipedia.org" href="http://es.wikipedia.org/wiki/PyGTK" target="_blank">PyGTK</a> (interfaces graficas usando Python):<br />
sudo apt-get install <a title="AptURL: PyGTK-doc (instalar via web)" href="apt://python-gtk2-doc" target="_blank">python-gtk2-doc</a></li>
<li>Documentacion sobre <a title="Definicion de Pango en Wikipedia.org" href="http://es.wikipedia.org/wiki/Pango" target="_blank">Pango</a>:<br />
sudo apt-get install <a title="AptURL: Pango-doc (instalar via web)" href="apt://libpango1.0-doc" target="_blank">libpango1.0-doc</a></li>
</ul>
<p>Una vez instalado, se podra visualizar la documentacion ya sea ejecutando directamente: <strong><em>devhelp</em></strong> (desde un terminal o desde Alt+F2), o bien mediante:</p>
<p style="padding-left: 30px;"><em>Aplicaciones -&gt; Programacion -&gt; <strong>DevHelp</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/instalar-devhelp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Instalar Anjuta IDE en Ubuntu/Debian</title>
		<link>http://blog.gfear.com/view/instalar-anjuta/</link>
		<comments>http://blog.gfear.com/view/instalar-anjuta/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 15:19:22 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[Debian]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programacion]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[anjuta]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=9</guid>
		<description><![CDATA[<br/>En GNU/Linux existen muchas y muy variadas opciones para desarrollar software, desde el basico editor de texto para terminal y el compilador GNU gcc, hasta Entornos de Desarrollo Integrados (IDE por sus siglas en ingles).
Uno de los mejores IDEs que existen para GNOME (GTK) es Anjuta, que permite crear proyectos de varios tipos (terminal, graficos [...]]]></description>
			<content:encoded><![CDATA[<br/><p>En GNU/Linux existen muchas y muy variadas opciones para desarrollar software, desde el basico editor de texto para terminal y el compilador GNU gcc, hasta Entornos de Desarrollo Integrados (IDE por sus siglas en ingles).</p>
<p>Uno de los <strong>mejores IDEs</strong> que existen para GNOME (GTK) es <strong><a title="Visitar pagina oficial de Anjuta" href="http://www.anjuta.org/screen-shots" target="_blank">Anjuta</a></strong>, que permite crear proyectos de varios tipos (terminal, graficos GTK+ y GNOME, y otros mas), ademas de tener soporte para autocompletado de codigo, documentacion varias APIs y el diseño de las interfaces.</p>
<p>En<strong> Ubuntu/Debian</strong> es muy facil su instalacion:</p>
<blockquote><p>sudo apt-get install anjuta</p></blockquote>
<p><span style="color: #ff0000;"><strong>*</strong></span><span style="color: #ff0000;"><strong>NOTA</strong></span>: desafortunadamente en <strong>Ubuntu Gutsy 7.10</strong> esta version viene con un <a title="Bug #126312 in anjuta" href="https://bugs.launchpad.net/ubuntu/+source/anjuta/+bug/126314" target="_blank"><strong>fallo</strong> en la compilacion</a> que no permite la integracion con Glade, por lo que para <strong>Gutsy</strong>, la instalacion se debera realizar mediante <strong>3 pasos</strong>:<span id="more-9"></span></p>
<blockquote><p>##Agregar el repositorio, actualizar e instalar Anjuta<br />
echo deb http://ppa.launchpad.net/robster/ubuntu gutsy main universe | sudo tee -a /etc/apt/sources.list</p>
<p>sudo apt-get update</p>
<p>sudo apt-get install anjuta</p></blockquote>
<p>Por ahora es todo, pero en los siguientes posts se vera como instalar la documentacion integrada (<em>devhelp</em>) y el diseñador de interfaces (<em>glade</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/instalar-anjuta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Probando el futuro Ubuntu 8.04 (Hardy Heron)</title>
		<link>http://blog.gfear.com/view/probando-ubuntu-hardy/</link>
		<comments>http://blog.gfear.com/view/probando-ubuntu-hardy/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 13:36:17 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[hardy]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=11</guid>
		<description><![CDATA[<br/>Ya faltan pocos dias para la publicacion de la nueva version de Ubuntu 8.04: Hardy Heron (si todo sale bien será el 24 de abril).
Por esta razon, y para ir preprando el cambio, me puse a probar esta version (por medio de un USB para evitar la lentitud del CD y probar sobre mi hardware [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Ya faltan pocos dias para la publicacion de la nueva version de Ubuntu 8.04: <em>Hardy Heron</em> (si todo sale bien será el 24 de abril).<br />
Por esta razon, y para ir preprando el cambio, me puse a probar esta version (por medio de un <a title="Instala Ubuntu en un USB" href="http://www.pendrivelinux.com/2007/09/28/usb-ubuntu-710-gutsy-gibbon-install/" target="_blank">USB</a> para evitar la lentitud del CD y probar sobre mi hardware real).</p>
<p>Despues de casi un dia completo usando dicha version, y despues de ver todas las <a title="Novedades de Ubuntu Hardy Heron" href="http://tuxpepino.wordpress.com/2008/03/21/publicado-ubuntu-804-hardy-heron-beta/" target="_blank">nuevas funcionalidades</a> que se contemplaran en esta nueva version, mis comentarios son los siguientes:</p>
<p><strong><br />
DESVENTAJAS (problemas):</strong></p>
<ul>
<li><span style="color: #ff0000;"><strong>Bash completion no viene activado por default</strong></span>: esta es la funcionalidad que en el terminal va completando los argumentos de varias utilerias (por ejemplo sudo apt-get insta &lt;TAB&gt; lo autocompletaria a install).</li>
<li>Vinagre no provee forma de <strong>cambiar profundidad de colores</strong> al conectarse a maquina remota mediante VNC (<a title="Bug #485204 Configurable color depth support" href="http://bugzilla.gnome.org/show_bug.cgi?id=485204" target="_blank">bug</a> ya reportado).</li>
<li>En el dialogo para abrir archivos falta que los archivos los muestre usando vista previas (thumbnails), tal como lo hace en Nautilus.</li>
<li>El driver de mi Wi-Fi (chipset BCM94311MCG) ha cambiado de <em>bcm43xx</em> a <em>b43</em> (tambien usando <em>ssb</em>), por lo que al principio no podia usar <em>ndiswrapper</em>. Me falta tiempo para probar dicho driver y si es bueno, dejar de usar <em>ndiswrapper</em>.</li>
<li>Suavizado de fuentes con pobres resultados visuales (modificar las preferencias por default).</li>
<li>Poco amigable para poner hora por default (el instalador debería hacerlo).</li>
</ul>
<p><span id="more-11"></span><br />
<strong> VENTAJAS (mejoras):</strong></p>
<ul>
<li>Reloj ya acepta 12 horas mostrando el AM/PM (<a title="Bug #51255 " href="https://bugs.launchpad.net/ubuntu/+source/langpack-locales/+bug/51255" target="_blank">bug</a> en versiones anteriores).</li>
<li>El dialogo GTK para guardar archivos ya activa por default el campo del nombre (<a title="Bug #130224  gtkfilechooser save focus" href="https://bugs.launchpad.net/bugs/130224" target="_blank">bug</a> ya que el foco lo tenia el filtro).</li>
<li>NetworkManager editor (administrar redes inalambricas =).</li>
<li>Ubicaciones en el applet del reloj, y la posibilidad de tener varios horarios.</li>
<li>En el tema por default se puso una delgada barra sobre popups (en los menus por ejemplo).</li>
<li>Cliente VNC para GTK+/Gnome (<em>vinagre</em>).</li>
</ul>
<p>En unos dias <span style="text-decoration: line-through;">probare la nueva RC (que sale el 17/abril)</span> <strong>instralare la version final</strong> (que sale el 24/abril) y actualizare esta entrada.</p>
<p>Alguien mas que haya notado alguna ventaja/desventaja en esta nueva version?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/probando-ubuntu-hardy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Como compilar el helloworld.c</title>
		<link>http://blog.gfear.com/view/compilar_helloworld/</link>
		<comments>http://blog.gfear.com/view/compilar_helloworld/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 04:37:49 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[C]]></category>

		<category><![CDATA[Debian]]></category>

		<category><![CDATA[GTK+]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programacion]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[compilar]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=4</guid>
		<description><![CDATA[<br/>En el post de bienvenida a este blog, se dejo el codigo fuente de un simple Hello World, sin embargo no se explico de que manera se puede compilar.
Para realizar dicho proceso se requiere instalar algunas herramientas (este proceso aplica para Debian y Ubuntu, y sus derivados):

Desde una terminal (consola) como gnome-terminal, se debera ejecutar [...]]]></description>
			<content:encoded><![CDATA[<br/><p style="text-align: left;">En el <a title="Hello World!!! (Bienvenida)" href="http://blog.gfear.com/view/helloworld/" target="_blank">post de bienvenida</a> a este blog, se dejo el codigo fuente de un simple Hello World, sin embargo no se explico de que manera se puede compilar.</p>
<p style="text-align: left;">Para realizar dicho proceso se requiere instalar algunas herramientas (este proceso aplica para Debian y Ubuntu, y sus derivados):</p>
<p style="text-align: left;"><span id="more-4"></span></p>
<p style="text-align: left;">Desde una terminal (consola) como gnome-terminal, se debera ejecutar el comando:</p>
<blockquote style="text-align: left;"><p>sudo apt-get install build-essential pkg-config linux-headers-`<em>uname -r</em>`</p></blockquote>
<p style="text-align: left;">Como podemos ver son 3 paquetes, que se explican a continuacion:</p>
<ul style="text-align: left;">
<li><strong>build-essential</strong>: es un paquete virtual que provee las herramientas basicas para compilar (compilador C: <em>gcc</em>; compilador C++: <em>g++</em>; herramienta GNU Make: <em>make</em>).</li>
<li><strong>pkg-config</strong>: es una herramienta que genera las librerias y enlaces necearios para compilar un programa (lo usaremos para compilar el helloworld.c).</li>
<li><strong>linux-headers-`<em>uname -r</em>`</strong>: son los encabezados (metadatos o librerias) del kernel que tenemos en uso (esto lo hace con el `<em>uname -r</em>` al final). <em>Cada que se actualice el kernel a una nueva version sera necesario instalar el nuevo paquete</em>.</li>
</ul>
<p style="text-align: left;">Una vez instalado los paquetes mencionados, el archivo helloworld.c se puede compilar ejecutando la siguiente instruccion (de nuevo desde un terminal):</p>
<blockquote style="text-align: left;"><p>gcc helloworld.c -o helloworld `pkg-config  &#8211;cflags gtk+-2.0` `pkg-config &#8211;libs gtk+-2.0`</p></blockquote>
<p style="text-align: left;">Para ejecutarlo, basta con ejecutar desde el terminal el archivo recien compilado con:</p>
<blockquote style="text-align: left;"><p><strong>./helloworld</strong></p></blockquote>
<p style="text-align: left;">Deberan de observar una ventana similar a la siguiente:</p>
<p style="text-align: center;"><a href="http://blog.gfear.com/wp-content/uploads/helloworld.png"><img class="aligncenter size-thumbnail wp-image-8" title="helloworld" src="http://blog.gfear.com/wp-content/uploads/helloworld-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">Espero poder haber ayudado, y proximamente estare comentando sobre mas herramientas de desarrollo en Ubuntu/Debian.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/compilar_helloworld/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello world!!! (Bienvenida)</title>
		<link>http://blog.gfear.com/view/helloworld/</link>
		<comments>http://blog.gfear.com/view/helloworld/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 08:01:10 +0000</pubDate>
		<dc:creator>gFa</dc:creator>
		
		<category><![CDATA[C]]></category>

		<category><![CDATA[Codigo]]></category>

		<category><![CDATA[GTK+]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programacion]]></category>

		<category><![CDATA[bienvenida]]></category>

		<guid isPermaLink="false">http://blog.gfear.com/?p=1</guid>
		<description><![CDATA[<br/>Como todo blog, el primer post casi siempre trata de la bienvenida y aqui no podria ser la excepcion&#8230;
Sin embargo, aprovechare esta ocasion para mencionar los objetivos y alcances del blog, asi como para dejar el primer &#8220;code snippet&#8221; del blog, haciendo mencion al titulo de este post (helloworld.c).
Objetivo:

 Crear un blog sobre Linux en [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Como todo blog, el primer post casi siempre trata de la bienvenida y aqui no podria ser la excepcion&#8230;</p>
<p>Sin embargo, aprovechare esta ocasion para mencionar los objetivos y alcances del blog, asi como para <strong>dejar el primer &#8220;code snippet&#8221;</strong> del blog, haciendo mencion al titulo de este post (<code><strong>helloworld.c</strong></code>).</p>
<p><strong>Objetivo:</strong></p>
<ul>
<li> Crear un blog sobre Linux en general, pero desde un enfoque diferente a la mayoria de blogs, en el que se pongan tutoriales, ejemplos, noticias y propuestas sobre GNU/Linux especialmente en programacion con un enfoque en GTK+ y C (sin dejar de lado C++ y Python, <em>esperemos</em>).</li>
</ul>
<p><strong>Frecuencia de actualizacion:</strong></p>
<ul>
<li> Entre mis planes estan poner 1 o 2 posts a la semana, pero desde luego siempre trantando de que sean &#8220;hechos&#8221; en casa y no un simple Copy&amp;Paste de cualquier de las noticias que se pueden ver en la blogosfera.</li>
</ul>
<p>Ahora, los dejo con un simple programita de los &#8220;Hello World&#8221; hecho con GTK+ y C:</p>
<p>Descargar: <a title="Ejemplo de Hello World en C y GTK+" href="http://blog.gfear.com/wp-content/uploads/helloworld.c" target="_blank">helloworld.c</a></p>
<p><span id="more-1"></span></p>
<p><strong>Snippet: </strong></p>

<div class="wp_syntax"><div class="code"><pre class="c"><span style="color: #339933;">#include</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">void</span> destroy <span style="color: #009900;">&#40;</span>GtkWidget<span style="color: #339933;">*</span>, gpointer<span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #993333;">int</span> main <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> argc, <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>argv<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
GtkWidget <span style="color: #339933;">*</span>mainWin, <span style="color: #339933;">*</span>closeBtn;
&nbsp;
gtk_init <span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp;argc, <span style="color: #339933;">&amp;</span>amp;argv<span style="color: #009900;">&#41;</span>;
&nbsp;
mainWin <span style="color: #339933;">=</span> gtk_window_new <span style="color: #009900;">&#40;</span>GTK_WINDOW_TOPLEVEL<span style="color: #009900;">&#41;</span>;
gtk_window_set_title <span style="color: #009900;">&#40;</span>GTK_WINDOW <span style="color: #009900;">&#40;</span>mainWin<span style="color: #009900;">&#41;</span>, <span style="color: #ff0000;">&quot;Hello World&quot;</span><span style="color: #009900;">&#41;</span>;
gtk_container_set_border_width <span style="color: #009900;">&#40;</span>GTK_CONTAINER <span style="color: #009900;">&#40;</span>mainWin<span style="color: #009900;">&#41;</span>, <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>;
gtk_widget_set_size_request <span style="color: #009900;">&#40;</span>mainWin, <span style="color: #cc66cc;">300</span>, <span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span>;
&nbsp;
g_signal_connect <span style="color: #009900;">&#40;</span>G_OBJECT <span style="color: #009900;">&#40;</span>mainWin<span style="color: #009900;">&#41;</span>, <span style="color: #ff0000;">&quot;destroy&quot;</span>, G_CALLBACK <span style="color: #009900;">&#40;</span>destroy<span style="color: #009900;">&#41;</span>, <span style="color: #000000; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span>;
&nbsp;
closeBtn <span style="color: #339933;">=</span> gtk_button_new_from_stock <span style="color: #009900;">&#40;</span>GTK_STOCK_CLOSE<span style="color: #009900;">&#41;</span>;
gtk_container_add <span style="color: #009900;">&#40;</span>GTK_CONTAINER <span style="color: #009900;">&#40;</span>mainWin<span style="color: #009900;">&#41;</span>, closeBtn<span style="color: #009900;">&#41;</span>;
&nbsp;
g_signal_connect_swapped <span style="color: #009900;">&#40;</span>G_OBJECT <span style="color: #009900;">&#40;</span>closeBtn<span style="color: #009900;">&#41;</span>, <span style="color: #ff0000;">&quot;clicked&quot;</span>, G_CALLBACK <span style="color: #009900;">&#40;</span>gtk_widget_destroy<span style="color: #009900;">&#41;</span>, <span style="color: #009900;">&#40;</span>gpointer<span style="color: #009900;">&#41;</span> mainWin<span style="color: #009900;">&#41;</span>;
&nbsp;
gtk_widget_show_all <span style="color: #009900;">&#40;</span>mainWin<span style="color: #009900;">&#41;</span>;
&nbsp;
gtk_main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span>;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">void</span> destroy <span style="color: #009900;">&#40;</span>GtkWidget <span style="color: #339933;">*</span>window, gpointer data<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
gtk_main_quit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.gfear.com/view/helloworld/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
