Visual Studio 2010 Beta I – primeras impresiones

Ayer descargué y hoy estuve probando la Beta 1 del Visual Studio 2010. Lo instalé a recomendación de un amigo quien me comentaba que el soporte para C++ habría recibido mucho amor para esta versión. La beta se puede descargar gratuitamente de Microsoft.

Visual Sudio 2010 Beta I

Visual Sudio 2010 Beta I

Instalación

El proceso de instalación es el clásico de la versión express de estos productos, donde uno descarga un pequeño download manager que corrobora las dependencias a instalar y luego descarga todo el software necesario. Tras un breve checkeo e indicar que quería instalar el entorno de desarrollo de C++ y .NET, el programa decidió que necesitaba instalar 4.5 GB, proceso que tomó no menos de 6 horas en completar (!).

Probando el Asunto

Una vez instalado, procedí a iniciar el IDE y probar crear distintos tipos de proyectos. Según anuncian en Microsoft, el nuevo IDE está implementado en WPF y cuenta con una interfaz simplificada, orientada a reducir el “clutter” del mismo para no abrumar al usuario. Si esto es cierto, debo confesar que no me dí cuenta.

Personalmente, a nivel de IDE, no noté la gran diferencia entre esta versión de Visual Studio y la vieja 2003, más allá que ahora el panel de fondo es azul en vez de gris (por algún motivo). De hecho, a medida que uno comienza a trabajar con el mismo, resulta fácil encontrar viejos diálogos de Visual Studio 2003 (o anteriores!), sobre todo cuando uno configura las bibliotecas externas que el proyecto utilizará.

También es fácil encontrar botones que no hacen nada (principalmente en el diálogo de convertir proyecto de versiones anteriores de VS a la actual), aunque esto es esperable en una Beta.

Visual C++ 10

A nivel de C++, una de las cosas que quería probar era la posibilidad de configurar la apariencia visual de la aplicación cuando se trabaja con MFC. Visual Studio 2010 ofrece varias configuraciones predefinidas que permiten que el esqueleto del proyecto ya incluya todo el código de setup de una UI estilo Visual Studio (sí, por si uno quiere implementar un IDE usando Visual Studio) o bien Office 2007 (para potenciar nuestras aplicaciones con el controvertido Ribbon).

Lo encontré algo práctico para quienes desarrollan MFC y quieren implementar una aplicación que caiga en estas “plantillas”, sin embargo, me sorprendió que no se brindara una funcionalidad equivalente para proyectos C#. Los aficionados de la plataforma podrán argumentar que C# puede llamar a código C++ y por lo tanto, importar la MFC de alguna manera y poder construir su interfaz con el Ribbon. No tengo idea si funcionaría, ya que de momento las aplicaciones plantilla de C# son WinForms y WPF.

Lo último que probé fue portar una aplicación desarrollada en C++ que siempre se habría compilado con GCC. De por sí portar el código fue una tarea sencilla: simplemente incluir un header que faltaba (<algorithm> para usar sort) y definir M_PI, el cual no se encuentra en <cmath> (??).

El gran problema fue, como siempre, importar las bibliotecas que el proyecto requería. En este caso: SDL. El proceso fue exactamente el mismo que realizabamos tanto en Visual Studio 2005, así como en Visual Studio 2003 antes que él (incluso utilizando los mismos diálogos de hace al menos 7 años, los cuales no se caracterizan por estar hechos en WPF sino por utilizar los prehistóricos íconos de 16×16 píxels legados de la era de Windows 2000).

Conclusión

Visual Studio 2010 es un update estrictamente incremental, al menos en cuanto a términos de desarrollo de C++ refiere. Si bien el compilador de Visual C++ ahora incluye soporte parcial para algunas de las nuevas características del lenguaje y el IDE se haya reescrito usando WPF, la manera de trabajar con el mismo es exactamente la misma que desde hace casi un década, fallando en simplificar el flujo de acciones que permiten crear, desarrollar y realizar mantenimiento a proyectos C++.

Posted in Mocosoft, Programacion | Comments Off on Visual Studio 2010 Beta I – primeras impresiones

Reparar Falla de Seguridad de SVN sobre HTTP(S)

Recientemente se advertía en SmashingMagazine sobre un problema cuando se utiliza Subversion sobre HTTP (y HTTPS) que permitiría obtener información sobre las credenciales de los usuarios del repositorio.

