<body>

Sitios web relacionados: PingBlog | Fotos

miércoles, agosto 31, 2005

Dia de el blog: Voy a recomendar 5 blogs aleatorios (¡NO!)

Caja de chocolates de la Praline
Caja de Chocolates de la Praline: Variedad en los sabores, ¿todos exquisitos?


La idea de recomendar 5 Blogs aleatorios, para hacer más conocida la blogosfera (y sobre todo que tengan un punto de vista diametralmente opuesto a ti) es elogiable. Sin embargo hay Blogs que deberían evolucionar o morir en mi opinión.

Chocolates de la praline
Y como los chocolates en una caja: Todos son buenos si los escojiste tu. El azar no siempre ayuda...


Bueno, ¿y quien me creo yo para determinar la muerte de un Blog?
¿porqué no cierro el mio primero?
etc, etc.

Bueno, si usted lee mi Blog espero que no esté esperando una opinión objetiva sobre los blogs que pienso mencionar, porque esto de recomendar un Blog (o desear que desaparezca) es algo totalmente subjetivo. Así que, no se lo tome en serio, tomese una copita de vino (como lo estoy haciendo yo mientras escribo) y comencemos con el "destruction derby" :D

Hanburguesa gigante
Algunos Blogs son jugosos y están en su punto. Otros les falta sabor...


Las bitacoras con punto de vista diferentes, las cuales me parecen interesantes:
  • El Blog de Katy: Sus cometarios son desenfadados, ocurrentes y sobre todo es muy espontanea. El hecho de que sea lesbiana hace que muchas de sus opiniones sean muy interesantes, ya que es un punto de vista diametralmente opuesto a el de una mujer heterosexual. En persona es aún mucho más ocurrente.
  • BME: No es realmente un Blog, aunque hay opiniones de sus usuarios. Realmente requiere coraje tatuarse o hacerse una perforación en el cuerpo; Lo otro es defenderse de los ineptos sociales que no respetan o comparten el punto de vista de quien los exibe. No me llamó la atención hacerme uno (tatuaje o piercing) pero no por eso dejan de ser "interesantes" (noten las comillas :)).
  • Glamqueena: En realidad es un foto-blog. Es una mujer Brasileña, la cual tiene fotos muy expresivas. Se nota que es rebelde, con estilo y sobre todo que no tiene miedo de mostrarse como es (al menos frente a las camaras). Muy interesante sobre todo porqque me recuerda a mi corta visita a Rio De Janeiro hace tantos años atrás. No la conozco y nunca he hablado con ella.
  • Balaji: Otro foto-blog. Es un amigo (Hindú) que conocí en mi previa compañia, de gran corazón y generoso; Administrador de sistemas y echador de vainas, espero poder ir a visitarlo en Madras el año que viene. Si quiere conocer un poco sobre la cultura de ese país, quizas quiera empezar por aquí.
  • Startlet: Otra chica de Canada con su foto-blog. De actitud desenfadada, sus fotos (creo) reflejan su estado de animo. El hecho de que sea Canadiense hace que sus fotos sean distintas de Glamqueena por ejemplo, aunque soy incapaz de describir porqué. Tampoco la conozco y nunca he hablado con ella.
Todos ellos hacen cosas que yo no. Su enfoque de la vida se ve distinto al mio, y sin embargo son interesantes.

Ahora los malos. Los Blogs que deberían desaparecer, con su breve explicación:
  • en blanco, a drede
Si. Si existe una lista negra, pero esos Blogs son tan malos que no merecen la publicidad. Y yo creo que como todo ecosistema, al final los blogs malos desaparecen y son devorados por los más fuertes.

Y allí la tienen. Espero que la disfruten :)


Visita el Blogday 2005 | Consulta Blogday2005 en Technorati

lunes, agosto 29, 2005

Como los blogs dedicados a temas Geek van a desaparecer

Este articulo dice que los blogs de pura tećnología (o al menos %100 Geek), van a desaparecer. El autor cita varias razones, pero ninguna de ellas en mi opinión lo suficientemente convicente, sobre todo por la manera tan "floja" de presentar los números que respaldan sus argumentos.

Mi opinión (quien no la tiene) no es que los "Geek blogs" van a dejar de ser relevantes, sino es que hay más gente escribiendo en Internet y no todos van a escribir sobre tecnología. Es lo que yo consideraría una democracia, ya que la barrera tecnologica de entrada es lo suficientemente baja como para que se puede escribir prácticamente de todo, sin estar conciente de los mecanismos que lo hacen posible.

Los blogs de tecnología, lejos de desaparecer, se van a refinar aún más.

¿Quien no recuerda cantas veces han dicho que el Rock & Roll va a desaparecer?

En fin, hoy fué un día largo: Sacamos una versión nueva de la aplicación, estuve pendiente de un huracan que por suerte no hizo más daños y logré poner mi nombre en un CD que será enviado a Plutón en el 2006.


Buscar en Technorati: blog,

El futuro de Perl es questionable: ¿Puede desaparecer?



Leyendo este articulo, me encuentro que dicen que Perl está perdiendo relevancia, y que es dificil conseguir desarrolladores con experiencia en el lenguaje, además de que lenguajes como Java lo están reemplazando en las escuelas o compañias como Google no lo utilizan en lo absoluto (ellos se mojan por gente con experiencia en Phython).

Les recomiendo primero que se lean el articulo, es muy provocador y detallado. Curiosamente las pantallas usadas en el articulo copian la funcionalidad de Eclipse y Java, el cual en mi opinión es el mejor editor libre de Java.

