jueves, julio 03, 2008

Motor de Informes Dinámicos con itextsharp (II)

Hola de nuevo a todos, ha pasado un tiempo desde la primera parte del tutorial, pero ya he encontrado tiempo para escribir esta segunda parte (más interesante que la primera). En la primera parte vimos cómo funcionaba la librería itext# para generar informes PDF al vuelo. En esta segunda parte lo que veremos será cómo crear plantillas XML para juntarlas posteriormente con datos y generar el PDF.

El inicio de todo
Lo que vamos a hacer es por un lado, crearnos una plantilla XML con parámetros, por otro lado, generar nuestros datos en formato XML (para poder guardarlos en base de datos) y finalmente, juntar las dos cosas y obtener, al vuelo, la plantilla con los datos en formato PDF.

El flujo de datos

El funcionamiento del sistema de plantillas es el siguiente.

















Desde la página obtenemos los datos en XML y la plantilla, lo cual va en sesión a la página ImpresionPDF.aspx. Esa página se encarga de llamar a la clase ParseadorPDF.cs que es la que contiene la lógica de negocio para generar el PDF al vuelo. Esa clase devuelve un MemoryStream con el PDF a la página, la cual lo renderizará en pantalla.

La plantilla XML
El primer paso es generarnos la plantilla XML con los tags adecuados que entienda la librería. Para un ejemplo de los tags que se pueden utilizar, en la ayuda nos ofrecen algunos ejemplos. Nosotros vamos a trabajar con el siguiente XML que es muy sencillo:






















En este informe utilizamos diferentes tags, como: table, row, cell, newline, itext(obligatorio al inicio y al fin) y en medio hemos introducido tags propios:nomAE, numAE, nomAl y dniAl. Estos serán los parámetros que se sustituirán posteriormente por los valores que le digamos. La librería itextsharp tiene un problema a la hora de parsear los XML en PDFs y es que NO PUEDE TENER ESPACIOS EN BLANCO DENTRO DE LOS TAGS TABLES. Es decir, para generar una plantilla XML, no podemos indentarla, sino que tiene que ir como se muestra en la imagen o dará un error de ejecución.

Los datos a parsear
En este paso, lo que vamos a ver es cómo pasarle los datos que queremos que aparezcan en el informe a la librería para que los junte correctamente. Le vamos a pasar un vector con dos dimensiones, en una dimensión irá un esquema XML con los datos a imprimir y en la otra irá la plantilla a utilizar. El esquema XML es como el siguiente:













A la hora de crear el documento veremos cómo crear este esquema XML para guardarlo en base de datos. Una vez recuperado el documento XML, la creación del vector es la siguiente:








En el vector de objetos “datos” guardamos el XML y la plantilla correspondiente. Seguidamente llamamos a la pantalla ImpresionPDF.aspx que se encargará de generar la plantilla XML.


La página ImpresionPDF.aspx

Esta página es la encargada de recibir los datos desde la sesión y llamar a la clase encargada de generar el PDF. Además de esto, obtiene de base de datos los márgenes a aplicar, las dimensiones del PDF y varios datos de formato propios de la plantilla. Una vez recuperados estos datos llama al método GenerarPDF de la clase ParseadorPDF:








El método devuelve un MemoryStream con el fichero PDF para ser renderizado. Veamos ahora cómo se produce el parseo real de los datos.


La clase ParseadorPDF.cs

Esta es la clase que se encarga de juntar las plantillas con sus respectivos datos. El flujo es el siguiente:

1. Crear el PDF global que va a ser devuelto y ponerle las dimensiones precisas:






2. Recorrer los datos y plantillas pasadas para ir tratando a cada una de ellas. Este método permite que se pasen a la vez varios XML de datos con varias plantillas en el mismo vector de objetos, por lo que lo primero es ir recorriendo las diferentes plantillas. Para cada XML de datos realizamos una conversión a un vector de objects con los datos que es lo que entiende el método:






