lunes, 9 de agosto de 2010

Como utilizar tus servicios virtuales desde otras máquinas usando NAT?

Digamos que tienes algun servicio funcionando en una máquina virtual y quieres que desde otras máquinas se vea, Cómo podrías hacerlo?

La respuesta facil es que tu configuración de red en la máquina virtual utilice "Bridge (Puente)" eso significa que la interfaz de red de la máquina virtual se comporta como una interfaz diferente de tu máquina real. El único problema con esto es que si tienes muchas máquinas virtuales vas a necesitar muchas ip's diferentes.

Y entonces? pues facil puedes utilizar NAT lo que en criollo significa que todas las peticiones van a la interfaz de tu máquina física y se redirecciona basado en "algo" a la máquina virtual correspondiente.

Si estas utilizando VirtualBox con la siguiente instrucción puedes hacer la redirección de la solicitd de red a la máquina virtual:

VBoxManage modifyvm "MV" --natpf1 "iu,p,ipf,pf,ipv,pv"

donde:
mv: Nombre de tu máquina virtual
iu: es un nombre que le das a la redirección bastante util cuando quieres cambiar la configuración de la redirección
p: tcp o udp
ipf: ip de tu maquina real si lo dejas en blanco escucha por cualquier ip (lo mismo que 0.0.0.0)
pf: puerto que se va a abrir en tu máquina real para escucha
ipv: ip de ti máquina virtual, por lo general debes dejarlo en blanco, solo lo utilicas si no está trabajando el servidor de DHCP de VirtualBox
pv: puerto por el que tu servicio está escuchando.

miércoles, 12 de mayo de 2010

Quieres irte al mundial gratis?

Microsoft sacó una promoción bastante interesante, solo tienes que ingresar al siguiente sitio y seguir los pasos:

http://technet.microsoft.com/es-ar/ff621509.aspx

Con eso entras a un sorteo y si ganas te puedes ir al mundial de futbol.

Mucha suerte!!!

miércoles, 5 de mayo de 2010

WEBRick, Mongrel y el performance en Virtual Box

Estoy haciendo unos desarrollos en una máquina virtual que tiene como sistema operativo cliente Ubuntu. Como es desarrollo web (en Ruby on Rails) pues me toca probar en diferentes navegadores para verificar que la funcionalidad es la correcta en todos ellos.

Resulta que para poder probar en IE me toca o correr wine o hacer las pruebas desde el sistema operativo host (en el cual tengo Windows).

Resulta que cuando tengo levantado WEBRick y trato de acceder al servidor desde el sistema operativo host, se demora mucho pero mucho en ejecutar, como logré solucionarlo? pues facil, instalé Mongrel y problema solucionado.

Por cierto, esta fue la instrucción que utilicé para instalar el servidor:
sudo gem install mongrel

Al hacer el típico:
ruby script/server
Automáticamente se levanta mongrel por lo que no toca cambiar las aplicaciones para que funcione.

sábado, 24 de abril de 2010

Que tan seguros son tus passwords?

En este sitio de Microsoft puedes probar que tan seguros son tus passwords.

https://www.microsoft.com/protect/fraud/passwords/checker.aspx

Recuerda que no debes utilizar la misma contraseña para diferentes lugares.

Pongamos un ejemplo, digamos que utilizas la misma contraseña tanto para el foro del que te bajas letras de canciones como para el sitio web de tu banco. Los que quieren ingresar a tu cuenta del banco en vez de atacar al servidor del banco (se supone que debe ser un servidor seguro) atacan al servidor del sitio web de letras de canciones (inclusive pueden ser los dueños y ni siquiera tendrán que hacer un ataque). Así de una forma extremadamente sencilla te pueden atacar.

lunes, 12 de abril de 2010

Visual Studio 2010 Disponible

Pues eso, hoy está disponible para aquellas personas que tienen acceso a MSDN.

domingo, 4 de abril de 2010

