Nuestra red, bloqueo o falta de ganas?

Bien, primero lo primero, Cuba entera tiene una conexión con el mundo mediante un satélite a 124 Mbps de bajada y 65 Mbps de subida, esto es culpa del bloqueo. Ahora bien no entiendo que tiene que ver esto con el miserable ancho de banda que hay dentro de Cuba. Que no se pueda hacer una aplicación empresarial a nivel nacional porque "el ancho de banda de las empresas no alcanza", es realmente frustrante. Quizás se pudiera argumentar que la lentitud es a causa de que los DNS están fuera de Cuba y que las consultas y demás... pero no lo creo, alguna solución pudiera encontrarse, y quizás tendríamos una red nacional respetable, y cosas como el software libre pudieran medrar debido a que los privilegiados con buena conexión la pudieran compartir en la red de casa.

Todo esto de el enlace lento del satélite , para justificar la lentitud de la red cubana, no es más que eso, una justificación, como tantas que hay por aquí.

No sé bien que pudiera hacerse para revertir esta situación; pero creo que hasta que alguien no gane algo con una red eficiente, todo seguirá igual, o peor...

Tener iniciativa personal en Cuba

Si, emprender una empresa, un proyecto de Software Libre, emprender algo que implique hacer un uso intenso de la individualidad, esto en la Cuba de hoy es imposible, esto en nuestro presente es incluso ridículo.

En Cuba no se concibe que alguien comience una empresa que no sea una cafetería de poca monta(de altos precios pero de poca monta), en Cuba nos acostumbramos a las empresas estatales, una empresa es un gran conglomerado de personas aburridas y molestas, que durante toda la jornada laboral solo esperan que esta termine, los jefes solo mandan a hacer aquellas tareas que su jefe está revisando, no las tareas que son beneficiosas para la empresa... A grandes rasgos esto es una empresa cubana, quizás en algunas se trabaje un poco mejor, quizás en otras se trabaje.

Entonces, como profesional mi trabajo está organizado por personas que no le interesa trabajar, solo quedar bien con su jefe inmediato superior, quizás esto sea por el aquello de que nadie se beneficia con el trabajo de los demás, nadie se hace millonario, nadie hace dinero con nuestro trabajo NADIE. Eso puede ser muy sofocante, a veces uno no sabe que utilidad puede tener este sistema que estoy haciendo, si tengo que caerle atrás a los clientes para que me atiendan, y tengo que hacer eso porque "es una tarea priorizada", y a mi jefe le dan cocotazos en los concejos de dirección, claro, porque el cliente es más jefe que mi jefe, no le dan cocotazos, cuando quizás debiera ser un poco más cooperativo. Si, ambos, mi jefe y el otro jefe tienen el mismo jefe, y no, no están en la misma empresa.

Luego de vivir cosas como estas es lógico querer independizarse, entonces evaluemos las opciones, soy Ing. Metalúrgico, tengo 26 años y lo único que se hacer es escribir, leer y programar; escribir y leer no son dos ocupaciones muy artesanales, no creo que gane mucho por mi cuenta, así que lo mejor es hacer lo que he estado haciendo durante los últimos 3 años de mi vida(ya me olvidé completamente de la metalurgia).
Bien, me imagino que en el mundo entero(el occidentalizado, de los otros mundos no tengo idea) deben haber las mismas dos opciones cuando alguien decide ir por su cuenta: freelancer, iniciar una empresa.

Pues bien, teniendo en cuenta que en Cuba para crear una empresa... bueno es muy enredado, y es un tramite que no puede ser realizado por un particular. Creo que eso zanja la cuestión. Solo queda la opción freelance, obviamente no puedo registrarme en ningún lugar, simplemente porque no se puede, osea, que solo puedo trabajar para extranjeros vía Internet, sin garantías de pago.

Y eso llevo haciendo como un año, mi vida económica ha mejorado, pero mi vida personal no, pues como necesito conservar mi trabajo estatal(ah si, lo de independizarme era solo económicamente) debido a que si dejo el trabajo también dejo Internet, solo puedo trabajar en casa, por la noche y los fines de semana, mi mujer al principio estaba muy contenta de poder salir de la miseria cotidiana de la mayoría de los cubanos... ya no lo está tanto... casi no salimos, hace tiempo que no veo a mis amigos, o los veo muy de vez en cuando, siempre tengo que trabajar... y lo peor es que no he salido de mi hueco, aun sigo en el MISMO bache, lo que con más comodidades, sigo sin futuro, como el resto de los cubanos; y cuando digo sin futuro me refiero a que no quiero se jefe, quiero ser técnico, pero quiero aprender cosas nuevas, estar en proyectos retadores. Y claro, ganar buen dinero, ahora sigo en lo mismo, de día hago paginas de gestión, de noche hago... cualquier cosa. Sigo ganando una mierda, 300 usd en un mes me parecieron mucho al principio, pero ahora me doy cuenta que no sirven de mucho.