Yo en particular no creo que la situación sea tan grave aún; Y digo aún porque:
  • La inversión de Perl (en entrenamiento y tecnología) es muy grande como para hacerla irrelevante. Perl 6 ya viene, con un montón de mejoras muy importantes.
  • Google no es el espejo en el que todas las compañias deben reflejarse. Después de todo Google es una compañia joven.
Por otro lado, es dificil conseguir gente que sepa bien Perl (aunque eso se aplica a cualquier lenguaje); En Venezuela recuerdo que a nosotros nos resultó casi imposible conseguir a gente que supiera usar el lenguaje y en los Estados Unidos no es nada fácil (aunque no es fácil conseguir buenos desarrolladores en ninguno de los dos paises, al menos es lo que he visto en mi experiencia profesional).

Yo no recuerdo que enseñaran Perl en las Universidades (por ejemplo, yo lo aprendí por mi cuenta); Por otro lado se que ya se enseña Python en algunas Universidades Venezolanas (Java por supuesto) pero eso es otro punto más en contra de Perl.

Como desarrollador sería agradable ver que las herramientas de Perl se vuelven más maduras, de lo contrario otros lenguajes más jovenes tomarán su lugar (alguien recuerda a COBOL o BASIC).

Y usted, que herramientas usa para programar en su "Scripting Lannguaje" preferido?

Buscar en Technorati:

domingo, agosto 28, 2005

Huracán Katrina: Categoría 5, lo peor comienza en la mañana

Huracan Katrina en Google Maps

Si, la tormenta pasó de categoría 1 a categoría 5. En Stamford el clima va a estar un poco lluvioso pero nada más, pero allá abajo la cosa se va a poner bien fea. CNN y otros canales de noticias llevan todo el día reportando y es que es la primera tormenta que esa parte de la geografía de manera tan directa en 40 años.

Katrina
Esa persona tiene fotos de el Huracan, mientras se aproxima a New Orleands. la foto es espeluznante


Por supuesto ya en Technorati se pueden conseguir los Blogs hablando de el fenomeno, entre ellos me conseguí una imagenes interesantes en Flickr de Goggle Earth mostrando el fenomeno. Hay otro grupo con muchas más fotos. Otro sitio con imagenes impresionantes es la página de la NASA.

De verdad les deseo suerte a todos los que viven allá y ojalá que las 12 mil personas que están el el "SuperDome" en New Orleands no pasen tanto trabajo mientras pasa el temporal.

Ya mañana veremos como esto afecta a el mercado. Ya el precio de el combustible subió aún más, además de que New Orleands produce una buena parte de el combustible de Los Estados Unidos.

Buscar en Technorati: ,,

Echando código: ¿Ejecución de programas de linea de comandos más inteligente?



Vamos a ver el siguiente problema: Usted rutinariamente ejecuta cierto programa en su sistema, el cual corre por una cantidad ilimitada de tiempo (como un demonio en UNIX); Rato más tarde se decide a matar el proceso y debe entonces empezar a buscar en que máquina lo corrio y cual es el PID (program ID) de el proceso, para luego matarlo con kill. ¿Suena ladilla verdad? (sobre todo si lo hace todos los dias).

Seria genial tener un programa que nos permita ejecutar un comando (sin importar en donde estemos parados en el sistema de archivos) y si necesitamos matarlo entonces sólo llamamos a otro script con el nombre de el programa anterior. La idea es mantener el rastro de el primer programa (donde se ejecutó y el PID) y para matarlo poder utilizar esa información. En el caso de demonios normalmente ejecutamos una instancia (y es esa la que tiene hijos), así que nuestra solución se va a valer de eso.

La solución a el problema se reduce a dos scripts:
  • Uno para correr los programas, este mantendrá la máquina en donde lo ejecutamos y el PID de el programa que queremos correr.
  • Un script que sabe que hizo el script que lanzó el programa anterior, y con esa información lo mata
Esto se puede hacer en cualquier script languaje, pero veamos que tan lejos podemos llegar con Perl :)

Supongamos que nuestro "demonio" es solamente un programita que no hace nada, excepto contar:
   1:#!/bin/bash
2:declare -ri MAX=999999
3:for ((i=0; i <= MAX; i++))
4:do
5: printf "Counter: %i\n" $i
6: sleep 10
7:done
El programa que lo arranca:
   1:#!/usr/bin/perl -w
2:
3:use strict;
4:use File::Basename;
5:use Sys::Hostname;
6:
7:if (scalar(@ARGV) <= 0) {
8: die "Provide the full path of the program to be executed!";
9:}
10:
11:use constant LOCKDIR => "/tmp";
12:
13:my $currentHost = hostname;
14:
15:my $progName = basename($ARGV[0]);
16:printf "Executing '%s'\n", $progName;
17:my $lockfile = LOCKDIR . "/" . $progName . ".lock";
18:# There is a lockfile, but is the process really running?
19:if ( -f $lockfile ) {
20: my ($pid, $hostname, $prog);
21: open(LOCK, "$lockfile") || die "$@, $!";
22: while(<LOCK>) {
23: ($pid, $hostname, $prog) = split(";", $_);
24: }
25: close(LOCK);
26: my $cnt = kill 0, $pid;
27: if ($cnt != 0) {
28: die "Sorry, but the programm $progName is already running as the PID: $pid"
29: }
30:}
31:open(LOCK, "> $lockfile") || die "$@, $!";
32:print LOCK ("$$" . ";" . $currentHost . ";" . $progName);
33:close(LOCK);
34:my $prog = shift(@ARGV);
35:exec("$prog", @ARGV);
36:__END__
37:=head1 NAME
38:
39:Run a single instance of a UNIX process, leaving information behind
40:to ease its termination.
41:
42:=head1 DESCRIPTION
43:
44:Will run the desired command and will create a lock file. To kill the program,
45:either use the information on the lock file or call the smart_kill script
46:
47:To run a program:
48:
49:./smart_run.pl script.sh
50:
51:To run on the background:
52:
53:./smart_run.pl script.sh &
54:
55:=head1 AuTHOR
56:
57:Jose Vicente Nunez Zuleta
58:
59:=head1 BLOG
60:
61:KodeGeeK - http://kodegeek.com
62:
63:=head1 LICENSE
64:
65:LGPL
66:
67:=cut

Y el programa que lo mata:
   1:#!/usr/bin/perl
2:
3:use strict;
4:use File::Basename;
5:use Sys::Hostname;
6:
7:if (scalar(@ARGV) != 1) {
8: die "Provide the name of the program to be killed!";
9:}
10:
11:use constant LOCKDIR => "/tmp";
12:
13:my $currentHost = hostname;
14:
15:my $progName = $ARGV[0];
16:my $lockfile = LOCKDIR . "/" . $progName . ".lock";
17:# There is a lockfile, but is the process really running?
18:if ( -f $lockfile ) {
19: printf "Trying to kill '%s'\n", $progName;
20: my ($pid, $hostname, $prog);
21: open(LOCK, "$lockfile") || die "$@, $!";
22: while(<LOCK>) {
23: ($pid, $hostname, $prog) = split(";", $_);
24: }
25: close(LOCK);
26: my $cnt = kill 6, $pid;
27: if ($cnt != 0) {
28: printf "process %i killed\n", $pid;
29: unlink $lockfile;
30: } else {
31: printf "Unable to kill %i\n", $pid;
32: exit 192;
33: }
34:}
35:__END__
36:=head1 NAME
37:
38:Terminates a single instance of a UNIX process, if it was started by smart_run.pl
39:It will kill the process only if the current process name and host matches what is
40:inside the lock file (and also if you are the owner of the process).
41:
42:To kill a program:
43:
44:./smart_kill.pl script.sh
45:
46:(Note than the full path of the script is not required, just the name).
47:
48:=head1 AuTHOR
49:
50:Jose Vicente Nunez Zuleta
51:
52:=head1 BLOG
53:
54:KodeGeeK - http://kodegeek.com
55:
56:=head1 LICENSE
57:
58:LGPL
59:
60:=cut
Una salida de ejemplo de los dos programas en acción:
[josevnz@localhost perl]$ ./smart_run.pl /home/josevnz/do_nothing.sh &
[1] 7998
[josevnz@localhost perl]$ Executing 'do_nothing.sh'
Counter: 0
[josevnz@localhost perl]$ ./smart_kill.pl do_nothing.sh
Trying to kill 'do_nothing.sh'
process 7998 killed
Aborted
[josevnz@localhost perl]$

Me tomó 30 minutos hacer los dos scripts (usted es más inteligente, así que seguro le tomará menos). Los scripts no son perfectos y de hecho pudieramos pensar en tener uno sólo que haga las dos cosas en vez de dos.

¿Como los mejoraría usted?. Como siempre se puede bajar el código desde aquí.

Buscar en Technorati:

sábado, agosto 27, 2005

KodeGeek y los Gadgets: ¿Como poner una FM dentro de tu propio auto?

ipod
El último Gadget que se compró el gato


La forma antigua que teniamos para conectar el IPOD al equipo de sonido de el auto era utilizando uno de esos cassettes "falsos" con un adaptador. No era muy eficiente ya que:
  • El cable se desconectaba con facilidad y el IPOD se ponia en pausa
  • La calidad de el sonito a veces sufria, ya que el cable no hacia contacto perfecto
  • El cable era un estorbo ya que tocaba la palanca de cambios
Así que Vero andaba en la busqueda de el compañero perfecto para el MP3 player. Y al final lo consiguió:

ipod
El Gadget en acción


El "transpod" se conecta en donde va el encendedor de cigarros, y de allí este se conecta a el IPOD. El aparatico transmite en una señal de FM (la cual varia de región a región) lo cual significa que sólo tenemos que sintonizarla en el automovil, como cualquier emisora FM (sin los comerciales). Entre otras ventajas:
  • El brazo no toca la palanca de velocidades
  • El IPOD se carga mientra es utilizado
  • La comunicación es Wireless, por lo que no se afecta si algún componente se mueve
  • Es a prueba de malandros ya que lo desconectas de el encendedor de cigarrillos, lo pliegas y listo

Estoy impresionado con lo original de el diseño y por lo funcional de el aparatico. El precio no es tan caro, pero no me imagino usar el IPOD con el automovil sin este nuevo juguete.

ipod
Transpod para el IPOD


Buscar en Technorati: ,

Opinión de pelicula: The 40 Yeard Old Virgin

40 yeard old virgin

The 40 Year Old Virgin es una pelicula curiosa; La premisa de la pelicula es como un hombre de 40 años aún no ha perdido la virginidad a esa edad y toda la cadena de eventos que se desencadenan cuando un grupo de compañeros de trabajo se enteran de el asunto.

¿Un recipe para el desastre, no es así?

Para nada en lo absoluto; La pelicula es para orinarse de la risa, con un montón de situaciones realmente cómicas. Y sin embargo lo que la hace especial es como el "virgen de 40 años" es en realidad un heroe con problemas (que heroes no los tienen).

Es una de las mejores comedias que he visto en mucho tiempo, inteligente, con situaciones realmente divertidas y sobre todo con un gran mensaje.

La actuación de Steve Carell es sin lugar a dudas magistral y es él quien logra que la cinta llegue a este nivel. Catherine Keener tiene una buena actuación al igual que el resto del elenco.

Los dejo con un enlace a el sitio oficial de la pelicula. No debería dejar de verla.


