Aníbal Rojas RSS

Sobre mí

Algunas Fotos

www.flickr.com
Aníbal Rojas' items Go to Aníbal Rojas' photostream

Archive

Oct
6th
Sat
permalink

Como sobrevivir el Apocalipsis Electoral

Reconócelo. Estás cagado por lo que pueda pasar entre la noche del 7 de Octubre del 2012 y la madrugada del 8. A las cosas hay que llamarlas por su nombre, y eso se llama CAGAZÓN. Seas rojo-rojito u opositor sientes el mismo garrapatal en el estómago.

Y como dice el dicho “guerra avisada no mata soldado, y si lo mata…” así que lo importante para calmar la ansiedad es prepararse. Esta es una guía que te orientará para estar preparado para los terribles acontecimientos posteriores al anuncio del ganador de la elecciones venezolanas del 7 de Octubre del 2012.

ES DIFÍCIL SOBREVIVIR MÁS QUE UNOS POCOS DÍAS SIN BEBER

No olvides tener un poco de agua, soda o agua e’ coco también para acompañar.

LA COMIDA TAMBIEN ES IMPORTANTE

El chicharrón bien almacenado conserva todos sus nutrientes incluyendo el crujido.

PRIMEROS AUXILIOS

No vas a dormir un carajo, y salga sapo o salga rana el ratón va a ser brutal.

ENTRETENIMIENTO

Olvídate de pegarte en ese, tu canal favorito, eso solo te puede causar “Depresión del Día Después” mejor te empatas en una de evasión.

ELECTRICIDAD

Si hay una falla masiva del suministro eléctrico en Venezuela… es muy posible que no nos demos cuenta de la diferencia, así que mejor no enrrollarse por este punto. Lo peor que puede pasar es que en Julio las maternidades estén abarrotadas de parturientas.

COMUNICACIONES

Si eres cliente Movistar en Venezuela recuerda el 7 de Octubre empezar llamar a toda tu familia y amigos diciéndoles que no tienes señal, si no puedes hablar directamente con ellos mándales un mensaje, preferiblemente con una presentación Power Point llena de fotos de gatitos con hipertiroidismo.

SEGURIDAD

Es importante que tengas una buena reja, una puerta blindada, un cerco eléctrico… WAIT… eso ya lo tenemos todos en Venezuela :-(

Ahora que tengo su atención…

Dejen de pararle bolas a los rumores que les llegan por la vía del primo ese que ustedes saben que es un mentiroso patológico, e intenten calmar a su tía que igual tiene comida en la despensa para sobrevivir durante un mes. Respiren profundo, relájense y salgan mañana a votar en paz.


Aug
11th
Sat
permalink
Nov
27th
Sun
permalink

Nov
4th
Fri
permalink
jairob:

Taken with Instagram at Mercado Conejero

jairob:

Taken with Instagram at Mercado Conejero


Oct
14th
Fri
permalink

De por qué @irmapin no debe despotricar del Software Libre o de Código Abierto

Hace unos días la amiga @irmapin tuiteó lo siguiente:

cuando sea Apple user despotricaré del SL muajajajajaja

@irmapin ha usado Ubuntu y Fedora como alternativas Windows, pero ahora:

@anibal ubuntu la usé 2 años, tuve otro tiempito más Fedora. Pero definitivamente quiero algo bonito, más gráfico y me mantenga contenta

Y eso está muy bien, yo pienso que la gente debe ser libre de usar el software que quiera y bajo las condiciones que desee.

Los ambientes de escritorio comunmente ofrecidos por las principales distribuciones de GNU Linux difícilmente puede equiparar la experienca de usuario que brinda la Serie OS X de Apple, así que es completamente válido optar por “bajarse de la mula” y comprar un equipo Apple para navegar en ese barco.

Pero por otra parte, honor a quien honor merece, ya que debajo de toda esa gran experiencia usuario que ofrece el OS X de Apple hay código Open Source.

Los sistema operativos OS X e iOS están basado en Darwin, un Sistema Operativo Open Source creado por Apple y derivado NextSTEP (que tiempos aquellos), FreeBSD y un bueno número de sofrtware adicional licenciado bajo licencias de código libre y/o abierto.

WebKit el “motor” responsable de “dibujar” las páginas que visitas en internet cuando usas Safari está bajo una licencia de código abierto y es también usado entre otros navegadores por Google Chrome.

Si bien obviamente la mayor parte del negocio de Apple para vender su hardware se baja en software bajo licencias privativas, y su relación con el código abierto puede ser un pelo retorcida, lo cierto es que igual que la gran mayoría de grandes proyectos de software de la actualidad, está cimentado el software bajo una licencia de código abierto o libre.

Por supuesto, esto es sin movernos a otros ámbitos, ya que sólo por poner un ejemplo, consistentemente cerca del 75% del tráfico de internet a nivel mundial llega a los navegador (sea Safari en tu OS X, o Firefox en mi Ubuntu) por cortesía de Apache  o Nginx, ambos servidores web bajo licencias de código abierto.

Cada vez que accedes al sitio de Apple un servidor Apache, entre otros, es responsable entregarte esa página con ese espectacular y limpio diseño.

Así que una vez que @irmapin se convierta en “switcher” y mande a imprimir un documento desde su flamante MacBook, sin saberlo está usando el mismísimo CUPS (Common Unix Printing System) que usara antes en Ubuntu o Fedora.

Como ven, no hay motivo para despotricar del Software Libre, aunque estés usando algo más gráfico y bonito, que te mantenga contento ;)


