<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>With Ada.Text_IO;</title>
	
	<link>http://skg.eien-no-ai.net</link>
	<description>SELECT `desciption` FROM `db_blogs` WHERE `author` = 'SkG';</description>
	<lastBuildDate>Sat, 26 Jun 2010 10:32:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<feedburner:info uri="withadatextio" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://skg.eien-no-ai.net/feed/" /><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.feedness.com/alta/http://skg.eien-no-ai.net/feed/" src="http://www.feedness.com/ayuda/wp-content/square_b_sh_feed.gif">Subscribe with Feedness</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://skg.eien-no-ai.net/feed/" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Fskg.eien-no-ai.net%2Ffeed%2F" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Reflexiones sobre la sociedad</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/zdCdowJp-Og/</link>
		<comments>http://skg.eien-no-ai.net/2010/06/24/reflexiones-sobre-la-sociedad/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 21:36:12 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=134</guid>
		<description><![CDATA[Esta entrada se sale totalmente de la temática del blog y sinceramente puede ser de poco interés, es mi punto de vista de la sociedad Española a día de hoy intentando tocar lo menos posible el decadente tema político.
Los temas son la situación económica, el tabaco y el mundial de Sudáfrica.
La situación económica
Los medios de [...]]]></description>
			<content:encoded><![CDATA[<p>Esta entrada se sale totalmente de la temática del blog y sinceramente puede ser de poco interés, es mi punto de vista de la sociedad Española a día de hoy intentando tocar lo menos posible el decadente tema político.</p>
<p>Los temas son la situación económica, el tabaco y el mundial de Sudáfrica.</p>
<h3><span id="more-134"></span>La situación económica</h3>
<p>Los medios de comunicación como son la televisión, los periódicos la radio tienen ciertos intereses y retocan las informaciones y en mi punto de vista este ha sido uno de los alicientes de la situación económica.</p>
<p>Bien es sabido que la querida globalización ha tocado las economías de todos los países y quien nos ha llevado a ello han sido los bancos y en concreto los de EEUU pero a ello se han unido el resto de bancos mundiales que han sido los que mejor tajada se han llevado de esta situación, las ayudas que se han dado para reactivar la economía han ido directamente a los bancos...</p>
<p>Los medios de comunicación han jugado todo esto con sus intereses y han estado todo el tiempo gritándonos a los oídos CRISIS CRISIS CRISIS y la gente como sociedad de borregos que somos se ha dedicado a guardar y guardar y ahorrar por la crisis, esto ha paralizado el movimiento de dinero y ha empeorado la cosa. La solución pasa por que la gente vuelva a mover dinero y así empezara uno de los pasos para mejorar la situación.</p>
<p>No hay tanto paro como dicen de lo contrario tendríamos huelgas cada 2 días, lo que pasa es que se está haciendo mucho trabajo sin contrato, sin factura, sin pagar impuestos.</p>
<h3>El tabaco</h3>
<p>Antes de que me tachéis de radical he de decir que tengo familia fumadora.</p>
<p>El caso del tabaco es algo que ya no soporto y mas que nada es por la mala educación de la mayoría de los fumadores, o por lo menos la unos pocos que dan la mala imagen a los fumadores. Es raro el día que subiendo las escaleras del Metro no tenga que tragarme el humo de alguien que no puede aguantar medio minuto más hasta que salgamos totalmente del Metro...</p>
<p>Otro bonito caso es estar en la marquesina del autobús y tener que fumarte con el de al lado su cigarro, pero esto es fácilmente solucionable a la vista de los fumadores, vete de la marquesina que ellos tienen mas derechos que nadie. Claro que ahora viene el caso que he vivido, un día de febrero diluviando que estaba todo el mundo bajo la marquesina y un señor de unos 40 años fumando, había una señora con un bebe en el carrito al cual le iba todo el humo y no pude callarme le recriminé su acción y dijo que estaba en la calle que si molesta a alguien que se aleje, acto seguido y son dejarme reaccionar la mayoría de las personas se pusieron a mi favor y literalmente le echaron de la marquesina.</p>
<p>Por ultimo solo me falta hablar del típico vecino que se enciende el cigarro en el ascensor y el siguiente que lo usa debe tragarse todo el humo.</p>
<p>¿Si el ministerio de sanidad lo considera un riesgo pro que no lo prohíben directamente? Fácil: Fuente de ingresos del estado.</p>
<h3>Mundial de Sudáfrica</h3>
<p>Me pregunto por que los medios y delegaciones que se han desplazado hasta allí se quejan de los robos.</p>
<p>Se ido a jugar a un país que no destaca por su situación, como muchos otros el poder y el dinero lo tienen unos pocos. Allí van a aprovechar que la gente rica ha ido a ver el mundial y a jugarlo, para ellos los espectadores son ricos, para robarles y poder vivir. Es una cosa que se sabia que iba a pasar y la FIFA no puede llevar su propia policía para proteger a todos. La FIFA son los culpables no los pobres Africanos.</p>
<p>Pero lo que mas me molesta de todo es que nadie se ha acordado de Sudáfrica hasta el mundial y que después todos la olvidaran.</p>
<p>Después de esta entrada fuera de lo normal y de haberme desahogado creo que puedo volver próximamente a la temática de este blog.</p>
<p>Saludos a todos y si alguien comenta que lo haga con respeto como yo he hecho.</p>
<p><strong>Nota:</strong> Puede ser que esta entrada tenga muchos talibanes ortográficos o palabras incoherentes, está escrito en el bloc de notas del iPod Toch mientras iba en Metro.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/n07duvL3_Mdw1RPtbIsJB7LVoyU/0/da"><img src="http://feedads.g.doubleclick.net/~a/n07duvL3_Mdw1RPtbIsJB7LVoyU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/n07duvL3_Mdw1RPtbIsJB7LVoyU/1/da"><img src="http://feedads.g.doubleclick.net/~a/n07duvL3_Mdw1RPtbIsJB7LVoyU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2010/06/24/reflexiones-sobre-la-sociedad/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2010/06/24/reflexiones-sobre-la-sociedad/</feedburner:origLink></item>
		<item>
		<title>Listas encadenadas o Linked List en C</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/-PLMz8exELU/</link>
		<comments>http://skg.eien-no-ai.net/2010/04/29/listas-encadenadas-o-linked-list/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 08:40:14 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[Unix en general]]></category>
		<category><![CDATA[linked list]]></category>
		<category><![CDATA[lista encadenada]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=132</guid>
		<description><![CDATA[Buenas! Como dije voy a escribir una serie de artículos sobre C según encuentre cosas que me parezcan interesantes o útiles.
Una de estas cosas útiles son las listas encadenadas. Es una estructura de datos que en C se puede representar mediante un struct y consiste en un "registro" de los campos que se deseen (generalmente [...]]]></description>
			<content:encoded><![CDATA[<p>Buenas! Como dije voy a escribir una serie de artículos sobre C según encuentre cosas que me parezcan interesantes o útiles.</p>
<p>Una de estas cosas útiles son las <a href="http://es.wikipedia.org/wiki/Lista_%28inform%C3%A1tica%29" target="_blank">listas encadenadas</a>. Es una estructura de datos que en C se puede representar mediante un <a href="http://en.wikipedia.org/wiki/Struct_%28C_programming_language%29" target="_blank">struct</a> y consiste en un "registro" de los campos que se deseen (generalmente uno) más otro que es un puntero que apunta al siguiente registro, y asi sucesivamente. Hay varios tipos de listas encadenadas que podéis ver en el enlace que os dejé.</p>
<p><span id="more-132"></span>Pues procediendo a realizar un ejemplo imaginemos que queremos guardar una lista de alumnos con su nombre, apellidos y DNI. Nos quedaría un programa así:</p>
<pre class="brush: cpp;">
/*
 * Autor: Sergio C. &lt;skgsergio@gmail.com&gt;
 *
 * Licencia: GPL v3 - http://www.gnu.org/licenses/gpl-3.0.html
 */

#define _GNU_SOURCE
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;

/* Estructura que va a definir a un alumno */
struct alumno_st {
    char *nombre;
    char *apellidos;
    int dni;
    /* Puntero para indicar cual es el alumno siguiente en la lista */
    struct alumno_st *siguiente;
};

/* Basicamente es un renombramiento para que en vez de definir
 * variables o punteros así &quot;struct alumno_st *mi_alumno&quot; podamos
 * definirlos así &quot;alumno *mi_alumno&quot;.
 */
typedef struct alumno_st alumno;

/* Punteros para indicar el primer y ultimo elemento de la lista */
alumno *inicial = NULL;
alumno *ultimo = NULL;

/* Añadir un alumno */
void aniadir() {
    alumno *ptr;
    /* Reservamos memoria para esta estructura */
    if ((ptr = (alumno *) malloc(sizeof(alumno)))) {
        char linea[25];
        /* Leemos el nombre y lo guardamos */
        printf(&quot;Nombre:\t\t&quot;);
        fgets(linea,sizeof(linea),stdin);
        ptr-&gt;nombre = strdup(linea);
        /* Leemos los apellidos y lo guardamos */
        printf(&quot;Apellidos:\t&quot;);
        fgets(linea,sizeof(linea),stdin);
        ptr-&gt;apellidos = strdup(linea);
        /* Leemos el DNI y lo guardamos */
        printf(&quot;DNI:\t\t&quot;);
        fgets(linea,sizeof(linea),stdin);
        sscanf(linea,&quot;%d&quot;,&amp;ptr-&gt;dni);
        /* Ajustamos los punteros */
        if (!inicial)
            inicial = ptr;
        if (ultimo)
            ultimo-&gt;siguiente = ptr;
        ultimo = ptr;
        /* Salto de linea */
        printf(&quot;\n&quot;);
    } else {
        fprintf(stderr,&quot;Error al reservar espacio en memoria.&quot;);
    }
}

/* Eliminar un alumno */
void eliminar() {
    if (inicial) {
        char linea[25];
        int dni;
        int buscar = 1;
        alumno *aux = inicial;
        alumno *ant = NULL;
        /* Pedimos el DNI */
        printf(&quot;DNI del alumno a eliminar\n&gt; &quot;);
        fgets(linea,sizeof(linea),stdin);
        sscanf(linea,&quot;%d&quot;,&amp;dni);
        /* Buscamos el alumno */
        while (buscar &amp;&amp; aux) {
            if (aux-&gt;dni == dni) {
                /* Modificamos los punteros */
                if (aux-&gt;siguiente) {
                    /* Si hay un siguiente y un anterior
                     * ponemos el campo siguiente del anterior
                     * puntando al siguiente del que vamos a borrar.
                     * Si no hay un anterior pero siguiente sí
                     * ponemos el puntero inicial apuntando al siguiente.
                     */
                    if (ant)
                        ant-&gt;siguiente = aux-&gt;siguiente;
                    else
                        inicial = aux-&gt;siguiente;
                } else {
                    /* Si no hay un siguiente pero si un anterior
                     * ponemos su puntero siguiente del anterior
                     * a null y ponemos en el puntro ultimo el anterior.
                     * Si no hay siguiente ni anterior ponemos los punteros
                     * inicial y ultimo a null.
                     */
                    if (ant) {
                        ultimo = ant;
                        ant-&gt;siguiente = NULL;
                    } else {
                        inicial = NULL;
                        ultimo = NULL;
                    }
                }
                /* Liberamos la memoria que ocupaba esta estructura */
                free(aux);
                buscar = 0;
            } else {
                ant = aux;
                aux = aux-&gt;siguiente;
            }
        }
        /* Emitimos el resultado de la operación */
        if (buscar)
            printf(&quot;No se ha encontrado un alumno con dni %d\n\n&quot;,dni);
        else
            printf(&quot;Se ha borrado correctamente el alumno con dni %d\n\n&quot;,dni);
    } else {
        printf(&quot;No hay alumnos registrados.\n\n&quot;);
    }
}

/* Mostrar alumnos */
void mostrar() {
    if (inicial) {
        alumno *aux = inicial;
        int num = 1;
        while (aux) {
            printf(&quot;Alumno %d:\n&quot;,num);
            /* Imprimimos cada campo */
            printf(&quot;\tNombre:\t\t%s\n&quot;,aux-&gt;nombre);
            printf(&quot;\tApellidos:\t%s\n&quot;,aux-&gt;apellidos);
            printf(&quot;\tDNI:\t\t%d\n\n&quot;,aux-&gt;dni);
            /* Comprobamos si hemos llegado al ultimo */
            if (aux != ultimo)
                aux = aux-&gt;siguiente;
            else
                aux = NULL;
            num++;
        }
    } else {
        printf(&quot;No hay alumnos registrados.\n\n&quot;);
    }
}

/* Menu principal */
int main() {
    int tmp;
    system(&quot;clear&quot;);
    do {
        char linea[25];
        /* Mostramos las opciones */
        printf(&quot;1: Añadir alumno\t3: Mostrar alumnos\n&quot;);
        printf(&quot;2: Eliminar alumno\t4: Salir del programa\n\n&quot;);
        /* Leemos la opción */
        printf(&quot;&gt; &quot;);
        fgets(linea,sizeof(linea),stdin);
        if(!sscanf(linea,&quot;%d&quot;,&amp;tmp)) tmp = 0;
        /* Analizamos los casos */
        system(&quot;clear&quot;);
        switch (tmp) {
            case 1:
                aniadir();
                break;
            case 2:
                eliminar();
                break;
            case 3:
                mostrar();
                break;
            case 4:
                break;
            default:
                printf(&quot;Opción incorrecta.\n\n&quot;);
                break;
        }
    } while (tmp != 4);
    return 0;
}
</pre>
<p>Al final me ha quedado un programa mas grande de lo que buscaba pero así os entretenéis en toquetearlo y hacer pruebas con el código y demás. Cualquier duda es bienvenida excepto si es para decirme que no funciona en Windows ya que lo he programado en Mac OS X (XNU basado en Match + BSD) y probado en CentOS (Linux) pensando principalmente en que funcione en sistemas Unix.</p>
<p><strong>Nota:</strong></p>
<p>No pretendo crear un manual de programación por lo que los artículos que hago no van a decir un while se hace así o un struct se hace de tal forma, considero que la mejor forma de aprender un lenguaje es consultar los libros que la gente suele recomendar y experimentar con el.</p>
<p>Si has llegado aquí buscando resolver practicas de tu universidad o similar y no te interesa C quizás no es el mejor sitio ya que yo no voy a hacer las practicas de nadie (si, he recibido comentarios y emails pidiéndome resolver practicas en ADA)</p>

<p><a href="http://feedads.g.doubleclick.net/~a/iMloCfnALJXs8D1BbZJxyG3OyI0/0/da"><img src="http://feedads.g.doubleclick.net/~a/iMloCfnALJXs8D1BbZJxyG3OyI0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/iMloCfnALJXs8D1BbZJxyG3OyI0/1/da"><img src="http://feedads.g.doubleclick.net/~a/iMloCfnALJXs8D1BbZJxyG3OyI0/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2010/04/29/listas-encadenadas-o-linked-list/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2010/04/29/listas-encadenadas-o-linked-list/</feedburner:origLink></item>
		<item>
		<title>Bienvenidos a C!</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/Cliz5Lc2nlg/</link>
		<comments>http://skg.eien-no-ai.net/2010/04/09/bienvenidos-a-c/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 09:11:56 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[argumentos]]></category>
		<category><![CDATA[temrinal]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=130</guid>
		<description><![CDATA[Buenas, hace ya tiempo que no escribo...
Había pensado en empezar a escribir sobre Java pero la verdad no me motiva mucho y bueno le estoy cogiendo el gustillo a C y a explicar C a mis compañeros y bueno como he visto que para varios lo de los argumentos es algo muy abstracto aquí dejo [...]]]></description>
			<content:encoded><![CDATA[<p>Buenas, hace ya tiempo que no escribo...</p>
<p>Había pensado en empezar a escribir sobre Java pero la verdad no me motiva mucho y bueno le estoy cogiendo el gustillo a C y a explicar C a mis compañeros y bueno como he visto que para varios lo de los argumentos es algo muy abstracto aquí dejo una breve explicación con código fuente.</p>
<p>Espero que la gente se abstenga de hacer comentarios sobre la precisión del código ya que es para gente que apenas se está iniciando a C.</p>
<p>Darle a leer mas para ver el código con la explicación:<br />
<span id="more-130"></span></p>
<pre class="brush: cpp;">
/*
 * argc = Contador de argumentos que has usado al llamar el programa.
 * argv[] = Array que contiene &quot;strings&quot; con los argumentos.
 *
 * Por defecto argc = 1 ya que el propio nombre del programa es un argumento
 * con lo cual para comprobar si se tienen argumentos hay que ver si es mayor
 * que 1.
 *
 * Se que esta explicacion no es totalmente correcta pero pretendo explicarlo
 * para compañeros que estan iniciandose en la programación a C y ven los
 * argumentos de forma muy abstracta.
 *
 * Licencia: GPL v3 - http://www.gnu.org/licenses/gpl-3.0.html
 */

#include &lt;stdio.h&gt;

int main(int argc, char *argv[]) {
    if (argc &gt; 1) {
        int i;
        printf(&quot;Hay %d argumento(s) adicional(es) a parte del por defecto:\n&quot;,argc-1);
        for (i = 0; i &lt; argc; i++) {
            printf(&quot; argv[%d] = %s\n&quot;,i,argv[i]);
        }
    } else {
        printf(&quot;No hay parametros adicionales, solo el por defecto:\n&quot;);
        printf(&quot; argv[0] = %s\n&quot;,argv[0]);
    }
    return 0;
}
</pre>

<p><a href="http://feedads.g.doubleclick.net/~a/j31N2QuxemD7Loec0KnlpnwGEOQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/j31N2QuxemD7Loec0KnlpnwGEOQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/j31N2QuxemD7Loec0KnlpnwGEOQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/j31N2QuxemD7Loec0KnlpnwGEOQ/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2010/04/09/bienvenidos-a-c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2010/04/09/bienvenidos-a-c/</feedburner:origLink></item>
		<item>
		<title>MacPorts: El sistema de ports para Mac OS X</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/VExzFDAiVhY/</link>
		<comments>http://skg.eien-no-ai.net/2009/12/08/macports-el-sistema-de-ports-para-mac-os-x/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 13:38:22 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[macports]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=126</guid>
		<description><![CDATA[Hace tiempo quería hacer un artículo sobre MacPorts pero como todo me puede la pereza. El caso es que por fin me decidí a realizarlo.
El Proyecto  MacPorts es una iniciativa de la comunidad open-source para diseñar un sistema de fácil  uso para compilar, instalar y actualizar cualquier software de  línea de comandos, [...]]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo quería hacer un artículo sobre <a href="http://www.macports.org/" target="_blank">MacPorts</a> pero como todo me puede la pereza. El caso es que por fin me decidí a realizarlo.</p>
<blockquote><p><em>El Proyecto  MacPorts es una iniciativa de la comunidad open-source para diseñar un sistema de</em><em> fácil </em><em> uso para compilar, instalar y actualizar cualquier software de  línea de comandos, X11 o Aqua basado en código abierto en el  sistema operativo Mac OS X.</em></p></blockquote>
<p><span id="more-126"></span><br />
Así se definen ellos mismos, la gente que ha usado alguna vez en su vida <a href="http://www.gentoo.org/" target="_blank">Gentoo</a> con su sistema Portage, o <a href="http://www.freebsd.org/" target="_blank">FreeBSD</a> con su sistema Ports y ahora es usuario de Mac OS X va a agradecer mucho este sistema, incluso los de otras distribuciones de linux como pueden ser las basadas en <a href="http://www.debian.org/" target="_blank">Debian</a> aunque para estos quizás sea mas fácil usar <a href="http://www.finkproject.org/" target="_blank">Fink</a> el cual es el sistema de APT en Mac OS X y del cual no voy a hablar por que es bastante sencillo y como usuario de Gentoo me gusta mas MacPorts (que oye si alguien tiene mucho interés que me lo comunique y haré un artículo sobre Fink).</p>
<p>En principio este pequeño "howto" está basado en <strong><em>Snow Leopar</em><em>d</em></strong> (10.6.x), pero debería valer también para <em><strong>Leopard</strong></em> (10.5.x) e incluso <strong><em>Tiger</em></strong> (10.4.x). Solo hay que descargar la versión correcta.</p>
<p>Lo primero de todo es asegurarnos de que tenemos el <a href="http://developer.apple.com/tools/xcode/" target="_blank"><em><strong>XCode</strong></em></a> instalado el cual viene en los DVDs del sistema o podemos bajar de la web de Apple. Lo siguiente descargar <em><strong>MacPorts</strong></em> entrando en su <a href="http://www.macports.org/install.php" target="_blank">web de descarga</a>. Una vez dentro localizamos la linea que pone "<em>“dmg” disk images for</em>" y descargamos la versión que corresponda con nuestro sistema, en mi caso Snow Leopard.</p>
<p>Como cualquier .dmg lo abrimos y ejecutamos el archivo que se encuentra dentro (<strong>MacPorts-x.x.x.pkg</strong>,<em> donde <strong>x.x.x</strong> es la versión</em>). Seguramente ya estés familiarizado con el asistente que saldrá para guiarnos en la instalación, no tiene mucho misterio.</p>
<p>Bien, ya tenemos MacPorts instalado, es hora de abrir la <strong><em>Terminal</em></strong>. Como primer paso tenemos que actualizar el árbol de aplicaciones disponibles a si que ejecutamos <strong><em>sudo port -v selfupdate</em></strong> y esperamos pacientemente a que haga su trabajo, te pedirá la contraseña del usuario por seguridad.</p>
<p>Ya está todo preparado para funcionar. Los comandos básicos son los siguientes:</p>
<ul>
<li><strong><em>sudo port -v install nombre</em></strong>: Simple, instala el port deseado.</li>
<li><strong><em>sudo port -v search nombre</em></strong>: Busca en la lista de ports un port que contenga ese nombre.</li>
<li><strong><em>sudo port -v selfupdate</em></strong>: Actualiza la lista de ports y el sistema de MacPorts, normalmente después de eso hay que ejecutar el siguiente comando si tienes prots instalados.</li>
<li><strong><em>sudo port -v update obsolete</em></strong>: Actualiza los ports que tengan nueva versión.</li>
<li><strong><em>sudo port -v uninstall --follow-dependents nombre </em></strong>: Desinstala el port y sus dependencias.</li>
</ul>
<p>En principio creo que estos son los comandos mas necesarios, aun así siempre tenéis a mano usar <em><strong>man port</strong></em> para ver una breve documentación y la<em> <a href="http://guide.macports.org/" target="_blank"><strong>documentación oficial</strong></a></em>.</p>
<p>Solo un detalle mas, todas estas utilidades y binarios generados no se mezclan con los del sistema, es decir, tienen su directorio a parte (<em>/opt/local</em>) y en ningún momento entra en conflicto con el sistema, lo cual es una ventaja.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Dldjb1_T5lDdigAvFo2Uzd4YNgw/0/da"><img src="http://feedads.g.doubleclick.net/~a/Dldjb1_T5lDdigAvFo2Uzd4YNgw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Dldjb1_T5lDdigAvFo2Uzd4YNgw/1/da"><img src="http://feedads.g.doubleclick.net/~a/Dldjb1_T5lDdigAvFo2Uzd4YNgw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2009/12/08/macports-el-sistema-de-ports-para-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2009/12/08/macports-el-sistema-de-ports-para-mac-os-x/</feedburner:origLink></item>
		<item>
		<title>Nuevas cositas!</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/jeGTO6zGdhk/</link>
		<comments>http://skg.eien-no-ai.net/2009/12/07/nuevas-cositas/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 22:41:30 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Otros]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[geektools]]></category>
		<category><![CDATA[proyectos]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=124</guid>
		<description><![CDATA[Buenas! He estado remodelando cosillas del blog (algunas inapreciables) y reestructurando la sección Mis Proyectos.
He añadido un sistema de descargas para ir colgando cosillas que haga y me parezcan interesantes (no, no voy a colgar soluciones completas a ejercicios de la uni para que os copiéis). Son scripts, pequeños programas y demás que voy haciendo.

Desde [...]]]></description>
			<content:encoded><![CDATA[<p>Buenas! He estado remodelando cosillas del blog (algunas inapreciables) y reestructurando la sección <a href="http://skg.eien-no-ai.net/mis-proyectos/">Mis Proyectos</a>.</p>
<p>He añadido un sistema de descargas para ir colgando cosillas que haga y me parezcan interesantes (no, no voy a colgar soluciones completas a ejercicios de la uni para que os copiéis). Son scripts, pequeños programas y demás que voy haciendo.</p>
<p><span id="more-124"></span></p>
<p>Desde hace unos días ando configurando en mi MacBook Pro el GeekTool y he creado unos scripts útiles, por lo menos para mi. Para alguno hay que tener un poco de conocimientos de como funciona GeekTool y nociones mínimas de programación para cambiar un par de parámetros en el código.</p>
<p>Para los que lo estáis pensando: No, no me valía con el dashboard (manías de linuxero).</p>
<p>Aquí os dejo un par de capturas de mi escritorio del Mac a día de hoy y del Dashboard :)</p>
<p>[<a href="http://i710.photobucket.com/albums/ww107/SkGSergio/Capturadepantalla2009-12-06alas2239.png" target="_blank">Escritorio</a>] [<a href="http://i710.photobucket.com/albums/ww107/SkGSergio/Capturadepantalla2009-12-06alas2247.png" target="_blank">Dashboard</a>]</p>
<p>PS: He arreglado el feed, ya se muestra todo el post y no solo un extracto</p>

<p><a href="http://feedads.g.doubleclick.net/~a/M6BSOGmZVK0R_I_MZz6od1KtlBI/0/da"><img src="http://feedads.g.doubleclick.net/~a/M6BSOGmZVK0R_I_MZz6od1KtlBI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/M6BSOGmZVK0R_I_MZz6od1KtlBI/1/da"><img src="http://feedads.g.doubleclick.net/~a/M6BSOGmZVK0R_I_MZz6od1KtlBI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2009/12/07/nuevas-cositas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2009/12/07/nuevas-cositas/</feedburner:origLink></item>
		<item>
		<title>Cambio de compañia de ADSL</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/gp62fJURGF0/</link>
		<comments>http://skg.eien-no-ai.net/2009/11/17/cambio-de-compania-de-adsl/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 12:53:20 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Otros]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[jazztel]]></category>
		<category><![CDATA[ya.com]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=120</guid>
		<description><![CDATA[Bueno, como ya se estaba quedando corta mi conexión de 1MB/320kbps entre mi hermano, mi novia y yo (Si, estaba jugando y cargar alguna web con imágenes daba 300 y mas de ping) pues vamos a cambiar la conexión de casa.

Mirando ofertas (teniendo en cuenta Cuota de Linea + Llamadas + ADSL y el precio [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, como ya se estaba quedando corta mi conexión de 1MB/320kbps entre mi hermano, mi novia y yo (Si, estaba jugando y cargar alguna web con imágenes daba 300 y mas de ping) pues vamos a cambiar la conexión de casa.<br />
<span id="more-120"></span></p>
<p>Mirando ofertas (teniendo en cuenta Cuota de Linea + Llamadas + ADSL y el precio final no las ofertas de un año a tanto) esto es lo que saqué en claro:</p>
<ul>
<li><strong>Telefónica</strong> 10MB/320kbps: <strong>68.29€</strong></li>
<li><strong>Ya.com </strong>10MB/512kbps<strong> sin linea propia</strong> (Llamadas por <a href="http://es.wikipedia.org/wiki/Voz_sobre_IP" target="_blank">VoIP</a>): 28.95€ + Linea de telefónica: <strong>45.15€</strong></li>
<li><strong>Ya.com</strong> 20MB/1MB con linea propia: <strong>40.54€</strong></li>
<li><strong>Jazztel</strong> 20MB/1MB sin linea propia: 35.90€ + Linea de telefónica:<strong> 52.10€</strong></li>
<li><strong>Jazztel</strong> 20MB/1MB (con Annexo M<strong> hasta 2.5MB de subida</strong>) con linea propia:<strong> 50.92€</strong></li>
</ul>
<p><strong>Permanencia</strong>: <em>el único</em> que no te hace estar<strong> 12~18 meses mínimo</strong> con ellos es<em> Jazztel</em> que ademas te ofrece<em> 75 dias de prueba</em> en los cuales si no estas satisfecho te devuelven el dinero y tu número de teléfono para que vuelvas a telefónica.</p>
<p>El caso es que leí que Jazztel va muy bien y Ya.com no se, pero últimamente con ellos me va mal la conexión (lag, tardar en cargar las webs, etc..) y les llame y pasan de mi. A si que hemos contratado Jazztel 20MB + Llamadas + Linea Jazztel.</p>
<p>Pues eso, de aquí a unos 7 días máximo ya me cambiarán de Telefónica a Jazztel, a ver que tal... (Espero poder configurar mi router hasta que venga el de Jazztel...).</p>
<p>PS: El Jueves empiezo el cursillo sobre Arduino!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/P-M0upgBJ7NFTXkk6ja8g411kf8/0/da"><img src="http://feedads.g.doubleclick.net/~a/P-M0upgBJ7NFTXkk6ja8g411kf8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/P-M0upgBJ7NFTXkk6ja8g411kf8/1/da"><img src="http://feedads.g.doubleclick.net/~a/P-M0upgBJ7NFTXkk6ja8g411kf8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2009/11/17/cambio-de-compania-de-adsl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2009/11/17/cambio-de-compania-de-adsl/</feedburner:origLink></item>
		<item>
		<title>¿Semana Libre?</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/qxGXOgYmHO8/</link>
		<comments>http://skg.eien-no-ai.net/2009/11/11/%c2%bfsemana-libre/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 16:31:55 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Otros]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[Vida-Real]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=118</guid>
		<description><![CDATA[Bueno la semana que viene los que estamos en el Grado en Ingeniería Informática (plan Bolonia) en mi Facultad (FI-UPM) tenemos una semana de "Actividades Complementarias", al principio no me hacia mucha gracia por que es una semana perdida y no sabia si tenia que ir obligatoriamente a alguna actividad, pero ahora me da igual [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno la semana que viene los que estamos en el Grado en Ingeniería Informática (plan Bolonia) en mi Facultad (<a href="http://www.fi.upm.es/" target="_blank">FI-UPM</a>) tenemos una semana de "Actividades Complementarias", al principio no me hacia mucha gracia por que es una semana perdida y no sabia si tenia que ir obligatoriamente a alguna actividad, pero ahora me da igual ya que encontré con que entretenerme :)<br />
<span id="more-118"></span></p>
<p>El caso es que la <a href="http://www.fi.upm.es/?id=actividades/asociaciones" target="_blank">asociación</a> "Club de Informática y Telemática" (<a href="http://citfi.asoc.fi.upm.es/" target="_blank">CitFI</a>) van a <a href="http://citfi.asoc.fi.upm.es/?p=24" target="_blank">impartir un curso</a> (y compra conjunta subvencionada para los primeros en apuntarse) sobre <a href="http://es.wikipedia.org/wiki/Arduino" target="_blank">Arduino</a>. Personalmente a la gente que le gustó la práctica de Fundamentos del Material Informático les recomiendo este curso (pero que sepan que se programa en una especie de C/C++) y a toda la gente interesada en la Robótica.</p>
<p>Pero... ¿Que es Arduino?... Pues bien, según Wikipedia: "<strong>Arduino</strong> es una plataforma de <a href="http://es.wikipedia.org/wiki/Hardware_libre" target="_blank">hardware libre</a> basada en una sencilla placa de entradas y  salidas simple y un entorno de desarrollo que implementa el lenguaje de  programación Processing/Wiring. Arduino se puede utilizar para  desarrollar objetos interactivos autónomos o puede ser conectado a  software del ordenador [...]"</p>
<p>El caso es que yo estaré por allí a si que ya sabes donde buscarme y si os interesa pero no podéis ir pues encantado de enseñaros lo que aprenda. Software libre, Hardware libre, Conocimiento libre ;)</p>
<p>Saludos!</p>
<p>PD: Llevo mucho sin escribir por aquí por que no tengo nada interesante que contar por el momento, pero cuando empiece con Arduino seguramente le dedique alguna entrada. Y por cierto, los comentarios ya no están moderados.</p>
<p>[<a href="http://arduino.cc/en/" target="_blank">Web oficial de Arduino</a>]<br />
[<a href="http://arduino.cc/en/Tutorial/HomePage" target="_blank">Ejemplos de programación de Arduino</a>]</p>

<p><a href="http://feedads.g.doubleclick.net/~a/GcAX05pRGlmlZEzH1tAUyQlUFV4/0/da"><img src="http://feedads.g.doubleclick.net/~a/GcAX05pRGlmlZEzH1tAUyQlUFV4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GcAX05pRGlmlZEzH1tAUyQlUFV4/1/da"><img src="http://feedads.g.doubleclick.net/~a/GcAX05pRGlmlZEzH1tAUyQlUFV4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2009/11/11/%c2%bfsemana-libre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2009/11/11/%c2%bfsemana-libre/</feedburner:origLink></item>
		<item>
		<title>Golpe a la Scene de la Wii…</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/cHLQkm3IDZ0/</link>
		<comments>http://skg.eien-no-ai.net/2009/09/30/golpe-a-la-scene-de-la-wii/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 12:32:52 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[Consolas]]></category>
		<category><![CDATA[Otros]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=116</guid>
		<description><![CDATA[El día 28 de Septiembre de 2009, es decir hace un par de días, ha salido una nueva versión de la Wii, la 4.2, la cual ha sido lanzada para atacar directamente a la Scene de la Wii, bloqueando la mayor parte de los cIOS piratas y, ademas, borrando el Homebrew Channel.
¿Ahora que baja el [...]]]></description>
			<content:encoded><![CDATA[<p>El día 28 de Septiembre de 2009, es decir hace un par de días, ha salido una nueva versión de la Wii, la <a href="http://wiibrew.org/wiki/System_Menu_4.2" target="_self">4.2</a>, la cual ha sido lanzada para atacar directamente a la Scene de la Wii, bloqueando la mayor parte de los cIOS piratas y, ademas, borrando el Homebrew Channel.</p>
<p>¿Ahora que baja el precio de la Wii están pretendiendo eliminar la piratería? Parece ser y como daño colateral todo el Homebrew que no hacia daño a la Wii ni a los intereses económicos de Nintendo...</p>
<p><strong>Mi opinión:</strong> Me quedo en mi 4.1 para poder ejecutar Homebrew e instalé una cIOS en una posición no bloqueada por Nintendo <em>"por si acaso"</em> para poder recuperar el Homebrew Channel, pero ya saldrá algo de todas maneras para el Homebrew.</p>
<p><strong>Edito (30/09/09 18:50):</strong> Estuve investigando y no está tan negra la cosa, si la gente usa los cIOS en esas posiciones no bloqueadas y consigue usar uno de los hacks no bloqueados para ejecutar con ese cIOS el instalador del HBC no habria mayor problema, solo queda el tema de que saquen nueva versión de HBC para que no lo borre el System Menu</p>
<p>Saludos!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/XOubzkcqtOLh_nQ4qkhit3S7suQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/XOubzkcqtOLh_nQ4qkhit3S7suQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XOubzkcqtOLh_nQ4qkhit3S7suQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/XOubzkcqtOLh_nQ4qkhit3S7suQ/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2009/09/30/golpe-a-la-scene-de-la-wii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2009/09/30/golpe-a-la-scene-de-la-wii/</feedburner:origLink></item>
		<item>
		<title>Programación II: JRE, JDK, eclipse… WTF??</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/197S5B_jUuI/</link>
		<comments>http://skg.eien-no-ai.net/2009/09/05/programacion-ii-jre-jdk-eclipse-wtf/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 01:45:50 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[jre]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=115</guid>
		<description><![CDATA[En la primera clase, que ha sido de presentación, y hay algunas cosas que han soltado y puede que sean poco digeribles para el primer día y ademas sin explicación...
El lenguaje que vamos a usar es Java, un lenguaje de programación desarrollado por Sun Microsystems. Para ello como IDE (Entorno de desarrollo integrado) utilizaremos eclipse, [...]]]></description>
			<content:encoded><![CDATA[<p>En la primera clase, que ha sido de presentación, y hay algunas cosas que han soltado y puede que sean poco digeribles para el primer día y ademas sin explicación...</p>
<p>El lenguaje que vamos a usar es <a href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java" target="_blank">Java</a>, un lenguaje de programación desarrollado por <a href="http://es.sun.com/" target="_blank">Sun Microsystems</a>. Para ello como <a href="http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado" target="_blank">IDE</a> (Entorno de desarrollo integrado) utilizaremos <a href="http://es.wikipedia.org/wiki/Eclipse_%28software%29" target="_blank">eclipse</a>, el cual es bastante potente y es extensible a mas lenguajes de programación como C, C++, PHP, Python, etc...<br />
<span id="more-115"></span><br />
Para poder programar en Java en nuestro ordenador necesitamos un par de colecciones de programas denominadas <em>JRE</em> y <em>JDK</em>:</p>
<ul>
<li>JRE (Java Runtime Environment): Son el conjunto de componentes y bibliotecas de Java necesarias para poder ejecutar aplicaciones, basadas en Java, en nuestro ordenador.</li>
<li>JDK (Java Developement Kit): Es el kit de desarollo de Java, incluye cosas como el compilador y alguna otra cosa que de momento no se si usaremos, como javadoc.</li>
</ul>
<p>Después de un poco de historia y situación voy a decir que necesitamos para las practicas tanto para Windows como para Mac OS X. Para Linux dependiendo de lo cerrados que sean contra el software privativo a si que si alguno lo necesitáis me lo comentáis y veo que puedo hacer por vosotros.</p>
<p><strong><span style="text-decoration: underline;">Java en Mac OS X</span>:</strong><br />
En Mac OS X tenemos la suerte de que JRE y JDK vienen incluidos con el sistema, solo tenemos que seleccionar la versión apropiada.</p>
<p>Para poder usar<em> JRE/JDK 1.6</em> debemos abrir <em>"Preferencias de Java"</em> que se encuentra en <em>Aplicaciones &gt; Utilidades</em> (O mas fácil, menú <em>Ir</em> en el <em>Finder</em> y darle a <em>Utilidades</em>). En esta utilidad debemos colocar en las casillas <em>"Modulo de applet Java"</em> y <em>"Aplicaciones Java"</em> como primera opción <em>Java SE 6</em>, arrastrando hasta el principio de la lista dicha opción.</p>
<p>Si tienes <em>Snow Leopard (10.6.x)</em> es probable que tus únicas opciones sean <em>Java SE 6 64 bits</em> y <em>Java SE 6 32 bits</em>, lo cual en principio es indiferente y recomendable usar la versión de 64 bits.</p>
<p>De lo contrario, si usas <em>Leopard (10.5.x)</em>, tendrás mas versiones disponibles por que incluye algunas antiguas, a si que asegúrate de haber seleccionado <em>Java SE 6</em>.</p>
<p><span style="text-decoration: underline;"><strong>Java en Windows:</strong></span><br />
Windows, al contrario que Mac OS X, no lleva "de serie" ni <em>JDK</em> ni <em>JRE</em> con lo cual toca ir a la <a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">pagina de Sun</a> para descargarse ambos.</p>
<p>Los archivos que nos debemos bajar en concreto son <em>"Java SE Runtime Environment (JRE)"</em> y <em>"Java SE Development Kit (JDK)"</em>. Una vez bajados instalamos primero el JRE y después el JDK y ya tendremos todo preparado.</p>
<p><span style="text-decoration: underline;"><strong>Eclipse:</strong></span><br />
Bueno este punto es universal, entramos en la <a href="http://www.eclipse.org/downloads/" target="_blank">pagina de eclipse</a> y descargamos <em>"Eclipse IDE for Java Developers"</em> (En principio esta versión es la que dicen de usar en la web de <em>Estructuras de datos I</em> del <em>plan 96</em>)</p>
<p>En este punto lo único que cabe destacar es que a los usuarios de <em>Mac OS X</em> les recomiendo que de las dos versiones que ofrecen, <a href="http://en.wikipedia.org/wiki/Carbon_%28API%29" target="_blank"><em>carbon</em></a> y <a href="http://en.wikipedia.org/wiki/Cocoa_%28API%29" target="_blank"><em>cocoa</em></a>, uséis la versión de<em> cocoa</em>. Es un poco indiferente ya que actualmente Mac OS X sigue soportando <em>carbon,</em> pero <em>cocoa</em> son los últimos <a href="http://es.wikipedia.org/wiki/Framework" target="_blank"><em>frameworks</em></a> de Mac OS X.</p>
<p><span style="text-decoration: underline;"><strong>Nota:</strong></span><br />
Sobre lo que comentó el profesor de ver la versión de <em>JRE</em> y <em>JDK</em> que tenia vuestro ordenador, tendriais que hacer lo siguiente:</p>
<p><span style="text-decoration: underline;">Windows</span>: <em>Inicio &gt; Programas &gt; Accesorios &gt; Simbolo de sistema</em><br />
<span style="text-decoration: underline;">Mac OS X</span>: Con mirar en las <em>Preferencias de Java</em> valdría pero si queréis mirarlo desde la <em>Terminal</em>, está localizada en <em>Aplicaciones &gt; Utilidades</em></p>
<p>Para conocer la versión del <em>JRE</em> pondríamos <code>java -version</code> y para la de <em>JDK</em> pondríamos <code>javac -version</code></p>
<p>El resultado en pantalla tendría que ser algo similar a lo siguiente:</p>
<pre>Sergio@MacBook-Pro-de-SkG ~ $ java -version
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)

Sergio@MacBook-Pro-de-SkG ~ $ javac -version
javac 1.6.0_15</pre>
<p>En principio esto es todo, si tenéis alguna duda de como instalar todo esto dejadme un comentario.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/FBMFiNnxr6PYtXp93kAKcB-uRLI/0/da"><img src="http://feedads.g.doubleclick.net/~a/FBMFiNnxr6PYtXp93kAKcB-uRLI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/FBMFiNnxr6PYtXp93kAKcB-uRLI/1/da"><img src="http://feedads.g.doubleclick.net/~a/FBMFiNnxr6PYtXp93kAKcB-uRLI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2009/09/05/programacion-ii-jre-jdk-eclipse-wtf/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2009/09/05/programacion-ii-jre-jdk-eclipse-wtf/</feedburner:origLink></item>
		<item>
		<title>Programas indispensables en Mac…</title>
		<link>http://feedproxy.google.com/~r/WithAdaTextIO/~3/fbQGBputwOY/</link>
		<comments>http://skg.eien-no-ai.net/2009/06/13/programas-indispensables-en-mac/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 23:59:50 +0000</pubDate>
		<dc:creator>[SkG]</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[Aplicaciones]]></category>

		<guid isPermaLink="false">http://skg.eien-no-ai.net/?p=114</guid>
		<description><![CDATA[Bueno, como he ido convirtiendo a algunas personas a la secta de Mac OS hice varias veces una lista de programas que, al menos yo, considero indispensables.
Mac OS me parece un gran Sistema Operativo, para mi es el Unix de uso fácil y con soporte de una gran empresa lo que pasa es que se [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, como he ido convirtiendo a algunas personas a la secta de Mac OS hice varias veces una lista de programas que, al menos yo, considero indispensables.</p>
<p>Mac OS me parece un gran Sistema Operativo, para mi es el Unix de uso fácil y con soporte de una gran empresa lo que pasa es que se paga xD pero bueno merece la pena. En mi lista trato de usar el mayor numero de software gratuito, aun así pondré lo que mas o menos considero el similar de pago. Yo uso, en su mayoría, software libre y freeware pero algún programilla, pocos, tengo crackeado.</p>
<p>A si que bueno, haced click en leer mas y podréis ver la lista ;)</p>
<p>Saludos a todos!<br />
PD: He actualizado el sistema de mostrar la imagen de la esquina y añadido nuevas ^^<br />
<span id="more-114"></span></p>
<p><strong>AppCleaner</strong>: Utilidad que dejas residente en el sistema y al desinstalar (arrastrar a la papelera) una aplicación te muestra todos los rastros que deja y te ofrece borrarlos.<br />
<strong>AppFresh</strong>: Chequea tus aplicaciones y busca actualizaciones de las mismas y te las actualiza.<br />
<strong>Adium</strong>: Cliente de mensajería instantánea multiprotocolo (AIM, MSN, Yahoo, Google Talk, ICQ, Jabber, MobileMe, Bonjour, MySpace IM, LJ Talk, Facebook Chat, Lotus Sametime, Novell Groupwise, QQ, Gadu-Gadu). Si usas solo MSN y quieres soporte para cosas como los juegecitos y tal pues AMSN, pero como lo uséis os dejo de hablar xD<br />
<strong>Cyberduck</strong>: Cliente FTP, SFTP, WebDav, Cloud Files y Amazon S3  que se integra con Smultron para editar archivos sin tener que descargarlos.<br />
<strong>Firefox</strong>: Para mi, una buena alternativa a Safari en complementos, en velocidad y renderizado es mejor Safari.<br />
<strong>Flip4Mac WMV</strong>: Codec para reproducir WMV (Windows Media Video) en Mac.<br />
<strong>Growl</strong>: Notificador del sistema, lo usan cientos de aplicaciones para mostrar notificaciones.<br />
<strong>Mac FUSE + NTFS-3G</strong>: Entorno FUSE para drivers de distintos sistemas de archivos + Driver NTFS-3G para poder leer Y ESCRIBIR en particiones NTFS, si tienes discos externos es necesario.<br />
<strong>Monolingual</strong>: Borrar lenguajes que no vas a usar en tu sistema y binarios que no corresponden a tu arquitectura (Los binarios de Power PC 32 y 64 bits) que hacen que ocupen el doble.<br />
<strong>MPlayer OSX Extended</strong>: Reproductor multimedia. Para que soporte mkv FullHD activar ffmpeg multithread experimental.<br />
<strong>Onyx</strong>: Utilidad de mantenimiento del sistema, no viene mal de vez en cuando reparar los permisos (aunque eso lo permite hacer el sistema) y hacerle anualmente un completo al sitema.<br />
<strong>OpenOffice</strong>: Suite ofimática completita, algunos prefieren NeoOffice (una version de OpenOffice) pero desde la version 3 de OpenOffice ya es nativa. Existe Microsoft Office para Mac e iWorks de Apple (de pago ambos).<br />
<strong>Plex</strong>: Media center basado en XMBC que reproduce sin problemas mkv FullHD, lo usaba cuando MPlayer OSX Extended no me reproducía bien los mkv FullHD.<br />
<strong>SimplyBurns</strong>: Para copiar CDs, DVDs, grabar ISOs, crear CDs/DVDs. Otra opción mas potente es Roxio Toast (de pago).<br />
<strong>Smultron</strong>: Editor de código multi-lenguaje que te colorea la sintaxis y se integra con CyberDuck.<br />
<strong>Transmission</strong>: Cliente de BitTorrent bastante potente, existe uTorrent para Mac pero no lo he probado.<br />
<strong>XChat</strong>: Cliente de IRC. Otros prefieren Colloquy.</p>
<p>Widgets para el dashboard:<br />
<strong>Delvery Status</strong>: Conocer el estado de tus pedidos de distintas compañias de transporte o vendedores.<br />
<strong>iStat Pro</strong>: Información del sistema (Consumo CPU, RAM, Disco duro, Temperaturas, etc...)<br />
<strong>TV Forecast</strong>: Información de emisión de los próximos episodios en su país de origen de las series, indispensable si sigues series en ingles.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/JyKVJ1jrp3cqvllLWIiz2nS5woU/0/da"><img src="http://feedads.g.doubleclick.net/~a/JyKVJ1jrp3cqvllLWIiz2nS5woU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JyKVJ1jrp3cqvllLWIiz2nS5woU/1/da"><img src="http://feedads.g.doubleclick.net/~a/JyKVJ1jrp3cqvllLWIiz2nS5woU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://skg.eien-no-ai.net/2009/06/13/programas-indispensables-en-mac/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://skg.eien-no-ai.net/2009/06/13/programas-indispensables-en-mac/</feedburner:origLink></item>
	</channel>
</rss>
