10
Jul

Instalando Gentoo

Viendo la lista de correos de usuarios de Gentoo en español, me encontré con una página donde guivaloz (el que lo escribió) enseña a instalarlo, me parece que es sencillo y al punto, si quieren verla está acá http://movimientolibre.com/manuales/gentoo-linux-mi-instalacion-personal-1.html

20
Jun

La misteriosa unidad ‘em’

Hoy quiero hacer una pequeña anotación acerca de ésta curiosa unidad de medida que tiene CSS, la pequeña ‘em’. Hasta hace dos días siempre he observado códigos CSS que la tienen en abundancia y nunca me pregunté el porqué.

Revisando las especificaciones de www.w3.org me enteré de su riqueza; ahora comprendo cómo pueden ayudar a que una página sea escalable al tamaño del navegador aún si éste es modificado.

Para resumir una unidad em toma su valor respecto al tamaño de letra de la etiqueta padre, la mayor está especificada en la hoja de estilos referido a la parte del BODY; en su defecto si no estuviera definido un tamaño de letra global, em tomará el valor del tamaño de letra especificado por el usuario para el navegador.

¿Qué de bueno trae ésto? Pues que todas las medidas estarán definidas proporcionalmente a una medida global ‘LOCAL’ del usuario; en la especificación sugiere vehementemente usar em para definir los tamaños de letra minimamente -sino todo- excepto talves márgenes de la página que es conveniente definirlos en porcentajes; luego si la ventana se miniza o maximiza cada etiqueta expandirá o reducirá su tamaño; viendo más de cerca si se define algo como font-size: 2em; significa que será DOS VECES el tamaño de la letra definida en la etiqueta BODY o  DOS VECES el tamaño de la letra por defecto del navegador o DOS VECES el tamaño de la letra definida en la etiqueta padre de la etiqueta actual.

Para mayor referencia, clic en el enlace que está más arriba en el presente texto.

!Tan tan¡ :)

18
Jun

La brecha entre la garantía y el desalojo

Puede que mis divagaciones me lleven a poner conceptos totalmente alejados de la realidad o sin sentido pero en mis pensamientos cobran forma.

¿A qué estoy tratando de referirme?

A lo complejo de las emociones y/o acciones de un individuo, qué es eso que hace a una persona perseverante, que es eso que hace de una persona un desastre sin esperanza… en mi tal ves corto caminar por la vida, podría señalar que es una sopa de emociones, experiencias y carácter, por nuestra cabeza han pasado ideas como estas miles de veces por nuestra cabeza.

Actitud completamente negativa:

“¿Por qué he de molestarme en tratar de aprender esto? , la verdad que me da flojera, vamos a lo fácil.”
“Pero qué pesado/a, por qué me obliga a realizar semejante tarea.”
“No me voy a molestar en hacer esto, que lo haga alguien más”

Actitud positiva:

“Es mejor terminar hoy que dejar ésto para mañana”
“No me han pedido que lo haga con detalle, pero que mejor si luce bien.”
“Lo hago porque me gusta y aún si no me gustace debo hacerlo con convicción.”

Personalmente admiro mucho a las personas que dan un poco más de si; las que son humildes y dan la vuelta antes de que necesites siquiera dar gracias; mucho me temo que el tiempo endurece el corazón y el carácter de algunas, la sobra de costumbres flojas y malas influencias mella la amabilidad y gentileza. Sé que está completamente fuera de foco en este blog pero he tratado de darme algo de fuerzas en un momento de flaqueza, recordarme mis ideales y mis debilidades; un pequeño autoempujón :)

16
Jun

Akelos el FW elegido

Luego de haber expresado mi ‘arriesgada’ decisión de construir un Framework desde cero, trabajar un poco e ir leyendo documentación de varios Frameworks (especialmente Zend), me dí cuenta que hay muchos requerimientos que cumplir, tanto para implementar correctamente la arquitectura MVC, como para adaptarla a un entorno genérico (con mínimas condiciones si es posible). De ahí volví a mi busqueda y encontré uno que a mi parecer encaja a mis necesidades: Akelos, es un framework de reciente creación; ha portado Activerecord y algunas librerías más de Rails, su mecánica es similar (por no decir igual) a la de Rails, ¡y es perfecto! no necesito aprender conceptos nuevos o revisar cientos de hojas de manuales; todo el conocimiento de Rails está ahí en Akelos pero con PHP y no Ruby; portar código, proyectos, lógica es verdaderamente sencillo (…)

Después de probar un poco me parece que es el adecuado para trabajar, además de contribuir a él; soporta PHP y puede ser desplegado en un entorno sin requerir acceso a shell modificando algunos enlaces; me da mucha alegría no tener que implementar todo desde cero ;)

Go Akelos!

11
Jun

YAPWF

Éste año las diferentes unidades de la USFX han incrementado sus requerimientos de personal informático ya sea en la modalidad de beca trabajo o práctica institucional; ésto está muy bien, pero cuál es el problema, el pedido normalmente es realizar páginas Web que contengan información básica de la unidad en el mejor de los casos y/o procesos complejos administrativos que se ejecutan en el servidor Web (cosa que nunca he aprobado a menos que sea una arquitectura multicapa con un excelente mecanismo de seguridad). Como siempre los jefes de unidad sólo requieren de una persona para el trabajo -no importando su complejidad- y dando plazos de tiempo demasiado cortos.

Estamos seguros que nadie acá invertiría recursos económicos o infraestructura en  personal de desarrollo aún si este fuese eventual. Una solución que he pensado y a la fecha he estado desarrollando es un framework MVC en PHP ya que casi todos lo proveedores de alojamiento ofrecen éste servicio; la primera pregunta lógica que seguramente se harán es ¿por qué desarrollar un nuevo framework si ya existen muchos? la respuesta es: disponibilidad de uso, la mayoría necesita PHP 5, pero el servidor de la USFX cuenta con PHP 4; la mayoría necesita configuraciones especiales a las que una cuenta de alojamiento normal no puede acceder.

Otro problema de ésta complicada situación es que las personas que van a trabajar en dichos proyectos deben realizar desde cero toda la aplicación. ¿Con qué objeto tanta pérdida de tiempo y recursos? ¿Pagar por otro servidor? ¡Imposible!  No creo que haya más que crear un pequeño framework ‘casero’ que tenga una estructura básica que todos puedan usar; de tal manera me he puesto manos a la obra; no sé si he de llegar muy lejos o simplemente haré lo básico para que sea usable y mantenible; el tiempo lo dirá.

20
May

Acerca de gentoo-ruby y las gemas preciosas

Desde hace algún tiempo ya crear ebuilds para incluir gemas de ruby a Portage se ha hecho tedioso, son cientos de paquetes que hay que mantener, además de cubrir los cientos de requerimientos en bugzilla. En una charla con technicalpickles me comentó que estaba pensando en retomar un antígüo proyecto llamado g-gem; éste genera dinámicamente un ebuild manejando consultas a la base de datos de paquetes usando Rubygems, citando:

13:44 < ZeRoX> technicalpickles: What was the project you told me the other day, about gems?
13:45 < technicalpickles> g-gem
13:45 < technicalpickles> it’s floating out there somewhere
13:45 < technicalpickles> I don’t know where specifically
13:45 < ZeRoX> oh lets see
13:48 < ZeRoX> http://rubyforge.org/projects/g-gem/
13:48 < ZeRoX> wah 2005
13:49 < technicalpickles> yuh
13:49 < technicalpickles> that’s the problem
13:49 < technicalpickles> at this point… probably will do it from scratch
13:50 < technicalpickles> I think I might drop an email to my ruby group to see if there are any other gentooers out there that’d be interested in hacking on this
13:53 < technicalpickles> ha, crazy thought, an ebuild builder dsl :)
13:54 < ZeRoX> Umm I’m interested

Y bueno el primer prototipo fue cuestión de unas horas, ahora es funcional y está disponible en github de momento, el proyecto consta de 2 archivos:

ebuild.eruby - Es una plantilla de ebuild, ésta es ‘moldeada’ de acuerdo a los datos obtenidos con Rubygems.
g-gem.rb - Contiene la clase Ebuild y los métodos necesarios para recuperar la información dinamicamente y generar el ebuild.

Muy pronto será lo suficientemente inteligente como para manejar toda clase de gemas. ¡Yay por Ruby! :D

14
May

test..

Ésta es una prueba para ver si el feed es recuperado en la Web de SLOB.

09
May

¡ataco!

Buscando imágenes en google una de esas pequeñas cuadradas que diga “Linuxero” o algo así para ponerla como firma en mis Webs :P me topé con ésta “cartita de magic” hecha por Dano-Bo, ¿qué curiosa verdad? :D

08
May

Comenzando la migración…

Mucho se ha hablado de la migración de Software propietario a Software Libre entre gobiernos, instituciones, entidades educativas, etc., pero hasta el momento no se han visto intentos serios para ello (por lo menos yo no).

Hablando en términos de consultoría informática o en términos de participación de departamentos de informática y/o grupos informáticos, ¿qué es lo que éstos deberían tener a la mano? personalmente mi criterio es (y siempre será)  información. La información es un bien invaluable que todos usamos y que debemos generar.

¿Cuál es la propuesta? 

Hacer un estudio que contenga los siguientes puntos:

  • Identificar los requerimientos específicos de la mayoría de las empresas o instituciónes de acuerdo a su área.
  • Identificar y clasificar el Software propietario que utilizan éstas instituciones actualmente.
  • Elaborar una lista de Software Libre alternativo correspondiente a sus pares privativos.
  • Realizar pruebas de compatibilidad en varios sistemas operativos.
  • Elaborar Casos de Prueba en los cuales se comparen las funcionalidades más usadas entre los productos privativos y los libres.
  • Realizar informes en términos de calidad de los resultados y hacer un ranking de aplicaciones sugeridas para migración directa.
  • Realizar un listado de funcionalidades no existentes en las aplicaciones de Software Libre que son requeridas por las instituciones.
  • Publicar los estudios.