Buscar en Technorati: ,

Linux y Debian: Como me decidí a probar Ubuntu

Ubuntu

Estos meses debo confesar, he tenido la cabeza bajo la mesa, ya que no había leido nada acerca de Ubuntu. Ubuntu es una nueva distribución de Linux, basada en Debian la cual promete:
  • Software gratuito y estable, con actualizaciones cada 6 meses
  • Soporte de seguridad por 2 años
Justamente lo que el proyecto Fedora no tiene aún (no sé acerca de OpenSuSe pero como es tan nuevo habrá que ver). Hoy pedí que me mandaran los CD (¡totalmente gratis!) y el asunto se ve prometedor. En teoria Ubuntu es lo que Debian no pudo ser en terminos de tiempos de entrega predecibles (lo cual siempre fué para mí un problema).

Después de todos mis decepciones como usuario con RedHat (siendo yo un Certified Engineer además) quizas me llegó el momento de moverme con otra dirección.

!Usted puede pedir que le envien los CD, grátis a cualquier parte de el mundo!. ¿Porqué no le da una oportunidad y lo prueba?

Buscar en Technorati:

Trucos UNIX: ¿Guardando la salida de todo lo que se hace?


Imaginemos que usted está trabajando en algo que requiere toda su atención y que usted no quiere olvidar ningún detalle de que fué lo que hizo; Si bien en Bash el comando "history" le va a decir que fué la última lista de cosas que usted introdujo por el teclado, no le va a guardar la salida de esos comandos al menos que los redirija a un archivo.

En esos casos lo mejor es usar el comando 'script':
[josevnz@localhost ~]$ script -f
Script started, file is typescript
[josevnz@localhost ~]$ ls
bash company ebay jars mock-screens perl rpm workspace
bin cvs flickrapi-1.0a3 java mp3 public_html shopping xmlrpc-1.2-b1
blog data fotos jedit mysql_backup redhat specs
book Desktop googleapi lehman opensource remotetea src
c++ docs gpg lib outsourcing reports tmp
certification dshield html man passwords resume typescript
[josevnz@localhost ~]$ ps -ef|grep root
root 1 0 0 09:50 ? 00:00:01 init [5]
root 2 1 0 09:50 ? 00:00:00 [ksoftirqd/0]
root 3 1 0 09:50 ? 00:00:00 [watchdog/0]
root 4 1 0 09:50 ? 00:00:00 [events/0]
root 5 1 0 09:50 ? 00:00:00 [khelper]
root 6 1 0 09:50 ? 00:00:00 [kthread]
[josevnz@localhost ~]$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
27297988 6594116 19294848 26% /
/dev/hda1 101086 9950 85917 11% /boot
/dev/shm 253532 0 253532 0% /dev/shm
[josevnz@localhost ~]$ exit
Script done, file is typescript
Todo el contenido de la sesión está en el archivo 'typescript'. Allí están todos los comandos, con una característica y es que script va a guardar tambien la ejecución de teclas como backspace, enter, etc. Sin embargo eso no le resta utilidad ya que usted pudiera usarlo para 'monitorear' lo que un usuario está haciendo en tiempo real en una ventana mientras usted lo vigila con 'tail -f typescript'

Ahora veamos otro problema y su solución. ¿Nunca le ha pasado que quiere correr un comando y quiere guardar los errores y la salida normal en un archivo, pero a la vez quiere ver la salida en tiempo real? Usted pudiera ejecutar el comando en una ventana así por ejemplo:
find / -type f > /tmp/findlog-$$.log 2>&1 (en una ventana)
tail -f /tmp/findlog-*.log (en otra ventana, fijese como tenemos que adivinar el nombre completo de la bitacora, por el $$ anterior que significa el número del proceso actual)
Pero usted, como un usuario superpoderozo de UNIX dice: No joda, yo le pongo una "T" (pronunciado en Inglés como Ti) a eso:
find / -type f 2>&1 | tee /tmp/findlog-$$.log
Tee va a tomar STDIN y lo va a imprimir por STDOUT (pantalla) y al archivo que usted diga (/tmp/findlog-$$.log).

Hoy usted aprendió dos comandos que muchas veces son olvidados en UNIX: script y tee. Espero le sean de utilidad :)

Buscar en Technorati: ,

viernes, agosto 26, 2005

Las politicas de Java (O como el decreto 3390 puede desinflar al lenguaje III)



Después de dos días y ninguna respuesta de SUN de Venezuela; SUN de Venezuela no tiene un sitio (al menos fácil de encontrar en Internet) en el cual se puedan formular este tipo de preguntas fácilmente, ya que todo los enlaces son básicamente soportes a clientes de algún servicio de la compañia, alguien dentro de las oficinas en Venezuela debería al menos tener una posición al respecto.

Como decía Quevedo, "Poderoso caballero es Don Dinero".

Pero la razón por la que escribo no es la fatlta de acción de SUN con respecto a Java; La razón de este escrito es mi preocupación por algo que voy a llamar el "fundamentalismo técnologico en el gobierno".

¿Fundamentalismo tecnológico?. Bueno, para empezar y ser justos no creo que sean todas las personas de el gobierno; Yo en particular conozco personas que trabajan en la administración pública, las cuales son increiblemente prágmaticas e inteligentes y es en ellas que creo que descanza la posibilidad de evitar un desastre. El desastre aquí es que el decreto 3390 puede ser utilizado para segregar y no regular, ya que después de todo las leyes cuando son mal aplicadas se convierten en una excusa para legalizar atrocidades.

