jueves, 29 de diciembre de 2011

ArchLinux - Un entorno productivo!.

ArchLinux con Grub2 y LXDE como entorno de escritorio.

Desde hace algunos meses he estado bagando de una distribución a otra, ya que me aburrí del la evolución tan lenta de Debian Estable, trate de usar la rama "Testing" pero resulta casi inmanejable con su esquema tan arbitrario de actualizaciones y los recurrentes problemas en las replicas de red y el instalador. Luego trate de pasar a LMDE pero no es lo mismo, por más que lo intente Mint sigue muy influenciada por Ubuntu aun en la rama Debian... así que he pasado de un lado a otro: Trisquel, Vector, Slax, Gentoo, Mageia... pero nada siempre ha quedado un cierto vació, hasta que un amigo me recomendó ArchLinux, la verdad estaba escéptico respecto al mantenimiento de una distribución como esta, sin embargo después de montarlo en VBox y en mi PC de mesa he quedado gratamente sorprendido.

Arch ofrece las tres características fundamentales de una buena distribución Linux:
  • Primero y fundamental: posee una comunidad nutrida, comprometida y activa algo que de lo que adolecen muchas distribuciones como Debian (Me perdonaran pero son sumamente cerrados y lentos) y razón por la cual Ubuntu ha crecido hasta donde esta ahora.
  • Segundo: presenta un excelente soporte de software para aplicaciones y mantenimiento (actualización) de la distribución, gracias a su filosofía el sistema se mantiene estable y simple aun tras largos periodos de uso. Además el sistema AUR es algo maravilloso que hace sonrojar a cualquier otro Linux y su comunidad, en mi opinión muy superior al PPA de Ubuntu y derivados.
  • Tercero: Arch se puede personalizar a muy alto grado, tanto que con un buen nivel e conocimientos y algo de esfuerzo se puede tener una distribución casi que única y perfecta para las necesidades de cada quien.
Bueno esa es mi explicación de porque Arch, ahora porque Grub2... bueno Arch viene con Grub Legacy que ya es una reliquia y molesta bastante a la hora de mantener un sistema multiboot así que resulta conveniente "Actualizar" a Grub2. En cuanto a porque usar LXDE... bueno solo diré que Gnome3 me ha decepcionado, KDE sigue siendo mi favorito pero exige muchos recursos y Fluxbox es una belleza rara que solo algunos tíos muy retro apreciamos; así que al buscar un entorno de escritorio ligero, amigable y estéticamente aceptable la elección más natural es LXDE en especial porque su filosofía modular (puede usar aplicaciones y componentes de otros entornos) es la que mas se ajusta a la idea de Arch.
Dejando de lado las explicaciones y la carreta procedamos con lo interesante... instalar Arch y personalizarlo un poco. Pero antes un par de recomendaciones:
  • Todo lo que aparezca con un # es un comando de Linux que debe ejecutarse como root, análogamente lo que esta precedido por $ es un comando de usuario normal.
  • NO usare sudo, toda la labor administrativa se hará como root, si desean usar sudo es fácil de configurar pero no le incumbe a este post.
  • Seria ideal que si van a seguir los procedimientos aquí descritos conozcan de antemano algo de Linux, de preferencia que tengan uno instalado o lo hayan usado antes.
  • Los pasos descritos pertenecen a una maquina virtual con 1 Gb de Ram, procesador mono núcleo de 2.8 GHz y 18 Gb de disco, recomido que primero lo prueben en virtual para familiarizarse y luego si lo prueben con el PC físico.
  • La instalación se realizara con Netinstall que es lo mas recomendable para una distribución como Arch, asegúrese de tener una acceso a internet vía cable y con DHCP, la configuración manual de red e inalámbrica la dejare para después aunque no es cosa del otro mundo y pueden leerlo en la WIKI de Arch que es muy buena.
  • Deben estar realmente dispuestos a mantener la distribución, en Arch se puede hacer casi cualquier cosa que se desee pero hay un precio... Aprender de la comunidad, de la WIKI, de los foros, hay que investigar y compartir lo aprendido. "Si queréis un sistema Instant-On mejor quedaos con Ubuntu".
  • Si no tenéis ni idea de sistemas y los conceptos de partición, swap, arquitectura, boot y otros os suenan a chino o marciano, mejor dad la vuelta y salid huyendo o armaos de valor y voluntad para aprender por vuestra cuenta (no viene al caso que explique esas cosas o el post seria aun más largo de lo que es y eso ya es mucho) que significan todas esas cosas.