Algo debemos cambiar en cuba, nos ahogamos en una ansiedad polvorienta, tan insoportable como el sol y la humedad de este verano, debemos promover la iniciativa individual, de lo contrario estamos condenados a vivir eternamente en la barriga de esos dinosaurios que son nuestras empresas.

La politica no cabe en la azucarera

Cuando no pude descargar el jdk de la Sun me molesté, pero entendí que a partir de la versión 1.3 habían incluido la criptografía en el jdk, y en definitiva Cuba y EEUU son enemigos...
Luego no pude descargar el JDeveloper de Oracle, ya a eso no le vi mucho sentido, pues en definitiva que ibamos a hacer los cubanos con un IDE de java... tirarselos por la cabeza? Luego no pude descargar el sdk de BREW, esto es bastante más ridiculo, pues en Cuba ni siquiera funciona la tecnología CDMA, por tanto si algún cubano intenta descargar el BREW es para invesigar o para, como yo, trabajar freelance.
Pero hoy ya ha sido el colmo, luego de enterarme que el Google Desktop ya está disponible para linux voy corriendo a descargarlo y adivinen...

Thanks for your interest, but the product that you're trying to download is not available in your country.

Es el jodido Google Desktop!!! En qué carajo va a beneficiar a Cuba tenerlo, en qué beneficia a EEUU evitar que Cuba lo tenga!?
Realmente la política hace que los de a pie paguemos las ridiculeces de los que fuman habanos(estoy seguro que los jefes de ambos bandos se fuman tabacos de Pinar del Río)
Debería parar de escribir pues en este punto me dan ganas de lanzar diatribas contra el bloqueo, pero estoy tan cansado de escuchar diatribas contra el bloqueo que me dan ganas de vomitar, además, que carajo tiene que ver el bloqueo con que mis compañeros de trabajo(programadores uy!) se pasen las 8 horas jugando y viendo series y películas, que tiene que ver el bloqueo con que uno llegue a un establecimiento gastronómico y prácticamente tenga que pedir de favor que lo atiendan(solo que nos atiendan, ya si bien o mal es a suertes).
Creo que en definitiva el bloqueo solo nos jode a los cubanos que estamos en la escasez, y a los norteamericanos que están sin hacer negocios con Cuba. Pero a los cubanos de Cuba que le sacan lascas, a los cubanos de EEUU que le sacan dinero a su política, a ellos el bloqueo les beneficia.
Pienso que Cuba tiene para dar, que los cubanos no merecemos esta miseria, pero hemos perdido el animo de trabajar... o nos lo han quitado?
En definitiva todos han perdido la perspectiva, ya nadie sabe porqué se lucha, ni los de aquí ni los de allá, se han olvidado que en definitiva solo vivimos una vez y que eso de sacrificarse... por qué? por quién? Nadie lo sabe ya. Por Fidel? el es una persona, el nos pide sacrificios, no para él sino para... nosotros!!! Pero hasta cuando??
Nos sacrificamos, luchamos por algo... por nuestros hijos, por las futuras generaciones? Creo que ese discurso ya no funciona muy bien, acá queremos que se viva un poco mejor, queremos estar en el mundo, en ese cruel y despiadado, pero que quizás no sea este letargo ansioso en el que vivimos los de la isla.

PD: Quien se pregunte que tiene que ver el titulo con el articulo que busque la canción homónima de Carlos Varela

Busqueda personalizada o lenguaje natural

Tengo dos artículos, uno es de Inside MetaEmotion y el otro de ComputerWorld.
En el de ComputerWorld se habla de lo que según Eric Schmidt puede ser el futuro de Google; habla de Google Enterprise, hoy día lo más parecido podría ser las Enterprise Solutions. Pero por sobre todo pone como el "core" de google al buscador, haciendo énfasis en la búsqueda personalizada, lo cual, por muy Eric Schmidt que sea, me parece un error y más aun el ejemplo que pone. Es decir es cierto que las mismas palabras pueden significar varias cosas, pero vamos... si yo vivo en Madrid y quiero saber si Paris is hot, entonces esta bien, pero si 5 min después quiero saber sobre la chica que está en una cárcel de Nevada?
Realmente no me parece que se deban condicionar las búsquedas al historial de la persona, y eso sin contar con el hecho de que inevitablemente se deberá guardar ese registro, y que está bien que google respete la privacidad, rectifico, que prometa que lo hará, pero si en un futuro el gobierno de EEUU les dice que muestren los datos, pero se lo dicen de verdad, no como la vez pasada, si se lo dicen con un arma en la frente... entonces todo al carajo, nuestras vidas en manos de políticos y militares...