¿No estoy yendo muy lejos con esa afirmación? A estas alturas de el juego, no hay una politica definida acerca de como tratar cierto software comercial, como migrar de software comercial a libre; Yo creo que las mejor forma de mostrar ciertas cosas es por ejemplo, así que aqui les tengo algunas muestras de opiniones (las cuales siguen saliendo varios días después de haber comenzado esta conversación) en la lista de migrando a Venezuela:
O te haces una lobotomia o Sun no te dejará hacer nada relacionado con
lo que puedas recordar de lo que has leido en su código, es decir, nunca
mas podras hacer software comercial (ni libre) sobre sistemas
operativos, compiladores o interpretadores, si eso no es una mancha, no
se lo que sea. Además no sale ni con Ariel, ni con Ace, hay que sacarla
extirpando la parte externa del cerebro, comúnmente conocida como
materia gris.

Haganse un favor y resistan a la tentación de andar viendo dentro de las
tecnologías que tengan esa licencia, todas las técnicas alli
implementadas y muchas más están en SableVM, Kaffe, GNU Classpath, Mono,
DotGNU, Perl, Python, Parrot, etc.


Dejando de un lado lo folklorico (por no decir cursi) de quien escribe esto, creo que la reacción visceral esxagerada; Si bien la licencia es cerrada y si se quiere evitar copiar código lo mejor es no mirarlo, muchas compañias no les interesa en lo absoluto como corre la máquina virtual, ya que lo que realmente tiene valor es como el lenguaje los ayuda a resolver problemas (eso es cierto no importa si la empresa es privada o pública). Comparto que el miedo aqui es depender de una tecnología a la cual le pueden cambiar la licencia de un momento para otro, pero ¿es eso fáctible?. Sigamos leyendo otros fragmentos:
> 1. El gobierno debería preparar una lista de alternativas 'libres' a
> software comercial, Estuve buscando un documento (como el que ya han
> sacado en otros paises d Europa, puede buscar en Google las
> referencias) pero no conseguí ninguna. Aún cuando recomendar un
> lenguaje para resolver un problema parece una solución pedante, eso
> puede ayudar a los usuarios a escoger mejor entre una lista de
> alternativas (después de todo una de las cosas que leí en los correos
> es que Sun se ha aprovechado de la comunidad por la falta de
> información, ¿no es asi?). Es mejor tener ciertos lineamientos a no
> tener nada.

el gobierno, el gobierno, el gobierno, el gobierno, el gobierno, el
gobierno, el gobierno, el gobierno, el gobierno, el gobierno

claramente en la comunidad decidimos no esperar más

http://www.migrandovenezuela.org/index.php?title=Alternativas_Libres


>
En enlace (para el momento que escribo estas lineas) sólo contiene una comparación superficial de aplicaciones que corren bajo Windows con respecto a aplicaciones gratuitas. Eso no es un mapa de migración, ya que se necesita mucha más información (incluyendo las consecuencias de cambiar de una aplicación a otra). Lo que me molesta de quien escribe esto es que lo hace como si fuera sencillo y el trabajo ya estuviera hecho, cuando todo el mundo sabe que no lo es (aunque sea beneficioso).


En particular yo pregunté si habia información sobre historias de éxito en Venezuela; Afortunadamente si las hay y alguien me indicó en donde estaban:
> 3. Más documentación, historias de éxito en Venezuela. Nada convence
> más que saber que alguien lo pudo hacer...

http://www.migrandovenezuela.org/index.php?title=Portada#Migraci.C3.B3n_de_la_Administraci.C3.B3n_P.C3.BAblica_Nacional

De verdad me alegra ver eso. El hecho de que el estado Venezolano tenga el compromiso de utilizar tecnología para abaratar costos es algo por lo cual hay que felicitarlos; Sin embargo la actitud agresiva, politizada, dogmatica y sobre todo ignorante de algunas personas (algunas de ellas dentro de las universidades) relacionadas con la administración pública sólo llama a problemas. Y el hecho de que SUN no le preste atención a sus usuarios o creyentes de la tecnología, o no quiera liberar su máquina virtual no ayuda en absoluto.

La lista está altamente politizada; No debería extrañar después de las batallas campales entre el Gobierno y la Oposición; Si bien se notó que muchos de sus miembros se mantuvieron dentro de los parámetros (no hablar de politica, concentrarse en hablar de software libre) fué inevitable que surgieran comentarios como estos:
izquierdismo por apoyar el software libre? inapropiado, pero gracias por
la etiqueta, la sumaré a la lista de las que me han tildado, me gusta
coleccionarlas, se que te retractaste pero valía la pena responder
O este:
Es absolutamente neutral hasta que Chavez se entere de que le están
jugando kikiriwiki y comience a volar cabezas, entonces la posición se
va aclarar, a menos que los que están a cargo de la OTI recapaciten a
tiempo sobre si prefieren la furia de Sun, la del Presidente o la de la
revolución :-)

Estará consciente Alfredo Atai de todo esto ?, al fin y al cabo es su
cabeza la que peligra porque intenta moverse en una línea muy fina entre
la cortesía de las grandes corporaciones y el compromiso de un proyecto

de País.
Esta es mi favorita:
Eso es todo, y por favor no utilices el término izquierdismo de forma
inadecuada y menos al lado de dogmatismo, te recomiendo que busques
fuentes de información serias, incluso la wikipedia te sirve para empezar.

Si no usar Java es izquierdismo, pues se fregó porque yo soy izquierdista
hasta la metra!!... pero de un izquierdismo que nunca podrá acompañar al
dogmatismo.
Hay mucho desconocimiento de el tema; Se habló de propiedad intelectual, de formatos cerrados, de interpretación de licencias:
>
>> Ni el lenguaje Java, ni el JRE, ni J2EE, ni los JSP son más estandares
>> que Microsoft Word, porque no han sido sometidos a una organización de
>> estándares reconocida internacionalmente,
>
>
> Al igual que el perl. Larry Wall ha dicho innumerables veces que no
> piensa estandarizarlo ni presentarlo ante una organización de estándares
> internacionales. El hecho de no ser un ISO o un ANSI no hace al perl
> menos libre que el C.

