Archive for category Howto/tutorial
Como crear un archivo zip con ruby
Posted by jcastaneyra in Howto/tutorial, Ruby on November 16, 2009
Hace unos días me encontré con el problema de generar archivos Zip que contuvieran archivos de un curso de SCORM, ¿Cómo hacerlo?, lo primero que me vino a la mente fue Ruby!!!
La gema que me sirvió para esto fue rubyzip, y con el siguiente fragmento de código se realizaron los archivos zip:
Espero que les sirva como a mi.
Links:
http://ruby-doc.org/core/classes/Dir.html
http://ruby-doc.org/core/classes/FileUtils.html
http://rubyzip.sourceforge.net/
Instalando RabbitMQ
Posted by jcastaneyra in Howto/tutorial, OpenSource on June 7, 2009
Instalando RabbitMQ (English)
RabbitMQ es un sistema de message queue (MQ), el cual provee comunicaciones asíncronas, es decir que el productor y consumidor no tienen la necesidad de interactuar con los mensajes al mismo tiempo, además de que es una implementación del protocolo AMQP (Advanced Message Queuing Protocol), un protocolo para mensajeo de alto rendimiento, y por último decir que RabbitMQ está desarrollado con Erlang, Erlang es un lenguaje de programación funcional.
En Ubuntu 9.04
La instalación de RabbitMQ en Ubuntu 9.04 es tan simple como correr el comando
sudo aptitude install rabbitmq-server
Y con el cual si no has instalado Erlang te mostrará que paquetes tendrá que instalar para que lo tengas también.
jcastaneyra@ubuntu:~/sources$ sudo aptitude install rabbitmq-server [sudo] password for jcastaneyra: Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done The following NEW packages will be installed: erlang-base{a} erlang-nox{a} libltdl7{a} odbcinst1debian1{a} unixodbc{a} The following partially installed packages will be configured: rabbitmq-server 0 packages upgraded, 5 newly installed, 0 to remove and 8 not upgraded. Need to get 28.6MB of archives. After unpacking 46.9MB will be used. Do you want to continue? [Y/n/?]
Una vez instalado ya está corriendo.
En Mac leopard
UPDATE (27/05/2010): Desde hace un rato que ya estoy usando Homebrew para instalar cosas en Mac, ya existe una fórmula para instalar también RabbitMQ y por supuesto Erlang, para más información visitar http://github.com/mxcl/homebrew y seguir las instrucciones para instalar Homebrew. Con RabbitMQ, incluso si se quiere una versión específica de RabbitMQ se puede modificar la fórmula
La instalación es a través de los MacPorts, hay que bajar el instalador de la página www.macports.org/install.php, pero para poder compilar es necesario tener XCode instalado. Los MacPorts son instalados en /opt, por lo que hay que asegurarnos que se tengamos agregados los paths necesarios en el profile para ejecutar los comandos de MacPorts.
En mi caso en .profile (pero también puede ser el .bash_login) debe estar algo así (si no está lo agrego):
# MacPorts Installer addition on 2009-02-25_at_15:37:48: adding an appropriate PATH variable for use with MacPorts. export PATH=/opt/local/bin:/opt/local/sbin:$PATH # Finished adapting your PATH environment variable for use with MacPorts. # MacPorts Installer addition on 2009-02-25_at_15:37:48: adding an appropriate MANPATH variable for use with MacPorts. export MANPATH=/opt/local/share/man:$MANPATH # Finished adapting your MANPATH environment variable for use with MacPorts.
Una vez que están los MacPorts hay que instalar primero erlang, así que ejecutamos
sudo port install erlang
Y esperamos un buen rato a que se instale.
Una vez instalado erlang, bajamos la última versión de RabbitMQ
mkdir /tmp/rabbitmq && cd /tmp/rabbitmq curl -O http://www.rabbitmq.com/releases/rabbitmq-server/v1.5.5/rabbitmq-server-generic-unix-1.5.5.tar.gz tar xvzf rabbitmq-server-generic-unix-1.5.5.tar.gz sudo mv rabbitmq_server-1.5.5/ /opt/local/lib/erlang/lib
Ahora ya lo podemos ejecutar.
sudo /opt/local/lib/erlang/lib/rabbitmq_server-1.5.5/sbin/rabbitmq-server
Recursos
http://www.rabbitmq.com
http://playtype.net/past/2008/10/9/installing_rabbitmq_on_osx/
Installing RabbitMQ (Español)
RabbitMQ is a complete and highly reliable Enterprise Messaging system, it provides asynchronous communications, meaning that the sender and receiver of the message do not need to interact with the message queue at the same time, also it is a AMQP implementation (Advanced Message Queuing Protocol) a protocol for high performance messaging, and last RabbitMQ is developed with Erlang, a functional programming language.
In Ubuntu 9.04
RabbitMQ instalation in Ubuntu 9.04 is so simple, it is just needed to run a command
sudo aptitude install rabbitmq-server
With this also install all packages needed by rabbitmq, Erlang is installed also.
jcastaneyra@ubuntu:~/sources$ sudo aptitude install rabbitmq-server [sudo] password for jcastaneyra: Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done The following NEW packages will be installed: erlang-base{a} erlang-nox{a} libltdl7{a} odbcinst1debian1{a} unixodbc{a} The following partially installed packages will be configured: rabbitmq-server 0 packages upgraded, 5 newly installed, 0 to remove and 8 not upgraded. Need to get 28.6MB of archives. After unpacking 46.9MB will be used. Do you want to continue? [Y/n/?]
Once the installation is finished RabbitMQ will be running.
In Mac leopard
UPDATE (27/05/2010): I am using Homebrew to install some stuff in Mac from some months ago, Homebrew has a formula to install RabbitMQ and also Erlang, for more info please visit http://github.com/mxcl/homebrew for install instructions. Also if you want to install a different version of RabbitMQ you can do it just editing the formula
RabbitMQ installation is done through MacPorts, you need to download the MacPorts installer from www.macports.org/install.php, also XCode is needed. MacPorts are installed in /opt, for that reason we put these paths in the .profile file (could be .bash_login), if you don’t have these paths add them to your profile file:
# MacPorts Installer addition on 2009-02-25_at_15:37:48: adding an appropriate PATH variable for use with MacPorts. export PATH=/opt/local/bin:/opt/local/sbin:$PATH # Finished adapting your PATH environment variable for use with MacPorts. # MacPorts Installer addition on 2009-02-25_at_15:37:48: adding an appropriate MANPATH variable for use with MacPorts. export MANPATH=/opt/local/share/man:$MANPATH # Finished adapting your MANPATH environment variable for use with MacPorts.
In order to install erlang execute the following command:
sudo port install erlang
You need to wait some time, maybe several minutes
Once you have erlang installed, we download the last RabbitMQ version
mkdir /tmp/rabbitmq && cd /tmp/rabbitmq curl -O http://www.rabbitmq.com/releases/rabbitmq-server/v1.5.5/rabbitmq-server-generic-unix-1.5.5.tar.gz tar xvzf rabbitmq-server-generic-unix-1.5.5.tar.gz sudo mv rabbitmq_server-1.5.5/ /opt/local/lib/erlang/lib
Now we execute rabbitmq-server with this
sudo /opt/local/lib/erlang/lib/rabbitmq_server-1.5.5/sbin/rabbitmq-server
Links
http://www.rabbitmq.com
http://playtype.net/past/2008/10/9/installing_rabbitmq_on_osx/
Como obtener una imagen ISO de un CD/DVD en Mac
Posted by jcastaneyra in Computers, Howto/tutorial on January 30, 2009
Hace poco un compañerito de la comunidad de México on Rails mencionó que tener una Mac es como tener lo mejor de ambos mundos (de Windows y Linux), y he aquí el porqué, resulta que quería obtener una imagen ISO de cierto DVD para respaldarlo y posiblemente después quemarlo, y aquí les muestro al más puro estilo Unix como se puede hacer.
Primero que nada hay que insertar el CD/DVD a extraer (duh! pero alguien podría no saber
)
Y ejecutando el siguiente comando obtenemos el status del CD/DVD a quemar:
jcastaneyra$ drutil status Vendor Product Rev OPTIARC DVD RW AD-5630A 1CHQ Type: DVD-ROM Name: /dev/disk1 Sessions: 1 Tracks: 1 Overwritable: 00:00:00 blocks: 0 / 0.00MB / 0.00MiB Space Free: 00:00:00 blocks: 0 / 0.00MB / 0.00MiB Space Used: 330:41:69 blocks: 1488144 / 3.05GB / 2.84GiB Writability: Book Type: DVD-ROM (v1)
Posteriormente desmontamos el CD/DVD:
jcastaneyra$ diskutil unmountDisk /dev/disk1 Unmount of all volumes on disk1 was successful
Y ahora obtenemos la imagen con la utilidad dd:
jcastaneyra$ dd if=/dev/disk1 of=vista.iso bs=2048 1488144+0 records in 1488144+0 records out 3047718912 bytes transferred in 1209.311307 secs (2520210 bytes/sec)
Después para expulsar el CD/DVD lo que se hace es volverlo a montar (jejeje, talvez puede haber otra forma, posiblemente haya un comando eject, ya no lo probé):
jcastaneyra$ diskutil mountDisk /dev/disk1 Volume(s) mounted successfully
Y por último probamos la imagen ISO:
jcastaneyra$ hdid vista.iso /dev/disk2 /Volumes/VISTA_32_BUSINESS
Y para poder quemar la imagen ISO se podría utilizar la aplicación “Utilidad de Discos”
Problemas de memoria en mi 256slice
Posted by jcastaneyra in Howto/tutorial, Linux on December 15, 2008
No se si ya había comentado, pero mi blog lo tengo en un VPS de slicehost y tengo una 256slice es decir una partición virtual con 256 Mb de memoria, y recientemente debido al monto de memoria limitado (talvez debería pensar seriamente en subir el monto de memoria por unos cuántos dolares más al mes, ¿debería?) he experimentado algunos problemas ya que mi servidor se había estado muriendo, y en los logs estaba la evidencia:
Dec 15 08:27:59 ubuntu kernel: [<ffffffff8025d987>] out_of_memory+0x2e/0x187
Por lo que me puse a investigar y encontré unos ajustes que se le tienen que hacer a la configuración del servidor apache2:
<IfModule mpm_prefork_module> StartServers 3 MinSpareServers 3 MaxSpareServers 3 ServerLimit 50 MaxClients 50 MaxRequestsPerChild 1000 </IfModule>
Además, también instalé el plugin de wordpress WP Super cache para bajarle un poco al proceso de php con la base de datos.
Espero que esto funcione, estoy intentando esto antes de subir a 512 Mb de memoria, y digo ojalá que esta experiencia pueda ayudar a alguien más que se encuentre en un problema parecido.
Cómo dirigir el tráfico de mi viejo blog en wordpress a mi nuevo blog en mi propio dominio
Posted by jcastaneyra in Howto/tutorial on October 7, 2008
Tiene rato ya que adquirí mi propio dominio y mi servicio de hosting para colocar mi blog, cuando esto sucedió resultó que tenía tráfico en el blog de mi dominio nuevo y también en el de mi blog viejito hospedado en wordpress.com, y resulta que con el tiempo mi blog viejito empezó a adquirir lectores, poquitos pero mucho más que el blog nuevo, esto es lógico después de casi dos años aumentó el tráfico. Cuando hice el cambio al nuevo blog me pregunté como podría hacerle para redirigir el tráfico de mi viejo blog (jcastaneyra.wordpress.com) a mi nuevo blog (www.jcastaneyra.com), recuerdo que me puse a buscar pero no encontré nada hasta hace apenas un par de días.
Hacer la redirección desde wordpress a un dominio en específico es algo truculento, pero gracias a BlogWell la tarea fue fácil ya que ellos lo explican claramente hasta con un documento pdf, para los que no se les dé mucho el inglés, aquí les dejo algo muy resumido de lo que hice.
1. Primero que nada, los url’s del viejo y nuevo blog deben coincidir (por eso también tengo wordpress en mi nuevo blog, al menos ahora).
2. Segundo, tratar de agregar en la administración del viejo blog (jcastaneyra.wordpress.com) en la parte de mejoras y dominios el nuevo dominio (www.jcastaneyra.com), esto marcará un error.