Bueno, además de la paranoia, simplemente me parece ineficiente, se están dejando llevar por la inercia de las palabras claves, ahí es donde entra PowerSet, un buscador que aun no he podido probar, pues como dice el artículo solo es posible usarlo por invitación, pero si lo que dice el artículo es cierto, si esos resultados son similares a otras consultas... pues no hay más que hablar, ese es el camino.
Imagino que tiene desventajas, debe ser caro ese procesamiento, no tengo idea que mecanismo tendrán, si indexan(deben hacerlo supongo); debe ser dificil portarlo a otros idiomas, o quizás no. Pero de lo que sí no me cabe duda es que este es el camino, incluso el camino a la famosa web semántica, de lo que habla Eric Schmidt es simplemente un parche.

Texto coherente

Este artículo fue sugerido en meneame(perdi el vinculo), y me sorprendió mucho, pues como dice su título es una especulación sobre lo que podría pasar en Cuba si desapareciera Fidel. Pues bien, no sé si este señor tendrá razón o no, pero todo lo que dice me parece muy coherente, y sobre todo, muy imparcial(aunque se le nota simpatía por Cuba y su régimen).
No sé de donde sacará la información, no sé si vive en Cuba o tiene amigos acá, lo que si es cierto es que su opinión sobre Raúl se acerca mucho a lo que en Cuba creemos que es la verdad, es decir, que Raul se acerca más al debate y a la libertad, que las empresas de las FAR son las más eficientes y las que mejor tratan al trabajador(hablo de trabajadores civiles). Así que si bien es cierto que la idea de una dinastía Castro suena medio rara, también es verdad que, al menos yo lo creo así, Raul Castro nos puede llevar al siglo XXI.
Lo demás del artículo no vale la pena comentarlo, son especulaciones, coherentes, pero que solo el futuro confirmará o desmentirá.

Procedimiento para la creación de un proyecto con Trac© con Apache2

Introducción

