<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Programación on Thy.Abstrakt.Objekt.Weblog</title><link>https://blog.kreig.rocks/categories/programaci%C3%B3n/</link><description>Recent content in Programación on Thy.Abstrakt.Objekt.Weblog</description><generator>Hugo</generator><language>es</language><lastBuildDate>Wed, 12 Oct 2011 14:25:21 -0600</lastBuildDate><atom:link href="https://blog.kreig.rocks/categories/programaci%C3%B3n/index.xml" rel="self" type="application/rss+xml"/><item><title>En memoria de Dennis Ritchie</title><link>https://blog.kreig.rocks/2011/10/12/en-memoria-de-dennis-ritchie/</link><pubDate>Wed, 12 Oct 2011 14:25:20 -0600</pubDate><guid>https://blog.kreig.rocks/2011/10/12/en-memoria-de-dennis-ritchie/</guid><description>&lt;p&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt; int main(void){ while(1) printf(&amp;quot;Gracias infinitas Dennis Ritchie, por tus aportes a la computacion \n&amp;quot;); return 0; }&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Décimo quinto Sábado de Software Libre, Debian Day</title><link>https://blog.kreig.rocks/2010/08/03/decimo-quinto-sabado-de-software-libre-debian-day/</link><pubDate>Tue, 03 Aug 2010 15:51:05 -0600</pubDate><guid>https://blog.kreig.rocks/2010/08/03/decimo-quinto-sabado-de-software-libre-debian-day/</guid><description>&lt;p&gt;Al igual que con el Suse Launch Party de hace unas semanas, el próximo &lt;strong&gt;sábado 7 de Agosto&lt;/strong&gt; de &lt;strong&gt;10 AM a 1 PM&lt;/strong&gt; se realizará el Sábado de Software libre conmemorativo al &lt;strong&gt;Debian Day&lt;/strong&gt;, para lo cual el movimiento de software libre de Guatemala,  en especial, los integrantes la comunidad Debianita (suenan como de un planeta extraño, y no estan lejos de serlo), en la típica sede de la &lt;strong&gt;Biblioteca Central de la USAC Z. 12&lt;/strong&gt;,  &lt;strong&gt;Ciudad de Guatemala&lt;/strong&gt;. dirigirán el siguiente conjunto de conferencias:&#10;0. Cómo convertirse en Debian Developer, para todos aquellos que les interese apoyar en el proyecto Debian, aqui sabrán los pasos necesarios para aportar su conocimiento en programación.&lt;/p&gt;</description></item><item><title>Decimotercer Sábado de Software Libre</title><link>https://blog.kreig.rocks/2010/06/30/decimotercer-sabado-de-software-libre/</link><pubDate>Wed, 30 Jun 2010 14:16:25 -0600</pubDate><guid>https://blog.kreig.rocks/2010/06/30/decimotercer-sabado-de-software-libre/</guid><description>&lt;p&gt;A una semana después del &lt;a href="http://www.drupal-centroamerica.org/"&gt;Drupalcamp&lt;/a&gt;, un evento bastante bueno y mis felicitaciones a los organizadores, toca reinicar actividades de los &lt;strong&gt;sábados de Software Libre&lt;/strong&gt; en su &lt;strong&gt;decimotercer edicion&lt;/strong&gt;, como siempre organizado por los jóvenes (y no tan jóvenes) de &lt;a href="http://lug-usac.org/"&gt;&lt;strong&gt;LUGUSAC&lt;/strong&gt;&lt;/a&gt;.  Este sábado volverán los temas para nuevos usuarios como:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;h2 id="taller-de-comandos-básicos-de-bash"&gt;Taller de comandos básicos de BASH:&lt;/h2&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Impartido por Wences Arana (aranax), y cubrirá los comandos básicos y más usados para BASH, sirviendo de iniciación para todos aquellos que quieran comenzar a perderle miedo a la shell más famosa de Linux.&lt;/p&gt;</description></item><item><title>12do Sábado de Software Libre</title><link>https://blog.kreig.rocks/2010/06/15/12do-sabado-de-software-libre/</link><pubDate>Tue, 15 Jun 2010 14:23:43 -0600</pubDate><guid>https://blog.kreig.rocks/2010/06/15/12do-sabado-de-software-libre/</guid><description>&lt;p&gt;Al igual que el sábado pasado, y rompiendo la regla de hacerlos cada 15 días, debido al &lt;a href="http://www.drupal-centroamerica.org/"&gt;Drupalcamp&lt;/a&gt; la próxima semana, éste &lt;strong&gt;sábado 19 de Junio de 2010&lt;/strong&gt; se llevará a cabo el 12do sábado de software libre, siempre en las instalaciones de la &lt;strong&gt;biblioteca de la USAC, 4to nivel, campus central Z 12&lt;/strong&gt;, y en su horario habitual de 10 AM a 2 PM,  contando siempre con interesantes temas de software libre.  Esta vez la cartelera estará con:&#10;&lt;strong&gt;Introducción a GIT&lt;/strong&gt;: Sistema distribuido de versionamiento, funcionalmente equivalente a Subversion, y además, la herramienta que utilizan los desarrolladores del Kernel de linux para cometer sus cambios, ésta será impartida por el joven debianita Josué Abarca.&#10;&lt;strong&gt;J2EE en 20 minutos&lt;/strong&gt;: Una presentación rápida de la suite para desarrollo de aplicaciones empresariales de Java 2,  recomendable para todos aquellos que piensan que el mundo gira alrededor de vi$ual $tudio .net, y deseen alejarse de ese mundo tenebroso.  Ésta será explicada por el compañero Victor Orozco.&#10;&lt;a href="http://objektblog.wordpress.com/wp-content/uploads/2010/06/ssl12_peq.png"&gt;&lt;img src="http://objektblog.wordpress.com/wp-content/uploads/2010/06/ssl12_peq.png" alt="12do sábado de software libre" title="ssl12_peq" loading="lazy" /&gt;&#10;&lt;/a&gt;&#10;Como siempre, la entrada es &lt;strong&gt;libre y gratuita&lt;/strong&gt;. Se les espera.&lt;/p&gt;</description></item><item><title>A una década de programar...</title><link>https://blog.kreig.rocks/2009/05/01/a-una-decada-de-programar/</link><pubDate>Fri, 01 May 2009 17:00:16 -0600</pubDate><guid>https://blog.kreig.rocks/2009/05/01/a-una-decada-de-programar/</guid><description>&lt;p&gt;Justamente leyendo la página de &lt;a href="http://retromags.com"&gt;Retromags&lt;/a&gt; comentada en el &lt;a href="http://objektblog.wordpress.com/2009/05/01/un-vistazo-a-lo-retro-gamer/"&gt;post anterior&lt;/a&gt;, me doy cuenta de un post  en el que preguntan&amp;hellip; qué estaba haciendo en mayo de 1999??&#10;Y justamente se me vino a la mente que en ese año fue que tuve mi primer ordenador, un vejestorio el cual venía aun con windows 3.11. Recuerdo que luego no pasaron ni dos meses para que le instalara &lt;a href="http://en.wikipedia.org/wiki/Windows_95"&gt;&lt;strong&gt;Windows 95&lt;/strong&gt;&lt;/a&gt;, que, aunque ya habia salido Windows 98, la máquina no lo iba a soportar con apenas 12 MB de ram.  El caso es que tambien así como aprendi a usar Windows 95, como todo nuevo usuario, aprendí a arruinarlo, y a instalarlo de nuevo N veces hasta memorizar el bendito fondo monocromo azul y negro de teclado que tenia la pantalla de instalación.&#10;&lt;a href="http://www.walshcomptech.com/mcapbook/images/ezoto/9577VTG.JPG"&gt;&lt;img src="http://www.walshcomptech.com/mcapbook/images/ezoto/9577VTG.JPG" alt="Asi era mi primer maquina, un vejestorio de primera." title="ibm ps2" loading="lazy" /&gt;&#10;&lt;/a&gt;&#10;Fue así como, al instalar dicho S.O.  me di cuenta que traia un &amp;ldquo;&lt;a href="http://en.wikipedia.org/wiki/Internet_Explorer#Internet_Explorer_3"&gt;navegador&lt;/a&gt;&amp;rdquo; (el cual en ese tiempo ni sabia que era, ni para que servia), pero recordé que tenía unas revistas viejas de Club Nintendo en donde estaba publicado unos cursos de HTML..  Y en mi afán de investigar y aprender, comenzé a hacer un HTML básico a puro notepad, la verdad no tenia ni idea para que servia pues mis conocimientos eran casi nulos. sin embargo ahi estaba terminado, una linda pagina Web 1.0 extremadamente estática, con exceso de tags &lt;blink&gt;&lt;/blink&gt; y marquesinas para que no se viera así. Eso fue como en abril de 1999&amp;hellip;  teniendo siempre como inspiración los videojuegos.&#10;A la vez también tuve mi primer experiencia con la Web, en un café internet del cáduco centro comercial Tikal Futura, El pinche café internet cobraba nada mas que Q25 la media hora de navegación, un total fraude.  Sin embargo ahi estaba yo feliz, no solo navegando por la web 1.0, sino tambien a cada efecto bonito que veía en alguna página, investigaba como carajo los hacian (como los onMouseOver que eran lo más interactivo de la época) Ahi fue donde descubrí &lt;strong&gt;JavaScript, mi primer lenguaje de programación&lt;/strong&gt;&amp;hellip;&#10;Dado que el acceso a internet era precario, en un dia lluvioso de &lt;strong&gt;Mayo de 1999&lt;/strong&gt;, decidí encargarle a mi hermano que tenía acceso más facil a la web, que me imprimiese unos manuales de Javascript, con los cuales, de manera autodidacta, me puse a aprenderlos y a hacer mi primer &amp;ldquo;Hola Mundo!&amp;rdquo; al mejor estilo &lt;strong&gt;web 1.0&lt;/strong&gt;(Ahh cuan dificil me fue agarrarle la onda a los ciclos for() en ese entonces).  Recuerdo la satisfacción de ver el primer algoritmo funcionar&amp;hellip; era un éxtasis impresionante cuando todo corría como debía, era una sensasión endiosante, como sentirse creador. Pero lueg que habia dejado todo bonito, publique mi primer web en los servers de Angelfire llamado de The Underground Cave&amp;hellip; el cual descontinuaria por lo cansado que era desarrollar a mano el contenido&amp;hellip;&#10;Y así fue consecutivamente con lenguajes como &lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Visual_Basic"&gt;Visual Basic&lt;/a&gt;&lt;/strong&gt; (1999,por lo fácil, y por que MS Office ya incluia el IDE  y el interprete, y luego haciendo menus de autorun para cada disco que quemaba), &lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Turbo_Pascal"&gt;Pascal&lt;/a&gt;&lt;/strong&gt; (2000,por curiosidad, y desde el principio odie ese lenguaje), &lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/C_Language"&gt;C&lt;/a&gt;&lt;/strong&gt; (2000,por que habia leído que los videojuegos se hacian en este lenguaje, compilando bajo &lt;a href="http://en.wikipedia.org/wiki/Djgpp"&gt;djgpp&lt;/a&gt;), los que aprendi antes de entrar a bachillerato, sin saber que me iban a dar ventaja del resto, y tener mas tiempo para descansar.&#10;Tambien con lenguajes como &lt;a href="http://en.wikipedia.org/wiki/C&amp;#43;&amp;#43;"&gt;&lt;strong&gt;C++&lt;/strong&gt;&lt;/a&gt; (2001, que pense que iba a ser facil despues de saber un poco de C, pero sin contar que era un cambio total de paradigma), &lt;a href="http://en.wikipedia.org/wiki/ActionScript"&gt;&lt;strong&gt;ActionScript&lt;/strong&gt;&lt;/a&gt; y &lt;a href="http://en.wikipedia.org/wiki/PHP"&gt;&lt;strong&gt;PHP&lt;/strong&gt;&lt;/a&gt; (2002, Por la necesidad de aprender flash y server side scripting, por un desarrollo freelance que consegui). y así sucesivamente&amp;hellip; hasta llegar al mogollón de lenguajes que se ve uno obligado a aprender de manera autodidacta  ya dentro de la Universidad..&#10;Y asi, frente al ordenador, irónicamente escribiendo sobre una página HTML generada por JavaScript usando &lt;strong&gt;AJAX&lt;/strong&gt; (el editor de texto de wordpress),  celebro mi &lt;strong&gt;décimo aniversario&lt;/strong&gt; de hacer mi primer algoritmo, sin saber siquiera que era un algoritmo; haciendo una pagina web simple, sin haber tenido contacto siquiera con internet;  y sin saber además de que la programación además de convertirse en mi carrera profesional, se  iba a convertir en mi estilo de vida&amp;hellip; Y todo por simple curiosidad (o como diriamos al buen chapín, por shute).&lt;/p&gt;</description></item><item><title>Tutorial ANTLR y Python III. Creando e implementando un intérprete de dos o más pasadas usando árboles de sintaxis abstracta...</title><link>https://blog.kreig.rocks/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/</link><pubDate>Mon, 06 Apr 2009 16:29:37 -0600</pubDate><guid>https://blog.kreig.rocks/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/</guid><description>&lt;p&gt;&lt;strong&gt;&amp;hellip;viene de &lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h3 id="tutorial-antlr-y-python"&gt;Tutorial ANTLR y Python:&lt;/h3&gt;&#10;&lt;h4 id="parte-i-introducción-e-instalación"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/"&gt;Parte I: Introducción e Instalación.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-ii-creacion-de-una-gramática-sencilla"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;Parte II: Creacion de una gramática sencilla.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-iii-creacion-e-implementación-de-un-ast"&gt;Parte III: Creacion e implementación de un AST.&lt;/h4&gt;&#10;&lt;p&gt;&lt;strong&gt;Antes de empezar pueden bajar el código que se estará utilizando del siguiente URL&lt;/strong&gt;&#10;&lt;strong&gt;&lt;a href="http://rapidshare.com/files/218352788/ejemploAST.tar.bz2"&gt;http://rapidshare.com/files/218352788/ejemploAST.tar.bz2&lt;/a&gt;&lt;/strong&gt;&#10;Bueno, anteriormente habiamos visto como Instalar Python y ANTLR, luego colocamos un ejemplo sencillo para un intérprete de una sola pasada usando ANTLR y Python,  esta vez toca ver una de las características que hacen de ANTLR una herramienta poderosa, los AST o Árboles de sintaxis abstractas por sus siglas en inglés.&lt;/p&gt;</description></item><item><title>Tutorial ANTLR y Python II. Creando una gramatica sencilla</title><link>https://blog.kreig.rocks/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/</link><pubDate>Mon, 30 Mar 2009 18:00:26 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/</guid><description>&lt;h3 id="viene-de"&gt;Viene de &lt;a href="http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/"&gt;http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/&lt;/a&gt;&lt;/h3&gt;&#10;&lt;h3 id="tutorial-antlr-y-python"&gt;Tutorial ANTLR y Python:&lt;/h3&gt;&#10;&lt;h4 id="parte-i-introducción-e-instalación"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/"&gt;Parte I: Introducción e Instalación.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-ii-creacion-de-una-gramática-sencilla"&gt;Parte II: Creacion de una gramática sencilla&lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-iii-creacion-e-implementación-de-un-ast"&gt;&lt;a href="http://objektblog.wordpress.com/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/"&gt;Parte III: Creacion e implementación de un AST.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;p&gt;&lt;strong&gt;Antes de empezar, el codigo que se usara en los ejemplos esta publicado en el sig. URL:&lt;/strong&gt;&#10;&lt;a href="http://rapidshare.com/files/215758595/ejemplos.tar.bz2"&gt;http://rapidshare.com/files/215758595/ejemplos.tar.bz2&lt;/a&gt;&#10;Ahh las gramaticas, tan odiadas por muchos. Y no es para asombrarse, ya que tantos problemas que dan, más aún si la herramienta no es nada amigable (como la tan odiada combinacion JLex/CUP), &lt;strong&gt;ANTLR&lt;/strong&gt; es lo suficientemente amigable como para que desarrollemos gramáticas de la manera menos dolorosa posible, teniendo como valor agregado el &lt;strong&gt;ANTLRWorks&lt;/strong&gt;, un IDE que de verdad permite aumentar nuestra eficiencia a la hora de hacer gramáticas para ANTLR. Esta parte se enfocará en generar una gramática simple con la cual se aprenderá de manera básica la estructura y sintaxis de ANTLR.&lt;/p&gt;</description></item><item><title>Tutorial ANTLR y Python I. Introducción e Instalación</title><link>https://blog.kreig.rocks/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/</link><pubDate>Sun, 29 Mar 2009 18:00:37 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/</guid><description>&lt;h3 id="tutorial-antlr-y-python"&gt;Tutorial ANTLR y Python:&lt;/h3&gt;&#10;&lt;h4 id="parte-i-introducción-e-instalación"&gt;Parte I: Introducción e Instalación.&lt;/h4&gt;&#10;&lt;h4 id="parte-ii-creacion-de-una-gramática-sencilla"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;Parte II: Creacion de una gramática sencilla.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-iii-creacion-e-implementación-de-un-ast"&gt;&lt;a href="http://objektblog.wordpress.com/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/"&gt;Parte III: Creacion e implementación de un AST.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;p&gt;Dada la poca información que hay respecto al tema en Internet en español, me imagino que quizás por la poca apreciación que tiene la Teoría de Compiladores no sólo en mi país (Guatemala) sino en quiza toda latinoamérica. he decidido hacer un tutorial para intentar llenar ese vacio, y demostrar que existen herramientas más amistosas para generar analizadores léxico y sintácticos que la monolítica combinación FLEX/Bison, y que además, se pueden hacer en otros lenguajes que no sea el legendario C/C++.&#10;Pero antes de esto, una introducción (rapida para no aburrir) a las herramientas.&lt;/p&gt;</description></item><item><title>Mis proyectos de sistemas en la USAC parte VI: Compiladores 1…</title><link>https://blog.kreig.rocks/2009/03/27/mis-proyectos-de-sistemas-en-la-usac-parte-vi-compiladores-1/</link><pubDate>Fri, 27 Mar 2009 12:00:31 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/27/mis-proyectos-de-sistemas-en-la-usac-parte-vi-compiladores-1/</guid><description>&lt;p&gt;Que ironía, se me olvidó colocar el curso que auxilio en la universidad,  Introducción a los lenguajes y Compiladores 1.  Y si lenguajes era introductorio a éste, éste a su vez, es introductorio a la yuca de Compiladores 2 como lo &lt;a href="http://objektblog.wordpress.com/2009/03/25/mis-proyectos-de-sistemas-en-la-usac-parte-v-compiladores-2%E2%80%A6/"&gt;describí anteriormente&lt;/a&gt;.  Lamentablemente, como tanto el auxiliar de ese curso, como el ingeniero, no sabian ni rosca, me tocó a mi estudiar por mi cuenta, mas por mi gusto que por ganarlo. y así fue. a continuación publico los únicos 2 proyectos que se realizaron.&lt;/p&gt;</description></item><item><title>Mis proyectos de sistemas en la USAC parte V: Compiladores 2…</title><link>https://blog.kreig.rocks/2009/03/25/mis-proyectos-de-sistemas-en-la-usac-parte-v-compiladores-2/</link><pubDate>Wed, 25 Mar 2009 12:00:17 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/25/mis-proyectos-de-sistemas-en-la-usac-parte-v-compiladores-2/</guid><description>&lt;p&gt;Y luego de la trabada que fue Compiladores 1, Estructuras de Datos, y Organización Computacional.  se deja venir el 6to semestre con muchas más trabadas, solo que ésta vez exponenciales&amp;hellip; y no tanto por los cursos de sistemas, sino tambien por Investigación de Operaciones&amp;hellip; un curso en donde el que sepa llevar la subjetividad de Vinicio Monzón, el ingeniero que dá el curso, hasta en su auxiliar se puede convertir (sino vean a Patricio AKA César Rojas), pero bueno, ya mucho hablar de basura, y vamos a lo que me incumbe, publicar los proyectos del que, para muchos, es el curso más difícil de la carrera (aunque a mi me haya costado mas la investigacion de operaciones), no tanto por su contenido teórico, sino por la extensión y dificultad de sus proyectos de programación. Me refiero a Organización de Lenguajes y Compiladores 2.   Se realizaron 2 proyectos en este curso cuando lo lleve ya hace algunos años, los cuales son:&lt;/p&gt;</description></item><item><title>Mis proyectos de sistemas en la USAC parte IV: Lenguajes Formales…</title><link>https://blog.kreig.rocks/2009/03/23/mis-proyectos-de-sistemas-en-la-usac-parte-iv-lenguajes-formales/</link><pubDate>Mon, 23 Mar 2009 12:00:52 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/23/mis-proyectos-de-sistemas-en-la-usac-parte-iv-lenguajes-formales/</guid><description>&lt;p&gt;Se me olvidaba un curso de 4to semestre, paralelo a &lt;a href="http://objektblog.wordpress.com/2009/03/19/mis-proyectos-de-sistemas-en-la-usac-parte-ii-progra-2%e2%80%a6/"&gt;IPC2&lt;/a&gt;, uno de los que enseñan lo que es desvelarse echando punta, Lenguajes formales, impartido por el mismísimo Satán.  Era un curso introductorio a Compiladores, y por lo tanto, a nivel de éstos en cuanto a extensión y dificultad en sus proyectos, aunque con menor magnitud obviamente&amp;hellip;  Aquí se realizaban 3 proyectos, los cuales se enfocaban en usar 3 diferentes lenguajes para comprobar 3 diferentes paradigmas supuestamente.&lt;/p&gt;</description></item><item><title>Mis proyectos de sistemas en la USAC parte II: Progra 2…</title><link>https://blog.kreig.rocks/2009/03/19/mis-proyectos-de-sistemas-en-la-usac-parte-ii-progra-2/</link><pubDate>Thu, 19 Mar 2009 12:00:29 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/19/mis-proyectos-de-sistemas-en-la-usac-parte-ii-progra-2/</guid><description>&lt;p&gt;Bueno, luego del &lt;a href="http://objektblog.wordpress.com/2009/03/18/mis-proyectos-de-sistemas-en-la-usac-parte-i-progra-1/"&gt;exitoso post anterior&lt;/a&gt; (de donde jodidos), tambien he publicado los proyectos desarrollados en el curso de Introducción a la Programación 2&amp;hellip; en un semestre donde se comenzaban a complicar las cosas pues habia que llevar varios cursos no triviales como Fisica 2 o Lenguajes formales.  La progra 2 de aquellos tiempos era un poco diferente a la de ahora, pues antes se daba solamente temas de persistencia en archivos, OOP,   Memoria dinámica (punteros, listas y todo eso), un poco de análisis y diseño (unico tema que persistió en la progra 2 de ahora), y conceptos básicos de redes&amp;hellip; y lo que se programaba se hacia en C ++.&#10;Y aunque seguían con su necedad de obligarnos a programar en el asquerosisimo borland C++, me importó un comino y empecé a hacerlo en un compilador mucho más superior y que cumple estándares&amp;hellip; GCC, desarrollandolos dentro de algo que es más que un IDE&amp;hellip; EMACS, y sobre un sistema operativo tambien superior, Linux. además que daba primera vez uso de un sistema básico de versionamiento, el CVS.  Y para cuando tenian que calificarmelo en windows que hacia? pues como los proyectos eran básicamente en consola, no me costo mucho portarlos a Windows usando el compilador &lt;a href="http://www.mingw.org/"&gt;MingW&lt;/a&gt;.  Bueno, a continuación un trio de proyectos inútiles cuya única finalidad era didáctica (bueno, quiza tambien tenia de finalidad trabarnos, pero al menos no lo lograron conmigo):&lt;/p&gt;</description></item><item><title>Mis proyectos de sistemas en la USAC parte I: Progra 1...</title><link>https://blog.kreig.rocks/2009/03/18/mis-proyectos-de-sistemas-en-la-usac-parte-i-progra-1/</link><pubDate>Wed, 18 Mar 2009 09:38:31 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/18/mis-proyectos-de-sistemas-en-la-usac-parte-i-progra-1/</guid><description>&lt;p&gt;Bueno, el ocio es taller de Satan, y para aprovechar mejor mi tiempo de ocio, decidí hacer un clean a todos aquellos proyectos de programación que desarrollé en la carrera de Ingeniería en Ciencias y Sistemas de la gloriosa y tricentenaria Universidad de San Carlos de Guatemala.  Y luego de limpiar dichos  proyectos, publicarlos en Internet, aprovechando el repositorio que google ofrece por medio de su servicio &lt;a href="http://code.google.com/hosting"&gt;google code&lt;/a&gt;.&#10;Iré curso a curso publicando los que fueron los proyectos más significativos de estos, muchos de estos son medios ratas, otros no tanto, pero hay que comprender que, en la Universidad siempre nos ponían a hacer dichos proyectos contra el tiempo. Y hoy, es el turno de publicar aquellos proyectos que desarrollé durante el curso de Introducción a la programación 1&amp;hellip; si, progra 1 de la vieja escuela&amp;hellip; cuando éramos obligados a usar el nefasto Borland C++ 3.1 (y me quejo por el compilador que era una basura, no por el lenguaje).  pero qué otra, muchas veces los auxiliares ineptos no dan otra opción.   Los proyectos son los siguientes:&lt;/p&gt;</description></item><item><title>La escena... Cuando el arte y la tecnología se unen.</title><link>https://blog.kreig.rocks/2008/12/31/la-escena-cuando-el-arte-y-la-tecnologia-se-unen/</link><pubDate>Wed, 31 Dec 2008 00:00:51 -0600</pubDate><guid>https://blog.kreig.rocks/2008/12/31/la-escena-cuando-el-arte-y-la-tecnologia-se-unen/</guid><description>&lt;p&gt;Recuerdo que aproximadamente 4 años, en un sitio extinto llamado &lt;a href="http://web.archive.org/web/20030609082437/http://teoti.net/"&gt;&lt;em&gt;&lt;strong&gt;Teoti&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; (era bastante bueno, y base para otros como &lt;em&gt;Taringa&lt;/em&gt;!), me topé con un post interesante&amp;hellip; comentaba acerca de un &amp;ldquo;video&amp;rdquo; de 10 min, que al final era un exe de 64 KB en el que estaba incrustado gran cantidad de audio y animación de alta definicion. Me pareció una gran payasada, sin embargo &lt;a href="http://www.scene.org/file.php?id=192412"&gt;lo bajé y lo probe&lt;/a&gt;. y lo que mis ojos vieron me dejaron sorprendido&amp;hellip;  Era impresionante que en tan solo 64Kb alguien haya podido almacenar tanta información de audio y animación perfectamente sincronizados y enlazados uno a otro(el cual era generado al final de cuentas en tiempo real usando los recursos de mi ordenador), pero no solo era el almacenamiento, era la expresión artística que lograban plasmar en éstos.&#10;&lt;img src="http://www.scene.org/img/screenshots/192412.png" alt="CandyTron, un 64K intro" title="Farbrausch030" loading="lazy" /&gt;&#10;&#10;Bueno, decidí investigar un poquito más, Desafortunadamente &lt;a href="http://en.wikipedia.org/wiki/Demoscene"&gt;Wikipedia&lt;/a&gt; aún estaba en pañales, y pues &lt;a href="http://www.google.com.gt/search?q=farbrausch&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:es-ES:official&amp;amp;client=firefox-a"&gt;San google&lt;/a&gt; fue mi mejor fuente de búsqueda.  Me topé con un sitio llamado &lt;strong&gt;&lt;a href="http://www.scene.org"&gt;Scene.org&lt;/a&gt;&lt;/strong&gt;, o &amp;ldquo;&lt;strong&gt;La Escena&lt;/strong&gt;&amp;rdquo;, el cual era como un repositorio de este tipo de arte digital, en el cual contaban no solo con &lt;strong&gt;intros de 64Kb&lt;/strong&gt;, los cuales la mayoría exprimían al máximo los recursos de la máquina en la que corre para su ejecución; así como también otros de tan sólo &lt;strong&gt;4Kb&lt;/strong&gt;, la mayoría de éstos dedicados a la generación de imágenes complejas de manera procedural; bueno, y con esto no se terminaban, pues también estaban los  llamados &lt;em&gt;&lt;strong&gt;Demos&lt;/strong&gt;&lt;/em&gt;, que eran un poco más grandes, pero gracias a ese espacio extra, lograban aprovechar al máximo la creatividad sin limitaciones de espacio. Y aparte de todo las habia para diferentes plataformas, desde la Commodore 64, hasta GNU/Linux, incluyendo obviamente a Windows.&#10;Con este tipo de obras, se puede descubrir gente tan creativa artísticamente, como tan capaz en el ámbito de la programación&amp;hellip; Lo más interesante es todos ellos se reúnen en convenciones llamadas &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Demoparty"&gt;&lt;strong&gt;Demoparties&lt;/strong&gt;&lt;/a&gt;&lt;/em&gt;, la mayoría situado en paises europeos, especialmente escandinavos, en los cuales nó solamente se dedican a exprimir su creatividad en concursos contra el reloj, sino también al ocio como lan parties enormes.  Entre éstos se puede mencionar al mayor y más veterano evento &lt;em&gt;demoparty&lt;/em&gt;, &lt;a href="http://www.assembly.org/"&gt;&lt;strong&gt;Assembly&lt;/strong&gt;&lt;/a&gt;.&#10;Sería interesante que se armase eventos similares en la región, aprovechando eventos como Coecys, y con el impulso que se logró tanto en coecys 2007 para ArtTechDay y coecys 2008 para &lt;em&gt;Lan Party&lt;/em&gt;, siendo esto como una fusión más compleja de ambos eventos&amp;hellip;  Seria excelente ver el primer demoparty a nivel latinoamericano.&#10;Para más demostraciones de éste tipo de arte geek, aqui les dejo el siguiente link donde se puede apreciar cada demoparty con sus respectivos ganadores anuales en cada categoría, todo esto para deleite de los sentidos.&#10;&lt;a href="http://www.pouet.net/parties.php"&gt;http://www.pouet.net/parties.php&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Y Compiladores, para que p****?...</title><link>https://blog.kreig.rocks/2008/10/04/y-compiladores-para-que/</link><pubDate>Sat, 04 Oct 2008 19:24:49 -0600</pubDate><guid>https://blog.kreig.rocks/2008/10/04/y-compiladores-para-que/</guid><description>&lt;p&gt;&amp;hellip; Esto es lo que dice mucha gente en informatica, que estudia o estudió Ingeniería en Sistemas o Informática, o Ciencias de la Computacion, o como quiera llamarle, tiene cierto odio/resentimiento/&lt;em&gt;ahuevamiento&lt;/em&gt; con ciertos cursos como Estructuras de Datos, Administracion de Archivos, y en general aquellos que están directamente relacionados con la ciencia computacional.&#10;Sin embargo, de todos estos cursos, los que están a la cabeza son definitavemente los cursos relacionados Teoría de Compiladores, al cual mucha gente califica como  &amp;ldquo;Inaplicables&amp;rdquo;, &amp;ldquo;Inservibles&amp;rdquo;, &amp;ldquo;basura&amp;rdquo;, &amp;ldquo;m**rda&amp;rdquo; y va en descenso&amp;hellip; Sobre todo en países como los nuestros, con sus problemas económicos, que no  invierten casi nada en Investigación y Desarrollo, haciendo que los cursos de Compiladores queden siempre a la cabeza de los listados de las encuestas de &amp;ldquo;cursos que se deberían eliminar de la carrera&amp;rdquo;.&#10;Desafortunadamente, yo soy uno de esos pocos &lt;em&gt;freaks&lt;/em&gt; a los que si les gusta esos temas, mi pasíon por ésta teoria de compiladores nació desde que conocí el curso de Lenguajes Formales y Autómatas (en realidad no le pongo el nombre actual que le dan en mi universidad por que suena muy estúpido), el cual se puede decir que es un curso introductorio a compiladores (Compiladores 0 como le suelo decir), y desde ahí me gusto la idea de transformar algo tan natural como el lenguaje humano a una serie de instrucciones capaces de ser interpretadas por el ordenador.&#10;Me pareció bastante interesante,  que en el lugar donde laboro actualmente, se me asignó un proyecto ya hace algunos meses, en donde, se requiere el manejo de ciertas fórmulas para calcular el precio de energía de ciertas cosas segun cierta condicion.  Lo interesante es que estas fórmulas, obviamente, estarán persistidas en una base de datos de dudosa estabilidad (no digo la marca pero ya se imaginarán cual és, y lamentablemente sobre esa trabajamos), en formato varchar, o sea puro texto.&#10;Ahí es donde viene lo bueno, toca crear algún tipo &amp;ldquo;intérprete&amp;rdquo; para las mismas, ya que, aunque va a tener un conjunto de sentencias y expresiones bastante sencillas, me niego a hacerlas &amp;ldquo;a pie&amp;rdquo; por tres puntos:&lt;/p&gt;</description></item><item><title>Entonces... qué ha hecho el software libre por nosotros?</title><link>https://blog.kreig.rocks/2008/03/16/entonces-que-ha-hecho-el-software-libre-por-nosotros/</link><pubDate>Sun, 16 Mar 2008 18:34:41 -0600</pubDate><guid>https://blog.kreig.rocks/2008/03/16/entonces-que-ha-hecho-el-software-libre-por-nosotros/</guid><description>&lt;p&gt;ya sea por conveniencia o por ignorancia, ésta es una pregunta que quizá se haya hecho mucha gente que ve atemorizada cómo este modo de desarrollo de software ha crecido exponencialmente en los últimos años gracias a su naturaleza colaborativa, intentando atacar y defender a su software propietario simplemente por que no saben usarlo. Pues para todos aquellos que están renuentes a reconocer los grandes cambios que el software libre ha hecho en el mundo, aquí presento una lista de razones por qué el mundo es diferente desde la existencia de esta ideología.&#10;Basta con ver que la gran parte de software &amp;ldquo;significativo&amp;rdquo; de software, proyectos importantes de tiempo real, sistemas operativos, y la mayoria del software que mantienen vivo el mundo, e incluso juegos de video, está compilado usando &lt;strong&gt;GCC&lt;/strong&gt; y enlazados al conjunto de librerías &lt;strong&gt;GLIBC&lt;/strong&gt;, convirtiéndolo en quiza el &lt;strong&gt;compilador más usado del planeta&lt;/strong&gt;, no solo por su gran eficiencia o su arquitectura, sino también por su flexibilidad entre plataformas, permitiendo la interoperabilidad entre diferentes plataformas con leves cambios de código, usando el mismo lenguaje. Ésto señores si es multiplataforma.&#10;Este compilador es la base para que grandes proyectos como el &lt;strong&gt;Kernel de LINUX&lt;/strong&gt;, se volvieran una realidad, y se materializara uno de los cambios más importantes dentro del movimiento libre&amp;hellip; darle un Kernel al conjunto de utilidades y librerías &lt;strong&gt;GNU&lt;/strong&gt;, convirtiéndose más tarde en lo que conocemos como &lt;strong&gt;GNU/Linux&lt;/strong&gt; y toda la revolución estuviera por iniciar&amp;hellip; hasta la actualidad, donde el superordenador más poderoso del mundo, el &lt;strong&gt;BlueGene&lt;/strong&gt; de IBM, de cientos de teraflops, se ejecuta nada mas y nada menos que en el sistema operativo libre de preferencia, apto para mantener vivo este supercluster. Incluso Motivando a empresas manufacturadoras de Sistemas Operativos Propietarios a cambiar la arquitectura de sus kernels para sus versiones recien cocinadas del 2008 para poder hacerle frente a la estabilidad y escalabilidad que &lt;strong&gt;GNU/Linux&lt;/strong&gt; y los diferentes &lt;strong&gt;BSD&lt;/strong&gt; han dado durante años.&#10;Incluso no hay que ir tan lejos, basta con recordar también el Kernel del sistema operativo más usable y amigable. &lt;strong&gt;MacOS X&lt;/strong&gt;, el cual, con su apariencia reluciente, no es nada más que un shell gráfico sentado sobre una plataforma estable llamada &lt;strong&gt;Darwin&lt;/strong&gt;, y como no es de extrañarse por las descripciones anteriores, es software libre compilado con software libre. Y yendo un poco más abajo&amp;hellip; vemos ademas a &lt;strong&gt;Motorola&lt;/strong&gt; más frecuentemente produciendo teléfonos de calidad, y reduciendo costos de desarrollo, y por ende bajando precios al consumidor, al utilizar un sistema operativo muy famoso que tiene de mascota a un pingüino.&#10;&lt;strong&gt;Google&lt;/strong&gt; no hubiera sido tan exitosa (y quizá no existiera) sin software libre, así como el internet actual no sería lo mismo sin Google, quienes supieron sacarle el jugo a las capacidades de &amp;ldquo;crecimiento horizontal&amp;rdquo; que el software libre permite hacer al crear superclusters y lograr reducir los costos de procesamiento para una exitosa implementación de sus algoritmos de búsqueda distribuida.&#10;Incluso, otro proyecto clave para el crecimiento de Internet ha sido &lt;strong&gt;LAMP&lt;/strong&gt;, en donde un gran porcentaje de software &amp;ldquo;&lt;strong&gt;Web 2.0&lt;/strong&gt;&amp;rdquo; se ejecutan en este tipo de herramientas, el cual, también estoy seguro que el internet no sería el mismo sin LAMP así como este mundo actual no sería el mismo sin internet&amp;hellip; o será en vano que &lt;strong&gt;Sun Microsystems&lt;/strong&gt; recientemente adquiriera &lt;strong&gt;MySQL&lt;/strong&gt; para mejorar su interoperabilidad con &lt;strong&gt;Java&lt;/strong&gt;, tambien recientemente liberado?&#10;Con estos pocos ejemplos vemos que el software libre no son solamente ideales, es mejora continua para producir software de calidad&amp;hellip; y continua en crecimiento.&lt;/p&gt;</description></item><item><title>M-x introduccion-a-emacs</title><link>https://blog.kreig.rocks/2007/11/23/m-x-introduccion-a-emacs/</link><pubDate>Fri, 23 Nov 2007 22:21:02 -0600</pubDate><guid>https://blog.kreig.rocks/2007/11/23/m-x-introduccion-a-emacs/</guid><description>&lt;p&gt;Una de las herramientas mas marcianas que ví la primera vez que usé un sistema GNU/Linux fue un extraño editor llamado emacs. pues ingresaba a él, y luego no sabía como cerrar la aplicación.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Emacs-logo.svg/270px-Emacs-logo.svg.png" alt="Emacs logo" loading="lazy" /&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Sin embargo, como buen estudiante de ingeniería en sistemas, me gusta complicarme la existencia, y decidí ponerme a aprender a utilizar dicha aplicación. Encontré luego que al presionar F10 accedía al menú ficticio que me aparecía en la pantalla principal, navegué hasta la ayuda, y vi algo así como &amp;ldquo;Tutorial rápido de emacs&amp;rdquo;. Decidí tomarlo, y luego no pude despegarme de este excelente editor de texto (?) , que me ayudó principalmente en el curso de Programación 2 y Compiladores 1 ya hace algunos años, cuando hacía programas en C y C++. Y no solo me dejaba hacer eso, sino que con ayuda de CVS llevaba el control de versiones de dichos proyectos, así como generaba los autoconf y automake respectivos. Además de muchísimos otros beneficios que tiene esta aplicación. Por lo que decidí publicar una pequeña transcripción de una &lt;a href="http://www.tuxdeluxe.org/node/178" title="The CHurch of Emacs"&gt;descripción muy certera&lt;/a&gt; que le hacen a esta poderosa aplicación.&#10;&lt;img src="http://kldp.org/files/emacs-22_582.png" alt="Emacs como IDE" loading="lazy" /&gt;&#10;&#10;&lt;em&gt;GNU Emacs, tiene en comun con algunas otras buenas cosas, la cualidad de que es mejor apreciado con la experiencia en vez de una descripcion a sangre fría. Gracias a su grandiosa extensibilidad, y a la larga gestación producto del trabajo compartido de muchos programadores, se ha convertoido en &amp;ldquo;Todo&amp;rdquo; para &amp;ldquo;todos&amp;rdquo;, Su extensibilidad y personalización está hecha gracias a sus archivos auto documentados &amp;ldquo;Elisp&amp;rdquo;. Emacs crece y crece en una gran feceta modular. una arquitectura protable y vasta, que está compuesta de módulos de código colectivo. En resumen Emacs ofrece un entorno totalmente integrado y listo para configurar para cualquier tipo de programación común y no común. procesado de texto y tareas computacionales regulares.&lt;/em&gt;&#10;&lt;em&gt;Éste grandioso programa puede ser usado para escribir y editar textos como éste. para probar, escribir, y ejecutar código, páginas webs entre servidores, actualizar y publicar entradas de blogs, organizar pensamientos y notas de nuevas formas, y como punto de entrada para manipulación del todo poderoso Shell de Unix. Y así esta lista se extiende y se extiende&amp;hellip;&lt;/em&gt;&#10;Así que si tienen la oportunidad (y la paciencia) para tomar el tutorial de éste app, háganlo, y verán que con emacs, las tareas cotidianas de programación se simplifican.&#10;Aqui les dejo el link para que puedan probar el poderosísimo emacs&lt;/p&gt;</description></item><item><title>Vamos Al Coecys!</title><link>https://blog.kreig.rocks/2007/09/27/vamos-al-coecys/</link><pubDate>Thu, 27 Sep 2007 20:03:13 -0600</pubDate><guid>https://blog.kreig.rocks/2007/09/27/vamos-al-coecys/</guid><description>&lt;p&gt;Eventos muy importante para la comunidad estudiantil de la Facultad de Ingeniería de la USAC se están llevando a cabo en esta grandiosa semana, estos son los Congresos de cada carrera, y como no podía faltar, los estudiantes de Sistemas se vistieron de gala para dar inicio a esta serie de eventos.&#10;Y aunque este año no pude ir y me quedé de nuevo con las ganas de asistir a este evento por diversas razones, no dudo en que este Coecys 2007 (Congreso de Estudiantes de Ciencias Y Sistemas 2007) estará muy constructivo, enfocándose principalmente en el tema de las TICs, y contando con la participación de conferencistas de diversas empresas y ONGs a nivel nacional.&#10;Nomás me queda escuchar los comentarios de los compañeros que si lograron ir al congreso, y ver las fotos para hacerme una imagen de lo que me perdí, ya sea las conferencias, talleres o las fiestas &amp;ldquo;after-Conference&amp;rdquo; animadas por el escuadrón de Alcoecys (hay me guardan un poco jóvenes!). Mis sinceras felicitaciones al equipo de Coecys 2007(Isaac, Joaquin, Mario, Adin, Paniagua, et al) por haberle dado vida de nuevo a este movimiento que estaba a punto de morir.&lt;/p&gt;</description></item><item><title>JAVAizando sistemas de la USAC.</title><link>https://blog.kreig.rocks/2007/07/30/javaizando-sistemas-de-la-usac/</link><pubDate>Mon, 30 Jul 2007 20:19:21 -0600</pubDate><guid>https://blog.kreig.rocks/2007/07/30/javaizando-sistemas-de-la-usac/</guid><description>&lt;p&gt;Una de las cosas por las que la gloriosa y tricentenaria &lt;strong&gt;Universidad de San Carlos de Guatemala&lt;/strong&gt; se ha dado a conocer a nivel nacional, por ser una de las universidades en donde ganar los cursos es un sacrificio sinigual, Decir que alguien se graduó de la USAC muchas veces significa que es una persona que ha superado etapas de burocracia, catedráticos trabadores, y sobre todo, muchos desvelos. Y qué decir del prestigio de salir de Ing. en Ciencias y Sistemas, una de las carreras que por mucho tiempo fue considerada como la más desafiante dentro de la USAC. Ahh un gran sacrificio, mas por los 80s; sin Internet, ni wikipedia, ni Sourceforge, sin Amarok o Winamp y obvio sin mp3 de Kreator que escuchar para una mayor iluminación de algoritmos, etc&amp;hellip;, y con una gran carga algorítmica dada en los cursos científicos computacionales y que había que desarrollar e investigar en bibliotecas convencionales.&#10;Sin embargo todo esto ha ido cambiando, y desde el 2005, desde que entro el dizque decano Paiz, y su equipo de trabajo, específicamenteel Ing. Mazariegos, ex director de la Escuela de Sistemas, quien propuso al inicio de su gestión, &amp;ldquo;cambios&amp;rdquo; que supuestamente beneficiarían al estudiantado. Estos cambios fueron fundamentados en la necesidad de renovación de enseñanza en la carrera, que según él, eran más aplicables, llevaron a convertir esta carrera de alta demanda en Guatemala, en algo asi como una carrera enfocada más en tecnologías cortoplazistas y triviales, removiendo todo rastro de ciencia que tenía la carrera, y convirtiéndolo en J2EE, etc, una tecnología que si bien los conocimientos de ésta tienen alta demanda en el mercado, todos sabemos muy bien que el mundo tecnológico cambia a un ritmo acelerado, y lo que hoy es tecnología de punta, mañana es tecnología inservible, e inútil. y Java no va a ser la excepción.&#10;Hasta donde yo se el nombre de la carrera es &amp;ldquo;Ingeniería en Ciencias y Sistemas&amp;rdquo;, mas no &amp;ldquo;Ingeniería en Java y Paradigmas Tecnológicos Actuales de Sistemas&amp;rdquo;, ya que pareciese que se removió cualquier rastro de ciencia que quedaban en cursos de 3er semestre al 6to, Convirtiendo los contenidos de cursos tan importantes como Estructuras de Datos, de Arboles B a Web Services e i18n en Java, y a la masterización de herramientas como NetBeans y JDeveloper&amp;hellip;&#10;El problema ha llegado a tal extremo que la pobre generación que comenzó Programación 1 en el 2do semestre de 2005 no sabe ni siquiera el concepto de puntero en C/C++, mucho menos van a saber la implementación óptima de un arbol B en C/C++, o de un Arbol de Sintaxis Abstracta, muy útil para los cursos de Compiladores, que afortunadamente siguen sin cambio en sus temas titulares y el contenido se sigue basando en el Libro del Dragon sin embargo&amp;hellip;&#10;A esto viene la siguiente pregunta: Cuando se ha visto que un compilador este hecho en una plataforma tan ineficiente sobre Java??? pues señoras y señores, esto es lo que se está haciendo en los laboratorios de Compiladores 1 y 2, imponer el uso de herramientas tan ineficientes como JLex y Cup y crear un intérprete o compilador en lenguaje Java que se ejecute ineficientemente sobre la JVM&amp;hellip;&#10;Para muestra un boton, el proyecto publicado en este blog esta hecho en Java, con una ineficiencia enorme, y no tanto por culpa del programador(o sea yo ;-)), sino de la plataforma Java y su JVM, Esa ineficiencia se hubiera minimizado si se hubiese hecho en un lenguaje igual de portable, e incluso soportando más plataformas de hardware/software que el mismo Java como C/C++ bajo GCC usando Flex y Bison o ANTLR(y si no me creen lo de la portabilidad, dos preguntas sencillas&amp;hellip; Con que lenguaje está hecho y bajo que esta compilado el kernel de Linux?? en C bajo GCC obviamente, y en cuantas plataformas de Hardware se ejecuta?? Muchísimas, incluyendo teléfonos móviles&amp;hellip;), por lo que la excusa de la portabilidad era el motivo para el uso excesivo de Java en los cursos de programación en la Escuela, con el anterior argumento se acabó.&#10;Y no es que esté en contra de tecnologías y paradigmas como J2EE, .NET, , ni de lenguajes como Java o C# o tendencias como Web Services o i18n, Se que con ellas se pueden realizar muy buenas aplicaciones con el mínimo de esfuerzo, y reconozco que estas tecnologías se tienen que seguir impartiendo, sin embargo como temas de laboratorio, no de la clase titular. De lo que sí estoy en contra es de la sustitución de la base científica fundamental por éstas, que bien se sabe que lo que es ciencia, perdura por los siglos de los siglos.&#10;Afortunadamente yo todavía tuve la oportunidad de ser la última generación en aprender lo que quedaba de Ciencia de la computación&amp;hellip; ya que gracias a este background científico, aprender nuevas tendencias como Ajax, Ruby on Rails, J2EE, se hace mucho mas sencillo, y el cambio de paradigma menos costoso y doloroso&amp;hellip; a que si le ponen a un alumno carnet 2005 a que les desarrolle un sistema de archivos para una base de datos usando Árboles B+ bajo C++. Que las cosas buenas continúen, y la ciencia computacional regrese a donde debe estar, he dicho.&lt;/p&gt;</description></item><item><title>Modularización, un problema pendiente...</title><link>https://blog.kreig.rocks/2007/07/09/modularizacion-un-problema-pendiente/</link><pubDate>Mon, 09 Jul 2007 20:37:28 -0600</pubDate><guid>https://blog.kreig.rocks/2007/07/09/modularizacion-un-problema-pendiente/</guid><description>&lt;p&gt;Es lamentable que muchos estudiantes de la carrera de Sistemas no apliquen los conceptos más importantes de modularización, sea cual sea el lenguaje&amp;hellip; Es algo inaceptable que un proyecto largo, como los que suelen dejar en los cursos de Sistemas de la USAC, venga si mucho un par de archivos fuente.&#10;Recuerdo en mis tiempos, cuando llevé progra 1/progra 2, y se programaba en C existían proyectos con una modularización que daba pena, ya que ni modularizaban a nivel algoritmico ( o sea, todo lo hacian en el void main() olvidando los principios fundamentales de la programación descendente), mucho menos utilizaban diferentes archivos para la división semántica del proyecto, y en algunos caso llegaban a utilizar hasta sentencias goto!!(incluso todavía hay gente que lo utilizan en java&amp;hellip; que pecado a la abstracción).&#10;Por ello, es importante una buena modularización, tanto para el entendimiento del propio código, como del código ajeno (ojo Willy), además de que ayuda&#10;evitar código redundante.&#10;Cada lenguaje y compilador cuenta con sus propias herramientas y técnicas, además de &amp;ldquo;barreras naturales&amp;rdquo; para una mayor modularización, listaré algunos ejemplos básicos:&lt;/p&gt;</description></item></channel></rss>