SearchNavigation |
perlIntegrating Perl in a wider distribution: The Debian pkg-perl groupSubmitted by gwolf on Mon, 03/03/2008 - 22:32.
Written in...: 2007 Perl modules are very well organized in CPAN: They can usually be easily found and, thanks to tools such as the CPAN shell, they are easy to install and update even by novice users. However, when people start using Perl systems (as opposed to using Perl for writing such systems), asking them to take care of the dependencies or having them worry about different distribution architectures is a pain that should be spared from them. Resumen: Los módulos de Perl están muy bien organizados en el CPAN: Son fáciles de encontrar, y, gracias a herramientas como el shell de CPAN, son fáciles de instalar y actualizar hasta por usuarios novatos. Sin embargo, cuando la gente no involucrada comienza a utilizar sistemas basados en Perl (en contraposición con utilizar Perl para escribir dichos sistemas), pedirles que se preocupen de cubrir las dependencias o que tengan en mente diferentes arquitecturas de distribución de software es una molestia por la que debemos evitar que pasen.
( categories: )
Coordinación de esfuerzos en grupos de desarrollo e integración de Software LibreSubmitted by gwolf on Wed, 02/20/2008 - 21:28.
Written in...: 2008 I sent this short article for publication at the Software Gurú magazine. It describes the work we do at Debian's pkg-perl group. This is based on my slightly earlier talk Integrating Perl in a wider distribution: The Debian pkg-perl group, shortened and translated to Spanish. Resumen: Envié el siguiente artículo corto para su publicación en la revista Software Gurú. Describe el trabajo que hacemos en el grupo pkg-perl de Debian. Esto está basado fuertemente en mi plática Integrating Perl in a wider distribution: The Debian pkg-perl group, reducido y traducido al español. El artículo apareció en la edición agosto-octubre de 2008 de Software Gurú - Puedes ver también la versión que fue impresa. Coordinación de esfuerzos en grupos de desarrollo e integración de Software LibreGunnar Eyal Wolf IszaevichInstituto de Investigaciones Económicas - UNAMAcercarse a comprender el funcionamiento y la organización de las tareas dentro de las comunidades de desarrollo de software libre es una tarea harto complicada ante quien se acerca con curiosidad, proveniente del mundo del software propietario, desarrollado e integrado centralmente y dentro de compañías que operan como "cajas negras" - Sin exponer sus procesos, sin ofrecer a los clientes una ventana a cada uno de los momentos de su proceso de desarrollo. Comprender cómo funcionan las comunidades de Software Libre es una gran oportunidad para comprender distintas metodologías de ingeniería de procesos, en entornos donde todas las metodologías formales simplemente no tienen cómo ser aplicadas. El ejemplo que presento se centra en el trabajo que realizo en el grupo de empaquetamiento de módulos de Perl (pkg-perl) para la distribución Debian GNU/Linux - Perl es un lenguaje de programación muy popular, especialmente para las tareas de administración de sistemas y de desarrollo de sitios Web, y uno de sus más importantes recursos es el CPAN (Comprehensive Perl Archive Network), una enorme biblioteca de módulos nacida en octubre de 1996, y que a febrero del 2008 cuenta con más de 13,000 módulos independientes. CPAN ofrece a sus usuarios, además, herramientas para el desarrollo y seguimiento colaborativo, como un sistema de seguimiento de fallos y un sistema de organización, búsqueda y consulta de la documentación de dichos módulos. El proyecto Debian, por su parte, es la distribución de software libre, hoy por hoy, más grande del mundo, con más de 15,000 paquetes fuente independientes. Su propósito es presentar una colección coherente, consistente y con un elevado nivel control de calidad. El reto del grupo pkg-perl es empaquetar (de una manera consistente con las políticas de Debian) y dar seguimiento a los fallos que vayan apareciendo en dichos paquetes. Debian ofrece a sus usuarios un sistema de seguimiento de fallos centralizado a través del cual pueden comunicarse directamente con los "mantenedores" de cada uno de los programas. Son ellos los responsables de determinar, para cada fallo, si cae en el ámbito de la consistencia del sistema Debian (y por tanto debe ser corregido directamente por ellos) o si es relativo a la lógica de uno de los paquetes (en cuyo caso debe ser corregido en coordinación con el autor de dicho programa, para que la corrección "fluya" hacia las otras distribuciones que lo integran y, en general, hacia todos sus usuarios). Hasta hace unos cuatro años, la norma en Debian era que cada mantenedor fuera responsable exclusivo de los paquetes que le interesaran; en 2003 nació el sistema Alioth, basado en GForge, y ofreciendo de una manera centralizada las herramientas necesarias para un verdadero desarrollo colaborativo, se comenzaron a configurar grupos amplios de mantenimiento de infraestructura - Uno de los primeros en aparecer, ante la iniciativa de Joachim Breitner, fue pkg-perl. El eje fundamental en torno al cual gira el trabajo del grupo es el depósito Subversion, donde mantenemos sobre un esquema de manejo de versiones todos nuestros paquetes, programas y documentos, así como los cambios independientes que vamos realizando sobre de ellos. Los módulos del CPAN ofrecen varias ventajas para su mantenimiento masivo colaborativo - A diferencia de lo que ocurre en muchos lenguajes, casi la totalidad los módulos están basados en una estructura de compilación ampliamente conocida (ExtUtils::MakeMaker o Module::Build). En primer término, esto permitió la creación de dh-make-perl, un script bastante genérico cuyo objetivo original era simplificar la creación de paquetes Debian directamente a partir del CPAN para ser instalados localmente por los administradores, pero que fue extendido por el grupo pkg-perl para automatizar la creación de paquetes. Si bien formalmente el grupo pkg-perl cuenta con 70 miembros, en todo momento hay aproximadamente 15 miembros activos. Actualmente, el grupo es responsable por 660 paquetes - Responsable de dar seguimiento a los fallos reportados, de mantenerlos al día (tanto respecto a nuevas versiones producidas por sus autores como respecto a las políticas en Debian, que van cambiando poco a poco reflejando la evolución del proyecto), de realizar operaciones transversales de control de calidad a través de todos los paquetes, y demás. Para simplificar la coordinación de todas estas tareas, los integrantes del grupo (especialmente Martín Ferrari, de Argentina, Gregor Herrmann, de Austria, y Damyan Ivanov, de Bulgaria) hemos creado un script que compara el estado de los módulos en CPAN, los paquetes en el depósito Subversion, los reportes en el sistema de seguimiento de Debian, y los paquetes publicados en la distribución misma de Debian. Hoy en día, este script es nuestra principal herramienta, brindándonos un reporte de estado condensado y adecuado específicamente a nuestro flujo de trabajo - Y tan útil resulta este resumen que actualmente estamos adecuando este script para que lo utilicen también otros grupos con un enfoque similar; probablemente para cuando este artículo esté impreso, lo estén utilizando ya los grupos de empaquetamiento de Python y Java - habiendo varios más en el horizonte. En resumen, el ejemplo que aquí presento es sólo uno de tantos - Pero es ilustrativo. Bajo el modelo del software libre, las barreras entre desarrollo e integración se desvanecen, y el contacto directo entre usuario final y los desarrolladores deja de ser una rara ocurrencia, y se vuelve la norma - algo que damos por supuesto en todo momento de nuestros desarrollos.
( categories: )
ProtoWrap: Using wrappers to protect specific network servicesSubmitted by gwolf on Sun, 02/10/2008 - 19:20.
Written in...: 2001 I wrote my final paper for graduation on implementing a generic connection wrapper that can be extended to understand and protect specific protocols. I presented this project at YAPC::NA 2001, and published a short article on Usenix's ;login: magazine (published in the June 2002 number).
Resumen: Escribí mi proyecto final de graduación implementando un wrapper genérico de conexiones que puede ser extendido para comprender y proteger protocolos específicos. Presenté mi proyecto en el YAPC::NA 2001, y publiqué un corto artículo en la revista ;login: de Usenix, en el número de Junio del 2002.
( categories: )
Security in Perl scripts / Seguridad en scripts de PerlSubmitted by gwolf on Sun, 02/10/2008 - 05:16.
Written in...: 2002 I presented this tutorial at Congreso de Seguridad en Cómputo 2000, and later rewrote it (and moved it to a free, portable format) for Días de Software Libre at Guadalajara, May 2002. In this tutorial, I review some important key points not to fall in security errors while programming with Perl. I later adapted it together with a coworker, Alex Juárez, and we presented it in English at YAPC::Europe 2002. Here you will find this text both in Spanish and in English.
Resumen: Un tutorial que presenté para el Congreso de Seguridad en Cómputo en noviembre del 2000, y tras reescribirlo en un formato libre y portable, lo presenté de nuevo en los Días de Software Libre en Guadalajara, mayo del 2002. Lo adapté y traduje junto con mi compañero de trabajo Alex Juárez, y lo presentamos en el YAPC::Europe::2002. Reviso aquí una serie de puntos importantes para no caer en importantes errores de seguridad al programar con Perl. Está tanto en inglés como en español.
( categories: )
Scripts de seguridad en PerlSubmitted by gwolf on Wed, 02/06/2008 - 02:59.
Written in...: 2000 Tutorial I presented at Computer Security conference 2000, giving many examples of small Perl scripts that can help improve security at a site. Resumen: Tutorial que presenté en el congreso Seguridad en Cómputo 2000, dando varios ejemplos de pequeños scripts en Perl que pueden ayudar a la seguridad de un sitio.
( categories: )
SmbGateSubmitted by gwolf on Mon, 02/04/2008 - 05:14.
Written in...: 2006 SmbGate is a little program written in Perl (using the Embperl framework) that allows users to connect to their home directories in a SMB server (be it Samba running on an Unix-like environment or Windows). It implements read-only access, using a Web-based interface. Resumen: SmbGate es un pequeño programita escrito en Perl (usando el framework Embperl) que permite a los usuarios conectasre a sus directorios raiz de un servidor SMB (sea Samba sobre algún Unixoide o Windows), implementando acceso de sólo lectura, sobre una interfaz Web
( categories: )
Programación orientada a objetos con PerlSubmitted by gwolf on Sun, 02/03/2008 - 21:27.
Written in...: 2004 Perl is one of the most popular languages today. Many people, however, do not think it is a good language to do objet-oriented programming, that it is a difficult task to do it or similar things, and leve Perl for tasks that are just too simple. In this tutorial I present an introduction to object-oriented programming in general, and show how to use this technique in Perl.
Resumen: Perl es uno de los lenguajes más populares hoy en día. Mucha gente, sin embargo, no cree que sea bueno al utilizar programación orientada a objetos, que es difícil lograrlo, o algo por el estilo, y relegan a Perl a tareas demasiado simples. En este tutorial doy una introducción general a la programación orientada a objetos, y enseño cómo utilizar esta técnica en Perl.
( categories: )
EOT - Expire Old ThreadsSubmitted by gwolf on Sun, 02/03/2008 - 20:39.
Written in...: 2003 Copyright (c) 2003, 2005 Gunnar Wolf - gwolf@gwolf.org RATIONALEI started using mutt as my mail reader a couple of months ago. One of the features I most liked about mutt is that the messages are by default sorted by thread - this really helps following a long conversation in a very active mailing list! In order to have the threading as complete as possible, I started archiving all my old messages - of course, as mutt users do, I now save each mailing list to a different folder. Life was great. Resumen: Copyright (c) 2003,2005 Gunnar Wolf - gwolf@gwolf.org RAZONESComencé a usar mutt como mi lector de correo hace un par de meses. Una de las características que más me gustaron de mutt es que los mensajes normalmente aparecen ordenados por hilo - esto ayuda realmente a seguir una conversación larga en una lista muy activa! Para preservar el hilado de los mensajes, decidí archivar todos mis mensajes viejos - claro, tal como acostumbran hacer los usuarios de mutt. Cada lista va para un folder diferente, y la vida es bella. Sin embargo, la vida no era perfecta. Después de un par de semanas, algunas de mis listas tenían tanto tráfico -con más de 2000 mensajes archivados- que a mutt le tomaba demasiado tiempo ya abrirlos. Y si bien parte de la culpa puedo echársela a que uso buzones en formato mbox, el cambiar a maildir no haría más que posponer este mismo problema por un par de semanas. Y no quería cortar artificialmente el buzón cada cierto tiempo, pues perdería los beneficios de mis queridos hilos. Me encontré con el maravilloso y tremendamente completo módulo de Perl Mail::Box, y me dí cuenta que mover hilos completos era muy simple, así que escribí este programita que expirara hilos en vez de mensajes individuales. USOEl uso es muy simple. Antes que nada, como siempre: Las opciones válidas son:
-f and -F se refieren a un buzón -un archvio si es tipo mbox o un directorio si es tipo maildir o MH- en el directorio local, o un path completo o relativo al buzón en cuestión. -t y -T indican el tipo de buzón a abrir - mbox, maildir or mh. -p indicates how old (in days) should the last message in a thread be Si no especificas -v, EOT correrá en silencio. Si especificas -v un LICENCIAEOT is está cubierto por la GNU GPL versión 2 o superior, a tu discreción. REQUISITOSEOT fue escrito en Perl, y por tanto requiere Perl (versión 5 o Puedes encontrarlos en el CPAN. Si usas un sistema Debian, están respectivamente en los paquetes libmail-box-perl y libtimedate-perl. AUTOREOT fue creado por Gunnar Wolf (gwolf@gwolf.org) en mayo del 2003. Puedes usarlo libremente para el propósito que sea, siempre que te BAJARLOOk, veo que te interesó ;-) Puedes bajar la versión 1.1 de EOT aquí.
( categories: )
IPManageSubmitted by gwolf on Sun, 02/03/2008 - 20:24.
Written in...: 2003 A system I wrote while working for FES Iztacala. It helps a network administrator on his tough job relating MAC and IP addresses, generating configurations for the DHCP server and for ARP. Resumen: Un sistema que hice cuando trabajé para la FES Iztacala. Ayuda a los administradores de redes en su ardua labor relacionando direcciones IP y MAC, generando configuraciones para el servidor de DHCP y ARP.
Perl 6 o los Nueve Jinetes del ApocalipsisSubmitted by gwolf on Sun, 02/03/2008 - 19:37.
Written in...: 2002 This talk was prepared for Congreso GNU/Linux 2002, prepared by GULEV in Veracruz, December 2002. Here I talk about the process leading to the creation of this new version of Perl, and the main changes we can expect for this language. Resumen: Esta la preparé para el Congreso GNU/Linux 2002, preparado por el GULEV en el puerto de Veracruz, en diciembre del 2002. Presento a qué proceso de desarrollo sigue la i creación de esta nueva versión de Perl, y qué cambios principales podemos esperar para este lenguaje.
( categories: )
Fundamentos de programación en PerlSubmitted by gwolf on Sun, 02/03/2008 - 18:54.
Written in...: 2002 A little tutorial I gave at Talleres de Linux en la UPN in August 2002, trying to teach the main elements of Perl programming. Resumen: Un pequeño curso que impartí en agosto del 2002 en los Talleres de Linux en la UPN, cuyo objetivo es enseñar los principales elementos de la programación en Perl.
( categories: )
TEPATCHE - OpenBSD automatic system patcher / Parchador Automático de sistema OpenBSDSubmitted by gwolf on Sun, 02/03/2008 - 17:57.
Written in...: 2003 RATIONALEOpenBSD is a stable, robust and secure operating system. Systems administrators running OpenBSD tend to be also more security conscious than administrators running other operating systems. Nevertheless, patching an OpenBSD system can be a tedious process for many people. If a person manages multiple OpenBSD servers, patching each of them can be a long and repetitive task, ideal for automatization. Resumen: RAZONESOpenBSD es un sistema operativo estable, robusto y seguro. Los administradores de sistemas que corren OpenBSD tienden a ser mas conscientes de la seguridad que los administradores corriendo otros sistemas operativos. En ocasiones, parchar un sistema OpenBSD puede volverse un proceso tedioso para muchas personas. Si una persona se encarga de muchos servidores OpenBSD, el parchar cada uno de ellos puede ser una tarea larga y repetitiva, ideal para automatizarla. REQUISITOS
NOTAS
USOTepatche consiste en un archivo de programa (/usr/local/sbin/tepatche), un archivo de configuración (/etc/tepatche.conf) y un directorio de datos (/var/db/tepatche). El archivo de configuración contiene los siguientes campos:
Con este archivo en su lugar, Tepatche corre simplemente sin argumentos, solo /usr/local/sbin/tepatche. Sugiero que lo corras desde tu crontab (ver man crontab(5)). Sugiero correrlo una vez al día, cuando mucho una vez por cada hora - por favor no inundes ftp.openbsd.org con peticiones cada minuto ;-) ARCHIVO DE ESTADOTepatche mantiene la información que necesita acerca del estado del sistema en el 'statusfile' (por default, en /var/db/tepatche/statusfile). Este es un archivo de texto plano con el siguiente formato:
El descriptor usualmente llevará el formato <arch>/<num>_<description>.patch - Indica la arquitectura para la cual fue creado, el número consecutivo de parche, una muy corta descripción acerca de su función, y el sufijo '.patch'. Esta es la nomenclatura estándar que sigue el equipo de Open:BSD. Un nombre ejemplo podría ser: POR HACERAl menos:
DESCARGASPuedes obtener Tepatche (actualmente version 0.85) Justo aqui. ¿POR QUE TEPATCHE?Tepatche es una bebida ligeramente alcohólica en México, en donde yo vivo y donde el programa fué concebido. Tepache es el resultado de AGRADECIMIENTOSPrimero y sobre todo, quiero agradecer al equipo de OpenBSD por la increíble cantidad de trabajo que hay puesto en este proyecto.
|
Random Acidfree itemsTalks, papers and documents by categoryBlog posts by categoryLatest comments
Current weatherMexico City ![]()
Mon, 10/06/2008 - 18:45 |