3. Para cada plantilla con sus datos los juntamos en un PDF temporal que es guardado en una ruta temporal y posteriormente anexado al PDF global que se creó al inicio. En esta parte es donde se realiza la unión real de los datos, creando un hashtable que enlaza cada parámetro con su valor y llamando al método Parse de la librería PDF:












4. Una vez realizado el parseo, lo que tenemos que hacer es eliminar los ficheros temporales que hemos ido creando en el proceso. Estos ficheros se encuentran guardados en la variable subFicheros.

El método ParsearDatos

Este método es el encargado de crear un hashtable que enlace cada parámetro con su valor. Lo primero es crear el hashtable y asignarle los primeros valores fijos:














Seguidamente, para cada parámetro, tendremos que unirlo con su parámetro y asignarle un XMLPeer correcto:











Dependiendo del tipo de parámetro que sea será tratado de una forma o de otra, lo que rellenamos en el método es la propiedad peer.Content con el valor del parámetro y si le queremos incluir más atributos rellenamos la propiedad peer.AddValue.


El método ConcatenarPaginas

Este método se encarga de unir las páginas de los PDF temporales que creamos con la del PDF global que será devuelto a la capa de presentación. El código de este método es el siguiente:












El final

Bueno, con esto termino el artículo. Espero haberos dado una idea inicial de cómo realizar un motor de plantillas basado en XML para la librería itextsharp. No he podido explicar el funcionamiento completo porque eso exigiría muchísimo tiempo pero creo haber ahondado bastante para que podáis seguir vosotros.


Como siempre, para cualquier duda que os surja aquí estoy.


martes, mayo 27, 2008

Diseño de redes inalámbricas con Radio Mobile (II)

Actualización (30/05/07): Si alguien instaló en su Ubuntu VirtualBox cuando escribí la entrada, es posible que unos días después, tras actualizar su distribución notara que VirtualBox dejaba de funcionar dando un error de que el driver no estaba presente. Se debía a que hubo una actualización del kernel a la versión 2.6.24-17, para la que los módulos de VirtualBox ya no valían (se podía arreglar simplemente arrancando con el kernel anterior). Pues bien, a quienes les haya pasado ésto les recomiendo que vuelvan a actualizar, pues a partir de hoy ya están disponibles los módulos de VirtualBox para el nuevo kernel, veréis que ya os funcionará sin problemas en su última versión.


En la anterior entrada ya vimos cómo instalar una máquina virtual VirtualBox sobre la que instalaremos ahora nuestro software de Radio Mobile, pero antes de ello vamos a depurar un poquito más nuestra máquina virtual para no tener que andar pulsando el "botón de anfitrión" cada vez que queremos usar el ratón sobre nuestro linux, y para permitir la compartición de carpetas entre el sistema host y el sistema anfitrión, que trabajar en la misma máquina y tener que andar con una memoria usb para pasar ficheros dentro de la misma máquina es un poco triste :).

Abrimos nuevamente nuestra máquina virtual (Aplicaciones -> Herramientas del Sistema -> VirtualBox OSE), la iniciamos (botón "Iniciar"). Cuando la máquina se haya iniciado, pinchamos en el menú "Dispositivos" y pulsamos sobre "Instalar aplicaciones del huésped". Os dirá que no se puede encontrar la imágen .iso de las aplicaciones del huésped, que si queréis descargarla, así que le decimos que la descargue, y luego cuando nos pregunte si queremos montarla, le decimos que sí. Ahora se nos abrirá la pantallita de instalación típica de windows:



Y cuando se nos haya instalado (necesita reiniciar), lo primero que notaréis es que ya no es necesario que pulsemos el CTRL DRCHO para sacar el ratón de la máquina virtual, sino que la ventana se comporta como una más de nuestro Linux y símplemente cuando pasamos el ratón por encima de ella, el ratón se pasa a comportar como si fuera el ratón del sistema Windows, permitiéndonos pulsar sobre sus menús y demás, ésto lo hace todo más cómodo. Además, también hemos instalado en el huésped la aplicación que nos permite la compartición de carpetas entre la máquina y nuestro sistema, pero para ésto aún tendremos que hacer un retoque chiquitín en nuestro sistema anfitrión, que explico a continuación.

Lo primero es crear la carpeta que vamos a usar para intercambiar ficheros entre los dos sistemas (ej: /home/tu_usuario/Intercambio). Una vez creada, la compartimos, que es tan fácil como irse con el Nautilus hasta la carpeta, darle al botón derecho sobre ella y decir "Opciones de Compartición". Os dirá, si es la primera vez que compartís archivos, que tiene que instalar la compartición de ficheros por samba, pero no os preocupéis, le dais a que lo instale y después de instalarlo será necesario que cerréis sesión y volváis a abrirla para que funcione. Una vez hecho esto volvéis a la carpeta a su "Opciones de Compartición" y pincháis en compartirla, quedando así:


Le decís "Crear compartición" y os dirá...


Pues bien, pulsad en "Añadir los permisos automáticamente", y listo, la carpeta se os debería mostrar en el nautilus de esta guisa...

...lo que os hará saber que está todo en orden.

Ahora ya para poder compartir ficheros desde uno al otro lado, nos vamos a la máquina virtual (Windows XP) y ahí pinchamos en "Inicio -> ejecutar". Escribimos "cmd" y pulsamos "enter". Lo que nos saldrá es un interprete de comandos de windows. Ahí escribiremos "net use Z: \\127.0.0.1\Intercambio". Nos dirá que se ha terminado la operación con éxito. Ahora ya podremos ver nuestra carpeta en windows como si se tratase de una unidad distinta (que hemos llamado Z:) mientras en GNU/Linux sigue siendo nuestra carpeta /home/tu_usuario/Intercambio. ¿A que mola?

Bien, una vez configurado todo esto, llegó la hora de instalar el Radio Mobile, nos vamos a la página de descarga, lo descargamos y seguimos los pasos que ahí nos pone, que son pocos y fáciles, y los cuento a continuación:
1. Descargamos el fichero que se enlaza en el paso 1 (step 1) y que viene a ser una librería. Después pinchamos, decimos un sitio donde queremos que se descombrima y luego vamos ahí y lo ejecutamos para que se instale en nuestro sistema.
2. Creamos la carpeta C:\Radio_Mobile
3. Descargamos el fichero que pone en "step 3" y lo descomprimimos dentro de la carpeta Radio_Mobile que creamos en el paso anterior.
4. Hacemos lo mismo con el fichero que se enlaza en "step 4".
5. Descargamos el fichero que se enlaza para el caso de lengua castellana (spanish language), y lo descomprimimos dentro, como en los pasos anteriores.
6. Creamos una carpeta que se llame por ejemplo "mapas" donde meteremos los mapas que nos descarguemos.
7. Descargamos y descomprimimos, como antes, el fichero que está enlazado en "File wmap.zip".
8. Ejecutamos el fichero "rmUpdatespa.exe" dentro de nuestra carpeta Radio_Mobile (veréis una pantallita como la que sigue).


Le damos a Siguiente, actualizamos y listo.

¡Bien! Ya tenemos instalado el software. De hecho, si queréis podéis probarlo ejecutando el fichero "rmwspa.exe", os saldrá algo como...


Pero aquí no acaba todo, porque ahora hay que descargarse los mapas SRTM (mapas topográficos). En realidad Radio Mobile admite varios tipos distintos de formatos de mapas, pero los SRTM son los que para la región de latinoamérica que queremos tratar ofrecen mayor precisión, y para nosotros que el mapa sea preciso será extremadamente vital, pensad que si uno diseña una red perfectamente, se va a la selva, instala equipos, antenas y torres y resulta que luego la señal no llega al otro extremo, el problema es bastante serio (obviamente en la realidad no son estas las únicas pruebas que se hacen antes de instalar los equipos), pero está claro que el software no nos sirve si no usamos mapas medianamente precisos.