Salvadas las advertencias procedamos bajo la responsabilidad de cada uno...

viernes, 18 de noviembre de 2011

Lenguaje D?

Un abre bocas!...:

El lenguaje de programación D, si he de ser sincero lo he encontrado por pura casualidad, mientras fisgoneaba los Drivers de MongoDB; me quedo sonando el asunto hasta que decidí indagar un poco al respecto... Veamos así es como lo describe Andrei Alexandrescu en su libro "The D Programming Language": 
"D es un lenguaje que intenta hacer siempre lo correcto dentro de las limitaciones que eligió: acceso a los recursos de computación de alto rendimiento a nivel del sistema y similitud sintáctica con lenguajes derivados de C!..."
En cuanto a la Wikipedia esto es lo que encontramos:
"D es un lenguaje de programación de uso general desarrollado por Walter Bright cuya primera versión apareció en 1999. Se origina como un rediseño de C++, con un enfoque más pragmático, pero no es un lenguaje puramente derivado del anterior. D ha mantenido algunas características de C++ y también está influido por otros conceptos de otros lenguajes como Java, C# y Eiffel... "
Bueno pero a ciencia cierta que tiene de particular D,... que lo hace atractivo?... no es más que otro lenguaje o si?... Bueno en lo personal diré que el solo echo de mezclar soporte de código Ensamblador con características de alto nivel (Pj: Arreglos Asociativos y Manejo dinámico de cadenas) ya es suficiente como para dejarme con la boca abierta!. 

jueves, 20 de octubre de 2011

Blender 2.6 Release

Han pasado mas de dos años desde que la Fundación Blender anunciara su interés de renovar la plataforma de diseño en 3D, es decir un cambio radical en lo que seria la saga 2.5x y posteriores. Durante este tiempo, aquellos que hemos seguido el desarrollo del proyecto nos hemos llevado varias sorpresas, algunas agradables y otras no tanto; finalmente el día de ayer 19 de Octubre de 2011 vio la luz del mundo, el esperado Blender 2.60 Release la culminación de tanto esfuerzo y el fin de tan larga espera.


Los cambios han sido muchos y muy notorios, desde el radical paso de la interfaz anterior:

A la apariencia actual, pasando por la nueva capacidad de trabajar con sistemas multi-hilo y multi-procesador de forma automática, mejoras en el trazador de rayos, un modo escultura más eficiente e intuitivo, grandes cambios en el canal de materiales y texturas, la capacidad de incluir audio y vídeo como parte de un proyecto... entre otras mejoras. Pueden leer un reporte mas detallad aquí.

Aun queda mucho camino por recorrer y cosas por esperar principalmente el soporte de renderizadores externos como Yafaray, LuxRender y Aqsis que se dejaron de lado en la saga 2.5x por considerarse esta una etapa de transición y por ende inestable para desarrollar. Un Blender más profesional, robusto y amigable... ya no es un sueño del futuro, es una realidad en el presente... y "Todos los usuarios de software libre debemos estar orgullosos de él", orgullosos de no tener que depender de paquetes cerrados a los que el nuevo Blender no tiene nada que envidiarles, orgullosos de estar soportados por una entidad seria y comprometida como es la Fundación Blender y sobre todo orgullosos de ser una comunidad firme y creciente en todo el mundo.

El arte es libertad... que mejor forma de mostrarlo que usar software libre. Paz y Suerte...........黒オオカミ

viernes, 14 de octubre de 2011

La Curva Del Dragón - Python

Bueno se me ha dado por probar de nuevo la matemática entretenida y como resultado he terminado haciendo un fractal; el primero que hice hace mucho tiempo, la "Curva Del Dragón".

