viernes, 19 de abril de 2013
WP - Tutorial de Symfony 2
![]() |
| Symfony, un framework de PHP creado por Fabien Potencier (Francia) y desarrollado por una amplia comunidad de programadores alrededor del mundo. |
Finalmente me estoy tratando de organizar
y hacer tiempo para aprender a usar Symfony 2, el cual es un Framework
para PHP que me ha llamado mucho la atención. Descubrà este Framework
hace un par de años, cuando tenÃa intenciones de aprender a programar en
PHP, y tuve el gusto de usar la versión 1.4 de este Framework en mi
proyecto de graduación el año pasado, quedando fascinado de todas las
facilidades que este Framework brinda.
Mientras vaya aprendiendo, iré elaborando
un pequeño tutorial paso a paso que incluirá desde la preparación del
ambiente de desarrollo en Linux (particularmente Fedora 16), hasta la
elaboración de una pequeña aplicación web. Espero ir compartiendo
periódicamente mis avances en este blog.
jueves, 4 de abril de 2013
WP - Configuraciones iniciales de Ubuntu 9.0.4 en VirtualBox 3.0.4
A continuación describiré como instalar las “Guest additions” de VirtualBox en el sistema operativo huésped (guest) Ubuntu 9.0.4, y luego compartir una carpeta con el sistema operativo anfitrión (host) Windows XP. Estos pasos posiblemente apliquen a versiones superiores de VirtualBox y de los sistemas operativos mencionados.1. Instalar las “Guest Additions”
Las “Aplicaciones del huésped” son herramientas que permiten una interacción fluida entre el sistema operativo anfitrión (host) y el huésped virtualizado (guest), asà como el uso apropiado del hardware que posee nuestra máquina. Entre las ventajas que permiten estas aplicaciones, figura la integración del mouse entre el huésped y el anfitrión, asà como el ajuste de resolución automático del huésped, y otras opciones de vÃdeo.A continuación se listan los pasos para la instalación de las aplicaciones del huésped (en nuestro caso, Ubuntu 9.0.4), virtualizado en VirtualBox 3.0.4:
a) Iniciar el sistema operativo Ubuntu en VirtualBox, y iniciar sesión.
b) Una vez iniciada la sesión de usuario en Ubuntu, en el menú de VirtualBox, elegir Dispositivos > Instalar Guest Additions (Aplicaciones del huésped). Esto montará una imagen de disco CD-ROM en Ubuntu.
c) Abrir una ventana de terminal, y moverse a la carpeta media, que es la carpeta en donde aparecen los dispositivos extraÃbles.
cd ../../media
d) Abrir el CD, y ver el contenido de éste, para elegir la versión de aplicaciones de huésped que mejor se ajuste a nuestra computadora.
cd cdrom
El contenido del CD es el siguiente:
$ ls32Bit VBoxLinuxAdditions-amd64.run VBoxWindowsAdditions.exe64Bit VBoxLinuxAdditions-x86.run VBoxWindowsAdditions-x86.exeAUTORUN.INF VBoxSolarisAdditions.pkgautorun.sh VBoxWindowsAdditions-amd64.exe
Para nuestro caso, ya que la versión de Ubuntu es para sistemas operativos de 32 bits, se instalará el paquete de herramientas VBoxLinuxAdditions-x86.run, mediante el siguiente comando:
sudo sh ./VBoxLinuxAdditions-x86.run
Para continuar la instalación, se solicitará ingresar la contraseña de administrador.
e) Una vez finalizada la instalación, se debe reiniciar el sistema operativo huésped.
2. Crear un directorio compartido
Es muy posible que querramos acceder a archivos o carpetas de nuestro sistema operativo anfitrión. Por ello, el uso de carpetas compartidas resulta útil, pues permite tener un fácil acceso a tales contenidos, sin las complicaciones de tener copias extra de éstos archivos en nuestro disco duro virtual, consumiendo espacio innecesariamente.a) Para poder utilizar los directorios compartidos, elegimos en el menú de VirtualBox, la opción Dispositivos > Directorios compartidos. Luego, hacemos clic en el botón “Add new shared folder” (dibujo de una carpeta con un signo +), y en la ventana “Agregar compartición”, seleccionamos la carpeta que queremos compartir de nuestro sistema operativo anfitrión (en Folder Path), y le asignamos un nombre (en Folder Name). De preferencia debe ser un nombre fácil de recordar, en minúsculas, y sin caracteres extraños. Finalmente, elegimos la opción de “Hacer permanente”, para que este directorio siempre esté disponible.
b) Luego, abrimos una ventana de terminal en el sistema operativo huésped, y creamos una nueva carpeta, con permisos de administrador, en cualquier directorio. Si la carpeta compartida será pública, recomiendo colocarla en el directorio /media, para que esté disponible para todos los usuarios de Ubuntu. Para crear la carpeta se ejecuta el siguiente comando:
sudo mkdir nombre_carpeta_compartida
Y finalmente, para montar la carpeta compartida:
sudo mount -t vboxsf folder_name nombre_carpeta_compartida
Cabe notar que folder_name corresponde al nombre asignado a la carpeta en el paso a), en la sección de Folder Name. Luego de ello, ya tenemos disponible nuestro directorio compartido, en la carpeta elegida de nuestro sistema operativo huésped.
Publicado originalmente el 19/02/2012, en http://itsouvenirs.wordpress.com/2012/02/19/configuraciones-iniciales-de-ubuntu-9-0-4-en-virtualbox-3-0-4/.
lunes, 1 de abril de 2013
WP - Reducir el tamaño de un disco duro virtual VDI de VirtualBox
1. Desfragmentar el disco duro dentro del sistema operativo guest en la máquina virtual.2. Colocar el programa nullfile-1.02.exe (http://www.feyrer.de/g4u/nullfile-1.02.exe) en la raÃz del disco duro dentro del sistema operativo guest, y ejecutarlo. Este programa coloca caracteres nulos en el espacio libre del disco duro.
3. Apagar el sistema operativo guest. Luego ejecutar la operación compact de la herramienta VBoxManage, en la lÃnea de comandos desde la carpeta de instalación de Virtual Box, sobre el disco duro virtual, asÃ:
vboxmanage modifyvdi “C:\Users\Guille\.VirtualBox\HardDisks\discoduro.vdi” compact
Actualización:
El comando modifyhd ya está obsoleto, y ha sido sustituido por el comando modifyhd, por lo que el comando completo del ejemplo anterior serÃa:
vboxmanage modifyhd “C:\Users\Guille\.VirtualBox\HardDisks\discoduro.vdi” compact
Publicado originalmente el 19/02/2012, en http://itsouvenirs.wordpress.com/2012/02/19/reducir-el-tamano-de-un-disco-duro-virtual-vdi-de-virtualbox/.
WP - Enviar mensajes a sesiones de terminal server desde lÃnea de comandos
Anoche se presentó un problema en mi trabajo. Debido al incremento de trabajo por parte de los usuarios conectados vÃa Terminal Server a uno de los servidores de la empresa, este se quedó sin recursos suficientes para poder iniciar otra sesión más. Se decidió reiniciar el servidor, pero era necesario informar a los usuarios. ¿Cómo enviar un mensaje directo vÃa Terminal Server, sin iniciar sesión en el servidor ni entrar al administrador de TS? Una opción sencilla y directa es hacer uso del comando msg desde la lÃnea de comandos en una computadora conectada a dicho servidor:msg { nombre_usuario | id_sesion_ts | * } [/SERVER:servidor] “mensaje”
El primer parámetro puede ser el nombre del usuario, el ID de la sesión, o asterisco, que indica que el mensaje se enviará a todas las sesiones activas en la computadora. El segundo parámetro, que es el de servidor es opcional, y puede colocarse el nombre del equipo o bien la IP. Si no se especifica, el mensaje se enviará a todas las sesiones activas en la computadora local. El parámetro final es el mensaje, que debe especificarse entre comillas dobles en caso de poseer caracteres de espacio en blanco.
Por ejemplo:
msg juanperez “Hola mundo” msg DOMINIO\juanperez /SERVER:mi-servidor “Hola mundo”
Cabe mencionar que no he especificado todas las opciones del comando msg. Para consultar todas las opciones que ofrece este comando, basta con digitar msg en la lÃnea de comandos de Windows, y presionar Enter. Si no me equivoco, este es el comando que se recomienda usar en vez de NET SEND a partir de Windows XP y Windows Server 2003 (corrÃjanme si me equivoco, jejeje).
Publicado originalmente el 19/02/2012, en http://itsouvenirs.wordpress.com/2012/02/19/enviar-mensajes-a-sesiones-de-terminal-server-desde-linea-de-comandos/.
WP - Social Coding
Al ver este tÃtulo, alguien por allà me dirá que soy un transculturizado. Creo que todos los de informática somos asÃ, y yo me considero de los más conservadores. Bueno, antes de continuar, les comento que iré desarrollando este tema poco a poco, posiblemente en esta misma entrada (o post, como le llamarÃan los transculturizados, jejeje). Comenzando con el tema, considero apropiado partir de una definición:Social Coding (Programación Social) se refiere al desarrollo de software por parte de una “comunidad” de personas. Aunque usualmente todo proyecto de software se lleva a cabo por un conjunto de desarrolladors, este término ha sido acuñado a partir del auge de las redes sociales, por lo que ese conjunto se extiende a una comunidad virtual, variada y distribuida de personas.
Otra de las caracterÃsticas que diferencia la programación social es que rompe con las barreras de la colaboración, ya que abre la posibilidad a que sea la comunidad quien se autodirija en el desarrollo del proyecto, pues la idea desarrollada por alguien puede ser materializada, mejorada y revisada por toda la comunidad. Ello permite crear productos de software robustos en corto tiempo.
Publicado originalmente el 13/02/2012, en http://itsouvenirs.wordpress.com/2012/02/13/social-coding/.
WP - ¡Renovación del blog!
Después de casi 3 años de inactividad (y luego de un año de haberme convertido en ermitaño aislado de la web, jejeje), he decidido revivir este blog. Más que revivirlo, extenderlo para que pase de un blog dedicado a una de mis materias preferidas en la universidad, que fue Programación Funcional, a un compendio de aquellas cosas que he aprendido y siga aprendiendo a lo largo de mi carrera en el área de informática, que actualmente se orienta mayormente al desarrollo de software.Básicamente este es el inicio de uno de mis sueños, que es compartir aquellas cosas de mi carrera que me emocionan, y también aquellas cosas que me han sido útiles, principalmente con las nuevas generaciones (no es que esté viejo, aún estoy empezando a explorar estos vastos territorios…). Debo mencionar que esto es algo que he admirado primeramente de mis profesores (desde primaria hasta la universidad), y de todas aquellas personas que se toman un momento de su ajetreado dÃa en compartir su conocimiento a través de la web. Si no fuera por ellos, mi trabajo diario serÃa inmensurablemente más largo de lo que ya es.
Espero poco a poco ir llenando este blog con información que les sea de mucha utilidad, les ayude en sus estudios y trabajos, y se convierta poco a poco en una de esas bibliotecas en lÃnea de recursos de informática a la que tranquilamente puedan acudir.
Muchas gracias a mis apreciables educadores, y también a todos ustedes que se toman un momento para visitar este blog. Que el Señor Jesús les bendiga mucho y les regale muchos éxitos en su vida.
Atentamente.
Guillermo.
Publicado originalmente el 13/02/2012, en http://itsouvenirs.wordpress.com/2012/02/13/renovacion-del-blog/.
WP - Programación funcional 01-2009 - Práctica No. 3

http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2007-2008/tema-07.html
La verdad es que contempla totalmente lo que se pretendÃa abarcar con la tercera práctica, más un par de cosas extras. El objetivo de la práctica era aprender a construir funciones que permitieran utilizar una cantidad de parámetros variable, por lo que, para efectos del curso, no es necesario leer lo de la introducción, quasiquotation y unquote-splicing, aunque son cosas interesantes que podrÃan serles útiles en algún futuro (cercano, lejano, o infinitamente lejano, o sea, nunca). También hay algunos ejemplos un poco más elevados, como hacer su propio let o su propio cond.
Hasta dentro de una semana tendré tiempo de continuar con el blog, y de revisar las tareas, asi que les pido las disculpas del caso. Hasta entonces, les debo las explicaciones de estas últimas prácticas.
Publicado originalmente el 25/04/2009, en http://itsouvenirs.wordpress.com/2009/04/25/practica-no-3/.
Con la tecnologÃa de Blogger.