dejando a un lado que las licencias de Perl y Java son distintas, de
Java no puedes hacer un fork como Perl (gracias a la Artistic License),
la búsqueda de que Java _por_ _lo_ _menos_ sea un estándar ante
cualquier entidad internacional (ECMA, ISO, ANSI, etc) es solo para
escapar de las demandas de Sun, no porque seamos tesudos de los
standards, mientras no existen un standard, bien sirve una
especificación abierta, sin patente, ni control comercial que se pueda
usar con _libertad_ en software libre, y sabes que las utilerias para
Java de Sun no son precisamente el caso (recuerda libertad de uso)
Sin embargo me quedó un sabor amargo en la boca, ya que aún así el sentimiento siempre fué de "nosotros contra ellos". Que ladilla, yo siempre había pensado que los desarrolladores eran pragmaticos.

Varias veces se habló de que el decreto es sólo para regular, sin embargo ¿se imaginan si ciertos elementos readicales son dejados en control lo que podría pasarle a la industría de software nacional?:
> 1.- MCT no va a realizar ningún pronunciamiento al respecto sobre que
>plataforma de desarrollo se tienen que basar los sistemas que debemos
>desarrollar. Su función no es ser un arbitro, ni inquisidor, sino de ser un
>este conciliador y que de las directrices bases. Hacer lo contrario sería
>coartar la libertad de elección.
>
>

Bueno, habrá que obligarlos a que se pronuncien, porque sino, todo el
mundo va a usar Windows para correr software libre, y donde está la
libertad de la solución ?.

Que tanta independencia tecnológica se adquiere al utilizar
Windows+Apache2+PHP para una solución, para mi no hay ninguna diferencia
entre eso y Linux+JRE(propietario)+Tomcat, o Linux+Oracle+PHP, todas son
soluciones atadas a por lo menos un fabricante.
Cada caso debe ser considerado individualmente lo cual es una tarea ardua por el volumen sin embargo garantizará buenos resultados ya que cada problema resuelto con software tiene sus particularidades.

¿Recuerdan la palabra regular? Hacen falta lineamientos más claros, y sobre todo más educación sobre las alternativas. Pero regular != castrar.
> La opción pasa más por reforzar los desarrollos relacionados con la
> realización de implementaciones libres para toda la tecnología Java,
> una opción podría ser estudiar el estado de desarrollo de los mismos y
> las posibilidades de colaboración, mirando con especial atención a
> Javali desde una perspectiva bolivariana, pero en absoluto a rechazar
> los desarrollos libres hechos en Java y máxime cuando tras ese
> discurso no aparece ninguna alternativa viable que lo acompañe.


Bien, pero mientras estudia, suguiero que todo el gobierno prohiba
bajarse los JRE propietarios de internet, no es tan dificil, de hecho,
en Cuba o Irán nadie se puede bajar el JRE porque el gobierno (de
EE.UU.) obliga a Sun a retringir el acceso desde estos países.
Yo creo que al final tanto SUN como el Gobierno (o quienes hablan en su nombre) podrán alcanzar un punto de equilibrio; Sin embargo hasta que esto pase el camino será tortuoso para quienes desarrollen en esta plataforma para el estado (bueno, no sólo el estado).

Y es que ¿quién iba a creer que Java y politica rimaban juntas?:
No, no hay que sacarlo, hay que evitar que utilicen los JRE
propietarios, de hecho se debería meter preso a cualquiera que los
utilice, porque no cumplen con el decreto, no hay ningún problema con
Java, todo el que quiera usarlo, solo tiene que instalar Kaffe o SableVM
y GNU-Classpath, si te bajas algo del site de IBM o Sun estás
infringiendo el decreto y como tal debes estar dispuesto a asumir las
consecuencias.


Los invito a que se lean toda la discusión y que saquen sus propias conclusiones. Yo mientras tanto me voy a mover en otra dirección con el siguiente tema, ya que de esta experiencia solo que me quedó claro que hay más preguntas que respuestas.

Buscar en Technorati: ,

jueves, agosto 25, 2005

La semana ha estado fuerte

Hard Rock Café Caracas
La guitarra de "The Edge" de U2 en el Hard Rock Café en Caracas. Vero lo pudo visitar la semana pasada, como me gustaría poder ir...


Esta semana ha sido terrible; Los administradores de el sistema nos echaron una vaina ya que cambiaron la configuración de el servidor maestro de NFS y zasssss, el sistema de trading tuvo problemas para arrancar. Por suerte, así como hay nulos hay gente experimentada en el grupo, así que al rato todo estaba bajo control.

Esta semana hemos estado acomodando cosas para uno de los sistemas que utilizan los traders; Incluye un montón de mejoras en el rendimiento y eso debería contentarlos :). Eso se traduce en pruebas de regresión, correcciones de último momento además de las tareas diarias. Si alguien sabe como hacer que un cerebro normal haga "Multithreading" por favor, se aceptan sugerencias.

Sin embargo estoy cansado; Este fin de semana espero poder relajarme un poco, agarrando energias de nuevo. Tengo un montón de cosas pendientes por hacer (entre ellas con el Blog) pero con todo este enredo no me ha quedado mucho tiempo.

En fin, allí vamos duro.

miércoles, agosto 24, 2005

Las politicas de Java (O como el decreto 3390 puede desinflar al lenguaje, II)



