Spidermonkey – Execute javascript from console

SpiderMonkey is the code-name for the Mozilla's C implementation of JavaScript. This is useful to test part of our JavaScript from the console or in scripts.
In Debian we have a package called spidermonkey-bin.
apt-get install spidermonkey-bin
After installing you will have a program called smjs.
If you start the program without parameters you will get a Javascript shell, in which you can write and test javascript.
$ /usr/bin/smjs js> function test() { print('test'); } js> test function test() { print("test"); } js> test(); test js> function test() { print('test'); test2(123); } js> function test2(param) { print ('test2: ' + param); } js> test(); test test2: 123 js>
To exit the shell, just press "Ctrl+D".
It's important to note that in spidermonkey you doesn't have the "document" Object. If you want to print out text, you cant use document.write, you should use print.
document.write('test'); // In browser print('test'); //spidermonkey
You can also make smjs to execute the content of a file.
Multiples proyectos con trac y svn usando HTTPS
Voy a explicar como montar el sistema de gestion de proyectos trac y subversion usando https para trabajar con subversion. Yo lo he montado en una debian usando apache2, asi que lo primero que necesitamos es instalar todo lo necesario
apt-get install trac subversion apache2 subversion libapache2-svn libapache2-mod-python2.3
Una vez descargado e instalado creamos el certificado necesario para usar tanto trac y subversion bajo https. Entra en el directorio /etc/apache2/ssl y ejecuta lo siguiente:
openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Ahora ya tenemos listo los certificados, asi que ahora solo nos queda configurar el apache. Yo he creado un trac.dominio.ext y un svn.dominio.ext para hacer esto, pero esto va a gusto de cada uno. Yo como uso dos subdominios distintos, lo tengo en ficheros separados.
/etc/apt/preferences para paquetes locales
Bueno el otro dia despues de compilar a mano postfix y courier con sus respectivas modificaciones, cada vez que hacia un apt-get update ; apt-get upgrade me decia que queria instalar postfix* y courier* con una version nueva... asi que despues de buscar y trastear descubri que el nombre de release de los paquetes compilados a mano es "now" con lo cual puse lo siguiente en /etc/apt/preferences
Package: postfix* Pin: release a=now Pin-Priority: 999 Package: courier* Pin: release a=now Pin-Priority: 999
Postfix+VDA
Esto era una de las cosas que tenia pendiente de poner en el server hosting, y ultimamente ha habido mucha gente que superaba de mucho el limite, asi que me he puesto a configurar e instalar postfix con el parch VDA para poner limite de tamaño a los buzones.
Como tengo ahora mismo todo configurado con los paquetes de debian, he pensado que lo mejor es parchear los propios paquetes de debian, y aqui estan los pasos que he seguido:
- Instalo todas las utilidades necesarias para poder compilar y crear el paquete de postfix.
apt-get install build-essential dpkg-dev fakeroot debhelper po-debconf dpatch lsb-release libdb4.3-dev libgdbm-dev libldap2-dev libpcre3-dev libmysqlclient15-dev libsasl2-dev libpq-dev
- Nos bajamos el codigo fuente del postfix (Conviene hacerlo en /usr/src ya que lo descarga en el directorio actual)
dcddd2245d6dae7018337bbbf168feb4017
Debian 64bits
Hoy me ha tocado instalar una debian 64bits en un opteron. La verdad es que esta bastante currada, con el nuevo instalador de debian, te lo detecta todo solo y se instala perfectamente. El unico problema que he tenido es que ni el LILO ni el GRUB se han querido instalar, se ve que el tema de arrancar por SATA no le va bien (tenemos 3x120gb SATA en RAID5). Al final gracias al gran invento del chroot, he configurado el LILO, pero el kernel que me instala la debian no trae soporte para la controladora SATA :?, pero tampoco ha habido demasiado problema, chroot, wget nuevo kernel, recompilar, reconfigurar lilo y reboot. La verdad es que va super fino y no me esperaba que estubiesen ya tantos paquetes portados.