3. Para solucionar el error, es necesario cambiar los Domain Servers para el dominio a los servidores de wordpress (ns1.wordpress.com, ns2.wordpress.com, ns2.wordpress.com), en este caso el dominio nuevo (www.jcastaneyra.com) está con GoDaddy.com.

4. Una vez que se apunta a los servidores de wordpress con el nuevo dominio, se intenta agregar de nueva cuenta el dominio, para poder agregar dominios en wordpress.com es necesario tener 10 créditos, esto es igual a US$10, por lo que tuve que pagar con paypal. El dominio nuevo (www.jcastaneyra.com) es agregado y este apunta al viejo blog (jcastaneyra.wordpress.com).

5. Ahora, habrá que cambiar la redirección, para eso en la administración de wordpress, configurar al nuevo dominio (www.jcastaneyra.com) como dirección de blog dando click en donde dice “Colocar la bitácora aquí”, con esto el viejo blog (jcastaneyra.wordpress.com) apuntará al nuevo blog (www.jcastaneyra.com).

6. Y por último regresar la configuración de Domain Servers que se tenían originalmente, mi dominio fue comprado con GoDaddy.com pero lo tengo administrado con Slicehost.com, por lo que mis servidores originales son (ns1.slicehost.net, ns2.slicehost.net, ns3.slicehost.net), ya después les platico de lo que hice para poner mi blog con Slicehost.com.

Y listo, con esto ya tengo redireccionado mi viejo blog a mi nuevo blog, jejeje el único problema que yo veo es el que tuve que pagar US$10 y lo peor es que el dolar ha subido a MXN $ 12, pero en fin, creo que vale la pena.
Como habilitar los gravatars en jaws
Posted by jcastaneyra in Howto/tutorial, Jaws on December 10, 2007
Pues bien, haciendo referencia a Jaws apenas en el post de “Cómo agregar videos de youtube en Jaws”, ahora traigo un nuevo post, en el que vamos a ver como habilitar la opción de ver los gravatars en los comentarios.
Pero, para empezar ¿Qué es un gravatar?, de la definición en site.gravatar.com:
What is a gravatar?
A gravatar, or globally recognized avatar, is quite simply an 80×80 pixel avatar image that follows you from weblog to weblog appearing beside your name when you comment on gravatar enabled sites. Avatars help identify your posts on web forums.
¿Y qué es un avatar?, de la definición de wikipedia.org:
An avatar (abbreviations include AV, ava, avie, avy, avi, avvie, avis, avies, avii, and avvy) is an Internet user’s representation of himself or herself, whether in the form of a three-dimensional model used in computer games, a two-dimensional icon (picture) used on Internet forums and other communities, or a text construct found on early systems such as MUDs. The term “avatar” can also refer to the personality connected with the screen name, or handle, of an Internet user.
Ahora bien, para poder usar un gravatar en Jaws, tenemos que crear nuestro gravatar en http://site.gravatar.com/, para esto tenemos que crear una cuenta que asocie la imagen que queremos usar como gravatar a nuestro correo electrónico, la creación del gravatar es bastante intuitiva.
Ya que hemos creado nuestro gravatar, ahora en los ajustes avanzados del panel de control de Jaws, habilitamos el uso de gravatars.
Cuando pongamos un comentario, al dejar nuestro correo electrónico que está asociado al gravatar, el comentario como tal ahora desplegará la imagen de nuestro gravatar.
Con esto ya podemos tener el gravatar habilitado en nuestro Jaws.
Recent Comments