Y la polemica en torno a Java y el decreto 3390 sigue en pie. Yo ya obtuve las respuestas que pude de la gente que esta discutiendo acerca de software libre y por parte de programadores de Java independientes, así que ¿que me queda por hacer?

Bueno, ¿que tal una carta a la gente de SUN en Venezuela? Creo que es tiempo de respuestas y SUN como empresa privada debe tener un plan de acción; Antes de que saque cualquier conclusión dejeme decirle que yo no represento a SUN ni ellos me han dado dinero; Debo admitir que si he utilizado su tecnología por años (SunOS, Solaris y Java) y es por esa razón que mi curiosidad está más viva que nunca.

El sitio de SUN en Venezuela es muy confuso (al menos para formular este tipo de preguntas) así que al final lo mejor que pude conseguir fué esto. Sin embargo buscando entre mis correos de la certificación conseguí a un par de personas muy capaces que conozco dentro de la compañia en Venezuela:

Date: Wed, 24 Aug 2005 18:34:01 -0700 (PDT)
From:"Jose Vicente Nunez Zuleta" Add to Address BookAdd to Address Book
Subject: Java y el gobierno 3390: ¿Cual es la posición de SUN?
To:"Ayurami xxxx" , "Raquel xxxx"
Saludos cordiales,

Les escribo para manifestar mi preocupación / interés ante la
posible situación entre el Lenguaje Java y el gobierno
Venezolano. Como bien es sabido por ustedes, el
decreto 3390 promueve el uso de software "libre" (no
confundir con Open Source) y en el caso de Java hay
una
gran controversia, ya que la máquina virtual
desarrollada por SUN es de código cerrado.

No dudo de la capacidad de SUN para manejar este tipo
de polemica y es de mi conocimiento que en estos
momentos está en consideración el abrirla y SUN
también colabora en otros proyectos de software de
código abierto como Jakarta, NetBeans entre otros.

Les dejo con algunos enlaces le darán una idea de lo
que estoy hablando:

JavaVen -
http://groups.yahoo.com/group/JavaVen/message/331

Conexión Social -
http://conexionsocial.org.ve/pipermail/softwarelibre/2005-August/002487.html

Particularmente este tópico es de alto interés para mi
como desarrollador ya que el sector gobierno es muy
importante e influyente; Seguramente lo que ocurra
aquí se verá reflejado también en las Universidades,
Industria Petrolera y eventualmente en la empresa
privada.

Estoy muy interesado en saber que piensa SUN de todo
estoy y si ustedes me pueden poner en contacto con
alguien que posea más información.

Gracias de antemano,

Ing. Jose Vicente Nunez Zuleta
RHCE#807302513906520 , SJCDJ, SJCPJ, SCWCD
Quiero saber la posición de ambas partes, así que también me decidí a contactar a el Gobierno Venezolano directamente. Aún no estoy seguro como hacer lo último, así que ya les comentaré como me fué.

¿Que espero obtener de todo esto? Bueno, para empezar algunas respuestas. Hasta ahora todo lo que he conseguido es gente sin mucha o nada de información, especulaciones.

Buscar en Technorati: ,

martes, agosto 23, 2005

Las politicas de Java (O como el decreto 3390 puede desinflar al lenguaje)



O al menos no entiendo porqué debería ser tan fuerte. Después de todo, se trata de solucionar problemas con técnología, ¿no es así?

No tan rápido mi gochito (dirian algunos).

Vaya, tenía tiempo que una articulo no se convertia en algo recurrente en mi cabeza; En un articulo anterior en este Blog se armó una discusión interesante con un grupo de Blogueros Venezolanos los cuales comentaban acerca de el decreto 3390. Después de buscar por más información, me conseguí con sitios como MigrandoVenezuela o Conexión Social. Ni corto ni perezoso me decidí a preguntar en la lista cerca de cual era la posición de el gobierno Venezolano en cuanto la máquina virtual de Java.
Saludos cordiales,