Han jugado tetris?

Estaba un poco aburrido así que me puse a buscar mi copia de tetris, la cual nunca encontré (y aunque la hubiese encontrado no podía jugarla ya que es de 16 bits y mi sistema operativo de 64 bits no lo soporta). Bueno el cuento es que me puse a buscar curiosidades de tetris en internet y encontré este video:

Y yo que pensaba que era un duro porque en el tetris de windows lograba hacer que la puntuación empezara a bajar cuando llega al límite de los enteros en 16 bits (216 = 65536)

viernes, 2 de abril de 2010

Como hacer máquinas diferenciales con VirtualBox

Cuando trabajamos en tecnología a veces queremos tener ambientes muy parecidos entre si, la forma más facil de hacerlo es crear una máquina virtual y hacer Ctrl + C y Ctrl + V pero lastimosamente esto puede hacer que nuestros discos duros se queden sin espacio muy rápidamente.

Con VirtualBox podemos ejecutar un pequeño truco para solo crear un disco base y utilizarlo en muchas máquinas virtuales.

Lo primero que tenemos que hacer es crear una máquina virtual y configurar todo lo que sea común para nuestros diferentes ambientes.

Luego de esto eliminamos la máquina virtual (nos queda solo el disco virtual), y en la línea de comandos ponemos lo siguiente:

VBoxManage modifyhd –-type immutable /path/al/disco/virtual.vdi


Luego creamos la o las máquinas virtuales y asignamos como disco al disco modificado (esto hará que se cree un disco snapshot donde se guardaran todos los cambios que hagamos en la nueva máquina virtual).



Cuál es el problema? Cada vez que prendamos la máquina virtual se perderán todos los cambios realizados, para evitar esto, ejecutamos el siguiente comando:



VBoxManage modifyhd –-autoreset off /path/a/la/maquina/virtual/Snapshots/{UUID.vdi}


Y listo con eso ahorarremos mucho espacio en nuestros discos.

Instalar Ruby on Rails en Ubuntu 9.10

Hola, pues como lo dice el título veamos como podemos hacer la instalación. En mi entorno necesito ruby on rails y que me pueda conectar a mysql así que manos a la obra.

1. Instalamos Ruby

sudo apt-get install ruby-full build-essential

2. Instalamos RubyGems

sudo apt-get install rubygems
sudo gem install rubygems-update

3. Para que funcione correctamente, agregamos al path la carpeta de binarios de las gemas (recuerda hacer logoff para que funcione el cambio)

sudo gedit /etc/environment

4. Instalamos Rails

sudo gem install rails

5. Instalamos Mysql

sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysql-ruby libmysqlclient-dev
sudo gem install mysql

Y eso es todo, ahora podemos comenzar a desarrollar nuestras aplicaciones.

martes, 30 de marzo de 2010

Copiar un disco virtual de VirtualBox

Cuando utilizamos máquinas virtuales, muchas veces queremos hacer una copia de alguna máquina existente que utilicemos como base. Lo más lógico es que hagamos Ctrl + C y Ctrl + V para hacer una copia pero resulta, que Virtual Box, a sus discos duros les asigna un identificador y si tratamos de utilizar un disco copia pues nos da error diciendo que el identificador está en uso.

Y luego de la verborrea como hacemos para copiar el disco? pues fácil, Virtual Box tiene un comando llamado VBoxManage el cual, nos permite entre otras cosas hacer un clon del disco virtual para esto utilizamos el siguiente comando:

VBoxManage clonehd disco_origen.vdi disco_destino.vdi

Ahora, si ya copiamos el disco con el método tradicional (copiar y pegar) podemos utilizar la copia siempre y cuando cambiemos el identificador del disco para lo cual ejecutamos lo siguiente:

VBoxManage internalcommands sethduuid disco_copiado.vdi

sábado, 20 de marzo de 2010

Tu procesador soporta virtualización?

