Y no es broma: el plagio se paga

— [ edit | raw ] migrated from node/1000

¿Desea más información? pulse aquí

Visto en: Meneame

micro reto de la semana

— [ edit | raw ] migrated from node/1001
Empezamos con uno muy fácil, apto para todos los públicos ¿Qué imprime esta sentencia? ¿y por qué? En C:
printf("hola" + 2);

Utilizar un servidor FTP remoto como backup

— [ edit | raw ] migrated from node/995
Si tenemos un servicio de hosting remoto con FTP, es probable que nos interese subir archivos de bakcup. Esta receta explica como hacerlo con un breve script de BASH.

La Forma Canónica Ortodoxa

— [ edit | raw ] migrated from node/999

La Forma Canónica Ortodoxa u Orthodox Canonical Form (OCF) es un modismo muy utilizado en C++ y definido por James Coplien en su libro Advanced C++: Programming Styles and Idioms. Este modismo permite que un tipo(clase) definido por el programador se comporte como un «tipo concreto de dato», es decir, tenga las mismas características que un tipo proporcionado por el lenguaje.

25º aniversario del proyecto GNU

— [ edit | raw ] migrated from node/998

Aunque ha salido en todos los medios (excepto A3 y algún despistado más) yo no podía dejar pasar la oportunidad de celebrar el 25º cumpleaños del proyecto GNU, precursor y todavía principal motor del software libre (y por muchos años), a pesar del empeño que muchos ponen en negarlo.

Felicidades también a todos los que usan el sistema operativo GNU (aunque no lo sepan)

Cambiar la password de Active Directory desde GNU

— [ edit | raw ] migrated from node/996

Esta recetilla explica como cambiar la password en un Active Directory, como el de la UCLM. De paso os pongo un scriptito para facilitar un poco lidiar con esas “políticas de seguridad” tan agresivas que les ha dado por poner a las universidades…

Python: merge lists

— [ edit | raw ] migrated from node/993
A simple utility function to merge several lists in a single one, using the functional programming tools:

La importancia de cifrar tu vida.

— [ edit | raw ] migrated from node/992
Juzguen ustedes mismos: http://blog.wired.com/27bstroke6/2008/08/revealed-the-in.html Para que luego no funcione bien el generador de números aleatorios.

Administrar scripts de arranque

— [ edit | raw ] migrated from node/991
Es posible crear scripts y hacer que se ejecuten durante el arranque del sistema, antes de que se nos muestre el login. En esta receta veremos cómo incluirlos y cómo borrarlos.

Introducción

Durante el arranque y la parada del ordenador, el sistema entra en varios niveles de ejecución. Los niveles 2, 3, 4, 5 son los de arranque o inicio; 0, 1, 6 son los niveles de parada o apagado; y S es el nivel monousuario. En el directorio /etc hay una serie de directorios nombrados rcX.d, donde la X indica el nivel de ejecución. Dentro de estos directorios hay una serie de enlaces simbólicos hacia los scripts que se ejecutan en cada nivel. Los enlaces se llaman igual que el script al que apuntan, pero con un prefijo consistente en una S o una K más un número de dos dígitos. La letra indica si es un script de inicio (Start) o de parada (Kill), y el número indica el orden en que se ejecuta. Por defecto, este número es 20, aunque se puede cambiar, como veremos más adelante.

Manejando los Scripts

Lo primero es crear el script. Es necesario que exista antes de incluirlo para su ejecución en el arranque. Si echamos un ojo a los directorios rcX.d, veremos que la gran mayoría de los scripts están en /etc/init.d, así que es de suponer que ese es un buen lugar para colocar el nuestro (de hecho, no puede estar en otro sitio)

Añadir un script

El comando que vamos a utilizar es update-rc.d. Para añadir un script de inicio, lo haremos de la siguiente forma:
# update-rc.d miscript.sh defaults
Con esto incluimos miscript.sh para que se ejecute en el arranque (en los niveles 2, 3, 4 y 5), y en la parada (niveles 0, 1 y 6). Es equivalente a escribir:
# update-rc.d miscript.sh start 20 2 3 4 5 . stop 0 1 6 .
(nótese el punto al final) Supongamos ahora que queremos incluir nuestro script sólo en el inicio, con orden de ejecución 95, y sólo en los niveles 2 y 3:
# update-rc.d miscript.sh start 95 2 3 .
(nótese el punto al final)

Borrar un script

Para borrar un script haríamos:
# update-rc.d miscript.sh remove
Esto borra únicamente los enlaces simbólicos, no el script; y siempre y cuando se haya borrado el script previamente. Si se quiere borrar los enlaces aunque no se haya borrado el script, hay que utilizar la opción -f (force):
# update-rc.d -f miscript.sh remove
Para evitar liarla parda, tanto en la adición como en el borrado, es útil utilizar la opción -n (not really). Esto hace que no haga realmente las operaciones, si no que solamente nos diga qué habría hecho.
# update-rc.d -n miscript.sh defaults
Adding system startup for /etc/init.d/miscript.sh ...
   /etc/rc0.d/K20miscript.sh -> ../init.d/miscript.sh
   /etc/rc1.d/K20miscript.sh -> ../init.d/miscript.sh
   /etc/rc6.d/K20miscript.sh -> ../init.d/miscript.sh
   /etc/rc2.d/S20miscript.sh -> ../init.d/miscript.sh
   /etc/rc3.d/S20miscript.sh -> ../init.d/miscript.sh
   /etc/rc4.d/S20miscript.sh -> ../init.d/miscript.sh
   /etc/rc5.d/S20miscript.sh -> ../init.d/miscript.sh