Estos mapas SRTM se pueden conseguir de varios sitios, yo os contaré el proceso descargándolos del servidor ftp de la NASA, para lo que os recomiendo que os descarguéis e instaléis el filezilla en vuestra máquina virtual de windows (a nosotros nos interesará el "Filezilla Client" puesto que lo que queremos es un cliente FTP, no un servidor).

Ahora abrimos el Radio Mobile (para agilizar el proceso os recomiendo que creéis un acceso directo al fichero "rmwspa.exe" en el escritorio). Y buscamos las coordenadas aproximadas de nuestra zona de trabajo. Para ello pinchamos en "Archivo -> Propiedades del mapa", y ahí le damos a "Seleccionar un nombre de ciudad". Buscamos la ciudad de Iquitos, que es la ciudad más grande de la selva peruana y que está bastante cerca de nuestra zona de actuación. así, se colocarán automáticamente las coordenadas de esta ciudad (Latitud: -3,85 ; Longitud: -73,22). Así ya nos podemos hacer una idea de que si la región del Napo está ligeramente al noroeste de Iquitos, necesitaremos los mapas correspondientes latitudes más o menos de entre 0 y 5 grados sur y de longitudes entre 68 y 78 grados oeste (para todo esto google earth os puede ayudar bastante, yo he elegido un cuadrante amplio que más o menos encuadra todo lo que podríamos necesitar para nuestro diseño).

Y bien, ahora que ya tenemos eso claro abrimos el Filezilla que antes habíamos instalado. En el campo de servidor copiaremos...
ftp://e0srp01u.ecs.nasa.gov/srtm/version2/SRTM3/South_America
...y le damos a conexión rápida.
Como véis lo que vamos a hacer es buscar dentro de la sección que se ha abierto a la derecha los mapas que corresponden a las latitudes y longitudes que buscamos y copiarlos a nuestra carpeta de "mapas" que nos creamos antes. Para ello simplemente buscamos desde el fichero S01W068.hgt.zip al fichero S01W078.hgt.zip y los arrastramos a nuestra carpeta mapas que tendremos abierta en la sección de la izquierda, luego hacemos los propio con los que van de S02W068.hgt.zip a S02W078.hgt.zip, con los de S03W068.hgt.zip a S03W078.hgt.zip, con los de S04W068.hgt.zip a S04078.hgt.zip y finalmente con los que van de S05W068.hgt.zip a S05W078.hgt.zip y así habremos cubierto el cuadrante que necesitábamos.

Nota: Cuando lo que queramos sea descargar mapas de otra zona, podéis acceder al servidor entrando con el Filezilla en la dirección ftp://e0srp01u.ecs.nasa.gov/srtm/version2/SRTM3/ y buscando por la región que queráis acceder

Ahora en el Radio Mobile pinchamos en "Archivo -> Propiedades del mapa", volvemos a establecer Iquitos como centro del mapa, en Ancho y Alto pondremos 800 x 600, seleccionamos la ubicación de los mapas y establecemos que son de tipo SRTM, ponemos una altitud de 200 km para tener bastante plano y pinchamos en "Extraer".


El mapa resultante...


...está centrado en la ciudad de Iquitos y abarca hasta la unión del Napo con el Amazonas, así que vemos que realmente, si nuestra red está en el río napo, tendremos que subir nuestro mapa más hacia arriba, pero bueno, empezaremos centrando el mapa en uno de los puntos y ya iremos afinando. Claro que eso será ya en la siguiente entrega de esta saga de entradas, que pa una entrada ésto ya se está convirtiendo en demasiao largo :).

De toas formas, las coordenadas de nuestros puntos, por si alguno/a quiere ir probando a averiguar como funciona la cosa, son:

Cabo Pantoja: 0º58'13,26''S 75º10'29,21''O
Torres Causana: 1º6'16,53''S 75º0'14,17''O
Tempestad: 1º17'22,81''S 74º52'27,42''O
Tupac Amaru: 1º21'46,55''S 74º44'42,89''O
Angoteros: 1º34'9,54''S 74º36'20,17''O
Campo Serio: 1º47'35,48''S 74º42'50,09''O
Rumi Tuni: 2º3'16,22''S 74º26'9,30''O
San Rafael: 2º22'1,43''S 74º6'42,91''O
Copal Urco: 2º20'23,41''S 73º47'26,23''O
Santa Clotilde: 2º29'22,07''S 73º40'41,02''O
Tacsha Curaray: 2º48'47,46''S 73º32'27,30''O

Saludetes chavalinos y chavalinas y hasta dentro de poquito.

viernes, mayo 23, 2008

Diseño de redes inalámbricas con Radio Mobile (I)

¡Buenas de nuevo!

Como lo prometido es deuda, y después de las entradas "facilonas" en las que sólo colgaba 2 libros para su descarga (que son muy buenos, de veras); ahora me voy a mojar un poquillo más y en esta entrada me he propuesto diseñar una red con Radio Mobile. Para demostrar su aplicación, vamos a hacer como ejemplo una red ya existente que se diseñó con este software, y que viene a ser la red que la Fundación EHAS instaló en marzo del año pasado a lo largo del río Napo, en los distritos de Napo y Torres Causana, provincia de Maynas, región de Loreto, en el Perú amazónico. Se trata de una red orientada a salud que se pretende (y de hecho lo está haciendo desde ya hace un año) que de los servicios de telefonía, correo electrónico, internet y diversos de telemedicina (en esto último la red aún no está lo suficientemente explotada y se está trabajando en buscar soluciones de telemedicina útiles y aplicables en estos entornos) para los centros de salud de una región aislada del planeta. Los beneficiarios directos del proyecto serán por tanto los centros de salud, que si tuviéramos delante el árbol de soluciones de El Marco Lógico de nuestro proyecto, nos daríamos cuenta de que repercuten directamente en la mejora de las condiciones de la población local.

Para situarnos un poco más, os pongo el mapa de direccionamiento de la red del que nosotros nos encargaríamos de diseñar todos los enlaces inalámbricos.

Llegado este punto, alguno pensará "...y si se trata de enlaces inalámbricos WiFi, ¿para qué #$%/& hay que usar un software de diseño? yo en mi casa pongo mi router a funcionar y a ¡ale! ¡a correr!". Pues bien, eso está genial para enlaces cortos típicos de redes locales WiFi, que no superan los 300m en el mejor de los casos, pero los enlaces que vemos en el mapa que arriba pongo, llegan a tener hasta 42km entre nodos, en una región tropical selvática con la atenuación de señal que humedad, selva y demás asuntos introducen en nuestros balances de enlace, y todo ello sin dejar de ser WiFi (aunque como ya veremos en futuras entradas, para el correcto funcionamiento de estos enlaces hace falta hacer algunos truquillos con el driver Madwifi para tarjetas con chipsets atheros sobre linux que rompen ligeramente el estándar WiFi sin abandonar la interoperabilidad con cualquier otro dispositivo que cumpla el estándar 802.11).

Por otras entradas del blog, muchos/as ya sabréis que soy un linuxero empedernido, así que usar software diseñado para windows habitualmente me produce urticaria, pero dado el buen uso que puede tener este software y para que me duela menos, explicaré el proceso sobre una "Ubuntu 8.04", la última versión disponible, instalando una máquina virtual "VirtualBox" sobre la que se instalará a su vez un Windows XP. Si me da el venazo, igual os explico también cómo hacerlo directamente sobre Linux usando el emulador "Wine".

Lo primero que vamos a hacer es descargarnos la máquina virtual "VirtualBox" y para ello nos vamos a su página web y nos descargamos el software (decir que Sun Microsystems anunció en febrero de este año la adquisición de la empresa responsable de VirtualBox, que es Innotek GmbH, por lo que el software ha pasado de llamarse "Innotek VirtualBox" a ser ahora "Sun xVM VirtualBox 1.6", ya sabéis, chorradas empresariales de nomenclatura. Los que tengáis la antigua máquina virtual, os vale lo mismo, pero probablemente la página sea alojada dentro de poco en los servidores de Sun). Para la descarga seleccionamos nuestra plataforma (Ubuntu 8.04 x86), marcamos el tradicional cuadro de aceptar licencia "I agree" (cualquier día me da el venazo y me leo una de estas licencias pa saber lo que estoy aceptando :) ) y pinchamos en el botón "Continue". La cosa no podía ser más sencillica. Nos sale un paquete .deb para descargar. Lo descargamos corriendo antes de que nadie nos lo quite :D. Para instalarlo, nos bastará un "sudo dpkg -i nombre_paquete.deb" en un terminal.

Pero para quien eso de abrir una consola le de urticaria, siempre está la opción de nuestro amigo el synaptics (gestor de paquetes). Se abre, se busca por virtualbox, se marca el paquete para su instalación y luego se pulsa en "Aplicar". No tiene pérdida.




Después de la instalación de VirtualBox, ya lo tenemos en Aplicaciones -> Herramientas del sistema -> VirtualBox OSE. Pues bien, pulsamos en él para abrirlo. Como se podía intuir, nuestra intención será crear una nueva máquina virtual, así que pinchamos en el botón de "Nueva" y comenzamos a configurarla.






Lo primero es un típico "Siguiente". Luego damos un nombre a nuestra máquina y seleccionamos el tipo de sistema operativo que instalaremos en ella (en nuestro caso un Windows XP...¡uy! ¡qué dolor ver esas letras juntas!). Como parece que le he pillado el gustillo a esto del botón "impr pant" del teclado.

Pulsamos en "Siguiente" y nos preguntará la memoria base que queremos destinar a la máquina virtual. La mínima son 192MB, pero para darle más soltura a la cosa, yo le he puesto 512MB, dependerá de cuánta tengáis. Si le ponéis muy poca irá más lento, pero por contra no os comerá terreno a vuestro preciado GNU/Linux. Pulsamos en "Siguiente", y ahora nos toca crear un disco duro para nuestra máquina virtual. Bueno, aquí tenemos la opción de que el disco duro tenga un tamaño estático o un tamaño dinámico (que crecerá cuando se vaya agotando). Ésto se traducirá en un fichero .vdi, que luego podremos borrar o copiar a nuestro antojo para trasladar nuestra máquina virtual a otro sitio. Yo he decidido usarlo de 10GB iniciales y dinámico...
Ya sabéis..."Siguiente" y "Finalizar" cuando os lo pida.

De vuelta al proceso de creación de la máquina, ahora seleccionamos el disco duro que acabamos de crear como primario de nuestra nueva máquina y pinchamos en "Terminar". Y ahí está, ya tenemos a nuestra pequeña creada, a la espera de ser configurada y luego instalada.

Hagamos antes de la instalación algunos retoques de configuración, son poquitos. Con la máquina seleccionada, pinchamos en el botón de "Configuración". Primero, si disponemos de suficiente memoria de vídeo, le daremos un poco más de holgura a la máquina, para que nuestro Radio Mobile se mueva agusto.

Ahora es buen momento para introducir en vuestra lectora de CD o DVD el disco de instalación de un Windows XP (no seré yo quien os diga si el disco ha de ser original o pirata :) ). Nos vamos a la sección de "CD/DVD-ROM" y marcamos la casilla de "Monta la unidad de CD/DVD".

Lo siguiente será activar el audio. Nos vamos a la sección "Audio" y marcamos "Habilitar Audio". Finalmente pincharemos en "Ok" y ya está, ya estamos listos para instalar un sistema operativo peor que el anfitrión, pero que nos dará la posibilidad de diseñar nuestra red inalámbrica mediante el software de Radio Mobile. Para arrancar la máquina, ahora ya sí, pinchamos en el botón "Iniciar" con nuestra máquina seleccionada.

Al darle a "Iniciar", nos sale un cuadrito que nos familiariza con el funcionamiento de VirtualBox. Se nos recuerda que cuando pulsemos sobre la ventana de la máquina virtual (mientras no esté instalado algo que haremos más tarde), la máquina huésped (Windows) se hará con el control de nuestro teclado hasta que pulsemos la "Tecla anfitrión", que viene a ser por defecto el CTRL DRCHO. Cuando pulsemos esa tecla, nuestro teclado y ratón actuarán sobre nuestro sistema anfitrión (GNU/Linux Ubuntu).



...y hecho ésto...

¡¡ALARM, ALARM!!

La maquinilla nos chilla que nanai, pero afortunadamente el mensaje de error contiene la solución del problema así que no tendréis mucho problema en solucionarlo. Sólo tenemos que instalar el paquete que nos pide. Lo hacemos con "sudo aptitude install virtualbox-ose-modules-2.6.24-16-generic" en un terminal. Lo siguiente será introducir a nuestro usuario dentro del grupo "vboxusers", y para ello nos vamos a "Sistema -> Administración -> Usuarios y Grupos". Ahí pinchamos en "Gestionar Grupos", luego seleccionamos el grupo vboxusers y marcamos nuestro usuario para que se agregue al grupo. Cerramos y ya lo tenemos, pero para que el usuario sea efectivamente agregado, tendremos que reiniciar. Para quien prefiera hacer las cosas desde un terminal, se puede agregar un usuario al grupo vboxusers sólo escribiendo "sudo adduser vboxusers" (mucho más rápido, ¿eh?).






Luego pulsamos en "Iniciar" y como tenemos introducido el cd de instalación de Windows, el resto podemos decir que ya es historia, la vieja historia de la instalación de un Windows y que resumiré en capturas:








Y ... ¡voilà! Ya tenemos el windows sobre el que instalaremos nuestro Radio Mobile, pero la instalación del software os la contaré en la siguiente entrada. Ni que decir tiene que lo que tenemos ya instalado es un windows plenamente funcional, así que se le puede instalar cualquier cosa que se pudiera instalar sobre un sistema no virtualizado (aunque parece ser que algunas cosas como la aceleración gráfica aún no está muy conseguida).

¡Hasta la próxima entrada!

sábado, mayo 17, 2008

Libro "Redes Inalámbricas en los Países en Desarrollo"


Buenas a todos de nuevo, aquí os dejo otro libro más sobre redes inalámbricas, éste un poco más antiguo, surge del proyecto WNDW (Wireless Networking in the Developing World) y os puede ayudar a informaros más a fondo sobre estos temas. Espero que os sea de utilidad. Lo podéis descargar igual que el anterior porque también está licenciado bajo Creative Commons. Si preferís descargaros la segunda edición en inglés, también la tenéis aquí disponible.

lunes, mayo 12, 2008

Libro "Redes Inalámbricas para Zonas Rurales"


El Grupo de Telecomunicaciones Rurales de la PUCP (Universidad que es contraparte local de los proyectos que la Fundación EHAS desarrolla en Perú, como el que os relataba en el blog "Cooperante no hay camino..."), ha publicado un libro que trata en profundidad el despliegue de redes inalámbricas para zonas rurales de países en desarrollo. Podéis descargar el libro si lo deseáis ya que está licenciado bajo Creative Commons. Os lo recomiendo, hay mucho conocimiento ahí condensado.