Sep
30th
Fri
permalink

Vintage @sd (las cosas que uno consigue limpiando el tarjetero)


permalink

De como Oracle me introdujo al mundo del Open Source / Free Software

Hace muchos, muchos años, en una Corporación muy, muy distante, me encontraba junto con @edgar me encontraba desarrollando una aplicación web…

;-)

Para concretar un poco el escenario les puede decir que eso era algo así como 1999, y que la companía que nos había contratado disponía de un inmensa infraestructura de TI dominada por los “Gemelos Fantásticos” de aquella época, Sun Microsystems y Oracle.

En aquel momento la especificación J2EE  (sí, J2EE no JEE) estaba en pañales a efectos prácticos, pero ya disponíamos (en principio) de Servlets y JSPs (Ohhh…), que pensábamos usar para armar la aplicación.

Mientras hacíamos pruebas e investigábamos, descubrimos que el OWAS (Oracle Web Application Server) era una pieza de software extremadamente inmadura e inestable que estaba muy lejos de cumplir con los estándares. Por poner un pequeño ejemplo, la sesión no era compartida entre los Servlets y los JSPs, un detallazo pues.

Para nuestro infortunio uno de las sysadmins involucrados en el proyecto se había tomado TODO el Kool-Aid de los vendedores de Oracle y se negaba a instalar cualquier software que no le vendieran ellos. Los motivos aducidos eran: estabilidad, seguridad, mantenieminto, etc. Ustedes saben como es el tira y encoge entre desarrollo y operaciones.

Ante la pobreza de las librerías de Oracle, y la dantesca perspectiva de hacer toda la aplicación generando el código HTML directamente desde los Servlets, que era lo que usaba en la época. Nos dedicamos a revisar las alternativas que teníamos (recuerden la fecha) y terminamos de cabeza en http://jakarta.apache.org/

Al final terminamos usando Turbine como framework MVC y Velocity como template engine, dejando de lado todas las herramientas de Oracle. Después de bastantes dificultades logramos que todo funcionar bien en el OWAS, y la aplicación se mantuvo rock solid en producción durante muchos años.

Algunos años o meses después, no recuerdo bien. Oracle desechó completamente su  OWAS, reemplazándolo con el excelente Orion Application Server que adquirieron de la gente de ironFlare, y que nosotros en su momento habíamos sugerido como reemplazo del infortunado engendro de Oracle :-)

Hasta ese momento siempre habíamos trabajado con herramientas de licenciamiento privado, pero después de que el nunca bien ponderado vendedor de Oracle nos lanzara por el camino del Código Abierto y/o Libre, ya no hubo vuelta atrás.

Hoy en día tenemos años desarrollando principalmente con Ruby On Rails, después de que nos obstináramos de Java y lo dejáramos al lado del camino. Nuestros portátiles y los de nuestro equipo de programadores corren con diferentes sabores de GNU Linux, y todo esto gracias a las diligencias de una corporación que ha sido el marido que golpea a la mujer en lo que a licencias de abiertas de software se refiere.

La imagen es original de http://www.motifake.com/facebookview.php?id=61286


Sep
29th
Thu
permalink
Considerando cambiar de ABA de CANTV a Compuserve, peor no puede ser.

Considerando cambiar de ABA de CANTV a Compuserve, peor no puede ser.


Sep
18th
Sun
permalink

Como ser un mejor programador (un guía libre de pendejadas)

Yo no soy un gram programador, creo que nunca lo he sido, aunque por mucho años me dedicara a programar profesionalmente. No me entiendan mal, no es que no me guste programar ni que mi código apestte, en realidad me gusta mucho y he tenido muy buenos momentos programado, pero el trabajo no me deja mucho tiempo para hacerlo.

Por otra parte he conocido muchos programadores, la mayoría mediocres, muchos regulares, algunos buenos y unos pocos brillantes. Reconozco un buen programaodr cuando lo veo.

He sido responsable de formar a muchos programadores, particularmente en Java, en un pasado lejano, y en Ruby y Ruby On Rails más recientemente. Y he podido ver de cerca el proceso de aprendizaje de un paradigme, lenguaje, framework nuevo en una gran variedad de personas y ambientes.

Aquí van unas pocas recomendaciones libres de paja, idioteces, pendejadas, boludeces, tonterías o como lo quieran llamar en su variación local del español, para todos aquellos que quieran ser mejores programadores.

Asegúrate De Que Programar Es Lo Tuyo

Sueno complicado, pero es sencillo: si programar es como una droga para tí, entonces programar es lo tuyo. De lo contrario, cambia de trabajo o al menos quítate esa etiqueta de la cabeza para que vivas una vida más plena y feliz.

Si cuando eras un niño quería programar, si apenas pudiste  te compraste un computadora para programar y no la soltabas, si durante tus estudios te comías los libros de algoritmos, y estructuras de datos adelantándote a los profesores, si te despiertas en medio de la noche con la solución al problema que no lograste resolver durante el día, si logras entrar en “la zona” y te cuesta salir de ese trance hipnótico, entonces, programar es lo tuyo.

Cubre Lo Básico

Dependiendo de qué carrera hayas estudiado, y el nivel que hayas alcanzado tus conocimientos de programación vas a variar en un rango bastante grande. Conocer los diferentes paradigmas de programación, algoritmos y estructuras de datos, así como los escenarios donde es ventajoso utilizar uno u otro es extremadamente importante porque el que sólo tiene un martillo, todo lo ve como un clavo.

Si hoy en día no sabes que son Patrones de Diseño ni como aplicarlos, o los acrónimos BDD y TDD son un misterio para tí, o no estás usando control de versiones, hay un buen chance que esto no sea lo tuyo o de que no estés en el ambiente adecuado.

Busca Un Trabajo Donde Se Aprecie A Los Programadores

Programadores hay regados por todos lados, y en todas las industrías, pero en pocas se aprecia el trabajo de los programadores. Nuestros programas rara vez constituyen un fin último en si mismos, pero hay organizaciones y personas que desprecian olimpicamente el trabajo de un programador, los sintomas suelen ser evidentes:

  • Todo “es sencillito” y “puede hacerce rapidito”
  • Se establecen metas poco realistas sin consultarte.
  • Nadie te orienta o discute contigo como resolver un problema.
  • No hay otros programadores buenos en el equipo con los que discutir.
  • Nadie revisa tu código nunca.
  • Siguen utilizando las mismas tecnologías y prácticas año tras año.
  • Y así, ustedes ya me entienden.

Corre y pon tu renuncia, en ese ambiente no vas a poder crecer como programador, si eso es realmente lo que quieres hacer.

Se Orgulloso

Los buenos programadores son orgullosos, en serio. Si te reunes con otros programadores y no sientes la más mínima necesidad participar en la competencia de ver si tu chorro de orina llega más lejos, entonces tienes un problema de actitud.