Con la moda de los últimos tiempos de virtualizar, por lo general tratamos de conseguir computadoras relativamente potentes para hacer esta tarea, siempre pensamos que como el procesador es de los “últimos” debe soportar virtualización, pero esto no necesariamente es verdad.

En estos urls puedes tratar de averiguar si el procesador que estas usando o comprando soporta virtualización:

http://ark.intel.com/

http://products.amd.com/en-us/DesktopCPUResult.aspx

miércoles, 17 de marzo de 2010

Internet Explorer 9

Si quieres probar el proximo navegador de Microsoft puedes ir a http://ie.microsoft.com/testdrive/Default.html y bajarte el Internet Explorer Platform Preview.

Codigos para tomar los exámenes BETA de Visual Studio 2010

Hace algunos dias les comenté acerca de los nuevos examenes para certificarse en tecnologías de desarrollo de Microsoft.

Ahora adjunto los códigos para que puedan tomar los examenes. Ya no tienen excusa.

Exam Number Beta Code
71-511 511BC
71-513 513CD
71-515 515AA
71-516 516B1
71-518 518PE
71-519 519ZS

domingo, 14 de marzo de 2010

Core i3, i5, i7

Hoy estaba viendo un video de Martin Perraud, quien es gerente de aplicaciones de Intel Argentina.

En este video explica un poco acerca de los nuevos procesadores i3 y los i5 y bueno pues quería dar yo una explicación un poco a la criolla de estos tres tipos de procesadores para que podamos hacer una elección un poco más decente al tratar de comprarlos.

Antes de comenzar con la explicación, debemos tomar en cuenta que estos procesadores reemplazan a la gama de Core 2 XXX, es decir los Core 2 Solo, Core 2 Duo, Core 2 Quad y si mal no estoy tambien los Extreme Edition.

Ahora si:

Core i7.
Se supone que este procesador es el de gama alta de intel, al principio apareció con 4 núcleos pero se espera que salgan nuevas version con solo 2 núcleos y otra con 6 núcleos (algunas personas llaman a los de 6 núcleos Core i9, tocará esperar a que salgan e Intel les de un nombre oficial). Estos procesadores soportan HyperThreading que significa que cada núcleo puede hacer 2 tareas simultaneas por que en vez de indicar que tiene 4 procesadores indica que tiene 8. Además estos procesadores soportan Intel Turbo Boost que es una técnologia que permite aumentar la velocidad de los core cuando estos no son utilizados en su totalidad, es decir, si se tiene 4 núcleos y solo se estan usando 2, estos 2 núcleos pueden aumentar su velocidad de procesamiento (velocidad de reloj).

Core i5.
Aunque salió luego de los Core i7, estos procesadores son menos potentes y están pensados para la gama media. Vienen en versiones de 4 y 2 núcleos, suportan Intel Turbo Boost y algunos soportan HyperThreading, la principal diferencia con los i7 es la velocidad.

Core i3.
Salieron en Enero de 2010 y están pensados para la gama baja. Vienen en versiones de 2 núcleos y no soportan Intel Turbo Boost ni HyperThreading, se supone que son el reemplazo de los Core 2 Duo.

Aunque no es la super explicación técnica, espero que con esto tengan un poco mejor las bases de que procesador les sirve al momento de comprar.

jueves, 11 de marzo de 2010

Visual Studio Team Explorer 2010 Beta y su soporte multiplataforma

Navegando en el sitio web de Microsoft dedicado al Open Source encontré un artículo escrito por Peter Galli muy interesante de algo que estaba buscando: Un plugin de Eclipse que soporte a TFS.

Pues bueno para hacerla corta, resulta que Soma Somasegar, quien es el vice presidente senior de la división de desarrollo de Microsoft anunció en su blog que sacaron la Beta de Visual Studio Team Explorer 2010 y resulta que esta beta incluye el plugin de Eclipse que tanto estaba buscando.

