¿Los tweets enviados simplemente pasan a la historia?
¿Quién los leerá pasado un tiempo? y ¿Como harán para llegar a ellos?
¿Alguien podrá encontrar esos 140 caracteres transcendentales que enviamos en algún momento?
A la fecha de este artículo mi cuenta @leninmhs tiene solo 650 tweets enviados (140*650 = cerca de 91.000 caracteres aproximadamente), siquiera yo puedo encontrar alguno que me interese como referencia de un tema técnico, para dárselos a un conocido, o para volverlo a transitar. La propuesta que traigo es sencilla, seleccioné los tweets orientados a tecnologías libres (privativas solo para criticarlas) sobre los que he escrito, de esta forma pueden encontrarlos a partir de un punto de referencia o de partida, buscando fácilmente desde San Google.
01-08-12 Cuando tengan que limpiar #html usen #Perl así: s/<(?:[^>'»]*|([‘»]).*?\1)*> faltaría limpiar cc @NelsonFx@iamemhn
Una expresión regular que quita o limpia etiquetas HTML de la cadena o bloque de texto que nos interesa, adicional se elimino el muy usado aun mediante otra expresión de sustitución. Muy útil y importante tener a la mano el siguiente código:
[sourcecode language="perl"]
#!/usr/bin/perl -wmy $html = '
&lt;html dir="ltr" lang="es"&gt;
&lt;head&gt;&lt;meta charset="UTF-8" /&gt;&lt;/head&gt;
&lt;body style="font-family: small-caps;"&gt;
&lt;br/&gt;&lt;b&gt; HTML A TEXTO&nbsp; / HTML TO TEXT&nbsp;&nbsp; &lt;/b&gt;&lt;br/&gt;
&lt;br/&gt;&lt;b&gt; limpiar cadena de texto de html&nbsp; / clean html text string&nbsp; &lt;/b&gt;&lt;br/&gt;
&lt;br/&gt;&lt;div style="border-radius:5px;box-shadow:2px #DFDFDF;"&gt;&lt;b&gt; quitar etiquetas html / remove html tags &lt;/b&gt;&lt;/div&gt;&lt;br/&gt;
&lt;img src="img/perl-regex-html.jpg" /&gt;&lt;br/&gt;
&lt;br/&gt;&lt;div&gt;&lt;b&gt;&lt;font color="red"&gt;&amp;nbsp;Lenin Hernandez&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;etiquetafalsa&gt;&lt;b&gt;Twitter: @leninmhs &lt;/b&gt;&lt;/etiquetafalsa&gt;&lt;br/&gt;
&lt;b&gt;Lenguaje de Programación: &amp;nbsp;&amp;nbsp;&lt;/b&gt;Perl&lt;br/&gt;
&lt;b&gt;Sistema Operativo:&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/b&gt; todos en los que se interprete Perl.
&lt;/body&gt;
&lt;/html&gt;';
$html=~ s/&lt;(?:[^&gt;'"]*|(['"]).*?\1)*&gt;//gs; #regex que limpia el html
$html=~ s/&amp;nbsp;//g; #regex que limpia el &amp;nbsp;
print $html;
[/sourcecode]
Listado de Entornos de Desarrollo (IDE) para programar en Python, en lo particular he usado y me gusta Komodo Edit. Muy ligero y practico comparado con NetBeans ó Eclipse (escritos ambos en Java de ahí el consumo exagerado de recursos…)
Conocemos manejadores de contenidos muchos en PHP, en Perl hay, en Python también hay, pero en Python y haciendo uso del Framework de Desarrollo por excelencia en Python Django es como mucho pedir para los que lo usan, pero si los hay.
La librería ReportLab es excelente para generar PDF en el lenguaje Python. Si usan alguna distro basada en Debian pueden comenzar a usarla con:
#aptitude install python-reportlab
Después de tenerla instalada, a programar en python y leer la documentación de reportlab. El pdf que programe hacia mucho uso de tablas, se inserto imagen y algún otro detalle. Quedo así:
10-06-12 import shutil shutil.rmtree(‘directorioBorrar’) RT @seppo0010 Pregunta tonta: hay alguna forma fácil de hacer un `rm -rf <dir>` en python?
Pregunta en realidad nada tonta realizo un programador Python en twitter llegue a esa pregunta el dia que la formuló por que casualmente en ese momento me encontraba trabajando en manipulación de archivos en Python. shutil.rmtree(‘directorioBorrar’) borrara la carpeta que le indiquemos de manera recursiva, es decir con todo lo que tenga adentro.
10-06-12 modulos traceback y logging en #Python son el camino a seguir para recolectar logs de error, info debug, etc
El tweet tiene un error no es para recolectar logs, es para generar logs desde nuestras aplicaciones, estos dos módulos que están disponibles para todos con solo importarlos (import traceback, logging), usarlos es realmente sencillo y agradable. En mi caso la aplicación en los que los use genera un archivo de log, fijense en caso de ocurrir un error queda registrado con exactitud en que linea ocurrió, en que archivo, en que método, cual el error, etc… todo altamente configurable y programable, mi archivo de log se genera con lineas como las siguientes:
[2012-06-09 23:35:57]Error modificando jefe de familia = UPDATE familia set nombre=’eylin ‘, apellido=’regalado’, sexo=’F’, fecha_nacimiento=’2000-01-01′, ocupacion=’administradora,’asdasdasdasdasdas», edo_civil=’Viudo’, nacionalidad=’V’, ingreso=’3555′, instruccion=’Bachiller’ WHERE cedula=14569854 – Error Clase -><class ‘sqlite3.OperationalError’> – Error Descripcion ->near «asdasdasdasdasdas»: syntax error – Error Traza ->[(‘inicial.py’, 451, ‘modificarJefeFamilia’, ‘self.dbconn.execute(str(sql))’)]
[2012-07-27 11:38:33]Se genero planilla pdf de familia = 16412472 el usuario lo guardo en: /home/lhernandez/Escritorio/familia-16412472.pdf
[2012-08-14 21:05:23]Inicio session usuario lenin hernandez
26-05-12 No había caído en cuenta que los estilos en #QT4 es sencillamente #CSS3
Así es la librería para aplicaciones gráficas tipo escritorio soporta estilos de hojas de cascada, incluso en su versión 3 ( CSS ) QT4. ¿Que significa esto? pues que podemos decorar botones, cajas de textos y cualquier elemento que usemos con esta librería con la misma belleza que se usa en las paginas web mas atractivas, ya que se le pone directamente el estilo css a cada elemento que nos interese. Las siguientes imágenes pertenecen a una aplicación desarrollada en Python con QT4 y el binding PyQT4 el decorado usa en efecto CSS3.
Una vez mas alagando a SQLite esta vez haciendo referencia al Plugin de Firefox para gestionar este motor de base de datos. Una imagen vale mas que mil palabras:
SQLite Manager – Mostrando una tabla con mas de un (1) millón de registros
Trabajar con equipos de desarrollo de software usando tecnologías libres y software libre es muy bueno de hecho es el mejor camino, mas sin embargo sin un marco de trabajo y reglas definidas para canalizar y optimizar constantemente este gran poder que le otorga el software libre a grupos de desarrollo no se llega muy lejos. En la actualidad las Metodologías de Ágiles son el camino mas rápido, eficiente y divertido de organizar y conformar equipos altamente productivos. Doy Fe de ello.
23-02-12 Comparador on line de software para wikis http://www.wikimatrix.org se pueden buscar por características
Quieren o necesitan instalar un Wiki pero… ¿no se deciden por cual usar?¿necesitan una funcionalidad especifica?¿Tienen que usar un lenguaje o base de datos en particular para ser cónsono con la organización? entonces revisa esta pagina que compara cada detalle de los software de wiki.
Por cambios en el licenciamiento de los productos java por parte de Oracle, el proyecto Debian decidió remover los paquetes de java (sun-java6-jre, sun-java6-jdk, etc… ) de los repositorios de software de Debian, estando ahora solo disponibles los realmente libres (openjdk-6-jre, openjdk-6-jdk, etc… ) que se pueden instalar con un sencillo aptitude install openjdk-6-jre
13-10-11#include <stdio.h> void main() {printf(» Dennis Ritchie Thanks «);} > bye.c; gcc -o dennis bye.c
12-10-11 Dennis Ritchie, Creator of the «C» language and co-xreator of Unix is dead at age 70…..all programmers owe him a moment of silence.
El padre creador del Lenguaje de Programación C y co-Creador de Unix murió. Para rendir homenaje escribí ese programita rápido en lenguaje C y la explicación para compilarlo usando GCC en Debian GNU/Linux . Pueden probarlo así:
creen un archivo de nombre bye.c (en realidad puede ser el nombre que quieran)
Les creara un archivo de nombre dennis el cual es un binario y pueden ejecutar así:
lenin@i5 ~ $ ./dennis Dennis Ritchie Thanks
lenin@i5 ~ $
08-10-11 SQLite cuan agradable eres que humilde y sencillo en las tareas que te encomiendo!
SQLite una base de datos que no necesita configuración (no IP, no usuario y contraseña, no puerto de escucha), accedes solamente dando la ruta al archivo que es la base de datos, generalmente una extensión .sqlite o .db ya hablamos en este blog de los clientes gráficos en Debian pero hay mucha tela que cortar aun de esta bd en este blog.
03-08-11 Entre mar de opciones de alta disponibilidad en postgreSQL – Bucardo, pgCluster, Slony, PgPool2, postgres9 uno de ellos sera el ganador!!
Si han leído este blog en otras oportunidades lo sabrán, PgPool fue el ganador para lo que necesitábamos una herramienta con la cual brindar alta disponibilidad en PostgreSQL mediante replicación, pool de conexiones, balance de cargas y otras bondades de las que ya hablamos en este blog este post «Alta Disponibilidad con PgPool-II» en de estos trabajos en conjunto con @carlosgr_arahat@deglip y @lennincaro ahora existe la comunidad TuBaseDeDatosLibre.org.ve
24-06-11 Synaptic Dropped From Ubuntu 11.10 – Canonical has decided that it is time for the SoftwareCenter to replace Synaptic as well is.gd/GW92fn
Ubuntu después de años de aprovechar las bondades de Synaptic para la facilidad de instalar y gestionar software a los usuarios simplemente lo hecho a un lado para poner algo mas rimbombante y comercial, el hoy famoso «Centro de Software»
17-06-11 Jugando con python + QT4 (aplicacion tipo desktop en Linux) esta buena la cosa»’
Para la materia Proyecto Socio-Tecnológico era necesario realizar un proyecto de desarrollo, el proyecto requería ser tipo escritorio, es decir no debía ser un sistema web como los que abundan ahora en PHP y planteaba la oportunidad de aprender otras herramientas. El Lenguaje y Gestor de Bases de datos estaba decidido eran Python y SQLite. Solo faltaba decidir que librería gráfica seria la que mejor me resultara entre Tkinter, WxPython o QT4. Las pruebas con QT4 fueron tan satisfactorias que resulto el ganador. Ayudo que hace un par de años había revisado el código de un programa que usaba Python y QT4 que se llamaba VideoPorama así que seguramente estaba ya condicionado. El resultado de ese juego se llama Komunal y esta en: http://komunal-cc.blogspot.com
10-06-11 Dandome cuenta que codeignter 2.0 ya no tiene scaffolding 🙁 ahora a usar librerias de 3ros http://www.grocerycrud.com
Probando distintos Frameworks de Desarrollo en PHP para implementar el marco de trabajo donde laboraba en ese momento, aunque me animaba mucho por usar Codeneignter no me gusto encontrar que la generación automática de CRUD fuera ahora externa al proyecto. Esta opción ese mismo fin de semana fue descartada y termine enrumbado con www.yiiframework.com
06-06-11 Entre todos podemos poner fin a adjuntos de ficheros en formato Word http://is.gd/Swt3Gq
Artículo de Richard Stallman perfecto para poner como firma a los correos electrónicos que enviemos o para enviárselo directamente a quienes nos envíen algún documento o texto en este odioso formato. ¿No entiendes muy bien por que muchos odiamos este formato?. ¿No sabes muy bien como explicarle a compañeros y amigos por que no es bueno el uso de este formato?, Entonces lee este artículo.
27-05-11 Comenzare a usar shutdown -h 22:30 para controlar el sueño!!
Shutdown es un comando para GNU/Linux que de manera segura permite apagar el equipo donde se ejecute, agregándole como parámetro una hora especifica el equipo se apagara a esa hora de manera inequívoca.
16-05-11 Si en @CanaimaGNULinux 3 en minis laptop no les monta pendrives quiten /dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0 en /etc/fstab
En 2011 estuve usando Canaima en mi mini laptop y instalándoselo a quien podía por ahí, ese era un fallo en esa época.
11-05-11 Documental ¡Copiad Malditos! http://is.gd/Yved9B a razon de adaptación de licencia #CreativeCommons a marco legal venezolano @cnti
Con motivos de los primeros pasos del CNTI a impulsar el capitulo Venezolano de la Licencia Creative Commons no dejen de ver el documental ¡Copiad Malditos!
26-04-11 YouTube empieza a servir sus videos en WebM http://is.gd/XrULpQ – «all of WebM’s license is free and GPL-compatible». http://is.gd/6Ezm5p
Youtube comienza a tener soporte para WebM en su lucha para destronar a Flash de la carrera de reproducir vídeos en la web. En fecha cercana youtube habilita una URL para ir experimentando ver vídeos sin uso del plugin flash en el navegador aprovechando las nuevas tecnologías para ese entonces de HTML5 lo pueden probar aquí http://www.youtube.com/html5 asegúrense de deshabilitar el plugin de Flash del navegador que estén seguros que ven y escuchan los vídeos sin usar una sola gota de ese molesto plugin (solo en navegadores que soporten HTML5).
15-03-11 Establecido el uso de Canaima GNU/Linux en estaciones de trabajo de organos y entes de Administración Publica http://is.gd/WttaZ7
En la Gaceta Oficial Nº 39.633 en su Resolución Nº 025 se estableció el uso de Canaima GNU/linux como sistema operativo de Software Libre en las estaciones de trabajo de los Órganos y Entes de la Administración Pública Nacional de la República Bolivariana de Venezuela, con el propósito de homogeneizar y fortalecer la plataforma tecnológica del Estado Venezolano.
Aunque muchos sitios de la administración publica actualmente esta usando Canaima GNU/Linux lamentablemente a la fecha este tema es solo una Utopía.
20-06-10 «queda prohibido copiar, modificar, descompilar o intentar extraer el código fuente, o realizar ingeniería inversa»Licencia GoogleChrome
Copiando solo un pequeño fragmento de la licencia del Navegador de Google que hace dos años estaba comenzando a posicionarse en la web. Muchos compañeros y activistas del software libre estaban comenzando a pasarse a este navegador sin haber caído en cuenta que efectivamente no es Software Libre.
15-06-10 The Debian project is pleased to announce the ninth and final update of its oldstable distribution Debian GNU/Linux 4.0 (codename etch).
El proyecto Debian anuncio que Debian Etch pasa a la rama oldstable, y con ella llega el fin de las actualizaciones para esta versión de Debian que tanto disfrutamos en su momento.
05-06-10 Using C++ in GCC is OK. el comite GCC y la FSF han aprobado el uso de C++ en el propio GCC. https://lwn.net/Articles/390016/
El equipo de desarrollo del GCC (colección de compiladores GNU) aprobó que el archi conocido lenguaje de programación C++ pasara a ser parte de la familia de lenguajes que es posible compilar con este proyecto libre que es aun una piedra angular en el desarrollo de software libre.
23-05-10 Si las escuelas enseñan software libre, entonces los estudiantes utilizarán software libre cuando se gradúen.
Haciendo referencia al artículo de Richard Stallman que tiene por titulo «Por qué las escuelas deberían usar exclusivamente software libre», es una lectura altamente recomendada y esta disponible en www.gnu.org/education/edu-schools.es.htm