El puro orgullo te va a llevar a hacer cosas interesantes, la mayor parte de ellas increiblemente estúpidas, pero divertidas e interesantes. No confundas orgullo con soberbia.

Aprende A Ser Humilde

Créeme no inventaste la rueda, y las posibilidades de que la inventes son pequeñas. Ser humilde significa dejar siempre abierta tu mente a la posibilidad de que estes equivocado, de que hay una mejor forma de resolver el problema y que pedir la opinión y ayuda a otros es algo completamente válido.

Ser humilde no significa ser inferior, ni tener un problema de autoestima, significa que sientes un gran respeto por quienes te rodean, como personas y profesionales. Significa que “no saber” no es un pecado, y es algo que puedes reconocer sin problema.

Haz La Tarea

Antes de empezar a echar código, piensa en otras alternativas para atacas el problema al que te enfrentas.

  • ¿Existen problemas similares en la literatura? (Cubre Lo Básico)
  • ¿Revisaste el código prexistente?
  • ¿Qué es lo último que se ha escrito sobre el tema?
  • ¿Realmente eres el primero que se enfrenta a este problema? (Sería raro)
  • ¿Puedes aprovechar alguna librería existente?

No te quedes sólamente con el primer resultado en el resultado de la búsqueda en Google. La mayor escuela de programación que existe son llas millones de líneas de código abierto regadas por interner, busca en github, revisa el código, aprende de los grandes.

PREGUNTA

La escuela nos enseña que preguntar es malo, porque pone en evidencia “que no sabes”, cuando generalmente ese es el punto. Atrévete a preguntar, pregunta una y otra vez hasta que las respuestas te satisfagan. Por supuesto, asegúrate de haber hecho la tarea primero.

Insisto, deja el puto miedo a parecer un tonto, y PREGUNTA. A tus clientes, a tus compañeros de equipo, en las listas de correos, en el IRC en Twitter o en Stack Overflow, atrévete a preguntar. Para tu gran sopresa vas a encontrar a mucha gente más que dispuesta a responder y ayudar.

El Resultado De Tu Comunicación Es La Respuesta Que Obtienes

Este es un principio de la Programación Neurolinguística, muy posiblemente no lo entiendas en este momento, no importa. El punto básico que si tienes que enteder es que al final la parte más compleja e importante de todo es asunto del desarrollo de software es la comunicación.

La comunicacióm interpersonal es extremadamente compleja, comunicarse en forma eficiente te va a ayudar mucho más que tus destrezas mecanografiando porque muy rara vez el trabajo de programación sucede a solas, en una isla.

Más allá del nivel interpersonal, está el código y si bien los intérpretes y compiladores dejan poco margen para errores, la posibilidad de que en el futuro otra persona tenga que revisar tu código es muy alta. Tomando conciencia de que alguien va a estar del otro lado de tu commits:

  • ¿Qué tal expresivo es tu código?
  • ¿Mantienes un buen estilo para hacer el código legible?
  • ¿Colocas comentarios útiles?
  • ¿Tus commits incluyen sólo los cambios relavantes?
  • ¿Tus mensajes de commit ayudan a entender la evolucón del código?

NO Es Rock En Tu Idioma

Para finalizar quiero decirte que por más que encanta el español como idioma, con toda su riqueza expresiva, tienes que aprender inglés. El inglés es la lingua franca del desarrollo de software, es la lengua que permite a programadores dispersos por todo el mundo compartir lo que saben y trabajar juntos día a día.

Si cuando tipeas http://google.com en tu navegador la págína que aparece está en español tienes problemas muy, muy serios. Estás viviendo al margen de una inmensa cantidad de blogs, proyectos Open Source, cuentas de Twitter, listas de correo, discusiones en IRC que son el cutting edge de la tecnología.

El hecho de que cualquier estudiante complete una carrera en el área de Ciencias de la Computación, Ingeniería de Sistemas o alguna otra asociada sin tener almenos la capacidad leer y escribir fluidamente en inglés sólo puede ser entendido como una discapacidad desde el punto de vista profesional.

Bueno amigos, eso es todo. Suerte!


permalink
negrecio:

#ForeverGuacharaca

negrecio:

#ForeverGuacharaca

(via chiguire)