Y como así Microsoft tiene ese plugin? Pues facil, compraron a la empresa Teamprise la cual es dueña de un plugin bastante decente para integración con TFS el único problema con el plugin es que era de pago pero con la nueva adquisición pues lo pude obtener sin tener que pagar.

Si quieren leer el resto del anuncio has click aquí.

Si quieres bajar el beta de Microsoft Visual Studio Team Explorer 2010 has click aquí

miércoles, 10 de marzo de 2010

Instalación de Alfresco 3.2 Enterprise en JBoss 4.2.3 con Java 1.5 en RHEL 5.4 y con Oracle 10g

Estoy en la tarea de instalar Alfresco Enterprise (la versión de pruebas) y pues por si a alguien le sirve dejo los pasos.

En este caso como tengo que hacerlo en un servidor que tiene otro pocoton de cosas instaladas, pues nos vamos a lo dificil, es decir instalación manual.

Para hacerlo de esta forma nos vamos al sitio web de alfresco http://www.alfresco.com/ y hacemos click en "Downloads", en la ventana que aparece hacemos click en "Download Enterprise Edition"

Nos aparece un formulario en donde nos pide nuestros datos personales y nos permite escoger que queremos bajar, en este caso seleccionamos "WAR bundle (tar.gz)" y ponemos nuestros datos personales.

MOMENTO!!! al hacer click en Submit me dice que se va a bajar "alfresco-enterprise-wcm-3.2.0r.tar.gz" y eso no es lo que quiero, mal por la gente de Alfresco ya les voy a enviar un correo para ver si lo corrigen. Bueno como no me deja bajar lo que quiero pues a utilizar las herramientas (Developer Tools) que mi querido IE8 me ofrece (o si estan en firefox usan firebug).

Los pasos para poder bajar:
  1. Presionan F12 (Aparece la venta de las Developer Tools)
  2. Hacen click en el icono en forma de cursor
  3. Hacen click en el combo que está al lado de "Download for"
  4. En la ventana de "Developer Tools" hacen click en el signo de "+" ubicado al lado del tag "select"
  5. En el último tag "option" cambian la palabra wcm por war (quedaría: alfresco-enterprise-war-3.2.0r.tar.gz)
  6. Ahora si llenen los datos y pongan submit.
Requisitos:

Segun el manual de instalación de la gente de Alfresco se necesita el JDK 6 pero como el cliente dice que no va a instalar eso sino JDK 5 pues se necesita bajar el JDK 5 (http://java.sun.com) e instalarlo.
 
En mi caso en particular necesito Oracle por lo que necesito el ojdbc14.jar (se baja de http://otn.oracle.com)

Verificación de la ubicación de la variable JAVA_HOME
1. Abrir una terminal

2. poner echo $JAVA_HOME

Si no está apuntando al jdk que necesitan o si no está seteada la variable, la forma más facil de modificarla es editar el archivo /etc/profile, en algun lado ponen lo siguiente:
JAVA_HOME=/path/donde/instalaron/el/jdk
export JAVA_HOME

adicionalmente (recomendado) hagan que el PATH tenga en su entrada el folder bin de JAVA para lo cual en el mismo archivo (/etc/profile) pongan lo siguiente:
PATH=$JAVA_HOME/bin:$PATH
export PATH

Deploy de Alfresco en JBoss

Aqui es mucho más facil poner los comandos que explicar asi que ahi va:

1. Descomprimimos el archivo que nos bajamos del sitio web de alfresco y descomprimimos los archivos alfresco.war y share.war
mkdir /usr/share/alfresco

cp alfresco-enterprise-war-3.2.0r.tar.gz /usr/share/alfresco
cd /usr/share/alfresco
tar xvfz alfresco-enterprise-war-3.2.0r.tar.gz
rm alfresco-enterprise-war-3.2.0r.tar.gz
mv alfresco.war alfresco.jar
mv share.war share.jar
mkdir alfresco.war
mkdir share.war
mv alfresco.jar alfresco.war
mv share.jar share.war
cd alfresco.war
jar xvf alfresco.jar
rm alfresco.jar
cd ../share.war
jar xvf share.jar
rm share.jar
mkdir -p /var/lib/alfresco/alf_data
chown -R jboss:jboss /var/lib/alfresco
mkdir -p /var/logs/alfresco
chown -R jboss:jboss /var/logs/alfresco
chown -R jboss:jboss /usr/share/alfresco

2. Creamos enlaces simbólicos dentro de JBoss para que apunten a las carpetas que creamos en el paso anterior.
cd /usr/share/jbossas/server/default/deploy
ln -s /usr/share/alfresco/alfresco.war
ln -s /usr/share/alfresco/share.war
cd /usr/share/jbossas/server/default/conf
mkdir alfresco
cd alfresco
ln -s /usr/share/alfresco/extensions/extension

3. Copiar el jar de la base de datos en /usr/share/jbossas/server/default/lib


4. Modificamos el archivo run.sh para que el JAVA_OPTS se vea asi:

JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=128m -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

5. Modificar el archivo /usr/share/jbossas/server/default/deploy/ejb3.deployer/META-INF/persistence.properties en la linea que comienza por hibernate.bytecode.provider para que utilice cglib en lugar de javassist.

6. Modificamos la configuracion de JBoss para que utilice UTF-8 como encoding, para lo cual abrimos el archivo /usr/share/jbossas/server/default/deploy/jboss-web.deployer/server.xml, ubicamos la linea que dice:

<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
y lo cambiamos para que diga:
<Connector port="8080" URIEncoding="UTF-8" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"

Configuración de la conexión a la BDD (ORACLE)

Pues lo importante es tener un usuario que pueda crear tablas, con esto me funciona a mi:

CREATE SMALLFILE TABLESPACE "ALFRESCO" DATAFILE 'ALFRESCO.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 1024K MAXSIZE 32767M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE USER "ALFRESCO" PROFILE "DEFAULT" IDENTIFIED BY "ALFRESCO" DEFAULT TABLESPACE "ALFRESCO" TEMPORARY TABLESPACE "TEMP" QUOTA UNLIMITED ON "ALFRESCO" ACCOUNT UNLOCK;
GRANT CREATE TABLE TO "ALFRESCO";
GRANT "CONNECT" TO "ALFRESCO";
GRANT "RESOURCE" TO "ALFRESCO";

Creamos el archivo de configuracion y lo editamos

cd /usr/share/alfresco/alfresco.war/WEB-INF/classes/
cp alfresco-global.properties.sample alfresco-global.properties
vim alfresco-global.properties

Descomentamos y modificamos las siguientes lineas:
dir.root=/var/lib/alfresco/alf_data
db.username=ALFRESCO
db.password=ALFRESCO
db.schema.update=true
db.driver=oracle.jdbc.OracleDriver
db.url=jdbc:oracle:thin:@ip.del.servidor.BDD:1521:SID

Y eso es todo, no queda más que iniciar Jboss y empezar a jugar con Alfresco.

Vbox y sus carpetas compartidas

Un dato que puede resultar útil cuando trabajan con VirtualBox y tiene un sistema operativo cliente Linux.

Para que se monten automáticamente las carpetas compartidas con el host se debe modificar el archivo /etc/fstab (se debe tener privilegios de root para modificarlo) en este archivo agregamos una linea parecida a la siguiente:

nombre_en_vbox /path/a/montar vboxsf defaults 0 0

Examenes de certificación BETA de Visual Studio 2010

Este lunes me llegó un correo de los chicos MS donde me indican que el 15 de marzo ya se abrirán los registros para los exámes BETA de Visual Studio 2010, este es el listado de examenes disponibles:

Pues bueno ponte a estudiar y se uno de los primeros en dar y pasar los examenes.

Recuerda que el 12 de abril se hace el lanzamiento oficial de Visual Studio 2010