Afortunadamente la solución sobre Apache es muy sencilla. Simplemente se debe denegar el acceso a los archivos que contienen “.svn” en su ruta a nivel de configuración del servidor Web. Para ello editamos el archivo httpd.conf (Apache 1.x) o apache2.conf (Apache 2.x), agregando las siguientes líneas:

<Directory ~ ".*\.svn">
     Order allow,deny
     Deny from all
     Satisfy All
<Directory>

Recuerden que se debe reiniciar el servidor Web para que los cambios tengan efecto.

Posted in Tutoriales, Tweaking | Comments Off on Reparar Falla de Seguridad de SVN sobre HTTP(S)

Actualización de Estabilidad para Ceibal-Chess

Tras los cambios recientes, y como les habíamos prometido anteriormente, hemos publicado una nueva versión de Ceibal-Chess tanto en el sitio de Algorithmia (Windows, Linux, Mac) como en CeibalJam (XO).

Los cambios se enfocan a mejorar la estabilidad del programa, en particular mejorando interfaz interna con gnuchess. A su vez, la versión para XO ya no se distribuye con set antiguo de piezas, lo cual permitió disminuir su tamaño en más del 50%.

Para descargar actualizar a la última versión sobre la XO pueden consultar nuestro post anterior sobre la actualización general a Ceibal-Chess.

Como siempre, los invitamos a enviarnos sus comentarios y problemas encontrados. Su ayuda es indispensable para mejorar la aplicación. 😉

Posted in ceibal-chess, Programacion, Sugar | Comments Off on Actualización de Estabilidad para Ceibal-Chess

Primer Jaque Mate registrado a Ceibal-Chess

Estos últimos días han sido muy activos para el repositorio de código de Ceibal-Chess.

Entre los cambios que la última revisión incorpora (r222 en comparación con la Actualización General liberada recientemente) se destaca un nivel de dificultad menor de gnuchess, lo cual hace que jugar contra la computadora sea más sencillo y rápido, así como numerosos parches diseñados para mejorar la estabilidad de la actividad.

Con estas mejoras resultó ser posible jugar una partida completa y darle Jaque Mate a la computadora. La siguiente imagen representa el épico momento.

Jaque Mate a la Computadora

Jaque Mate a la Computadora.

De momento, para obtener la última revisión, deberán acceder por medio de Subversion. Pronto estaremos liberando una nueva versión oficial, así como la Beta 2. Stay tuned! 😉

Posted in ceibal-chess, Free & Open, Programacion, Sugar | 3 Comments

Actualización General de Ceibal-Chess

Nos complace anunciar que hemos liberado un nuevo build de Ceibal-Chess para desarrolladores y público en general.

Si bien este build no es una Beta oficial, recomendamos a todos los usuarios el actualizar, ya que esta versión soluciona varios problemas conocidos y mejora tanto la performance como la apariencia visual e incluye la famosa funcionalidad de undo, para deshacer movimientos.

Esta versión, la cual hace uso de nuestro nuevo Core, se encuentra disponible para los sistemas Windows, Linux y Mac en Algorithmia y pueden descargarla utilizando este link. La versión para XO se puede descargar desde www.ceibaljam.org.

Para actualizar en la XO, simplemente se deberá eliminar la versión anterior, navegar hacia www.ceibaljam.org, seleccionar “descargas” y descargar el archivo ajedrez.xo. Una vez descargado seleccionar “abrir” en la actividad Navegar y esto instalará Ceibal-Chess en nuestro sistema.

Los amantes de la terminal pueden instalar Ceibal-Chess en su XO siguiendo estos sencillos pasos.

Como siempre, los invitamos a descargar la última versión, sean usuarios de la XO o no, y a enviarnos sus comentarios y sugerencias. Su ayuda es indispensable para hacer a Ceibal-Chess alcanzar todo su pontencial! Enjoy.-

Posted in ceibal-chess, Programacion, Sugar, XO | 2 Comments

Recopilado de Noticias (7-11 set)

No es común para nosotros realizar recopilados de noticias, sin embargo, con todo lo que ocurrió durante esta semana (7 al 11 de set.) no podemos más que hacer una excepción.

Efectivamente ha sido una semana bastante movida en el mundo de la informática y toda la industria alrededor a ella. Dejamos abajo una lista de los eventos que más nos llamaron la atención, junto con un breve comentario y un link al artículo original, en caso de que quieran revisar en más detalle la nota.

Qué pasó esta semana? Pues,

  • La IEEE aprobó el estándar 802.11n, para redes inalámbricas de alta velocidad. El proceso habría comenzado en el 2002 (!) y desde hace un par de años varios fabricantes (Apple, Dell) ya estaban incorporando implementaciones del draft en sus placas WiFi.
  • SPARC y Solaris: Oracle anunció no solo que va a seguir invirtiendo en el desarrollo de la arquitectura SPARC y el Sistema Operativo Solaris, sino que planea invertir más que lo que SUN ha invertido hasta ahora y que tiene en la mira a IBM.
  • Apple liberó Grand Central Dispatch (GCD) bajo licencia Open Source. Una de las tecnologías principales detrás del nuevo Sistema Operativo de Apple (Mac OS X 10.6) ha sido liberada. GCD es una forma revolucionaria de parallelizar programas de manera muy sencilla para que éstos puedan sacar provecho de los n procesadores o núcleos disponibles en el sistema. Ya se está especulando cómo este movimiento repercutirá sobre Linux y otros sistemas (excepto los de Microsoft). OSNews tiene un detallado reporte sobre lo que GCD es y hace.
  • Facebook liberó un Servidor Web Open Source. El framework del servidor (llamado Tornado) se encuentra escrito en Python y se enfoca en la velocidad y en manejar grandes volúmenes de tráfico.
  • GPU’s de AMD: AMD (ATI) presenta tarjetas de video capaces de manejar hasta 6 monitores de 30 pulgadas de manera simultánea. Los 6 monitores se presentan ante el Sistema Operativo como uno solo, ofreciendo una resolución total de 7680×3200 (24.6 Megapixels).
  • Les dejo la mejor para el final: Microsoft inicia su propia fundación Open Source: La idea es involucrar desarrolladores de Software comercial en el mundo Open Source. WTF??

Realmente una semana con de todo un poco.

Posted in Desarrollo Web, Empresas, Free & Open, Hardware, Linux, Mac OS X, Mocosoft, Programacion, Sistemas Operativos, Software | Comments Off on Recopilado de Noticias (7-11 set)

Desarrollando para la XO 1.5 Alpha A2

Recientemente fue anunciado un modelo alpha del sucesores de los laptops XO-1, las computadoras verdes del Plan Ceibal. La XO 1.5 A2, incorporará varias mejoras tanto de Hardware como de Software.

Entre las nuevas características principales del nuevo Hardware, destacamos:

  • Nuevo Procesador Via de 1.0GHz (aumentado de un AMD Geode de 500MHz).
  • 1.0 GB RAM (aumentado de 128 MB).
  • 4.0 GB Memoria Flash para almacenamiento (aumentado de 1.0GB).

A nivel se software se destaca mejor soporte para Java (haciendo de éste un lenguaje de desarrollo viable para la plataforma) y mejor soporte para Flash, en particular para video Full Screen en YouTube.

Entre las desventajas del nuevo modelo frente al anterior se encontraría la falta de soporte para WLAN y la falta de cámara. No obstante, estas características se encuentran ausentes únicamente en estos modelos alpha y seguramente sean incorporados para la versión final del Hardware.

Teniendo todo en cuenta, se trata de un buen update para estas populares maquinitas. Como desarrolladores, sin embargo, debemos tener en cuenta la responsabilidad que recae en nosotros, teniendo en cuenta que el modelo original (la XO-1) cuenta ya con una base de 300.000 usuarios en Uruguay.

En primer lugar, debemos tener en cuenta que si bien para OLPC la compatibilidad para atrás con la XO-1 no es una prioridad, esto no quita que nosotros debamos ser cuidadosos y que nuestras aplicaciones no hagan uso de bibliotecas o servicios no disponibles para el modelo original, dado que de así ser el caso, nuestras aplicaciones no podrán ser utilizadas sobre este modelo. Un ejemplo de esto sería desarrollar nuevas aplicaciones en Java. Si bien este lenguaje es soportado en la XO-1.5, aplicaciones desarrolladas para la plataforma Java difícilmente funcionen sobre la XO-1.

A su vez, no debemos perder de vista que si bien los nuevos modelos incluyen mayores disponibilidades de Hardware, el no optimizar nuestras aplicaciones para hacer uso restringido procesador y memoria disponibles en el modelo original, podrá causar que éstas no funcionen de la manera que es debido sobre las XO-1, brindando una mala impresión de nuestra aplicación a los usuarios de estos modelos, quienes en última instancia, optarán por no hacer uso de nuestras aplicaciones.

Posted in ceibal-chess, Hardware, XO | 1 Comment

Ceibal-Chess en camino a la Beta 2

Tras dos sábados a toda máquina, nuestro próximo release de Ceibal-Chess se viene perfilando para ser nuestro mayor y mejor release en la historia del proyecto. Hemos estado muy ocupados durante las dos sesiones del CeibalJam 4, terminando de realizar el tan necesario refactoring del Core del juego, así como agregando nuevas features y mejorando la apariencia visual en función al feedback obtenido durante el CeibalJam 3.

La siguiente imagen presenta la nueva apariencia visual del juego:

Nueva apariencia visual del Ceibal-Chess

Nueva apariencia visual del Ceibal-Chess.

Otra captura, esta vez de los gráficos dentro del juego:

Nueva apariencia visual del Ceibal-Chess

Ceibal-Chess en plena batalla.

Sin embargo, los cambios van más mucho más allá de la superficie. Con la inclusión del nuevo Core se ha mejorado la performance de la aplicación significativamente, en particular sobre los laptops XO, así como se han podido implementar nuevas features muy útiles, como la famosa funcionalidad de Undo, para poder “deshacer” los movimientos realizados anteriormente.

Aún estamos en una fase temprana de testeo, por lo cual no hemos liberado una beta oficialmente, sin embargo, invitamos a todos los desarrolladores que disfrutan del peligro y se encuentran interesados en probar los últimos cambios a hacer un checkout de nuestro repositorio en googlecode, y por sobretodo, los invitamos a dejarnos sus comentarios.

http://ceibal-chess.googlecode.com/svn/trunk/

Enjoy.-

Posted in ceibal-chess, Programacion | 1 Comment

Mejoras al Blog

Me complace anunciar que hemos estado trabajando en varias mejoras al Blog pensando en nuestros lectores.

A partir de hoy podrán notar la disponibilidad de “agregadores sociales” para simplificar el proceso de enviar un determinado post de interés a sitios como Facebook, Slashdot u otros. Así mismo, he instalado un plugin para desplegar automáticamente posts similares al que se está leyendo actualmente para facilitar la navegación y que nuestros lectores puedan encontrar artículos de su interés.

Finalmente, hemos activado un sistema CAPTCHA para ayudar a prevenir el SPAM en comentarios.

Esperamos que encuentren estos cambios útiles, y como siempre, los invitamos a dejar sus sugerencias en los comentarios.

Saludos,

Varrojo.-

Posted in Blog Admin | Comments Off on Mejoras al Blog

Configurando servidores a pesar de "NetworkManager"

Hace aproximadamente dos años publicabamos en este mismo blog cómo configurar servidores en redes con DHCP. En este tiempo varias cosas han cambiado, en particular, una nueva herramienta denominada “NetworkManager” ha entrado en escena para cambiar la forma en que configuramos las redes Linux.

NetworkManager es una utilidad que se ha comenzado a distribuir por defecto en varias distribuciones importantes, como Ubuntu y Fedora, y se encarga de manejar todo lo referente a redes automaticamente, haciendo realmente sencillo el poder conectarse a redes inalambricas y/o con DHCP. Ahora, qué sucede cuando en realidad estamos utilizando una distribución como Ubuntu sobre un PC de escritorio, el cual se conecta sistematicamente a una misma red.

Dependiendo de la configuración del Router, utilizando NetworkManager en una red con DHCP, podría resultar que nuestro PC sea asignado una distinta dirección IP cada vez que este es encendido o reiniciado, lo cual ciertamente resultaría molesto si es que este equipo se encuentra configurado para proveer servicios a otras computadoras en la red, como por ejemplo, servir de repositiorio Subversion o de File Server. En este post presentaremos un método para desactivar NetworkManager definitivamente, con el objetivo de poder manejar manualmente nuestras redes, y luego veremos cómo configurar nuestro Ubuntu para que pueda conectarse a la red, siempre con la misma dirección IP y sin sacrificar el acceso a Internet.

Continue reading

Posted in Linux, Networking, Tutoriales, Tweaking | 1 Comment