Recientemente alguien colocó una pregunta en el foro de JavaVen
(http://groups.yahoo.com/group/JavaVen/) preguntando si debería estar
preocupado acerca de problemas de licenciamiento al usar Java, ya que
la máquina virtual no es 'Software libre' según la definición de el
decreto 3390 aunque:

1. Sun No cobra nada por el uso de el JDK y participa en projectos
como NetBeans (y su negocio no es cobrar dinero por la JVM sino por
las herramientas de desarrollo).
2. Hay otros actores además de Sun como IBM, Microsoft y BEA lo cual
garantiza hererogeneidad en el mercado.
3. Hay implementaciones gratuitas de Java con el proyecto CLASSPATH de GNU
4. Hay software a montones 'Open Source' con la licencia Apache y
otros con la licencia GNU, las cuales garantizan accesso al código.
Y estas fueron las preguntas a las cuales no obtuve respuesta concreta (por favor, lo invito a que siga leyendo):
Tengo entonces las siguientes preguntas:
1. ¿Alguien sabe si el Gobierno Venezolano tiene un ente que pueda
responder este tipo de preguntas?
2. ¿Existe alguna posición definida en el gobierno respecto a el uso
de Java en las aplicaciones, aún si estas son basadas en software
libre como el proyecto Jakarta?
3. ¿Qué piensa el gobierno Venezolano de el JDK de Sun? ¿Es realmente
la licencia un problema al plantear aplicaciones para el gobierno?
4. ¿Saben si el gobierno Venezolano recomienda otros lenguajes en vez
de Java por ese problema? (Perl, Python, C++)

Algunos enlaces pertinentes:

Problemas de licencia de Java en FreeBSD:
http://www.infoworld.com/article/05/01/06/HNfreebsdsun_1.html
Decreto 3390: http://www.gobiernoenlinea.gob.ve/docMgr/sharedfiles/Decreto3390.pdf
Licencia de el JDK de SUN: http://www.java.com/en/download/license.jsp

Muchas gracias de antemano por sus respuestas, y disculpen si este no
es el sitio apropiado para hacer este tipo de preguntas.

En este caso particular mi preocupación tenía que ver con la posible negativa de el Gobierno venezolano en utilizar Java, debido a que su implementación de la máquina virtual de Java es cerrada. En el casó de JavaVen, la discusión se tornó personal en cierto punto (no debió ser así pero no todo el mundo hace un esfuerzo por ser objetivo) y en la lista de el gobierno hubo muchas posiciones energicas (algunas politizadas, otras no tanto, algunas sin sentido).

¿Es eso malo? No creo, al menos demuestra que hay preocupación por cambiar ciertos paradigmas en la forma en como se hacen las cosas y eso es bueno. El problema es que si esa fuerza se escapa fuera de control puede convertirse en una cacería de brujas en la cual los quemados van a ser la minoría (como siempre).

Debo reconocer que mi posición original de no prestarle atención al licenciamiento el fué errada; No porque la defensa inicial de la idea estuviera mal sino porqué hay mucha resistencia para que ocurra todo lo contrario (exlcuir a Java fuera de los desarrollos de el gobierno). Realmente no creo que ocurra ya que hay la herramienta es muy útil, ya hay esfuerzos como el proyecto Harmony de Apache y Sun inclusive se está moviendo para abrir la máquina virtual.

Es un punto polemico y eso indica entre otras cosas que el lenguaje es realmente útiil y que la decisión de dejarlo afuera o no no será tomada a la ligera.

Buscar en Technorati: ,,

domingo, agosto 21, 2005

Flickr no me deja enviar un montón de fotos al mismo tiempo

Tesoro, lisita y compañia:

Como no utilizo Windows sino Linux (y si, no tengo MacOS) yo me acostumbre a utilizar una excelente herramienta escrita en Python llamada Uploadr; Sin embargo desde que Yahoo decidió unir las cuentas de Flickr con Yahoo se jodió la herramienta y tengo ahora como 100+ fotos que no puedo subir.

Ya pedí ayuda, pero algo me dice que:
  1. Utilizo una herramienta bajo Windows (suck it...)
  2. Me pongo a echar código y hago yo mi propia herramienta (me da ladilla)
Ya pedí ayuda, vamos a ver que pasa...

Buscar en Technorati:

KodeGeek: The Magazine

Si, después de ahorrar un poco al fin logramos sacar la edición impresa de KodeGeek:

KodeGeek


Joda aparte me conseguí este juguete leyendo BoingBoing. Pruebenlo, es muy entretenido :D

Buscar en Technorati: ,

Echando código: ¿Como hacer web-scrapping con Java?


En un articulo anterior les mostré como hacer Web scraping con Perl. Ahora vamos a probar con Java, pero utilizando una estrategía un poco diferente.

Todo esto vino de un articulo que leí en Internet acerca de como hacer lo mismo pero con Java; Me encantó la solución ya que divieron la resolución de el problema en los siguientes pasos:
  1. Convierta el HTML con problemas a "HTML bien formado". Es decir, convertimos el HTML a XML (XHTML)
  2. Una vez convertido a XML, utilice XQUERY para extraer la información de el documento. Yo no quiero hacer eso, sino más bien quiero usar XSLT (igual me toca usar XPATH, aunque más con XSLT que con XQUERY).
Pienso utilizar a Jtidy (igual que el articulo) para acomodar el HTML -> XML y luego voy a usar una hoja de estilos (XSLT con JAXP) para convertir el resultado a un reporte de texto.

Después de fumarme un rato los JavaDoc de Jtydi, ver el API de XML de Java y de jugar con la hoja de estilos, llegué a esto:
   1:package com.kodegeek.blog.veneblogs.webscraping;
2:
3:import org.w3c.tidy.Tidy;
4:import org.w3c.tidy.Configuration;
5:
6:import java.io.InputStream;
7:import java.io.OutputStream;
8:import java.io.FileOutputStream;
9:import java.io.File;
10:import java.io.IOException;
11:import java.net.URL;
12:
13:import javax.xml.transform.stream.StreamSource;
14:import javax.xml.transform.stream.StreamResult;
15:import javax.xml.transform.Transformer;
16:import javax.xml.transform.TransformerFactory;
17:
18:/**
19: * This program will download the VeneBlogsTop100 and will
20: * output the list as a text file
21: * @author Jose Vicente Nunez Zuleta (josevnz@yahoo.com)
22: * @version 0.1 - 08/20/2005
23: * License: GPL
24: * Blog: KodeGeek.com
25: */
26:public final class VeneBlogsTop100 {
27:
28: /**
29: * URL with the VeneBlogs top 100
30: */
31: public static final String DEFAULT_VENEBLOGS_TOP100_URL =
32: "http://www.veneblogs.com/feeds/ultimos100.php";
33:
34: /**
35: * Default Stylesheet to be used if none is provided
36: */
37: public static final String XSLT_DEFAULT_VENEBLOGS_TOP100 =
38: "/VeneBlogsTop100.xsl";
39:
40: /**
41: * Command line processing
42: * @param args
43: * args[0]: URL with the VeneBlogs HTML.
44: * args[1] Location of the XSLT
45: * @since 0.1
46: * @throws Exception
47: */
48: public static void main(String [] args) throws Exception {
49: URL url = null;
50: InputStream input = null;
51: OutputStream out = null;
52: StreamSource xsltSource = null;
53: StreamSource source = null;
54: // Create a file that is unique among runs