7 sept. 2012

C colabora con Bash

Esto es una continuación de la entrada Python colabora con Bash. Se debe a un comentario de un usuario en Taringa. Aquí colocaré el mismo código de ejemplo en C:

#include

int main(void)
 

{
int i;

for(i=0;i<10 b="b" i="i">

{
system("iceweasel http://galegolinux.blogspot.com.es/");
}

printf('''El programa ha terminado''')
return 0;
}

6 sept. 2012

Python colabora con bash

El otro día se me ocurrieron un par de comandos que querría introducir en un programa de optimización para Debian (lo típico, instalar prelink....borrar el cache...etc) y quería un programa con bastantes opciones por lo que preferí no utilizar bash, sino python. Indagué un poco como podría correr comandos del sistema desde python y es muy sencillo. Sólo es necesario importar el módulo os.

Ahora os presento un ejemplo, imaginad que queréis interrumpir el acceso de otros usuarios a este blog y mandáis muchas peticiones de entrada (como si abrieseis en iceweasel -o el navegador que utilicéis- muchas pestañas de Galegolinux simultaneamente. Todo ello podría automatizarse así:

#!usr/bin/env python3
# Nombre: llamadas_web


import os
def naveg():
    i = 1
    for i in range(1, 10):
        os.system('iceweasel http://galegolinux.blogspot.com.es/')

naveg()

print('''El programa ha terminado''')


Primero llamamos al módulo os con import os
Luego definimos la función naveg() y para invocar un comando del sistema empleamos os.system('comando').

Por supuesto no toméis la idea como una invitación a intentar atacar el blog.....en todo caso cambiad la dirección web jajaja. De todas formas google emplea un mecanismo en blogger que anula estos scripts tan sencillos (afortunadamente).

Un saludo!

Software libre en las universidades españolas

Precisamente a un día de comenzar la universidad, en la USC (la universidad de Santiago de Compostela) leo este interesante aporte:

http://linuxgnublog.org/las-universidades-espanolas-difunden-el-software-libre/

No tiene desperdicio!

31 ago. 2012

Remastersys en Wheezy

   Para empezar, me disculpo por la tardanza a la hora de publicar. No dispuse de tiempo ni de ideas interesantes esta temporada. Me limité a utilizar Debian para las tareas cotidianas sin buscar nada especial. Probé Linux Mint Cinnamon, el cual me sorprendió gratamente pero no lo suficiente como para sustituir Debian.
   Pero a lo que íbamos, hace un mes intenté hacer una "distro" basada en debian. Utilizo las comillas porque lo único que quería era adaptar debian a un determinado colectivo y facilitar su uso. Pero no me preocupé de logos etc. Para tal fin recurrí a Remastersys. Cito textualmente de la página del creador de la herramienta:

   Remastersys is a tool that can be used to do 2 things with an existing Debian,  Ubuntu or derivative installation.
  1. It can make a full system backup including personal data to a live cd or dvd that you can use anywhere and install.
  2. It can make a distributable copy you can share with friends.  This will not have any of your personal user data in it

    En definitiva, parecía la aplicación ideal para facilitar el trabajo. Ahora bien, yo utilizo debian testing, y en esa rama no está el paquete: live-initramfs. Por ello no podía instalar Remastersys.
    Afortunadamente hay una solución:
   Cambiamos los repositorios a squeeze -stable- (es suficiente con cambiar la primera línea) tal y como se muestra en mi sources.list:

(ampliad la imagen pulsando sobre ella)

Luego hacemos un #apt-get update. A continuación instalamos los paquetes:
live-initramfs live-config live-boot live-config-sysvinit live-boot-initramfs-tools

Y para terminar cambiamos de nuevo los repositorios y hacemos otro #apt-get update.

Ahora ya tenemos Remastersys en nuestro Debian testing.



El aporte es una adaptación de esto.

Como extra os comento que hay está en marcha una versión de Remastersys para Wheezy, la persona encargada del proyecto la liberará cuando Wheezy pase a stable.


Un saludo! Y espero tener tiempo un día de estos para comentar otra forma de hacer backups o lives de Debian.

20 may. 2012

Ver información básica de una cuenta de Twitter usando BASH

    Lo primero, me disculpo por la ausencia, pero en las últimas fechas apenas dispuse de tiempo, espero que en un mes pueda reanudar la actividad. Por el momento os dejo una entrada que leí en otro blog.

    Creo que a todos os interesará esta información, o por lo menos a muchos...no es identi.ca, pero twiter también es un meio útil para estar al tanto de las noticias. Reproduzco el aporte tal y como lo publicó el autor en  su blog.

Tengo ya unos días tratando de recordar y averiguar cuando fue que empecé a usar Twitter y solo consigo paginas que no me inspiran mucha confianza, que se ofrecen para darte esta información.
Revisando la documentación de la API de esta red social, conseguí como hacerlo aunque no esta explícitamente documentado. Esta información del usuario se envía cada vez que uno hace una petición por su timeline usando grep, awk, tr y curl fácilmente se puede ver cuando se creó la cuenta.
cuando fue creada una cuenta en twitter

Este script muestra cuando fue creada la cuenta además de cuantas personas sigue, cuantos lo siguen y cuantos twits ha publicado.
#!/bin/bash
curl -s "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=$1&count=0" | tr ',' '\n' | grep \"created_at\" | tail -n 1
curl -s "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=$1&count=0" | tr ',' '\n' | grep -E 'friends_count|statuses_count|followers_count'


Como ven el script acepta un parámetro que para que funcione correctamente debe de ser el handle que en mi caso es orvtech, para ver mi información pueden ejecutar:
./twitter-creado.sh orvtech
"created_at":"Thu Apr 12 21:35:06 +0000 2007"
"friends_count":236
"statuses_count":5065
"followers_count":251


Estoy seguro que se puede optimizar incluso remplazar esas dos peticiones web por una sola y remplazar el tr, grep y el tail con una sola instrucción de awk pero solo quería demostrar como hacerlo. Si quieren aprender mas del API de twitter pueden visitar https://dev.twitter.com/docs.
Un saludo y espero estar pronto en activo!

14 ene. 2012

Liberado PC-BSD 9

Junto con la liberación de FreeBSD 9 viene con nosotros la nueva versión de PC-BSD, destinado a la facilidad de uso.

Podréis ver en el anuncio oficial todas sus novedades; las más destacadas son:

  • Basado en FreeBSD 9.0.
  • Soporte para la instalación de una variedad de gestores de ventanas, como KDE, GNOME, XFCE, LXDE.
  • Sistema PBI mejorado, permite el uso compartido de bibliotecas, firma digital etc.
  • Nuevo Panel de Control, que proporciona opciones de configuración consistente en varios administradores de ventana.
  • Utilidades de redes mejoradas.
  • Mejoras en la herramienta "Salvavidas" para hacer copias de seguridad.
  • Soporte para la instalación en particiones de BootCamp en sistemas de OS X.
  • Nuevo artwork.
  • Y mucho más!
Podréis descargar distintas imágenes ISO según vuestras necesidades desde la página oficial y por supuesto vía torrent.

13 ene. 2012

Razor-qt y Cinnamon disponibles en Sabayon

Desde Sabayon Mania me entero de que ya están disponibles en los repositorios de Sabayon tanto el entorno ligero Razor-qt, como el shell de LinuxMint para los que prefieran un esquema tradicional sobre Gnome 3, Cinammon.



Ambos se encuentran en el repositorio inestable por lo que usadlo bajo vuestro propio riesgo. Podréis encontrar instrucciones para su instalación en la propia página.

Personalmente estoy deseando que Razor-qt llegue al repositorio estable y resucitar un viejo equipo con mi distribución favorita y software qt :)