Seguidamente, sería posible formar grupos o entidades encargadas de proporcionar información ya sea de actualizaciones en los paquetes, cambios de compatibilidad, hardware requerido, actualizar el ranking permanentemente de acuerdo al ciclo de lanzamiento de cada Software catalogado.

Además éstos grupos podrían elaborar también equipos de implementación de las funcionalidades faltantes y los productos contribuirían a la comunidad encargada del desarrollo del Software.

¿Qué ganamos?

Con ésta información cualquier gobierno, empresa, institución educativa puede elaborar estratégias de migración y tener información constante de cambios en los productos, sus versiones y ciclos de lanzamiento.

Los participantes, tanto estudiantes como profesionales se enriquecerían tanto en el ambito de conocimiento informático al participar activamente en la comunidad que desarrolla el producto; dandole así a nuestra región una ventaja tecnológica controlada por nosotros mismos, existiría innovación a medida que los retos vayan surgiendo y vayan siendo completados.

La información estaría disponible permanentemente a través de internet y por publicaciones temporales.

¡Vamos a ser Libres de una buena vez!

06
May

¿Crees que te enseñan suficiente programación?

Una pequeña muestra de la diferencia de complejidad entre la enseñanza de infomática acá y fuera, ya cada uno se dará cuenta.

05:46 * ColdWind se pega con java y hashtables
05:46 <+ColdWind> ferdy: tengo que “meter” en una hashtable un fichero de unos 70 millones de lineas :s
05:47 <+ColdWind> unos 200 millones de palabras
05:48 <+ColdWind> no estoy seguro de como me lo voy a montar jeje
05:49 <+ferdy> uhm
05:49 <+ferdy> mal
05:49 <+ferdy> te lo vas a montar mal
05:49 <+ferdy> define ‘tengo’
05:49 <+ColdWind> pues ya ves
05:50 <+ferdy> es decir, por qué ‘tienes’ ?
05:50 <+ColdWind> es un trabajo de estructuras de datos
05:51 <+ColdWind> tengo un vocabulario (un fichero con un termino de varias palabras en cada linea) de unos 2 gigas
05:51 <+ferdy> uh
05:51 <+ColdWind> y tengo que analizar textos buscando todas las frases similares a alguno de los terminos del vocabulario
05:51 <+ColdWind> la parte de la busqueda y puntuación la tengo más o menos clara y diseñada
05:52 <+ColdWind> pero la del manejo del fichero no tanto :p
05:53 <+ferdy> está complicado dicho sea de paso
05:53 <+ferdy> meter 2Gb en una hashtable es un ‘no no’
05:53 <+ColdWind> está claro
05:53 <+ColdWind> al principio pensaba meter ByteBuffers con las palabras del fichero mapeadas a memoria
05:53 <+ferdy> más que nada porque esa hashtable puede acabar ocupando casi 3Gb en memoria…
05:53 <+ferdy> uhm
05:53 <+ColdWind> pero me da que aún así la estructura va a ser enorme
05:54 <+ferdy> el fichero está ordenado?
05:54 <+ColdWind> no, a cada termino le precede un ID, que encima es una cadena y no un entero
05:55 <+ColdWind> MI:0580_0 electron acceptor
05:55 <+ColdWind> MI:0586_0 inhibitor
05:55 <+ColdWind> CL:0000000_0 cell
05:55 <+ColdWind> CL:0000770_0 band form basophil
05:55 <+ColdWind> ese es un trozo del vocabulario
05:56 <+ferdy> uhm
05:56 <+ferdy> indexa el fichero
05:56 <+ColdWind> el algoritmo de busqueda da por hecho que dada una palabra puedo tener una lista de pares (id, posicion donde aparece la palabra en el termino)
05:58 -!- Foxandxss [n=Foxandxs@180.Red-80-32-60.staticIP.rima-tde.net] has joined #gentoo-es
05:58 -!- mode/#gentoo-es [+v Foxandxss] by ChanServ
05:58 <+ColdWind> indexar el fichero quiere decir algo así como crear un segundo fichero con indices numericos y posiciones del otro fichero?
05:58 * Foxandxss nas
05:58 <+ColdWind> buenas Foxandxss
05:59 <+Foxandxss> uh uh, un ColdWind
05:59 <+ferdy> ColdWind: excepto que no tienes que hacerlo en un fichero
06:00 <+ferdy> ColdWind: tiene pinta de que tu fichero no es particularmente denso, así que de información útil no tienes 2Gb
06:00 <+ferdy> pero tampoco tienes la opción de recodificarla, supongo
06:00 <+ColdWind> no
06:00 <+ColdWind> y hay muchas palabras repetiras en varios terminos
06:01 <+ferdy> uhm
06:01 <+ColdWind> puede haber 6 terminos de 3 palabras e lso que solo varía una
06:01 <+ferdy> describe el formato del fichero
06:01 <+ferdy> ID …. ?
06:01 <+ColdWind> TermID <word1> <word2> … <wordN>

No recuerdo que en la universidad nos hayan puesto retos de ese tipo, tal ves sea necesario un poco más de “complejidad” para que seamos mejores.