Este es el código:

jueves, 13 de octubre de 2011

Aprender A Programar Con Python Lección I

La Roseta De Números:

Este es el primer post dedicado a fundamentar los conceptos de programación, pero antes de comenzar cabe aclarar dos puntos; el lenguaje y el ejercicio en cuestión:

  • Por qué Python?: La respuesta es sencilla, "Python es simple y elegante"; esto significa python permite al aprendiz de programación concentrarse en los conceptos y escribir código de forma muy parecida a su lenguaje natural, sin preocuparse por sintaxis complicadas y estructuras  confusas. Además de que ofrece una buena motivación para implementar buenas practicas de programación.
  • La roseta de números?: Seguramente pocos habrán escuchado sobre este curioso ejercicio que consiste en generar un rombo usando secuencias de números, naturalmente no tiene ninguna aplicación mas allá de la lúdica y la pedagogía. Sin embargo es mi caso predilecto, cuando de iniciar un curso de programación se trata ya que permite al estudiante conocer de forma sencilla los conceptos mas fundamentales de programación: ciclos, decisiones, variables y funciones, todo en unas pocas lineas de código especialmente fáciles de entender en un lenguaje como python.

Suficientes explicaciones por ahora, procedamos con lo interesante: el código y su interpretación:

miércoles, 12 de octubre de 2011

Presentando El Blog

Hace ya cinco años que comencé a interesarme por el mundo de las computadoras, más por falta de opciones al no poder seguir mi vocación de matemático o cocinero (que mezcla, XD). Lo curioso es que durante este tiempo he llegado a descubrir cosas apasionantes en un mundo que consideraba frívolo y aburrido.

Aprendí a programar por que fue lo más medianamente emocionante que le vi a mi carrera de Ingeniería de Sistemas (La verdad sea dicha, las redes me parecen un caos y Dios me libre de algún día dedicarme a eso); así que tras un par de semestres de echar código en Java e ir sacándole gusto al oficio, me aventure a tratar de hacer un minijuego y en 3D para colmo de males, lo que inevitablemente me llevaría a conocer Blender y por ende Python.


Hoy viendo hacia atrás puedo decir con certeza que odio programar como profesional, me aburren los sistemas de información donde todo es lo mismo y sobre todo la onda de la orientación web  que no tiene nada malo solo que en lo personal no me atrae. Afortunadamente tras empezar a trabajar en Blender, tropecé con la labor de enseñar y resulta que me encanto; por alguna extraña razón el trasmitirle a otros lo poco que se, es la cosa mas gratificante que tengo en mi vida y por ende lo que mas disfruto hacer.

Como ya dije soy reacio a esto de "La Vida En La Nube" por lo que me ha costado mucho decidirme a mantener algo como un Blog o una Wiki, hasta que por falta de algo mas que hacer y por la necesidad de llevar un cierto registro de los temas que abordo he terminado montando este Blog.

Pues  ya esta, esa es toda la "Parla" que pretendía escribir; "No habrá otra entrada tan aburrida!", de ahora en adelante sera todo 100% Geek.

1. Programación: Es el motivo principal de que exista este espacio.
2. Diseño 2D y 3D: El motivo por el que me convertí en docente y el campo en que tengo mas experiencia.
3. Arte?: Si arte, se necesita un cierto espíritu artístico para ser Geek por eso de la creatividad y demás.
4. Anime - Manga - JMusic?: Que se le va a hacer soy Otaku y moriré siendo Otaku, además en algo hay que entretenerse.
5. Juegos: La parte mas entretenida de programar es hacer juegos y no se puede hacer un buen juego si no se es Gamer.
6. Linux - Unix: Que se le va a hacer, hace mucho Windows me aburrió hasta el limite y decidí migrar a Linux (Mandriva - Debian) por lo que la mayor parte del contenido estará orientado al sistema del pingüino.
7. Cocina: Si!, aun me encanta cocinar y que mejor que variar el tema de las computadoras con uno que otro delicioso articulo.

Eso es todo, hasta la aproxima entrada. Paz y Suerte...........黒オオカミ