El problema con esto último es que es necesario tener una cuenta yahoo y entrar al grupo. Por suerte se puede dejar más tarde. Pero mientras tanto estuve dentro, copie el link directo al archivo la extensión.
Ojala les sea de ayuda a los usuarios de delicious toolbar 😀 .
…o como un buen día acaba arruinado por esa basura.
Ayer fue un día prolífico de web-developeo, gracias a que me tope con parte del trabajo ya implementado (y libre), facilitándome mucho las cosas :D. Gracias a eso, podré añadirle otro toque «2.0» a Gonium.
En los últimos días, por motivos de fuerza mayor, he estado trabajando con otro laptop, … con windows xp (chan!). Es acá donde recordé que gran cantidad de las herramientas que ocupaba para desarrollar, cuando desconocía Linux, eran propietarias, pesadas y expiraban a los 10-15-30 días (a menos claro que…). Aproveche esta oportunidad para hacer las pruebas de rigor en Internet Explorer. Como era de suponerse, me causo algunas reacciones urticantes.
Entonces investigando encontré algunas cosas útiles, libres y para windows:
7-zip sino como diablos abro un tar.gz o un tar.bz2 😆
Xampp un instalador de Apache+PHP(4/5)+Mysql5 y PHPMyAdmin. Lo bueno es que trae además:
mod_rewrite (Apache) Necesario para trabajar con Zend_framework y las urls para SEO. Hay que activarlo en el httpd.conf descomentado la linea que lo carga).
xdebug (PHP) Aunque no viene preinstalado, pero es cosa de editar el php.ini, sacar zend_optimizer y descomentar las lineas de xdebug (vienen seguidas).
Zend Framework, pack de clases + documentación + … + guías, para trabajar con PHP5
Notepad++ Editor te texto plano, para trabajar con código fuente en un montón de lenguajes.
Poedit Interfaz gráfica para gettex, una aplicación que permite realizar traducciones desde y en nuestro código fuente.
Basado en el código que me encontré, quería implementar un nuevo módulo para mi sitio. Como trabajo con Zend Framework, es cosa de crear una nueva carpeta con la siguiente estructura:
Luego cree mi «MyNewModule_IndexController» (en root/modules/my_new_module/controllers) y mi script de vista index.phtml (en root/modules/my_new_module/views/scripts).
Es tan sencillo y corto que no lo voy a postear.
¿Y donde esta el EPIC FAIL?
Probé el nuevo módulo en Firefox durante todo el día, hasta que se me ocurrió ¿porque no probarlo en IE7 si estoy en windows?
Tal vez se vea como una tremenda reinvención de rueda.
¿Por qué?
Hay un dicho muy cierto: si quieres las cosas bien hechas, hazlas tu mismo.
Hay una infinidad de CMS’s a lo largo y ancho de la web. Realmente la fauna es inmensa. Hay CMS’s fáciles de instalar, otros fáciles de administrar, fáciles de extender, fáciles de modificar, etc…
Mi propia reinvención partirá siendo Gonium. Espero poder agregar lo bueno y evitar lo malo de los otros CMS’s. Pero para que no sea una reinvención total, decidí ocupar un Framework PHP: Zend Framework. ¿Por qué ZF? Básicamente porque ya lo conocía. Cuenta con documentación bastante buena, ciclos de desarrollo ágiles, es libre, tiene buena comunidad, etc…
No esperen mucho, está en una etapa embrionaria muy temprana aún. Prácticamente TODO se debe hacer a mano, incluyendo instalación, configuración de la base de datos, crear/instalar módulos, etc…
Además es una buena oportunidad para probar Google Code como repositorio del proyecto.
Inspiración
Lamentablemente ninguno de los CMS’s que he ocupado me ha logrado satisfacer del todo. Generalmente cumplen con su objetivo, pero siempre hay algo que le falta a alguno que sí tiene el otro. O algo que le sobra… Así que pretendo juntar lo bueno y evitar lo malo de aquellos que he probado.
Por ejemplo, admiro y me inspiro en los siguientes:
Mi problema inicial era por decirlo menos, «simple». Cree unas clases para manejar «módulos» (like-joomla), «bloques» (like-phpnuke) , widgets (like-wordpress). Es decir pequeños recuadros de html que puedo poner en una barra lateral, como en este blog.
OK. Mi diseño consistió en:
Clase Dock: es un «área» donde se pueden encolar los widgets. Ejemplo: un leftSidebar, un menuBar, etc…
Clase Widget: una clase básica de la cual heredaran los demás widgets. Un Widget entonces será un pequeño espacio que retornará HTML.
Entonces, surgió la problemática. Algunos de mis Widget_* necesitaban recursos externos (un script de vista, un modelo, una traducción, etc…). Así que pensé «OK, necesito un directorio de recursos para cada widget». El problema está en que en algunas partes del código, tengo las instancias de los widgets, pero no necesariamente conozco su nombre de clase, pues el método $widget->getContent() es el que hace la magia de pegar el HTML en su posición. Entonces pensé «ok, necesito un método que me retorne el nombre del ‘directorio de recursos’, puede ser en base al nombre de la propia clase».
Tal vez se preguntan: ¿qué es Debian Day? Bueno antes de explicar en qué consiste, tenemos que saber qué es el proyecto Debian. Dicho proyecto es una distribución de Software Libre, cuyo propósito principal es el de crear un sistema operativo universal. Hasta el día de hoy cuenta con más de 11 arquitecturas soportadas y varios núcleos, de los cuales Linux es el más conocido. Su estructura y organización basada en miles de voluntarios distribuidos en todo el mundo, su compromiso con el Software Libre, su contrato social (http://www.debian.org/social_contract.es.html), la excelencia técnica, seguridad y la probada fiabilidad, distinguen a Debian entre otras distribuciones de GNU/Linux.
Cada año se celebra a nivel internacional el Día de Debian ( DebianDay ) que conmemora la fundación del proyecto Debian en el año 1993 por Ian Murdock. Chile no queda fuera de esto de ninguna manera, por la misma razón les invitamos a participar a este magnifico evento el día 14 de Agosto en la ciudad de Valparaíso. El lugar este año corresponde a la sede Valparaíso de Duoc, ubicada en Av. Brasil Esquina Rodriguez. Cabe destacar que contaremos con Charlas y talleres dictados por destacados expositores de nuestro país tales como; Bruno Barrera ( devel de Debian.org ), Franco Catrín, Fernando San Martín, Horst Von Brand y muchos más.
DebianDay es un evento que realiza a nivel mundial tal como lo muestra http://wiki.debian.org/DebianDay
En el caso local, hemos estado trabajando en un sitio web para el evento, de tal manera que a medida que pasen los años se guarde un registro de todo DebianDay Chile anterior. Es muy probable que contemos con streaming de las charlas y talleres a realizarse, cuyos temas irán aumentado de dificultad a lo largo del día. Algunos temas son: seguridad en linux, clustering, firefox y xul, Xen, etcétera. Si deseas mayor información puedes visitar el sitio http://debianday.debianchile.cl. Recomendamos suscripción al feed rss para mayor comodidad http://debianday.debianchile.cl/feed/ .
Leía hoy (y discutía en IRC) sobre una noticia que responde a una pregunta muy común: ¿Que tan usado es Linux?
El mismo estudio revela que hasta hoy, la cifra llega apenas al 0,8%. Lo cual para mi, no cuadra mucho con:
El evidente crecimiento y adopción que han tenido las diversas distros por parte de instituciones públicas alrededor del mundo.
La incorporación de Linux a programas sociales (como OLPC).
El hecho de ver diariamente nuevas personas en los foros que frecuento, usuarios añosos de windows que buscan ayuda para cambiarse.
Que ahora algunas cuantas compañías ensambladoras de PC’s de Escritorio y Notebooks decidieran incluir linux como Sistema Operativo en sus equipos.
Que muchos otros equipos móviles (Celulares, PDA’s, Subnotebooks, …) nuevos estén ocupando sistemas basados en Linux.
Que gente de rubros totalmente ajenos al mundo de la informática se hayan cambiado (ejemplos cercanos: una compañera de colegio que ahora estudia periodismo, mi hermano que estudia derecho, varios otros amigos (no-informáticos) que me preguntan por Linux o me piden ayuda para instalarlo) y varios compañeros de carrera que en primer año eran Fanboys a muerte de la ventana (no pasábamos de 2 o 3 linuxeros) que ahora trabajan con *Ubuntu (o incluso Arch).
Otras personas que trabajan con Linux en empresas o instituciones han decidido ocupar Linux incluso por sobre otros Sistemas Operativos supuestamente «a medida» de las máquinas (por ejemplo Solaris para máquinas UltraSparc).
¿Porque entonces la cifra de participación sigue siendo tan baja?
Tengo algunas hipótesis al respecto, espero tener razón:
Hace unas semanas encontré respuestas a preguntas que me planteé hace años acerca de PHP.
Unas de las primeras cosas que aprendemos cuando conocemos PHP, es que al trabajar en la web, el motor funciona con ciertos límites. Límite de tiempo de ejecución (30 segundos por omisión) y límites de uso de memoria (16M por omisión en mi caso).
Lo malo no es que existan límites, todo lo contrario, en el caso de una aplicación web, de naturaleza concurrente, es necesario que lo que hace un usuario no pase a llevar lo que hace otro, cuidando de pasada los recursos de la máquina servidora. Sería nefasto programar mal un ciclo, de tal modo que en ciertas condiciones se vuelva infinito y además la ejecución no parara nunca. También sería catastrófico que tan solo 2 usuarios ejecutando un script terminaran haciendo colapsar el servidor por uso excesivo de memoria. El problema está cuando estamos desarrollando y olvidamos estos límites, lamentablemente en las situaciones más incomodas es cuando se manifiestan, por ejemplo al extraer demasiados datos desde una base de datos, o al hacer una operación muy larga en uso de disco (por ejemplo copiar muchos archivos de un lado a otro), o al leer un archivo muy grande, etc…
Entonces las preguntas que me hice hace años fueron algo así:
¿Como puedo saber cuanto tiempo demora la ejecución de mi script? ¿Como puedo saber cuanto que funciones/procedimientos son las más lentas? ¿Como puedo saber cuanta memoria consume mi script en ciertas condiciones? ¿Como puedo saber cuanta memoria consume una operación?
No se si es porque estoy muy acostumbrado a Linux, en suma con mi inexperiencia con Solaris (salvo este intento), pero creo que no podría sacar una evaluación «positiva» a la prueba que hice de OpenSolaris Indiana.
Mi primera impresión fue que es un Sistema bastante «bonito», incluso llegue a sentir como si estuviera instalando Ubuntu. El instalador es bastante facil de entender, realmente no tuve ninguna dificultad para instalarlo.
Sigo con Kubuntu Hardy Heron. Por fortuna o desgracia, la distro trae Firefox 3 beta 5 como la version actual de «firefox».
Una de las gracias de esta version, es que al descargar un archivo y abrirlo, nos pregunta con que programa hacerlo.
Es mejor que lo que había antes, pero aun no es tan bueno. El programa lo escogemos para el protocolo, no para «el tipo de archivo», así que todos los archivos locales (interpretados como protocolo file) se agregaran a la lista.
Además, igual es latoso asociar cada tipo a un programa distinto, cuando KDE maneja su propia asociación de archivos (y de antemano). Entonces acá fue donde Amsn me dio una pista: