lunes, 25 de febrero de 2008
htop
Hoy me presentaron una utilidad que no puedo creer que nunca la vi en mi vida como linuxero, se trata de htop, es una herramienta como top pero mas moderna, completa, interactiva y atractiva visualmente.
Se encuentra disponible en el apt de debian y en el portage de gentoo.
Su site es http://htop.sourceforge.net/index.php?page=comparison
No mas emacs para Stallman
Mediante el siguiente anuncio RMS notifica que no mantendrá mas Emacs
"Stefan y Tidon se ofrecieron a hacerse cargo, asi que estoy dispuesto a ceder el mantenimiento de Emacs a ellos"
Emacs es uno de los editores más clásicos y perversos de Linux. Prácticamente es una super suite para edición de txt mediante la cual podemos navegar en internet, manejar nuestro email y hasta jugar tetris.
Mas info http://es.wikipedia.org/wiki/Emacs
"Stefan y Tidon se ofrecieron a hacerse cargo, asi que estoy dispuesto a ceder el mantenimiento de Emacs a ellos"
Emacs es uno de los editores más clásicos y perversos de Linux. Prácticamente es una super suite para edición de txt mediante la cual podemos navegar en internet, manejar nuestro email y hasta jugar tetris.
Mas info http://es.wikipedia.org/wiki/Emacs
TN en Google
Yo miro poco y nada de televisión, solo series y peliculas. El día de ayer mi padre me avisa que en TN estaban pasando un informe sobre Google, rápidamente deje mi entretenido estudio (Ironia) y fuí a verlo. Mirando el divertido informe sucede que a la gente de TN se le ocurre cortar el informe y poner en vivo y en directo la asunción del nuevo presidente de Cuba (como que a la gente le importa la politica de una isla comunista), en fin, nunca volvieron a poner el informe. Para mí alegría me puse a buscarlo en su site Web (www.tn.com.ar) y encuentro los videos.
El informe esta muy interesante y te permite ver todas esas cosas que lees o escuchas por ahí de la gestion de RRHH en Google y no lo podes creer. Todo el reportaje esta cubierto por Federico Weimeyer, periodista informático al cual no lo soporto, dado que es un exajerado y vende ilusiones, pero realiza muy bien su trabajo dado que rebaja la información de las novedades tecnológicas al nivel de la gente no especializada en el tema.
Les dejo los links del informe dado que esta dividido en varias partes.
Parte uno
Parte dos
Parte Tres
Disfrutenlo.
Políticas de Backup
Me vi en la obligación de crear un par de políticas de backup para un servidor
mysql. La idea hera realizar todos los días un backup incremental y los días
domingos un backup completo.
No tengo muche experiencia en este RDBMS así que tube que buscar información
acerca del mismo, particularmente de como se hace un backup incremental
dado que solo sabía hacer el completo.
Entre toda la documentación que leí decidí hacer lo siguiente. Al backup
completo lo hago los domingos mediante mysqldump dejandolo en un directorio
compartido de otro servidor que sirve de intermediario antes de la descarga
al medio de almacenamiento permanente (cd o cinta, la descarga se realiza manualmente).
Para simplificar un poco las cosas cree un script en python que se encarga del
backup.
#!/usr/bin/python
import time
import os
pat = ''
os.chdir(pat)
curdate = curdate = time.strftime('%Y%m%d', time.gmtime())
archivo = curdate + '.sql'
archivocom = curdate + '.tar.bz'
cmd = "mysqldump -A -u USER --password=PASS -r %s" % archivo
os.popen(cmd)
cmdComprime = 'tar -jcvf ' + archivocom + ' ' + archivo
print cmdComprime
os.popen(cmdComprime)
cmdBorra = 'rm ' + archivo
os.popen(cmdBorra)
A dicho script lo almacene en el directorio /usr/local/bin y puse como dueño al root
y a los demas ni permiso de lectura dado que las password del administrador de mysql
esta escrita en dicho archivo.
Para el backup incremental utilice los los binary logs de mysql, para esto
habilite las opciones correspondientes en el archivo de configuración de mysql
(my.conf), el cual me quedo algo así:
log-bin = /var/log/mysql/mysql-bin.log
expire-logs-days = 7
max_binlog_size = 104857600
Configuré que la duración de los incrementales sea de 7 días, dado que realizo
un backup completo una vez a la semana, lo demas está por defecto.
Esto me dejá varios archivos en el directorio /var/log/mysql/, dichos archivos
son los backups incrementales. Por defecto cada archivo es por cada reinicio
y reinicio del servidor, cosa que no me convencio mucho, deseo que los archivos
del incremental sean por día (de lunes a sabado), para ello hay que cerrar una vez al día
el log y volverlo a abrir. Para poder cerrar el incremental y abrir uno nuevo hay que hacer
un FLUSH LOG, para esto utilizo la utilidad de línea de comandos mysqladmin, con
los siguientes parámetros.
mysqladmin -u USER --password=PASSW flush-logs
Para automatizar el proceso metí todo al crontab.
#Hace backup de Mysql completo a las 12:00 los domingos
30 2 * * 0 root /usr/local/bin/mysql-backup.py
#Hace el backup incremental de la base todos los dias excepto el domingo
30 2 * * 1-6 root mysqladmin -u USER --password=PASS flush-logs
Consideren que los archivos de log binarios utilizan un espacio conciderable en el disco (me encontre que llego a ocupar 45 GB en el servidor de producción cuando todas las bases del sevidor ocupaban aprox 10 GB).
Les dejo algunas referencias
http://dev.mysql.com/tech-resources/articles/point_in_time_recovery.html
http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
http://dev.mysql.com/doc/refman/5.0/en/backup-policy.html
mysql. La idea hera realizar todos los días un backup incremental y los días
domingos un backup completo.
No tengo muche experiencia en este RDBMS así que tube que buscar información
acerca del mismo, particularmente de como se hace un backup incremental
dado que solo sabía hacer el completo.
Entre toda la documentación que leí decidí hacer lo siguiente. Al backup
completo lo hago los domingos mediante mysqldump dejandolo en un directorio
compartido de otro servidor que sirve de intermediario antes de la descarga
al medio de almacenamiento permanente (cd o cinta, la descarga se realiza manualmente).
Para simplificar un poco las cosas cree un script en python que se encarga del
backup.
#!/usr/bin/python
import time
import os
pat = '
os.chdir(pat)
curdate = curdate = time.strftime('%Y%m%d', time.gmtime())
archivo = curdate + '.sql'
archivocom = curdate + '.tar.bz'
cmd = "mysqldump -A -u
os.popen(cmd)
cmdComprime = 'tar -jcvf ' + archivocom + ' ' + archivo
print cmdComprime
os.popen(cmdComprime)
cmdBorra = 'rm ' + archivo
os.popen(cmdBorra)
A dicho script lo almacene en el directorio /usr/local/bin y puse como dueño al root
y a los demas ni permiso de lectura dado que las password del administrador de mysql
esta escrita en dicho archivo.
Para el backup incremental utilice los los binary logs de mysql, para esto
habilite las opciones correspondientes en el archivo de configuración de mysql
(my.conf), el cual me quedo algo así:
log-bin = /var/log/mysql/mysql-bin.log
expire-logs-days = 7
max_binlog_size = 104857600
Configuré que la duración de los incrementales sea de 7 días, dado que realizo
un backup completo una vez a la semana, lo demas está por defecto.
Esto me dejá varios archivos en el directorio /var/log/mysql/, dichos archivos
son los backups incrementales. Por defecto cada archivo es por cada reinicio
y reinicio del servidor, cosa que no me convencio mucho, deseo que los archivos
del incremental sean por día (de lunes a sabado), para ello hay que cerrar una vez al día
el log y volverlo a abrir. Para poder cerrar el incremental y abrir uno nuevo hay que hacer
un FLUSH LOG, para esto utilizo la utilidad de línea de comandos mysqladmin, con
los siguientes parámetros.
mysqladmin -u USER
Para automatizar el proceso metí todo al crontab.
#Hace backup de Mysql completo a las 12:00 los domingos
30 2 * * 0 root /usr/local/bin/mysql-backup.py
#Hace el backup incremental de la base todos los dias excepto el domingo
30 2 * * 1-6 root mysqladmin -u USER
Consideren que los archivos de log binarios utilizan un espacio conciderable en el disco (me encontre que llego a ocupar 45 GB en el servidor de producción cuando todas las bases del sevidor ocupaban aprox 10 GB).
Les dejo algunas referencias
http://dev.mysql.com/tech-resources/articles/point_in_time_recovery.html
http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
http://dev.mysql.com/doc/refman/5.0/en/backup-policy.html
viernes, 22 de febrero de 2008
Creador de Teris en Contra del Software Libre, Chan!
En el siglo 21 el comunismo ruso desaparecio totalmente asumiendo como nuevo régimen el Capitalismo. Esto se puede verse en las declaraciones de Alexey Leonidovich Pazhitno (creador del Tetris).
En una entrevista realizada por Consumer.es el dice:
"Le diré mi opinión sobre el software libre: eso nunca debería haber existido y a día de hoy no debería existir. Y le diré por qué: el software libre destruye mercado. Allí donde con el esfuerzo de grupos de personas se construyen posibilidades de mercado, de riqueza y de prosperidad, llega gente irresponsable y crea desarrollos alternativos que hunden a las empresas. Y eso no es bueno para el desarrollo de la tecnología; el software libre no tiene proyección de mercado, no crea riqueza, sólo es una muestra de rebeldía estéril."
Y continua
"Lo cierto es que las ideas de Stallman pertenecen a una época pasada en la que sí tenían sentido: en los setenta y los ochenta, y yo también participé de esa actitud cuando era joven. Entonces no había posibilidad de negocio y parecía lógico compartir los desarrollos en el ámbito universitario para que crecieran. Hoy en día hay un mercado y nosotros hemos crecido."
Obviamente no estoy de acurdo con su opinión, pero la respeto.
Me gustaría decir al respecto que si bien sus declaraciones pueden llegar a tener razón en cierto grado, no es tan así. El software libre aporta mucho a las empresas comerciales, como nuevos conceptos técnologicos, mejoramiento de otros ya existente, recursos humanos altamente capacitados y principalemte oportunidades de negocio (sino preguntenle a Larry Austin que no para de crear empresas con base open source y llenar sus bolsillos de dinero).
Es cierto que el software libre cambia a la industría del software radicalmente, de pasar de los monopolios como los de IBM y Microsoft, en los cuales ellos determinaban el curso de la tecnología informática (debido a miles de estandares defactos) y manteniendo virtualmente presos a los usuarios debido a sus soluciones únicas e incompatibles (mediante el cual generaban millones de dolares de una manera no muy complicada una vez creado y pocisionado el producto en el mercado),
a pasar a un modelo comunitario en donde todos deben basarse en estandares internacionales, interoperabilidad entre plataformas y multiples proveedores para la misma solución, en el cual deben procuparse por la calidad del producto y la atención al cliente para poder competir con los demas proveedores (obviamente, en este modelo, no será tan sencillo ganar dinero liberando un par de service pack cada año).
Como siempre digo, el mayor beneficio del software libre, desde mi óptica, es para los usuarios (y la sociedad en general) más que para los proveedores de software. Pero con esto no quiero decir que los proveedores no deban usarlo sino que deben adaptar su modelo de negocio al modelo de software libre. Tengan en cuenta que los proveedores de soluciones informáticas pasamos más tiempo siendo usuarios que proveedores.
Aquí viene obviamente la cuestión de siempre, "Todo debe ser libre?", y mi respuesta como siempre es depende. Un sabio consejo que me dío alguna vez mi madre fue, "Todos los extremos son malos", decidanse ustedes.
Por lo pronto lo único que me gustaría decirle a este señor es, "Nunca me gusto el Tetris :P, y me uno de los juegos más pedorros de la historía"
En una entrevista realizada por Consumer.es el dice:
"Le diré mi opinión sobre el software libre: eso nunca debería haber existido y a día de hoy no debería existir. Y le diré por qué: el software libre destruye mercado. Allí donde con el esfuerzo de grupos de personas se construyen posibilidades de mercado, de riqueza y de prosperidad, llega gente irresponsable y crea desarrollos alternativos que hunden a las empresas. Y eso no es bueno para el desarrollo de la tecnología; el software libre no tiene proyección de mercado, no crea riqueza, sólo es una muestra de rebeldía estéril."
Y continua
"Lo cierto es que las ideas de Stallman pertenecen a una época pasada en la que sí tenían sentido: en los setenta y los ochenta, y yo también participé de esa actitud cuando era joven. Entonces no había posibilidad de negocio y parecía lógico compartir los desarrollos en el ámbito universitario para que crecieran. Hoy en día hay un mercado y nosotros hemos crecido."
Obviamente no estoy de acurdo con su opinión, pero la respeto.
Me gustaría decir al respecto que si bien sus declaraciones pueden llegar a tener razón en cierto grado, no es tan así. El software libre aporta mucho a las empresas comerciales, como nuevos conceptos técnologicos, mejoramiento de otros ya existente, recursos humanos altamente capacitados y principalemte oportunidades de negocio (sino preguntenle a Larry Austin que no para de crear empresas con base open source y llenar sus bolsillos de dinero).
Es cierto que el software libre cambia a la industría del software radicalmente, de pasar de los monopolios como los de IBM y Microsoft, en los cuales ellos determinaban el curso de la tecnología informática (debido a miles de estandares defactos) y manteniendo virtualmente presos a los usuarios debido a sus soluciones únicas e incompatibles (mediante el cual generaban millones de dolares de una manera no muy complicada una vez creado y pocisionado el producto en el mercado),
a pasar a un modelo comunitario en donde todos deben basarse en estandares internacionales, interoperabilidad entre plataformas y multiples proveedores para la misma solución, en el cual deben procuparse por la calidad del producto y la atención al cliente para poder competir con los demas proveedores (obviamente, en este modelo, no será tan sencillo ganar dinero liberando un par de service pack cada año).
Como siempre digo, el mayor beneficio del software libre, desde mi óptica, es para los usuarios (y la sociedad en general) más que para los proveedores de software. Pero con esto no quiero decir que los proveedores no deban usarlo sino que deben adaptar su modelo de negocio al modelo de software libre. Tengan en cuenta que los proveedores de soluciones informáticas pasamos más tiempo siendo usuarios que proveedores.
Aquí viene obviamente la cuestión de siempre, "Todo debe ser libre?", y mi respuesta como siempre es depende. Un sabio consejo que me dío alguna vez mi madre fue, "Todos los extremos son malos", decidanse ustedes.
Por lo pronto lo único que me gustaría decirle a este señor es, "Nunca me gusto el Tetris :P, y me uno de los juegos más pedorros de la historía"
JOINS
Hace unos días un cliente me pidio que cree un reporte para su sistema, del cual fuí uno de los creeadores. La cuestión es que me puse a hacerlo a la siesta y estaba super cansado, obviamente no paraba de equivocarme y casí no podía pensar.
Necesitaba hacer una consulta haciendo una cruza entre varias tablas y no recordaba bien los tipos de cruza más complicados, esos que estan y casí nunca usamos dado solucionamos el problema en el código por no querer pensar un poco más en SQL, entonces me puse a googlear un poco para compenzar mi mala memoría, me encontré con un tutoríal de JOINS muy bueno, el cual muestra los diferentes tipos de joins con gráficas mediante diagramas de Venn con el comportamiento de la operación.
Recomendada la lectura del Articulo.
Necesitaba hacer una consulta haciendo una cruza entre varias tablas y no recordaba bien los tipos de cruza más complicados, esos que estan y casí nunca usamos dado solucionamos el problema en el código por no querer pensar un poco más en SQL, entonces me puse a googlear un poco para compenzar mi mala memoría, me encontré con un tutoríal de JOINS muy bueno, el cual muestra los diferentes tipos de joins con gráficas mediante diagramas de Venn con el comportamiento de la operación.
Recomendada la lectura del Articulo.
viernes, 15 de febrero de 2008
PostgreSQL v8.3
Mediante este anuncio se libero la nueva versión de PostgreSQL. Dicha versión incorpora una par de novedades interesantes y muy deseadas por los usuarios del elefante azul como por ejemplo:
SQL/XML integrado, ahora se puede guardar Xml y hacer consultas Xpath de manera nativa, ya no se necesitan paquetes contrib.
Tsearch, otra utilidad para busqueda dentro de texto. Este hera otro paquete contrib que fue pasado a nativo.
Enums, ahora se pueden hacer columnas enumeradas con una lista ordenada de alternativas.
Más funciones pueden ser vistas en Aquí
SQL/XML integrado, ahora se puede guardar Xml y hacer consultas Xpath de manera nativa, ya no se necesitan paquetes contrib.
Tsearch, otra utilidad para busqueda dentro de texto. Este hera otro paquete contrib que fue pasado a nativo.
Enums, ahora se pueden hacer columnas enumeradas con una lista ordenada de alternativas.
Más funciones pueden ser vistas en Aquí
Nueva Release de MonoDevelop
MonoDevelop acaba de liberar su nueva release 1.0 (ver release notes). Por lo visto esta versión no incorpora ninguna novedad extrafalaria pero si la corrección de muchos bugs.
Linux violado
El kernel de Linux vio su peor vulnerabilidad hace unos días. Se trata de un exploit publicado por Wojciech Purczynski, investigador de COSEINC.
Este exploit permite lograr acceso root en ciertos kernel linux no parcheados. Si si, un usuario cualquiera puede convertirse en root con solo ejecutarlo.
McAfee Labsun detallado informe técnico sobre el funcionamiento. El análisis concluye que para lograr su objetivo el exploit utiliza un cóctel de desbordamiento de buffer, desbordamiento de enteros y punteros NULL.
La mejor solución es parchear el kernel (o instalar una nueva versión parcheada), si eso no resulta posible se apunta también a la posibilidad alternativa de utilizar un módulo que deshabilita la llamada del sistema a sys_vmsplice, dicha llamada es la que es explotada.
En el lado positivo, Purczynski recalca que la solución también es trivial: aplicado el parche, la amenaza desaparece. Sin embargo, la dificultad estriba ahora en asegurarse de que no se produjo explotación alguna antes del parcheo
Continua la Compra
Estoy de regreso después de un largo éxilio de estudio que tome para aprobar inteligencia artificial, la última matería jodida que me quedaba para recivirme, de ahora en más todo es fácil.
Actualizandome mediante muchos feeds que tenía sin leer veo que Sun continua comprando empresas con base open source indiscriminadamente, este vez le toco a Innotek, empresa alemana creadora de Virtual Box, uno de las mejores aplicaciones de virtualización que conozco.
Con esta compra SUN continua agrandando su cartera de aplicaciones y servicios informáticos. Sin lugar a duda que la ventaja de adquirir soluciones corporativas de Sun será la gran flexibilidad e integración que tendrán sus soluciones, tanto de Hardware y Software.
Personalmente me alegro mucho, dado que admiro mucho a la empresa y sus soluciones siempre me parecieron de primer nivel.
Otras compras importantes fueron:
- Sun compra MySQL AB por U$S 1000 Millones (2008).
- Red Hat compra Cygnus Solutions por U$S 675 Millones (1999).
- Citrix compra XenSource por U$S 500 Millones (2007).
- Yahoo! compra Zimbra por U$S 350 Millones (2007).
- Red Hat compra JBoss por U$S 350 Millones (2006).
- Novell compra SUSE por $210 Millones (2003).
- Nokia compra Trolltech por U$S 153 Millones (2008).
Suscribirse a:
Entradas (Atom)