10.9.09

Los mayores errores en la planificación de los proyectos de webmapping

El orden es irrelevante, y la importantcia de cada uno es variable en función de otros factores, sin embargo, son todos los que están. Aquí va mi lista de los mayores errores en la planificación de proyectos de webmapping
  1. No planificar un tiempo para la formación del equipo. Al menos un 20% del total y siempre antes de empezar.
  2. Esperar más de un mes para mostrar la primera versión.
  3. No tener una versión en-vivo que se pueda mostrar siempre
  4. Empezar por los datos y no por la interfaz de usuario.
  5. No usar un framework para trabajar con AJAX
  6. No usar un API de logging
  7. No implantar en el cliente hasta el final
  8. No usar un control de versiones
  9. Desarrollar en un único Sistema Operativo
  10. Dedicar meses en el diseño con UML/Objetos/Patrones
  11. No diseñar un plan de pruebas
  12. No acotar la funcionalidad al tiempo disponible. Cuanto más tiempo se tiene para una tarea, más compleja se vuelve
  13. Pedir al equipo un "esfuerzo extra" en vez de negociar un recorte de la funcionalidad



Share/Save/Bookmark

3.9.09

Google Maps ha colocado a los profesionales del GIS en el mundo

Hace algunos años, cuando alguien me preguntaba, "¿en qué trabajas?" la mejor respuesta que se me ocurría era "hago mapas con ordenadores". A partir de aquí las siguientes preguntas eran de lo más variopintas. Desde un "¿y eso para qué sirve?" hasta un "¿una especie de delineante?". Mmmm, "pues no exactamente, se parece pero no". Y así sucesivamente. Si no te querías complicar la vida, decías "soy informático" o "trabajo con ordenadore". Como todo el mundo claro.
Sin embargo, desde que Google lanzo GoogleMaps ya no hace falta explicar nada, aunque lo que hagas realmente no tenga que ver con GMaps. Eso si, la respuesta es casi unánime, "ah, qué interesante ¿no?".
Si algo tiene el éxito de GMaps (por cierto, es asombrosa la cantidad de gente que no conoce otras alternativas) es que ha colocado el GIS en el mundo y esto tiene, en mi opinión más ventajas que incovenientes. Algunas personas dentro del GIS pueden ver GMaps como un competidor, y aunque en ciertos ámbitos lo sea, creo que ofrece muchas más oportunidades de integración que aún están por explorar. GMaps no llega a algunos de los ámbitos en los que trabaja el GIS, como por ejemplo el análisis espacial o multiespectral, sin embargo, usar el famosísimo interfaz de Google para sobre él construir tus aplicaciones es algo muy interesante, sobre todo porque hay muchos usuarios que ya saben manejar este interfaz.
Por supuesto, el hecho de que GMaps facilite tanto la integración no es algo ni mucho menos, altruista. Es, por descontado, su modelo de negocio. Pero, ¿por qué no aprovecharlo en nuestro propio beneficio?

Share/Save/Bookmark

14.8.09

El GIS y la nube: Posibilidades del Cloud Computing

Aunque parezca el título de un cuento, no lo es. Cada vez más se empiezan a leer, oir y ver (video abajo) noticias que nos hablan del Cloud Computing. Básicamente se trata de distribuir los recursos computacionales entre muchos servidores en internet, de forma que no sea neceario comprar equipamientos de hardware. El proveedor de cloud computing se encargaría de su gestión y mantenimiento. Nosotros únicamente haríamos uso de aquello que hayamos contratado. Esto nos permite que podamos ajustar y escalar nuestro sistema en función de la demanda real, y no tanto en predicciones. Uno de los problemas hoy en día, es el mal dimensionamiento de las plataformas, tanto por encima (sobredimensionamiento), como por debajo (problamas escalabilidad).

En el caso de las plataformas SIG web las opciones pueden ser muy diversas. Se podrían alojar en la nube, distintos tipos de servicios, servidores de aplicaciones para nuestros geoprocesos, espacio de disco para nuestros datos, y quién sabe si en un futuro nuestras propias bases de datos espaciales podrán estar alojadas también en la nube.

A día de hoy, uno de los servicios más interesantes que veo es la posibilidad de alojar las imágenes cacheadas en servidores de la nube (o aquí). Esto tiene importantes ventajas:
  1. evita que tengamos que disponer de espacio en disco. Aunque el espacio en disco pueda parecer barato, un buen disco para tener un cacheado efectivo sí puede llegar a ser caro.
  2. permite que los tiles del cacheado se pueden descargar de más de un servidor a la vez. Esto aumenta bastante la velocidad de descarga de las páginas web de mapas
  3. nos evita los gastos de mantenimiento de los equipos, espacio, luz, energía, personal, etc... Puesto que solo pagamos por suscripción, contratamos justo lo necesario
Para terminar un video de lo que es el cloud computing:

Cloud Computing Explained

Share/Save/Bookmark

24.6.09

Tips and Trick to Improve JavaScript Performance

I've recently viewed this awesome video at googletechtalks:



The speaker shows lots of different tips & tricks to improve JavaScript code in order to make it more efficient. Here is the list of those of them that I've found more interesting or that were completely unknown to me:
  • It is importante to narrow the scope of variables. So it is better to use var d = document and then d.whatever, than using document.whateverProperty directly. That is roughly because the more dots.properties you use, the slowest the code.
  • In for or while loops it is better to use reverse looping (i--) and avoid complicated calculations in the conditional sentences. And also avoid that costly sentences get calculated in each cycle of the loop itself.
  • If not estrictly necessary avoid the usage of catch clause to handle errors. So if it is a predictable error figure out another way to deal with it.
  • Reflow is the concept of refreshing the DOM due to changes in the javascript code. The less reflow the better. Therefore, it is better to update the DOM using this: var frag = document.createDocumentFragment(); and adding afterwards the elements needed using frag.appendChild(newElementPreviouslyCreated);.
  • When changing styles it is much better to use .className = "name" referring to a CSS file previously created style, than changing the style in the code itself by code. This also helps to keep separated style, from the code itselft, making the design more robust an clean.
  • And, last but not least, not surprisingly the slowest browser... yes, you get it! IE (either 7 or 8).
Share/Save/Bookmark

18.4.09

Sobre los bulos del RedBull y Actimel

Hace poco me llegó uno de esos correos cadena sobre los peligros, en este caso, del Actimel, y del RedBull, como siempre lleno de topicazos y leyendas urbanas. Vamos a revisarlas:

> Esto es interesante, hay que leerlo: nos dan cualquier cosa sin ningún
> tipo de escrúpulos. INCREIBLE EL TEMA 'ACTIMEL' provee al organismo una bacteria
> llamada L.CASEI. Esta sustancia es generada normalmente por el 98%
> de los organismos, pero cuando se le suministra externamente por un tiempo
> prolongado, el cuerpo deja de elaborarla y paulatinamente 'olvida' que debe
> hacerlo y cómo hacerlo, sobre todo en personas menores de 14 años.


La Lactobacilus Casei no es una sustancia, es una bacteria de las millones que viven en nuestro organimo: http://es.wikipedia.org/wiki/Lactobacillus_casei. Por tanto, el organismo no puede "olvidar" algo que no sabe hacer. Además, que está codificado en los genes, y que se puede hacer no se puede olvidar. Por cierto que también vive en la boca el bicho este...

> En realidad, surgió como un medicamento para esas pocas personas que
> no lo elaboraban, pero ese universo era tan pequeño que el medicamento
> resultó no rentable; para hacerlo rentable se vendió su patente a empresas
> alimenticias.

Por lo dicho antes, esto es absurdo, porque las bacterias tienen la fea costumbre de reproducirse ellas solitas, sin que nosotros la elaboremos...
Qué podría tener de nocivo tomar actimeles, que te inflaras a bichos, y eso altere de alguna forma el equilibrio más o menos natural (el ecosistema bacteriano del intestino). De todas formas, este ecosistema debe estar pero que muy acostumbrado a cambios bruscos (pasar de un cocido, a verduras a ayunos, etc...) así que no creo que tomarte uno sea malo. Eso sí, yo prefiero un yogur normal. Es como todo, si te inflas será perjudicial, aunque lo dudo: "The effect of consumption of milk fermented by Lactobacillus casei strain Shirota on the intestinal microflora and immune parameters in humans", Spanhaak S, Havenaar R, Schaafsma G. Eur. J. Clin. Nutr., 1998 Dec;52(12):899-907


> 1).- Es peligroso tomarlo si después no haces ejercicio físico, ya que
> su función energizante acelera el ritmo cardiaco y te puede ocasionar un
> infarto fulminante.

Vamos a ver ¿que es peligroso si después no haces ejercicio físico? Será al revés no, si acelera el ritmo cardiaco y encima haces ejercicio te subirás por las paredes.

>
> 2).- Corres el peligro de sufrir una hemorragia cerebral, debido a que
> el RED BULL contiene componentes que diluyen la sangre para que al corazón
> le cueste mucho menos bombear la sangre, y así poder hacer un esfuerzo
> físico con menos agotamiento.

¿Cuál de sus componentes diluyen la sangre? ¿tiene heparina, tiene algo del sintrom?


> 3).- Está prohibido mezclar el RED BULL con alcohol, porque la mezcla
> convierte la bebida en una 'Bomba Mortal' que ataca directamente al hígado,
> provocando que la zona afectada no se regenere.

El ataque al hígado nos lo hacemos muchos casi a diario. La Cafeína, no digamos. Azúcares más de lo mismo. Y no creo que sea muy malo tomarse unas vitaminas de más.

>
> 4).- Uno de los componentes principales del RED BULL es la vitamina
> B12, utilizada en medicina para recuperar a pacientes que se encuentran en
> un coma etílico; de aquí la hipertensión y el estado de excitación en el que
> te encuentras después de tomarlo, como si estuvieras en estado de
> embriaguez.

Esto es de descojone. O sea que la B12 que sirve para recuperarse de un coma etílico, te deja "como si estuvieras en estado de embriaguez". Jajajajaja Es más si tiene B12, podría
ser entonces que mitigara efectos del alcohol. El problema podría surgir con mezclas, entre sustancias que bajen el ritmo cardiaco y otras que lo suban, pero no está claro como podrían afectar. Quizá se anulen los efectos o quizá no. Yo no mezclaría con alcohol, pero más que nada porque te sale un cubata "asqueroso". Donde esté un buen GinTonic...


> 5).- El consumo regular del RED BULL desencadena en la aparición de
> una serie de enfermedades nerviosas y neuronales irreversibles.

Habría que definir "consumo regular", una al día, 2, una al mes,,,. El propio fabricante dice que es para consumo esporádico. Como cualquier otra bebida vamos. Es más, "el contenido de cafeína de una lata de 250 ml corresponde a 80 miligramos o el correspondiente a una taza de café de filtrocafetera" o "La caféina en grandes dosis es, por cierto, peligrosa; se necesitaría beber unas 125 latas para ingerir una dosis mortífera de cafeína". La cafeína por cierto es mortal para las células porque bloquea el paso de electrolitos, pero claro a dosis tan altas que nunca se dan. A mi, mi cafecito por la mañana me sabe a gloria.

CONCLUSION, y esto está estudiado "uno de las causas más importantes de muertes en carretera es la somnolencia, y de hecho, un estudio del Centro de Investigaciones del Sueño de la Universidad de Loughborough concluye aceptando la utilidad de Red Bull y bebidas similares en estos y otros supuestos".
Si alguna vez os entra sueño conduciendo (a mi me pasa muy a menudo) lo mejor es dormir claro, pero muchas veces paras y no logras conciliar el sueño aunque pares, así que hacer un alto en una gasolinera y comprar una latita de redbull, nos puede ahorrar un buen susto.


Para información más solvente (como siempre) la WIKIPEDIA:
http://es.wikipedia.org/wiki/Red_Bull

Addedum:

Lo de que un componente del RedBull fue una droga de los soldados de USA es otro bulo ver http://es.wikipedia.org/wiki/Glucuronolactona

Sobre la Taurina. http://es.wikipedia.org/wiki/Taurina Share/Save/Bookmark

15.4.09

REST afarian and SOAP farian Religions

I have recently viewed an enlightening presentation from de ESRI 2009 Developer Summit Conference about REST and or versus SOAP. In the past I have been working for the ORCHESTRA project, an EU FP6 project with the objective of "designing and implementing the specifications for a service oriented spatial data infrastructure for improved interoperability among risk management authorities in Europe, which will enable the handling of more effective disaster risk reduction strategies and emergency management operations". The technical underpinnings supporting it was indeed SOAP services, and one of its achievements has been to extend and create new OGC-like services supporting SOAP. Once this new services was created they were used in diferent pilots to solve different situations, such as fire risks or coastal pollutant risks. To do that, in almost every pilot, several ORCHESTRA services were combined using SOAP calls. Obviously, there was a great effort in designing the contract and interfaces for these services, and once this was achieved the interaction allowed to merge, geographical information with geoprocessing analysis, without the need for a common software platform or infrastructure.
Nevetheless, from a developer point of view, create such application using SOAP was a real challenge. The lack of good tools (at least from Java) to work comfortably with SOAP services makes it really harder. I have to say that, to this end, I found Netbeans IDE much more easy to use and integrated than Eclipse. The real problem was that pilots, were web applications, and using SOAP with web applications is difficult. From Javascript it is possible to create SOAP calls (see example) but you have to deal manually with really complex XML parsing, and we know that this is a little bit trickier from JavaScript. The solution to this was, in most cases, to encapsulate this type of calls, inside server side logic and use AJAX to retrieve the required information back to the web application. The point here was, that sometimes, we were just sending to the server a pair of coordinates (X, Y) to get the result of some type of geoprocessing. And, once I saw the video mentioned before, I realized that this was the kind of situations were a REST service would have make much more sense. Not only that, to create a complete SOAP call to the server to send just X and Y coordinates, instead of using JSON, it was not the best solution, at least if you are developing a web applications.
For this reason, sometimes a REST aproach is more appropiated. Share/Save/Bookmark

26.3.09

Using Open Layers With Arc Gis Server Rest Api Dev Summit

This presentation was made in the 2009 ESRI Developer Summit by James Fee. It shows how to use OL with ArcGIS Server both consuming map and geoprocessing services. Share/Save/Bookmark

7.3.09

Caveats when using OpenLayers consuming WMS services

OpenLayers is great API to build client side javascript map applications. It is now in the 2.7 release version an it is more than two years old. These two things makes it a good choice to build web map applications, since it has a thriving community of users and lots of success-cases alredy in use in many different environments. It also offers the possibility to add map services from different sources, such as Yahoo Maps, Microsoft Live Maps, Google Maps (of course) and, WMS servers. And here is when problems may arise if you don't have a clear idea about how WMS services work.

As every web map developer should know, WMS is an OpenGeospatial Consortium specification and according to the official definition, it allows to make requests to a WMS server and the "response to the request is one or more geo-registered map images (returned as JPEG, PNG, etc) that can be displayed in a browser application". In my opinion, here comes the confusion. A newcomer developer with a background in the usage of Google Maps may think that "onr or more" map images is something similar to a tiled service. That is not the case. Each WMS request produces just only one image (typically). Not a tiled set of images corresponding to the request. Actually, OGC is now in the process of discussion to provide an OGC standard specification to retrieve WMS tiled images. By the way, a little piece of technology patriotism here. One of the two organizations working on it is the CREAF, from the Autonomous University of Barcelona and the other being CubeWrex. WMS specification was first intented as a request - response protocol, before Google and other vendor started to provide fast tiled maps. Now, almost every customer or geoservices provider wants to add fast tiled maps to their applications.

What happen when you add a WMS service in OpenLayers? By default, OL internally prepares the request to make a sort of tiled requests to the server (you can easily see how it works using Firebug). This could be very dangeruous in terms of performance for your Map server application. Imagine 10 concurrent requests, divided into 10 tiles each one. We were demanding to the server to process 100 request at the very same moment. Obviously, the time needed to proccess the last ones would be considerable. Well, it also depends on your hardware and balancing architecture, but it is not reasonable to demand this kind of processing power when you can choose more efficient alternatives. Those alternatives could be:
  • use a single request option when adding WMS layers
    singleTile: true
  • use tiled services coming from TileCache or GeoWebCache
  • wait until the official WMS-cached specification is available (joking)
All of this is of special importance specially when consuming external or not owned WMS services, because it can heavily affects your map performance. Therefore, if you see out there a fast compelling application using just only WMS layers, it is almost sure that they are using any kind of tiling process in the background (unless they have a cloud computing farm of servers).

Side note: OL can now leverage the new ArcGIS Server REST API (clap, clap, clap)

Final question: Is it always mandatory to provide map services as WMS? Is WMS now the best protocol to deliver fast map applications?

Share/Save/Bookmark

31.1.09

Tools and Tips for Productive JavaScript Development

When it comes to develop with Javascript many experienced developers start to tremble. Just few weeks ago, speaking with a former Java Analyst friend, currenty Project Manager, told me that he get shocked when he realizes that some developers of his team were still using the terrible javascript alert() method to debug js code, instead of using, for example, Firebug. Obviously, alert() debugging has been a common practice in the past (although by this time you can also use Venkman debugger in Netscape), but now in 2009 it does not make sense.

When using firebug, you just need to type, console.log("test"), for example, to view in your firebug console panel the messages and tracings you need to check your code. Not only that, you are also able to set breakpoints in your javacript code, inspect HTML DOM tree, check the time needed by your application to load and much more.

Another important point that set back programmers form JS development is the absence of a good IDE with features such as intellisense, code completion, and so on. But now, you can use Netbeans, Eclipse, or VisualStudio to develop with javascript in the same way you do with any other programming language (almost).

An old common misconception when developing web applications was that is mostly suited to validate forms. This changes upside-down when Google started to use AJAX in Maps, and GMail. In this moment, JavaScript was taken seriously by developers. The problem is that, creating objects and using them is different form Java or C#. You need to master JavaScript skills to take advantage of the JS Object Oriented model. Nevertheless, even if you do not master this techniques you can also make use of a whole bunch of many different JS frameworks and APIs, such as jQuery, Dojo or Scriptaculus, just to mention a few of them.

So, if you are or are going to create web applications you have to take JS very seriously. Three tips:
  1. Use Firebug and a javascript friendly IDE
  2. Read something about JavaScript Object Oriented development
  3. Review some JavaScript APIs
Share/Save/Bookmark

25.1.09

Mis 10 Extensiones Preferidas de Firefox

Desde hace ya mucho tiempo vengo utilizando Firefox, como navegador web. La verdad es que estoy seguro de que si no fuera por sus extensiones pronto habría pasado a otro, como Google Chrome, o habría probado IE7. El caso es que algunas de las extensiones de FF han hecho me esté totalmente enganchado a él. Aunque he usado y probado muchas, aquí va la lista de las que uso con más regularidad tanto en el trabajo como en casa:
  1. Gmail Manager. Tengo una cuenta de GMail y es una gestor que sirve para varias cuentas. No tiene mucho misterio porque tampoco lo necesita, simplemente comprueba los mensajes y te muestra los no leídos en la parte inferior derecha de la barra de estado del FF.
  2. Sxipper. Suuuuuper útil. Un verdadero descubrimiento. Permite crear perfiles de usuario, para evitar le tediosisissisisiíma tarea de tener que rellenar siempre los formularios. Pero no se queda ahí, también permite almacenar usuarios y contraseñas, reemplanzando al gestor que viene con FF. Yo diría que me ha ahorrado horas y horas de páginas de registro.
  3. GreaseMonkey. Una extensión que es en sí misma un motor de extensiones. ¿Para qué vale?. Pues imagina una página mal programada para FF (es decir, que solo funciona para IE), con GM podemos añadir nuestro propio código para solucionar el problema. O imagina, que quieres un traductor instantáneo al hacer doble clic. O imagina un script para descargar los videos de youtube directamente a formato MP4. O imagina... Es decir, hay miles de scripts que solo tienes que descargar y hacer funcionar sobre el motor de GreaseMonkey. Muy potente.
  4. Gmarks. Es un gestor de favoritos para Google Bookmarks que se integra perféctamente en FF, sustituyendo (si se quiere) al que viene por defecto. Es decir, pulsando CONTROL+D, se almacenan los bookmarks directamente allí y permite tener  todos ellos sincronizados.
  5. Down Them All. Rememorando el primer álbum Kill'em all de Metállica, esta extensión no mata nada, pero sí que permite descargar de un tirón todos los archivos de un tipo. Por ejemplo, si quieres descarge todos los PDF de una web, esta herramienta permite que lo hagas con unos pocos clicks, en lugar de tener que ir uno por uno. Además se puede configurar por tipo de archivo para que se descarguen a las carpetas que se quiera.
  6. Lazarus. Esta es muuuuuuy útil. ¿Cuántas veces has rellenado un formulario, un cuadro de texto en una página web o una respuesta larga en un foro y ha cascado el formulario, la página o el propio equipo, echando a perder 5 minutos de redacción, ideas o lo que sea? Seguro que alguna vez ha ocurrido esto. Pues bien, con esta extensión este problema es historia ya que se encarga de ir guardando poco a poco lo que se va escribiendo en cada formulario o cuadro de texto. De este forma, cuando la página falla o ocurre algo inesperado, podemos volver a la página, pulsar con el botón derecho en el campo y allí tendremos almacenado todo lo que habíamos escrito. Simple, fácil y útil.
  7. IETab. Por desgracia, no siempre las páginas están bien construídas, y puede ser necesario abrirlas con IE. Pues bien con esta extensión no hay problema. Basta con hacer clic en el icono que se instala en la barra de estado, y sin salir de FF y solo en esa pestaña, se recarga la página pero esta vez, usando el motor de IE.
  8. GSpace. Esta extensión permite usar el espacio de GMail como disco de almacenamiento en internet. De este modo, podemos tener archivos almacenados aquí y acceder a ellos desde cualquier lugar.
  9. FEBE. Con tantas extensiones llega un momento que llega a ser necesario hacer copias de seguridad de las mismas. Esta extensión va incluso más allá, porque permite guardar la configuración completa del navegador, de forma que si cambiamos de equipo, podemos cargar todas las extensiones, contraseñas, favoritos, etc, sin necesidad de ir uno por uno. Por supuesto, las copias de seguridad se pueden programar con la periodicidad temporal que se quiera.
  10. ScribeFire. Last but not least, como dicen in inglis, la extensión que estoy usando para escribir este artículo. Permite crear entradas para los distintos blogs que hay por ahí sin salir del FF con casi todas las opciones que se puedan necesitar, videos de YouTube, enlaces, colores, etiquetas...
Share/Save/Bookmark

20.1.09

HandBrake: Create MP4 files for the PSP

I've just found the best solution to create MP4 files for my brand new PSP gadget. I've been looking for more than a month, testing different programs with really poor results. Either they were shareware versions with some functionalities reduced or they were free versions that produced incompatible formats.

But, HandBrake came into my help. HandBrake is an open source, GPL-licensed, multiplatform software to convert DVDs or video files to MPEG-4 format (which is the format used both by the PSP and Apple related gadgets). Its usage is really easy, guided by its simple GUI. You just only have to select a DVD drive or a video file as source, select an output folder (if you have already connected your PSP, you can select directly the VIDEO folder there) and choose the profile most suited to your device, PSP, iPod, iPhone or whatever other profile already provided on the right side of the GUI. The time needed to create de MP4 obviously depends on the source size, processor etc... but in my tests it has been quite fast. Moreover, you can also add a queue of tasks so you can batch all your video files conversions in just one shot and shut down the computer once the job finish.

Just one final important remark when using this program in Windows Vista. It is recommend to run it with Administrator privileges, that's said, right-click Run as administrator option in the context menu. I guess that it is something related with the cygwin backbone that the program seems to use. Hopefully, in next releases of this excelent program this will be fixed. Here below there is a screenshot of the GUI:


Share/Save/Bookmark

15.1.09

Scripts con Windows Scripting Host

Llevo algunos días trasteando a ratos con una herramienta creo que algo desconocidad para la mayoría, pero extremadamente útil y potente. Se trata del WSH (Windowos Scripting Host). Es motor de scripts que llevan todos los SO Windows y que permite automatizar tareas. Está pensado, sobre todo, para administradores de sistemas, pero se puede utilizar por cualquiera que quiera automatizar ciertas tareas de su SO. Los usuarios de UNIX/Linux tienen el intérprete de comandos del shell, bash, etc..., sin embargo en windows lo más parecido son los archivos BAT, que sinceramente, se quedan muy cortos.
Con el WSH tenemos acceso a casi todos las posibilidad de nuestro SO, abrir ventanas, seleccionar directorios con una ventana de diálogo, abrir programas, arrancar y parar servicios, crear cuentas de usuarios, etc, etc..., es decir, casi todo.
Crear estos scripts es sumamente sencillo. Basta con crear un archivo de texto, y guardarlo con la extensión VBS o JS (el primero en VisualBasic Script, y el segundo en JScript). Por ejemplo, el clásico "Hola Mundo", sería así:

WScript.Echo "Hola Mundo"

Obviamente esto no tiene mucho interés, a ver si esto interesa más:

Const MY_COMPUTER = &H11&
Const WINDOW_HANDLE = 0
Const OPTIONS = 0
Const MSG_INICIO = "Seleccione una carpeta: "

Set objShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objShell.Namespace(MY_COMPUTER)

Set objFolder = objShell.BrowseForFolder _
(WINDOW_HANDLE, MSG_INICIO, OPTIONS, strPath)

If objFolder Is Nothing Then
Wscript.Quit
End If

Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path
Wscript.echo "Ha seleccionado: "+objPath

Lo que hace este script es mostrar el típico cuadro de diálogo de seleccionar carpeta y luego mostrarnos la ruta de la carpeta seleccionada.

Ni que decir tiene que se pueden crear scripts para parar y arrancar máquinas, servicios, borrar temporales, crear tareas programadas, o interactuar con Word, Excel, o cualquier otro programa del SO. Por ejemplo, yo lo he usado para crear un scripts que crea en disco una estructura de carpetas y automáticamente se sincroniza con un servidor de Subversion a través del TortoiseSVN.
Las posibilidades son casi infinitas y pidiendo ayuda al Scripting Guy, podemos ver un montón de ejemplos más con el código listo para usar.

Share/Save/Bookmark

14.1.09

Mac y Pc, Mac Vs Pc, Mac o Pc

Voy a dar mi opinión sobre Mac Vs Pc:

http://www.fayerwayer.com/up/2008/12/mac-versus-pc.jpg

No, en serio. Yo también estuve tentado de comprarme un Mac y finalmente no lo hice por varias razones:

1.- Precio Vs Prestaciones. Un Mac asequible me costaba 1200 luris, y venía con 2Gb de Ram, 250 Gb Disco. Mi CPU, me costó 400€ y tiene doble procesador, 4 Gb RAM y 650 Gb de disco duro. Eso me dejaba, 800€ para comprarme un monitor y una impresora.
Por supuesto me he comprado un monitor de 22" y una impresora multifunción Canon que se sale y me han sobrado 200 luris. En mi opinión, un Mac es como un vino que vi en la boutique del Groumet del Corte Inglés el otro día, Petrus se llamaba, costaba 1200€. Yo sinceramente, a partir de 20€/botella, solo se decir "está rico".

2.- Juegos. Yo ya casi no juego con el ordenata, peeero, no me apetecía perder la posibilidad de hacerlo, y Marta tampoco. En Mac, la realidad es que no hay juegos (buenos) y los que tenemos no son compatibles.

3.- Periféricos y Hardware. Si quieres ampliar el equipo, tienes que pasar por caja de Apple, y no son nada baratos. En PC, tienes miles de opciones.

4.- Sistema Operativo. Mi equipo viene con Vista Home Premium SP1, y va de lujo (a pesar de lo que se dice). Yo estoy bastante contento. El SO del Mac, es mucho más completo y tiene todo lo que necesitas, pero en el PC tienes montones de alternativas gratuitas para edición de video. Lo bueno es que en ambos casos, si no te gusta el SO, siempre puedes probar Linux (Ubuntu) y ver que tal.

La tentación de comprar un Mac fue muy fuerte, pero son muy caros. Visualmente es la hostia, pero como los anuncios del Dacia Logan, los PC hacen lo mismo por la mitad. Eso sí, cualquiera
que tenga un Mac te argumentará que no se pueden comparar, que si la arquitectura, que si la integración del SO con el hardware. Al vino me remito.
Share/Save/Bookmark

12.1.09

GIS and Gaza Conflict

Alongside with the latest news on the Conflict in Gaza, a new and interesting way to show the latest events in the zone is to use Google Maps, and Map Mashups. Here are some examples:

http://www.ogleearth.com/2009/01/gaza_maps_updat.html

http://googlemapsmania.blogspot.com/2009/01/gaza-maps.html

http://www.mibazaar.com/gazaconflict.html

They are all good examples about how to use the latest web 2.0 technologies, integrating not only different sources of information but also different types of technologies, such as Google Map, YouTube or KML files.

For example, if you have Google Earth installed in your computer, you can add this file, to get almost daily up-to-date maps about damages in buildings, casualties, of humanitarian deliveries.

Obviously, do not expect to have Street Map View in this area. Hopefully, in a paceful future...
Share/Save/Bookmark

10.1.09

70 por hora en los túneles de la M-30

Desde hace algún tiempo, vengo oyendo comentar a mucha gente que ir a
70 Km/h por los túneles de la M-30 es un rollo, que es muy poco
velocidad, que se podía ir a mas, etc., etc. No estoy para nada de
acuerdo. Hay buenos motivos para ir a 70 por los túneles de la M-30.
  1. Seguridad. Es un hecho, que el exceso de velocidad es una de las principales causas de muerte en la carretera. En Barcelona, que han limitado la velocidad a 80 Km/h en las vías de circunvalación, este año no han tenido ni una sola víctima mortal en coche.
  2. Contaminación. Está demostrado que el aumento de la velocidad incrementa casi exponencialmente el consumo de carburante, y por tanto, los gases emitidos. Si se fuera a 90 por hora en los túneles, y a pesar de tener buenos sistemas de ventilación, el aire se haría irrespirable.
  3. Multas. Los dispositivos de control de velocidad funcionan y bien. Ya son varios los conocidos que han sido multados por exceso de velocidad en los túneles y en épocas de crisis sería absurdo gastar en algo totalmente evitable.
Todo esto lo comento, porque ya desde hace tiempo cada vez intento ir lo menos estresado e irascible en el coche que puedo (no siempre lo consigo). Este cambio se debe principalmente a un curso de Conducción Eficiente al que asistí el año pasado, y que recomendaría a todo el mundo. Basicamente se trataba de cambiar ciertos hábitos en nuestra forma de conducir, de forma que no se derroche combustible. Esto mata dos pájaros de un tiro, por un lado se contamina menos, y por otro se ahorra dinero. Como normas generales se trata de ir siempre en marchas largas, no usar el freno motor (es decir, no reducir marchas), y saltarse marchas (por ejemplo, pasar de tercera a quinta directamente). Se trata en todos los casos, de evitar subir al coche de revoluciones (en los gasolina nunca por encima de 2500 para cambiar las marchas), ya que esas vueltas de más no sirven de nada en la ciudad, contaminan y hacen ruido.
Sin embargo, todas estas técnicas no sirven de nada si no se toma una actitud más tranquila cuando se va al volante. Cuando nos subimos a un coche, la postura por defecto, es la crítica, y siempre ir buscando al que lo hace mal, al que no señaliza, al que corre, etc... Si somos justos, el 90% de los conductores son gente como nosotros, que conduce bien, señaliza, pero son unos pocos, los que nos cabrean. Bien, un reto. Cualquier día fijarse en la enooooorme cantidad de gente que SÍ conduce bien. El problema es que éstos nunca van a tener nuestra atención.
Share/Save/Bookmark

8.1.09

Baby Smash: Deja que tus Hijos Aporreen el Teclado. Aprenderán.

Acabo de descubrir una herramienta muy interesante que sirve para dos cosas:
  1. Evita que tus hijos "accidentalmente" pulsen una combinación de teclas indeseada en el teclado del ordenador, provocando efectos indeseados, tipo reinicio por ejemplo y
  2. Es una herramienta muy divertida para que aprendan colores, formas, números y letras. Os aseguro que les encanta.
La herramienta se llama Baby Smash!, y tiene esta pinta:

Además en la página web se puede ver un video de cómo funciona.
Algo curioso de la herramienta es que el autor ha habilitado un modo de que los usuarios voten por las nuevas funcionalidades que se incluirán en la siguiente versión. Tienes 10 votos, que puedes repartir como quieras entre las ya propuestas, o añadir una nueva. Me parece una forma muy interesante de recibir contribuciones de los usuarios que se debería trasladar a más proyectos de software.
La herramienta es gratuíta, y pronto será OpenSource.
Share/Save/Bookmark

5.1.09

Dos formas de afrontar la crisis: TOYOTA vs GM

Acabo de leer un interensate artículo sobre las distinas formas con las que Totoya y GM están afrontando la crisis.
Por todos los lados no paran de surgir voces que reclaman "reformas estructurales" del mercado laboral. Bien, ya es hora de reclamar "reformas estruturales mentales" del mercado empresarial.
Lo que viene a decir el artículo es que en tiempo de crisis, lo único que no deberías hacer es despedir a tus empleados. Está muy poco valorado, y por supuesto, nada cuantificado lo que vale el conocimiento de un empleado. En Toyota, que hace coches, consideran que lo más valorable que tienen son los empleados. ¿Qué están haciendo en tiempo de crisis? Parar la producción, seguir pagando a los empleados, y utilizar ese tiempo en formar a los empleados en un montón de cosas distintas, incluso participan en actividades de voluntariado. Claro está, durante ese tiempo siguen cobrando sus salarios. ¿Qué obtiene TOYOTA de todo esto? Motivación, fidelidad, mejora de la productividad, competitividad. Cuando pase la crisis, no será necesario que busquen nuevos trabajadores, sino que podrán utilizar a toda su plantilla actual con toda la experiencia y con una formación mucho mejor. Obviamente, para esto hace falta planificación, previsión y sobre todo ÉTICA (Another Japanese leader shows the way to be a true leader: When Japan Airlines JAL slashed jobs and asked older employees to retire early, their CEO cut every single one of his corporate perks, and then for three years running slashed his own pay).
Creo que la moraleja es aplicable a un montón de empresas de aquí.

perks: beneficios sociales
slashed: recorte drástico
Share/Save/Bookmark

3.1.09

Verbalearn: Una gran forma de ampliar el vocabulario

Acabo de descubrir una de esas aplicaciones que llevaba tiempo esperando. Algo que me ayudara a mejorar y ampliar mi vocabulario en Inglés. Hasta ahora lo que hacía era ir apuntando las palabras que no sabía en unas notas y cada cierto tiempo las iba repasando. No es un mal método, pero Verbalearn va más allá.
Mediante una interfaz muy sencilla, propone un número de palabras de las que tienes que dar su definición seleccionando 1 de 4 opciones. Si estás seguro "pretty sure" da por supuesto que no necesitas recordar esa palabra, si no, "just a guess" o si fallas, va guardando los fallos en una lista a la que puedes volver luego. Pero no acaba ahí la cosa. Te puedes descargar un MP3 con tus fallos, y sus definiciones. De modo, que no solo repasas leyendo, sino también escuchando.
Para rematar tiene algo muy curioso. Si se quiere incentivar a alguien a que aprenda vocabulario, puedes cargar dinero en una cuenta, y a medida que esa persona va acertando y aprendiendo palabras "mastering" va recuperando ese dinero. Me parece una idea muy original.

Here is how it works:
Share/Save/Bookmark

Desactivar el UAC en Windows Vista.

Cómo desactivar el UAC (Control de Cuentasde Usuario, User Account Control).
Primero, buscar en el panel de control UAC:


Luego hacer clic en "Hacer el Control..."


Pues eso, en la segunda ventana hacer clic en "Usar el Control...."
Share/Save/Bookmark

2.1.09

Vista Rewired

Lots of tips and tricks for Windows Vista

Some people claims against Vista, simply because they try to do exactly the same things in the same way they did in XP. Although this is true in some cases, almost everything you did in XP can also be done in Vista. This page explains how to do this and how to do a lot of more new interesting things. You may have a look a it!

Another opinion in the same vein.


Share/Save/Bookmark