Trac© (http://trac.edgewall.org/) es un gestor de proyectos de software, que aunque es un poco limitado, en ciertos ambitos puede ser muy eficiente. Su característica principal es la de tratar un proyecto como una serie de metas (milestones), las que están descritas por una serie de tareas(tickets) a cumplir, son el cumplimiento de estos tickets lo que mide el porciento de cumplimiento de la meta. Existen tres tipos de tickets: tarea, defecto y mejora. Obviamente se le puede añadir un nuevo ticket a un milestone en cualquier momento.
Cada cambio a un ticket queda registrado, de manera que es incluso posible, y de hecho así lo hacen en su propio sitio, usar este historial a manera de forum, en donde los usuarios o testers dan sus opiniones sobre un defecto o tarea y el desarrollador va dando parte de los avances. Por otra parte cualquier cambio, ya sea en los tickets, o en la wiki (hay una wiki) queda registrado.
Como ya se dice arriba, Trac© cuenta con una wiki, de manera que es posible ir añadiendo contenido, de manera que el sitio del proyecto albergue gran cantidad de información sobre el mismo, lo cual puede ser muy conveniente para los usuarios.
Además Trac© está integrado con subversion, de manera que es posible hacer consultas al repositorio y ver el historial de cambios al mismo.


Instalar Trac©

Como servidor se utilizará una maquina con Debian GNU/Linux v4.0r0.
Es necesario tener instalado:

  • Apache2
  • libapache2-mod-python 3.3.1
  • postgresql 8.1
  • python-psycopg2
  • subversion
  • python-subversion
  • python 2.4.4
  • python-clearsilver
  • subversion-tools
  • trac-0.10.4
Luego de descomprimir trac se debe ejecutar:
#./setup.py install


Creación de un proyecto

Antes de crear el proyecto es necesario crear la base de datos en postgresql, así como un usuario que será el encargado de acceder a la base de datos, es posible usar un usuario para todos los proyectos o uno distinto cada vez, para este caso:
usuario:trac
contraseña:trac
base de datos: ejemplo_trac
Además es necesario tener ya creado el repositorio SVN, en este caso estará en /var/svn
Crearemos el sitio en la carpeta: /var/www/trac
#trac-admin /var/www/trac/ejemplo initenv
Ahora empieza una sesion interactiva en la que Trac© nos hace una serie de preguntas:
Project Name [My Project]> ejemplo
Database connection string [sqlite:db/trac.db]> postgres://trac:trac@localhost/ejemplo_trac
La url de la base de datos está conformada de la siguiente forma:
postgres://usuario:contraseña@url.servidor/base de datos
Repository type [svn]>
Este lo dejamos en blanco
Path to repository [/path/to/repos]> /var/svn
Este es el camino al repositorio svn que será usado.
Templates directory [/usr/share/trac/templates]>
También se deja en blanco
Si todo ha salido bien ya estará creado el proyecto y la base de datos está poblada.


Habilitar el sitio en Apache

Para que el sitio esté completamente funcional es necesario agregarle lo siguiente al fichero /etc/apache2/httpd.conf:


SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/www/trac/ejemplo
PythonOption TracUriRoot /trac/ejemplo
PythonDebug on


Luego de reiniciar el apache:
#/etc/init.d/apache2 restart

El sitio ya estará en funciones.
NOTA: El usuario www debe tener permisos de lectura y escritura en /var/www.


Creación de usuarios

Se utilizará la utenticacion de apache, para lo cual se creará la carpeta /var/www/passwds/
Luego se hará la siguiente operación:
# htpasswd -c /var/www/passwds/pass usuario_ejemplo
New password:
Re-type new password:
Adding password for user usuario_ejemplo
La opción c de htpaswd solo es necesaria para crear el fichero con las contraseñas, luego no hace falta.
Ya el usuario está creado, ahora hay que habilitar el login para el sitio, para lo cual se le añadirá lo siguiente a /etc/apache2/httpd.conf:


AuthType Basic
AuthName "ejemplo"
AuthUserFile /var/www/passwds/pass
Require valid-user

Se reinicia el apache nuevamente y listo.

NOTA: El fichero de contraseñas se hizo general en /ww/passwds/pass, pero es posible, e incluso aconsejable, crear un fichero de contraseñas para cada proyecto, solo basta con crearlo en la carpeta del sitio y poner el camino en httpd.conf.
Otorgar permisos
El nuevo usuario hereda los permisos del usuario anonymous, el cual solo puede ver todas las secciones y solo puede crear tickets, como se muestra más abajo.
Para otorgarle permisos más específicos es necesario usar trac-admin:
# trac-admin /var/www/trac/ejemplo/
Welcome to trac-admin 0.10.4
Interactive Trac administration console.
Copyright (c) 2003-2006 Edgewall Software

Type: '?' or 'help' for help on commands.

Trac [/var/www/trac/ejemplo]>permission list

User Action
--------------------------
anonymous BROWSER_VIEW
anonymous CHANGESET_VIEW
anonymous FILE_VIEW
anonymous LOG_VIEW
anonymous MILESTONE_VIEW
anonymous REPORT_SQL_VIEW
anonymous REPORT_VIEW
anonymous ROADMAP_VIEW
anonymous SEARCH_VIEW
anonymous TICKET_CREATE
anonymous TICKET_MODIFY
anonymous TICKET_VIEW
anonymous TIMELINE_VIEW
anonymous WIKI_CREATE
anonymous WIKI_MODIFY
anonymous WIKI_VIEW


Available actions:
BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, FILE_VIEW, LOG_VIEW,
MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE, MILESTONE_MODIFY,
MILESTONE_VIEW, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE, REPORT_MODIFY,
REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW, SEARCH_VIEW,
TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_MODIFY,
TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN, WIKI_ADMIN, WIKI_CREATE,
WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW

Aqui se ven los permisos de anonymous, y todos los permisos posibles, si se desea, por ejemplo, que el usuario pueda editar la información de los milestones, se hace lo siguiente:
Trac [/var/www/trac/ejemplo]>permission add usuario_ejemplo MILESTONE_MODIFY


Notificación por e-mail

Trac© incorpora la posibilidad de notificar por correo electronico al desarrollador implicado en un ticket, para lo cual es necesario habilitar el SMPT al sitio del proyecto, para esto es necesario modificar el fichero /var/www/trac/ejemplo/conf/trac.ini para el ejemplo.
Dentro del fichero se encuentran las siguientes lineas:
[notification]
always_notify_owner = false
always_notify_reporter = false
always_notify_updater = true
mime_encoding = base64
smtp_always_bcc =
smtp_always_cc =
smtp_default_domain =
smtp_enabled = true
smtp_from = correo@dominio
smtp_password = pass
smtp_port = 25
smtp_replyto =
smtp_server = servidor.de.correo
smtp_subject_prefix = __default__
smtp_user = usuario_correo
use_public_cc = false
use_short_addr = false
use_tls = false

Las lineas modificadas para el ejemplo están en negritas, luego de estos cambios, solo basta crear un ticket, y en la caja de texto CC poner la dirección de correo del destinatario.
El correo que recibe el desarrollador es como el siguiente:
#1: mensaje
------------------------+---------------------------------------------------
Reporter: jefe | Owner: miguel
Type: defect | Status: new
Priority: major | Milestone: milestone1
Component: component1 | Version: 1.0
Keywords: |
------------------------+---------------------------------------------------


--
Ticket URL:
ejemplo
My example project


Conclusiones

Esto es solo un breve tutorial para la puesta en marcha de un sitio de proyecto utilizando Trac©, el cual, aunque limitado, tiene aun más posibilidades.