domingo 30 de septiembre de 2007

In Progress

Hey, este mes no pude completar mi meta de almenos publicar 1.5 veces mas que el mes pasado, para asi llegar en algun momento al post diario, al menos alcance el mismo numero de posts +1 (este) :P

He visto que hay una gran demanda de programadores Ruby/RoR, asi que he empezado una incursion en este lenguaje y framework respectivamente para asi poder cumplir con las nuevas responsabilidades contraidas... y llenarme los bolsillos, claro esta.

Asi que pronto veran codigo Ruby por aqui, ademas de nuevos avances de Insomnia PHP System y un sistema de Backup hecho en Python. Mucho codigo, mucho. :)

Saludos.

miércoles 26 de septiembre de 2007

blindcoder.edad++

¿Donde estarán los siglos, donde el sueño
de espadas que los tártaros soñaron,
Donde los fuertes muros que allanaron,
donde el arbol de Adan y el otro leño?
El presente esta solo. La memoria
erige el tiempo. Sucesión y engaño
es la rutina del reloj. El año
no es menos vano que la vana historia.
Entre el alba y la noche hay un abismo
de agonías, de luces, de cuidados;
el rastro que se mira en los gastados
espejos de la noche no es el mismo.
El hoy fugaz es tenue y es eterno;
otro Cielo no esperes, ni otro Infierno.

El otro, el mismo. Jorge Luis Borges.

Saludos.

lunes 24 de septiembre de 2007

Remove: Paranoia o Realidad?

viernes 21 de septiembre de 2007

Insomnia - 2nd shot

Que sucede cuando combinamos el dia de la primavera con un buen tereré en casa, y que mas puede ser, la segunda tanda de pantallazos de Insomnia PHP System. Dada la enorme difusion que tuvo este proyecto y el apoyo de la comunidad de lectores, hemos decidido contribuir a una buena causa para llenarnos los bolsillos, claro esta.

Asi que el primer cliente de Insomnia PHP System parece ser un instituto escolar, cuyos datos se reservan para preservar la integridad de la victima de este abominable sistema.

Aqui lo prometido:





saludos.

lunes 17 de septiembre de 2007

La UE mantiene la sancion a Microsoft.

El Tribunal de Primera Instancia de la UE ha respaldado el grueso de la decisión de la Comisión Europea de castigar a Microsoft por prácticas anticompetitivas y ha confirmado la histórica multa de 497,2 millones de euros impuesta al gigante informático en 2004, en un dictamen que la empresa fundada por Bill Gates recurrió sin éxito.

La UE le impuso en julio de 2006 una segunda multa por no cumplir las medidas correctoras por abuso de posición dominante.

La esperada sentencia respalda además las medidas correctoras decretadas por el Ejecutivo comunitario, que consistían en comercializar una versión del sistema operativo Windows sin el reproductor audiovisual Media Player y en suministrar a los rivales información suficiente para que puedan fabricar productos compatibles con Windows.

via elmundo.es.

miércoles 12 de septiembre de 2007

Miguel de Icaza, Linus Torvalds.

Por un lado tenemos la telenovela RMS vs LT, en esta ocasion RMS hace relucir su rol de Dueño de la Verdad, diciendo de Linus Torvalds:

"El hecho de que Torvalds dice Open Source en lugar Software Libre demuestra de dónde viene él. Yo escribí la GNU GPL para defender la libertad de todos los usuarios de todas las versiones de un programa. Desarrollé la versión 3 para hacer ese trabajo mejor y proteger de las nuevas amenazas. Torvalds dice que él rechaza este objetivo; eso es probablemente porqué él no aprecia a la GPL 3. Respeto su derecho de expresar sus puntos de vista, aún cuando pienso que son tontos. Sin embargo, si no quieres perder tu libertad, mejor no lo sigas".

y por otro lado tenemos a la comunidad rasgandoze las vestiduras porque Miguel de Icaza apoyo el estandar OOXML... a lo que Miguel responde:

"La nueva generación de "gente del software libre" no escribe codigo, ni contribuye, pero tiene opiniones fuertes (y pendejas). Y por supuesto, se sienten Batman "Hoy postie en Cofradia, gracias a mi post, he detenido al guasón".


Bien, Richard, cada vez que abris la boca se complica el panorama, hace rato que venis meando fuera del tarro, cuan BLANCO queres hacer lo BLANCO? A ver si bajas un cambio viejo, la vida no es como vos la planteas, no podes solucionar el mundo separando todo en 2 categorias. No existe la Luz pura y la oscuridad total. Estoy bastante harto de que te consideres la autoridad maxima para decir que esta bien y que esta mal, quien hace bien y quien hace mal. Se me cayó un idolo.

Comunidad de Opinadores profesionales, si Miguel quiere apoyar al OOXML porque es Mejor (o peor) que otro standard, que lo haga, es libre de hacerlo. NO olviden que si no fuera por De Icaza no tendriamos el escritorio de la patita, no tendriamos Mono, sus contribuciones al mundo del software libre fueron enormes.

Miguel y Linus son unos idolos. Ellos no necesitan defenderse, el codigo habla por si mismo.

lunes 10 de septiembre de 2007

Insomnia - First shot

Insomnia PHP System. Es un desarrollo reciente en el que estoy trabajando durante mis ratos libres. Porque PHP? Simple, hay gente que se fanatiza por un lenguaje, pongamos por caso la gente de Ruby, algunos programadores de Ruby aseguran que PHP a muerto, y que RoR es el boom del momento, la panacea del desarrollo web, etc, etc. Pues bien, el lenguaje es solo una herramienta y lo que verdaderamente importa es la aplicacion y la habilidad del programador. Por eso elegi PHP, solo para competir con algunos amigos fanas de ruby. :P

Aqui les dejo el primer pantallazo, la ventana de entrada al sistema.



saludos.

viernes 7 de septiembre de 2007

Haiku

Este fin de semana me tome unos 15 minutos para probar el sistema operativo Haiku. Como dicen en la web, es un sistema operativo actualmente en desarrollo, diseñado para la computacion de escritorio. Fuertemente inspirado en BeOS, lo cual se puede ver en su estilo visual y que la mayor parte de aplicaciones son ports de software para BeOS.



Ni bien arranca (real fast) nos recibe, sobre el desktop, una terminal con un shell bash. A pesar de algunas similitudes (los usuarios de linux se sentiran como en casa), Haiku no es una distribucion Linux, no utiliza el kernel linux , no hace uso del X Window System ni de toolkits graficos como Gtk+ y QT. Es un sistema operativo construido desde abajo, from scratch dirian los del norte, con una interface grafica de usuario fuertemente integrada a un sistema grafico unico, aplicaciones de configuracion, herramientas de desarrollo, GNU tool chain, y una terminal bash.

Puedo usarlo como sistema diario? NO. Pero es sumamente divertido explorar las alternativas que se estan desarrollando. Para probarlo pueden descargar un maquina virtual (vmware) desde el sitio de Haiku, pesa solamente (aprox) 50MB. Aqui les dejo algunas pantallas.





Saludos

lunes 3 de septiembre de 2007

Never Lonely Alone

Este dia ha sido, por demas breve, no he logrado realizar absolutamente nada de lo que habia programado, tras una escapada del trabajo por la mañana para realizar un viaje improvisado a la ciudad vecina de Eldorado y entablar una batalla epica en el registro automotor, volvi pasado el mediodia sin heridas graves a mi casa para almorzar y terminar un libro que habia empezado por 4ta vez, Dormir al Sol de Bioy Casares (espero este bien escrito), tras haber arrivado a la ultima pagina con la sorpresa de un final inesperado prosegui a volver a mi lugar de trabajo para apagar los equipos que con la prisa de la mañana habia dejado encendidos, al volver lleve a mi madre al Kinesiologo, lleve el auto al taller para que le cambiaran unas bujias y pusieran a prueba mi paciencia al encontrar los cables masillados con poxipol, cortesia del dueño anterior del vehiculo que me costo $600. Volvi como pude para llegar tarde al dentista, quien sin pestañear me despacho para la semana que viene. Sin perder tiempo fui a la boca de expendio de la obra social a solicitar dos ordenes para mi esposa. Fui a retirar a mi madre del kinesiologo, lo busco a mi brother para que me lleve a retirar el movil, vuelvo del taller, paso a buscar a mi esposa y nos dirijimos a comprar todo el stock del supermercado, verduleria y comida para el pichicho (bauly), para las 20:30 volvi finalmente a mi casa para quedarme.

Por alguna razon, los dias en que menos trabajo mas cansado llego a la noche...

saludos.

domingo 2 de septiembre de 2007

IDisposable

Que es IDisposable?

Basicamente es una interface con solamente un metodo, Dispose(), que hace absolutamente nada. IDisposable nace por que en .Net no hay finalización deterministica, esto es que .Net no ofrece ninguna garantia de cuando sera llamado el finalizador de un objeto. Cualquier objeto que el programador deja de utilizar, permanecerá en memoria hasta que el Garbage Collector venga a buscarlo y eliminarlo, matarlo, finalizarlo, destruirlo... entiendes la idea?

Sin IDisposable, cuando querias estar seguro de que un recurso (ej: handle de un archivo abierto) este libre otra vez, tenias que implementar algun metodo como CerrarArchivo() o LiberarHandle() que podria ser usado para soltar estos recursos inmediatamente. IDisposable es meramente una forma estandarizada de proveer tales metodos al usuario. En otras palabras, es la forma fashion de hacerlo.

Una implementación simple

Se puede implementar IDisposable de una manera muy simple, solamente agregando IDisposable a la lista de interfaces implementadas por la clase y escribiendo el codigo de finalizacion en el metodo Dispose(). Aqui hay un ejemplo de como hacerlo:

class MyClass : IDisposable {

// Liberar Inmediatamente todos los recursos adquiridos por el objeto
public void Dispose() {
// Ejecutar liberacion del objeto aqui.
}
}

IDisposabe y la directiva using
C# provee una forma breve para estos casos, en que quieras utilizar objetos de corta vida y liberar sus recursos inmediatamente.

void Test()
{
using(MyClass myObject = new MyClass())
{
//Hacer algo con myObject aqui.
}
}

Puedes ver una implementacion mas completa aqui.

saludos.

sábado 1 de septiembre de 2007

PyGtk Demo

Sitio PyGtk: www.pygtk.org

Aqui les dejo esta pequeña demo que hice para probar Gtk en Python.




#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk

class Base:
def delete_event(self, widget, event, data=None):
return False

def destroy(self, widget, data=None):
gtk.main_quit()

def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("delete_event", self.delete_event)
self.window.connect("destroy", self.destroy)
self.window.set_default_size(200,200)
self.window.set_title("BlindCoder")
label = gtk.Label()
label.set_markup("BlindCoder PyGtk Demo")
label.set_use_markup(True)
self.window.add(label)
self.window.show_all()

def main(self):
gtk.main()

if __name__ == "__main__":
base = Base()
base.main()