rescue true

11 abril, 2011

Instalando una impresora Canon MG5150 en Ubuntu

Archivado en: Linux — xurdekio @ 9:32 pm
Tags: , , , , ,

Estos días de atrás se murio mi vieja HP así que tocó pasarse por MediaMarkt y hacerse con una Canon MG5150 por 89€. Es una multifuncional con copia sin necesidad de ordenador, impresión por doble cara automática, carga del papel por cartucho inferior.. lo único que se echa en falta en la conexión por WiFi.

Canon suele tener bastante en cuenta a los usuarios de Linux así que no ha sido complicado instalarla, de todas formas aquí os detallo el proceso:

  • Ir a la página de los drivers de Canon y descargarse los oportunos para Linux aquí
  • Descomprimir el archivo, y dentro del mismo descomprimir también el fichero cnijfilter-mg5100series-X.XX-1-deb.tar.gz
  • Navegar hasta cnijfilter-mg5100series-3.40-1-deb/packages e instalar los paquetes common y mg5100 series oportunos con tu sistema
  • Ahora nos vamos a Sistema -> Administracion -> Impresion y hacemos click en Añadir
  • Elegimos si la impresora esta conectada a nuestro pc o en red (en mi caso estaba compartida desde un equipo con Windows XP así que elegí impresora compartida por Samba)
  • En la siguiente pantalla elegimos usar el archivo PPD y navegamos a /usr/share/cups/model/canonmp5100.ppd
  • Hacemos click en siguiente y ya tenemos nuestra impresora lista para usar!

Espero que os sea de utilidad!

8 abril, 2011

¿Por qué usar Software Libre?

Archivado en: Linux,Software Libre — xurdekio @ 10:12 am
Tags: , ,

Desde hoy incorpor a la web el banner de Apoyo a La Comunidad Internacional del Software Libre como candidata a los Premios Príncipe de Asturias 2011 en la modalidad Cooperación Internacional y os dejo unas pinceladas de por qué usar y fomentar el Software Libre:

  • Porque ayuda a aprender: poder ver el código de algunos programas despierta la mente y da mil ideas para afrontar los problemas del trabajo diario como desarrollador.
  • Porque puedes distribuirlo libremente: cuando encuentras un programa genial puedes hacerselo llegar a todos tus amigos para que también lo disfruten sin necesidad de pasar por caja o hacer algo ilegal.
  • Porque sabes lo que hace: La posibilidad de que otros estudien el código elimina las tentaciones de que implemente cosas de dudosa moralidad.
  • Porque ese programa que te gusta siempre sigue evolucionando: rara vez te encontrarás con que el desarrollador ya no de soporte ni siga implementando cosas nuevas, y si esto pasa, siempre puedes seguir tu!
  • Porque fomenta la cooperación: Allí donde tus ideas ya no llegan siempre habrá otra persona dispuesta a echarte una mano y mejorar lo que tu has comenzado.
  • Porque crea nuevos modelos de negocio: En estos tiempos de crisis hay que apretarse el intelecto para llegar a fin de mes y el software libre crea multitud de oportunidadades de negocio aportando herramientas, ideas, soluciones. Todo software necesita un periodo de aprendizaje, una instalación, un mantenimiento que puede aprovecharse.
  • Porque abarata los costes: Y si puedes abaratar tus costes, puedes ser mas competitivo en el mercado.
  • Porque ayuda a crear empleo sin apenas inversión: Por poner un ejemplo… cualquiera puede crear una StartUp montando su propio servidor web con Apache y desarrollar su aplicación con Rails sin pagar mas allá que el alquiler de un servidor, sin pagar ni una sola licencia, solo con una buena idea y software libre.
  • Porque crea una cultura: La cultura de compartir y ayudar desinteresadamente que tanta falta nos hace.

Y asi podría seguir un buen rato, pero creo que con esto ya os haceis una idea…

24 mayo, 2010

Ejecutar tareas no periodicas en segundo plano

Archivado en: Linux,Ruby on Rails,Tips&Tricks — xurdekio @ 7:51 am
Tags: , , , ,

En muchas ocasiones nuestras aplicaciones necesitaran hacer tareas que tarden bastante tiempo en dar respuesta y esto provocará que el servidor nos devuelva un timeout y veamos la página de error de la aplicación.
Una solución para ejecutar estas tareas es realizarlas en segundo plano, de forma que la aplicación se olvide del proceso y conteste al navegador rapidamente evitando así el dichoso timeout.
Para esto Ruby on Rails combinado con la potencia de Linux nos proporciona una magnífica herramienta que es el script/runner, que nos permite ejecutar una función cargando todo el entorno de la aplicación.

Vamos a suponer que tenemos una función Boletin.enviar, que envía boletines a todos los usuarios registrados en la web (y nuestra web es impresionante y tiene miles de usuarios). La función completa envia por lotes, tiene una cola, etcetera, con lo cual tarda bastante en ejecutarse, no podemos dejar al usuario que envía el boletín esperando respuesta.
Así pues nuestro action para enviar el boletín sera algo asi:

def enviar_boletin
  system("ruby script/runner \"Boletin.enviar\"&")
end

Con el & de unix le indicamos que se ejecute en segundo plano. Los lectores más avispados ya os habreis dado cuenta de que si el proceso padre, en este caso el hilo de ruby que está ejecutando el servidor, se muere pues tambien morirá su hijo y nunca llegaremos a terminar la tarea. Para ello otroa solucion de sistemas usando nohup

def enviar_boletin
  system("nohup ruby script/runner \"Boletin.enviar\"&")
end

Y por ultimo, ¿qué ocurre si queremos pasarle argumentos a la función? pues se los pasamos como si fuese una funcion normal:

def enviar_boletin
  from = "nuestro_email@nuestrodominio.es"
  system("nohup ruby script/runner \"Boletin.enviar('#{from}')\" &")
end

Espero que os sea tan util como me ha sido a mi en varios proyectos de gran envergadura.

Tema Rubric. Blog de WordPress.com.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.