miércoles, 20 de junio de 2012

Postfix Relay

Enviar Correos Electrónicos Usando Gmail Como Relay.

Hace algún tiempo me enfrente a la problemática de enviar correos electrónicos a las cuentas personales, de las quienes visitaran un portal web que estaba desarrollando; en cuanto a programar la función no fue nada difícil la verdad, el verdadero lió fue hacer que el MTA funcionara... de echo nunca logre hacer que EXIM4 funcionara, así que hoy día lo primero que hago en una terminal de trabajo es instalar y configurar POSTFIX, muchos dirán que es demasiado "retro", pero en términos de fiabilidad y eficiencia sigue siendo el mejor MTA del mundo OpenSource.

Ahora bien, en aquella época la solución a mis problemas fue purgar definitivamente EXIM4 e instalar POSTFIX, la configuración por defecto solía ser suficiente; sin embargo en la actualidad, a menos que se trabaje sobre un servidor con IP fija y registrado en un servicio DNS, resultara imposible enviar correos a servidores corporativos (GMail, Yahoo, Hotmail, etc) ya que estos poseen un filtro, que verifica la identidad del emisor comparando el Nombre de Host y la IP emisora... una validación imposible de superar con una conexión domestica común.

Ante tal panorama resultaba deprimente la idea de desarrollar servicios basados en correo electrónico, afortunadamente nuestro buen amigo POSTFIX es capaz de salvarnos de este lió, configurándose para usar una cuenta de un servidor reconocido para autenticar nuestros correos. Veamos como hacer esto usando una cuenta de GMAIL.

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: