Windows

Indalcasa + Bootstrap + Azure

Power by Windows AzureLlevo tiempo queriendo cambiar el blog y finalmente me decidi. He migrado el blog de hosting, ahora se encuentra en nube con azure y a un precio que de momento parece ser bastante mas económico que los cálculos iniciales que hice. Ya aproveche para instalar un nuevo tema al blog, con una apariencia bootstrap, limpia y sencilla y hacer limpieza de plugins y configurar un buen cache.

¿Por qué me decante por Azure y no por Amazon Web Services? es motivo de un post aparte. De momento me quedo con Azure, montando una instancia extra pequeña con un Ubuntu, usando nginx como servidor web y MySQL 5.5 como base de datos.

En sucesivos días ire contando las diferentes optimizaciones y configuraciones que he realizado sobre el servidor y el blog. Cómo instalar nginx, configurar php sobre nginx, optimizaciones de cache sobre php y sobre el blog y algunos truquillos que me he visto en la necesidad de sacarme de la manga.

Actualizando Microsoft Windows en todas sus versiones desde Windows 1.0 hasta Windows 7

Os dejo un video que he encontrado de Andriew Tait. El video es un experimento de una actualización de Microsoft Windows en todas sus versiones, desde Windows 1.0 hasta Windows 7. Me llama especialmente la atención este video ya que salvo la versión 1.0 y la versión 2.0, el resto las he instalado cientos de veces, salvo el Windows 7 que solo una vez y la verdad es que ver este video me trae gratos recuerdos de juventud. Os dejo el video donde en la misma maquina instala Windows 1.0, Windows 2.0, Windows 3.0, Windows 3.1, Windows 95, Windows 98, Windows 2000, Windows XP, Windows Vista y Windows 7.

Resaltar como mantiene algunas configuraciones de por ejemplo color de fondo y compatibilidad de programas antiguos como editores y juegos aparte de las pruebas que se realizan en cada versión con el Monkey Island y el Doom 2. También resaltar que se hecha en falta algunas versiones con menos éxito como Windows Millenium mas conocido como Windows Me y bueno no se puede tener todo ya que son de otra rama, pero versiones Windows NT y posteriores Windows Server que sería interesante ver si mantiene la misma compatibilidad.

Los sistemas operativos móviles para smartphones: Android vs iOS vs Symbian vs Windows Phone

Hace pocos días, estuve mirando para comprarme un nuevo teléfono móvil, digo teléfono por no decir ordenador de bolsillo. El caso es que a la hora de elegir dicho teléfono, me asaltaba una gran duda, ¿Hacia dónde voy? ¿Qué marca escojo? ¿Qué modelo escojo? Durante días me estuvieron asaltando estas preguntas hasta que hice análisis de lo que quería y lo que había, fue entonces cuando todas mis dudas quedaron resueltas. Aunque las características técnicas del modelo a elegir son muy importantes, no hay que obviar que hoy en día casi todos teléfonos disponen de un buen hardware por detrás, también teniendo en cuenta cuanto nos queramos gastar. En mi caso yo quería un móvil de gama media-alta de precios similares y características aun mas similares, así que solo queda para el análisis y decisión el sistema operativo que los hace funcionar. A continuación dejaré un breve análisis de cada uno basado entre otras cosas mi propia experiencia personal.

Windows Phone

Windows PhoneEste es el sistema operativo para móviles de Microsoft, antiguamente llamado Windows Mobile. He usado desde hace 5 años este sistema operativo, en PDA’s y en teléfonos móviles o smartphones, y la verdad es que es una maravilla, el entorno en general esta pensado con vistas profesionales, aunque permite mucho mas. Por defecto el sistema operativo es bastante normalito, tienes pocas aplicaciones, efectos visuales muy pobres, por regla general esta basado en otra época, cuando hace 7 u 8 años, era una novedad, pero abandonado desde entonces. Microsoft como no, en su linea de actualizar unos productos muy a menudo, y abandonar a su suerte otros productos y es esto lo ocurrido con Windows Mobile, fue abandonado, y desde versiones de Windows Mobile 2003, Windows Mobile 5 y Windows Mobile 6 no encontramos ninguna diferencia y apenas mejoría. Cuando el boom de iPhone, Microsoft libero la versión Windows Mobile 6.5, un caramelito antes de la llegada de Windows Mobile 7 donde ya si se veian cambios sustanciales en la interfaz y funcionamiento del sistema operativo, siendo mas enfocado al uso con los dedos y no con puntero. Ademas de esto en breve, finales de 2010 aparecerán los primeros modelos con Windows Phone 7, un sistema operativo que renovara, partiendo de la base de Windows Mobile 6.5 y Zune HD, darán otro concepto a lo visto en los Windows Mobile. Hasta aquí la historia, llega el momento de la practica. Windows Mobile, al menos hasta su versión 6.5, ya que la 7 es un poco desconocida aun, es un gran sistema operativo, estable, modificable (vease HTC Sense y similares), con capacidad para albergar plugins o widget desde hace ya años como son los plugins today, consume pocos recursos, existen miles de aplicaciones disponibles y ademas Microsoft recientemente creo un market similar al AppStore para Microsoft Windows Mobile. Pero no es oro todo lo que reluce, y no todo pueden ser ventajas, hay que ponerle pegas, una de las cuales y para mi la mas importante es el desarrollo, que obliga a los desarrolladores a utilizar Windows con Visual Studio en sus versiones de pago, ya que no hay versiones libres capaces de compilar aplicaciones para Windwos Mobile y como no solo en Windows. También decir el tiempo de desarrollo, he tenido desde hace 5 años dispositivos con Windows Mobile, y nunca jamas he podido instalar ninguna  versión superior, a no ser que fuera flasheando la ROM bajo mi responsabilidad y riesgo. Si a todo esto le sumamos un sistema operativo, que a falta de ver como será definitivamente el tan esperado durante años Windows Phone 7, visualmente deja mucho que desear, así como sus aplicaciones. Ah y mas para desarrolladores, su API es muy muy malo, por lo que hacer una aplicación visualmente atractiva, nos dejara la piel en ello.
Microsoft Windows Phone 7 Microsoft Windows Phone 7

Nokia Symbian

Que puedo yo decir de Symbian que la gente no conozca ya. Symbian es el sistema operativo de Nokia, aunque en realidad pertenece a un consorcio de empresas, la parte mayoritaria, 52% de la compañía es de Nokia, así que podemos afirmar que Symbian es de Nokia. Symbian es un sistema operativo mas que probado, durante años de uso en Nokia, y quien no ha tenido en sus manos alguna vez un Nokia. La verdad es que el sistema operativo es bastante bueno, tiene un sistema muy probado y miles de aplicaciones. Para mi, Symbian es un descarte completo, en primer lugar, es muy potente pero a la vez muy lento de ejecución. Aparte de esto, las versiones táctiles han sido un relativo fracaso para Nokia, ya que por experiencia con mi Nokia 5800 o algun N97 de amigos, es que Nokia ha metido la pata hasta el fondo, ya que hasta que no han sacado la 4ª o 5ª versión de firmware para estos dispositivos no han empezado a funcionar cierta fluidez. Esto es un problema de credibilidad, puesto que aunque se venda como rosquillas, para mi, una compañía que ya no en funcionalidad, sino en drivers, el típico juego por defecto que viene en el móvil vaya a tropezones y que un par de años después, actualizando a la ultima versión, el juego vaya como una bala, quiere decir que han sacado versiones como les han dado la gana y que ya lo mejoraran y estamos hablando de tema de drivers o calidad en los mismos. Para mi Nokia no es lo que era y aunque siga teniendo mucho nombre, poco a poco va a ser desbancando por compañías como HTC
Nokia SymbianNokia Symbian

iOS – iPhoneOS

Apple hace unos años  apostó y muy fuerte en el campo de la telefonía móvil y el resultado final es el iOS, un sistema operativo muy estable, muy cuidado, elegante, vamos, lo que se dice una maravilla, ademas con la idea del AppStore, ya que fue el primer sistema operativo en disponer de un market a gran escala, existen miles de aplicaciones para el iPhone. Que puedo decir sobre este sistema operativo tan comentado, alabado y criticado a la vez. Pues que a la hora de elegir un terminal en base a su sistema operativo, iPhone o mejor dicho el iOS es una de mis principales opciones, pero tiene varios problemas, uno de ellos es que es demasiado restrictivo. Para dar a iPhone el toque de terminal exclusivo, Apple no podría dejar que la gente hiciera lo que quisiese, pudieran instalar aplicaciones que modificaran el sistema operativo porque  permitiría de una manera sencilla liberar el terminal y se acaba el chollo para las  compañías que lo venden con planes abusivos, tampoco podemos correr ninguna  aplicación que sea interpretada y no compilada en código nativo ya que sino el terminal iría mas lento, excusa de mas lento un terminal que hasta su versión 4 no ha introducido el concepto de multitarea, algo que el resto de los anteriormente comentados llevan años haciendolo. Para mi, puntos fuertes es el estilismo, aplicaciones, API muy cuidada y documentada, pero por el contrario me atan con un proveedor con tarifas exageradamente elevadas y abusivas. Ademas, resaltar los problemas que ha tenido el iPhone4 por la cobertura de la señal. Bueno, también resaltar que para realizar una  aplicación para iPhone, tienes que programarla con xCode desde Mac, no se puede en ninguna otra plataforma.
Apple IphoneApple Iphone

Android

Por último, lo dejo para el final porque ha sido mi elección, un sistema operativo de Google, una maravilla de sistema donde los haya. Muy cuidado en todos los sentidos. He podido probar las versiones 1.6 desde el  móvil de un amigo, así como la 2.1 con mi actual teléfono HTC Legend y puedo decir que todo esta muy pensado, aunque aun esta verde. Es un sistema operativo pensado para tener acceso a internet. Los contactos, email y demás, aunque podemos configurarlo desde el propio teléfono, esta preparado para funcionar desde la nube, nube que genera Google con Gmail, pudiendo añadir, a esta nube Facebook, Twitter y Flickr. Las aplicaciones al igual que pasa con los Symbian de Nokia, pueden correr con un API Nativo de C o con un API de Java, aunque decir que el API de Java de Android esta mucho mejor pensado y distribuido que el de Symbian, también porque lleva menos años y por tanto menos parches. Las aplicaciones son visualmente atractivas, pero con su toque de sistema, es decir, al mismo estilo de iPhone, pero con el sello Android. A diferencia de iPhone, cosa que me gusta mucho, es que Android dispone de varios escritorios principales, donde podemos incluir accesos directos a nuestras aplicaciones pero también carpetas con archivos, widget, etc. y luego ya tenemos nuestra ventana con el listado completo de aplicaciones. Punto fuerte de este sistema es el Google Maps Navigator, un GPS que se actualiza en red con los  últimos datos desde Google Maps y que esta haciendo temblar a TomTom y Garmin. Programar para Android es mucho mas sencillo porque el SDK es fácil de instalar y utilizar, se programa en Java con Eclipse, para cualquier plataforma, da igual Windows, Linux o Mac por lo que no tenemos que invertir en licencias para programar. A pesar de ser el mas similar en cuanto a estilo con iPhone, es bastante mas superior en otros aspectos, ya que se puede personalizar mucho mas, por ejemplo el HTC Sense, puedes instalar libremente programas que bajes de internet y no estén en el Android Market. Para los desarrolladores es mas barato ya que la nube es de Google y no tiene subscripción como Azure de Microsoft o el Market solo cuesta 25$ y no 100$ como el de Apple.
Google AndroidGoogle Android

Resumiendo lo anteriormente dicho, de los 4 sistemas operativos que he comentado, decir en pocas palabras, que Microsoft llega muy pero que muy tarde a la nueva carrera de los smartphones y ha quedado descolgado del resto, al menos hasta navidad y la salida de Microsoft Windows Phone 7. Si buscamos un teléfono que sea igual que hace 5 años, en todos los sentidos, velocidad incluida, Symbian es el tuyo, pero como no, con un Symbian, casi siempre ira acompañado un Nokia, que siempre se venderá bien y no deja de ser un Nokia. Si queremos fardar, aparentar y gastar mucho dinero, iPhone es el nuestro, pero si queremos tener algo como un iPhone pero mas asequible al bolsillo, lo mejor es un Android. En definitiva Android es para mi opinión personal, el mejor sistema operativo a elegir dentro de un terminal móvil en la actualidad, ya que podemos disfrutar su potencia y características, desde un simple, sencillo y barato Huawei hasta el increíble HTC Desire.

Instalar Windows XP con Apple Boot Camp

Bueno, aquí va una de mis primeros enfrentamientos con mi nuevo Mac, instalar Windows. De todos es sabido la existencia de Apple Boot Camp, un software de Apple que nos permite instalar Windows en nuestros Mac. Para algunas personas como yo, desarrolladores de tecnologías como por ejemplo .Net o grandes jugones, a veces se hace necesario el uso de un PC con Windows, para el desarrollo de aplicaciones no hay problema, ya que se puede utilizar Parallels y asunto resuelto, pero cuando queremos jugar….. necesitamos un Windows nativo y ahí es donde aparece Apple Boot Camp.

Para instalarlo he buscado y leído innumerables artículos por internet y la verdad es que ninguno me ha servido ya que trata de versiones antiguas y como es lógico, han cambiando muchas cosas desde hace 3 años. El primer paso para instalar nuestro a veces querido, a veces odiado Windows, necesitaremos abrir el Finder e irnos a las aplicaciones (si tenemos el Asistente de Boot Camp en el Dock no hace falta) y una vez dentro iremos a utilidades y pincharemos sobre «Asistente de Boot Camp.app». Al abrir el asistente nos preguntara cuanto espacio queremos poner a la partición de Windows. Una vez creada la nueva partición y formateado la partición, podremos proceder a instalar Windows (Si leemos los textos, es muy sencillo de seguir).

Cuando arranquemos, ya que habremos reiniciado para instalar Windows, lo primero que hay que saber es una pantalla blanca que aparece nada mas arrancar, esta pantalla es por asi decirlo la de selección de arranque. Por defecto originalmente arrancaba con Mac OS X, pero al instalar Boot Camp, lo hará con la otra partición. Si tenemos problemas (como me ha pasado a mi), debemos de pulsar la tecla «opción» (y cual es la tecla opción…. pues para esos incultos como yo del mundo Mac, es la tecla «Alt») durante esa pantalla blanca hasta que aparecerán las particiones por las que queremos arrancar y si hay un cd/dvd de arranque, también aparecerá, por si queremos arrancar con Mac.

Volviendo a Windows, si vamos a instalar el eficiente y poderoso Windows Vista, podemos saltarnos este párrafo, ya que solo hay que instalarlo con normalidad, si por el contrario vamos a instalar Windows XP, hay que hacer una pequeña cosita antes de instalar. De momento seguimos los pasos clásicos para instalar un Windows XP, pero cuando lleguemos a la selección de partición de donde queremos instalar el Windows, deberemos de tener especial cuidado, puesto que nos preguntara (elegid la que se llama BootCamp, mejor no saber que pasa si borramos las otras) si queremos:

  • Convertir la partición a NTFS (no, y mejor no saber que puede pasar)
  • Dejar intacto (no, ya que nos dará un error de disco en BootCamp después de haber estado entre 10-15 minutos instalando Windows)
  • Formatear en formato NTFS (esta es la nuestra, en modo normal o rápido, a gusto del consumidor).

Para mas información: Error de disco en BootCamp

Una vez hecho el paso anterior, es instalar Windows como si nada. Cuando arranquemos Windows, independientemente de que sea Windows XP o Windows Vista, deberemos de meter el cd de instalación de Mac OS (por supuesto entendiendo que disponemos de un Mac original y no un Hackintosh). Si no tenemos por lo que sea este disco, buena suerte, estará colgado en algún lugar. Una vez metido el disco, se ejecutara el instalador de BootCamp para Windows, que instalara todos los drivers y nos incrustara un nuevo menú en el panel de control con la configuración (un tanto lite, hay que decirlo) de pad, y algunas cosillas mas. En este menú de configuración, tendremos que configurar el arranque, seleccionando cual sera el sistema de arranque automático Mac OS X o Windows XP/Vista.

Por ultimo decir que la única pega que he visto en todo el BootCamp, ha sido el hecho de no poder mostrar las particiones al arrancar el ordenador (como hace Windows, Grub de Linux, etc) sino que tenemos que estar atentos y sin ningún tipo de aviso visual, solo que veamos la pantalla mosqueantemente blanca, pulsar la tecla «opción» (la tecla Alt).

Counter Strike Source en Linux con Wine

Bueno, hace poco renové desde 0 un ordenador que tenía por ahí. La verdad es que lo mismo me hubiera dado si lo hubiera comprado todo, porque una cosa llevo a la otra, y al final lo único que conservo de este viejo ordenador es la carcasa, grabadores de CD y DVD, así como el teclado y el ratón.

El caso es que decidí utilizar Linux en esta pedazo de máquina que me había montado. En el portátil y el otro ordenador lo tenía con Windows XP y Windows Vista no termina de convencerme, por lo que me he decidido por meterle un Linux.

Aunque me gusta trabajar con el ordenador, sigue viviendo dentro de mi el espíritu de ese niño jugón, así que después de configurar un poco el ordenador con los drivers propietarios de NVidia, que por cierto en Ubuntu 7.04 es un click de ratón gracias a su gestor de controladores restringidos, me puse a saco con Wine a ver si conseguía jugar al Counter Strike Source con Steam, a los que tantos vicios me he hechado en Windows.

Lo primero que hice fue buscar por internet, a ver como lo hacia la gente y lo que la gente hacia era sencillísimo, lo que me hizo pensar que realmente no lo hacían, sino que era el cancer de los Blogs, «el copy/paste». Cuando realmente intente lo que iban exponiendo blog por blog, me di cuenta que realmente era un copy/paste, ya que en todos ponía lo mismo y era super sencillo, solo le faltaba a alguno decir que Ubuntu ya venía con el Counter instalado. Los que realmente si merecían la pena eran para el Counter Strike 1.6, con el que no tenía ningún problema. Así que tocaba buscar y buscar por internet alguna solución.

Para el que le pueda servir de ayuda indicare paso a paso lo que hice para poder jugar al Counter Strike Source con Wine.

En primer lugar, me baje la última versión de Wine disponible, la 0.9.45 desde la página web del proyecto Wine, y compile los sources. Con esto conseguí mas bien poco, ya que si era capaz de arrancar Steam, pero no el Counter Strike Source. Fue un tiempo muy bonito desperdiciado, ya que el tiempo que perdí en compilar y en instalar dependencias de fuentes, pudo ser como 2 o 3 días.

Pantallazo de Counter Strike Source en Linux

Visto que la última versión de Wine no me iba a ayudar, o yo no sabia decirle que me ayudara, hice un «make uninstall» y la borre. Así que busque por el Sysnaptic para instalar la versión de Wine de los repositorios de Ubuntu que era la versión 0.9.33. Con esta versión conseguí un gran paso, ya que ahora si que podía arrancar el Counter Strike, pero tenia que elegir, entre poder jugar sin sonido, o tener sonido pero no poder jugar. Aquí fue cuando me puse a buscar por un loco por internet y encontré dos posibles soluciones, una pagina web que ofrece los paquetes .deb de la última versión de Wine y el Cedega, un fork de Wine que esta orientado a juegos.

Lo primero que hice fue tirarle a Cedega 6, que tenia hasta un panel para instalar y jugar y la verdad tenia muy buena pinta. Porque no me quede con Cedega, pues porque por un lado es de pago (que si merece la pena me da igual pagar) y por otro lado porque no fui capaz de correr el Counter Strike.

Ya solo me quedaba una ultima opción antes de rendirme, era esa página donde se encontraban los últimos paquetes .deb de Wine, así que instale la versión 0.9.45 con un solo click de ratón y arranque mi Steam y posteriormente el Counter Strike Source, y ¡¡¡por fin!!! pude jugar con sonido, conectarme a partidas a internet. Como nota decir que si instalais Steam y no os aparecen las letras, deberéis copiar la fuente Tahoma a la carpeta Windows/fonts del directorio de wine.

Para hacer una comparativa del Counter Strike Source en Windows XP y en Linux con Wine 0.9.45, puedo deciros que en Windows las texturas tienen mayor calidad, en Linux no me permite cambiar las opciones de vídeo, en Linux es infinitamente más rápido en cuanto a conexiones, cambio de servidor, etc. y por último en Linux no tiene reflejos de agua o cristales y tampoco tiene luces dinámicas como la linterna y similares. Así que la conclusión es que como en Windows no va en ningún lado, pero que en Wine 0.9.45 va bastante bien.

También os comento un único problema, con Beryl el Counter Strike Source me daba problemas, así que lo cambie por Compiz para que no me diera problemas por ejemplo al cambiar de cara del cubo.

Pantallazo de Counter Strike Source en Linux con Compiz

Controlar eventos de Windows en C#

En .Net hay una clase que dispone de una serie de eventos propios del sistema operativo, que nos permite manejar o ser advertidos de ciertas modificaciones en el mismo, como podría ser el caso de modificaciones de hora, pantalla, etc. De esta forma podremos aplicarlas sobre la aplicación y que esta no haga extraños cuando se modifica algo en el sistema.

La clase encargada de eventualizar ciertas acciones del sistema operativo se encuentra dentro del espacio de nombres Microsoft.Win32 y se trata de la clase abstracta y no heredable SystemEvents. Esta clase provee de los diferentes tipos de eventos que listo a continuación con una breve descripción.

  • DisplaySettingsChanged: se produce cuando el usuario cambia la configuración de pantalla.
  • DisplaySettingsChanging: se produce cuando la configuración de pantalla esta cambiando.
  • EventsThreadShutdown: se produce antes de que finalice el subproceso que escucha los subprocesos del sistema.
  • InstalledFontsChanged: se produce cuando el usuario agrega o quita fuentes del sistema.
  • LowMemory: se produce cuando el sistema se queda sin memoria RAM disponible.
  • PaletteChanged: se produce cuando el usuario cambia a una aplicación que utiliza una paleta diferente.
  • PowerModeChanged: se produce cuando el usuario suspende o reanuda el sistema.
  • SessionEnded: se produce cuando el usuario cierra sesión o apaga el sistema.
  • SessionEnding: se produce cuando el usuario intenta cerrar sesión o apagar el sistema.
  • SessionSwitch: se produce cuando se cambia la sesión entre usuarios.
  • TimeChanged: se produce cuando se cambia la hora del sistema.
  • TimerElapsed: se produce cuando ha transcurrido el intervalo de un temporizador de Windows.
  • UserPreferenceChanged: se produce cuando cambian las preferencias del usuario.
  • UserPreferenceChanging: se produce cuando van a cambiar las preferencias del usuario.

De esta pequeña lista no he probado todas, pero si algunas con un correcto funcionamiento. Hay muchos eventos que pueden ser utilizados como el hecho de la memoria baja para lanzar el recolector de basura o el control de cierre de sistema para guardar los datos en memoria en un archivo.

Para utilizarlas se utilizaría el siguiente código:
[code language=»csharp»] using Microsoft.Win32;

//… LINEAS INTERMEDIAS

SystemEvents.TimeChanged += new System.EventHandler(this.message);

//… LINEAS INTERMEDIAS

public void message(object sender, EventArgs e) {
MessageBox.Show(«Han cambiado la hora del sistema.»);
}
[/code]

Scroll al inicio