martes, 7 de agosto de 2012

Review de Windows 8 Consumer Review



Todos sabemos que la interfaz de Windows 8 es totalmente distinta a la tradicional de los sistemas de escritorios, aun así mantiene esa posibilidad como retrocompatibilidad con el software no adaptado a Metro. En este escritorio, no encontramos botón de inicio, lo cual es chocante para un usuario tradicional, y no permite acceder directamente a las aplicaciones desde allí salvo accesos directos en pantalla. Si quieres encontrar tu software instalado, tendrás que usar la búsqueda del sistema similar a lo que ocurre con Ubuntu desde la version 11.04 usando Unity. Yo lo entiendo como un error total, que ademas, en ambos casos , quieren copiar al spotlight de Apple sin la opción que si da MacOS X de usar la barra del Finder para acceder a las aplicaciones.

Una novedad más para los nuevos usuarios de Windows 8, sera el encontrarse que no existe la mítica X para cerrar los programas. Si sales de estos volviendo a Metro, se quedan en background corriendo de forma oculta.

Los gestos más habituales se resumen en: Para volver a Metro puedes mover el ratón hacia la esquina inferior izquierda y hacer clic. Para cerrar las aplicaciones se consigue moviendo el ratón hasta el tope de la pantalla, pinchando y arrastrando hasta el borde inferior (el opuesto) de la pantalla. Si en lugar de llevarlo al borde inferior lo llevas al centro de la pantalla lo que consigues es minimizar. La opciones de Metro se hacen  visibles haciendo el movimiento de ratón hacia esquina inferior derecha y haciendo clic. Cerrar el equipo se realiza pulsado sobre el abatar del usuario del PC y seleccionando la opción pertinente.

Otras características que he observado en el nuevo SO de Microsoft, es que a la hora de la instalación se configura el perfil del usuario con el perfil de hotmail. Esto es importante, ya que la contraseña para el inicio de sesión sera la misma que tu cuenta de hotmail. ¿Por qué? Pues bien, algunas de las novedades de Windows 8 es la total integración con la famosa nube (con la cual no estoy en absoluto de acuerdo pero habrá que aceptarla hasta que se vean los problemas que suponen, y no solo hablo del caso de Microsoft, con esta opinión quiero generalizar). 

Dado que era usuario de Windows Phone, mis contactos, mis fotos, mis correos y skydrive estaban sincronizados con mi terminal móvil. Con Windows 8, nada mas conectarte a la wifi de tu casa te encuentras con que TODA esa información, por arte de magia, esta en tu PC. Si, todo lo que estaba en mi DELL Venue Pro esta en mi SONY VAIO P11Z. La sincronización es total y transparente, es muy agradable e impresiona, es muy útil tener la nube disponible y de forma que ni te enteras que la usas, pero me reitero en que lo veo peligroso.

Pero las maravillas de Windows 8 no acaban aquí. El sistema de lectura de correos electrónicos, ha mejorado substancialmente, haciéndolo fácil de usar y gestionar. Ahora bien, el sistema es tan parecido al que usa BlackBerry en su Playbook, que no me extrañaría para nada que se estuviera violando algún tipo de patente. Pero la cosa no queda solo en eso. El uso del sistema recuerda bastante a que sera necesaria una interfaz táctil para poder usarlo con facilidad, es evidente que el ratón esta obsoleto para Metro. Esto me crea otra inquietud, los gestos que requerirá Windows 8 para usar el Metro también recuerdan en exceso a las del tablet de RIM (aunque es cierto que son ligeramente distintos) 

Un cambio que también se encuentra en el nuevo SO, es el cambio de los colores del menú de inicio precarga del sistema. ¿A cual me refiero? cuando tienes mas de un SO instalado en el mismo equipo, el menú de inicio que se muestra para seleccionar en que arrancamos, el que se modificaba antaño en el boot.ini se muestra de color azul claro y blanco mostrando incluso un icono.

Por ultimo, una reflexión personal. Dado que el uso de Metro es tan peculiar, kinect sera soportado por el SO, y las fechas de salida son tan próxima, no me extrañaría que fuera practicamente necesaria la compra del accesorio de Microsoft para poder manejar Windows en PC sin interfaz táctil.

¿Por qué hago la review ahora? El motivo es porque se acaba de saber que ha habido una filtración y la versión definitiva de Windows 8 ya corre por ahi.







lunes, 6 de agosto de 2012

Vuelven los colonos!!


 El settlers online es una nueva secuela de ese maravilloso juego de estrategia que hizo sus primeros pinitos en ms-dos. Esta vez no hace falta gastarse el dinero en un soporte de almacenamiento para un instalable, ya que podemos jugar usando un navegador y registrándose en su página Web, lo cual no quita que a los menos pacientes les permita ahorrar unos euros.

Es un juego lento, pausado, que te da tiempo para pensar y dedicarte a otras tareas en el resto del día a parte del vicio (la lentitud en general puede desesperar a veces pero todo tiene su porque). Te mete el veneno en el cuerpo de los buenos juegos, e incluso los más frikis podrán estar 24 horas al día sin parar de hacer cosas como potenciar tus edificios para asegurarse una mejor producción o entrar en el comercio. Lo normal es que con 3 horas al día sea suficiente para tener tu isla al día, pero ese tempo para ser un juego de estrategia en tiempo real, es el que hábilmente los de ubisoft han visto ideal como filón para hacer caja y apropiado para los juegos Web.

El juego se desarrolla en sus primeras fases de forma ágil, permitiéndote subir de nivel con tareas sencillas. Esto es agradable para el jugador y creo que es un acierto y es el primer cebó para crear un fenómeno de masas en cuanto salga de la fase beta. Posteriormente se vé que el tiempo se ralentiza, las cosas no suceden tan rápido como se quisiera, lo cual en parte es bueno para no generar una dependencia total que absorba al jugador el 100% de su tiempo y eso es aconsejable para no obligar a una ruptura radical . Poco a poco se crea un ambiente en el que ves que todo se centra en la economía y que debes ser un buen gestor, comienzan las conjeturas con hojas de cálculo. Amigo mio, si llegas a este punto ya no hay marcha atrás. 

El juego cada vez complica más la evolución del jugador, y este sabe que en los tiempos de producción son importantes, pero ya no puedes hacer nada para optimizar o conseguir algunos elementos importantes del juego como son los generales veteranos, las licencias de construcción, los exploradores joviales, los batidores salvajes.. ¿que hacer? Desembolsar, comprar vía SMS gemas, el elemento que facilita la vida y con el que ubisoft pretende hacer caja.

El sistema de batalla es pasivo, solo puedes rellenar a tu generales con las tropas que mejor creas puedan hacer frente al enemigo, y enviarlos al combate. Tras este planteamiento, lo único que queda es esperar al resultado del enfrentamiento.

Existen varias páginas que se han creado para gestión económica, y también simulación de batalla, pero ya blue byte esta en proceso de integrar estas opciones en el propio juego. Hay que tener en cuenta que esta en fase beta, pero lleva una gran evolución.

Valoracion, juego sesudo y para pacientes (enfermos o no), o gente con mucho cash. 7/10

Pro: El apartado gráfico, el ser online sin instalación y tratarse del settlers

Contras: el juego es flash por lo que es pesado para equipos como atoms antiguos, el componente social no es muy evidente al margen de gremios que aportan poco nuevo al juego individual (chats y poco mas). Por último los precios en gemas de algunos elementos del juego son excesivos. Parece que en poco tiempo se mejoraran estas cosas, al menos una de ellas cuando entren en acción los PvP (player versus player) que se desarrollarán en terrenos de batalla neutrales.

¿ Windows 8 por fin desbancará a Windows XP ?




Desde que Microsoft tuvo la feliz idea de sustituir Windows XP, ninguno de los SO sacados hasta la fecha me han convencido, y creo que siempre he tenido razón al afirmar que ni de lejos estaban a la altura en rendimiento del sucesor de Windows 2000. Es por esto que he hecho algunas pruebas con Windows 8 en un equipo de especificaciones pobres y he comparado los resultados con la mismas configuración hardware y el XP.

Para empezar, tengo que recordar que para poder hacer una comparativa lo mas fiel posible a rendimiento y servicios entre los dos sistemas operativos, en Windows XP debería haber instalado Origami Experience 2, pero no lo he hecho. El motivo, es porque la interfaz METRO de Windows 8, no es ni mas ni menos que una evolución de lo que Microsoft quiso crear en el 2006 con el Origami Project y que dio lugar a los dispositivos UMPC (que posteriormente han evolucionado a los tablets actuales y que ahora estaba sufriendo una retroevolución a sus orígenes integrando teclados físicos).

Tenemos Windows 8 Release Preview 32bits para asegurarnos un entorno de escritorio, y Windows XP Profesional 32bits con service pack 3. El equipo donde se han puesto a funcionar ha sido un SONY VAIO P11Z/G con 2GB de RAM, procesador Atom 520z 1,33GHz y grafica intel GMA 500.

Con estas características, he observado un rendimiento superior en aplicaciones bajo Windows 8. Concretamente para ser más exactos, corriendo chrome y jugando al juego Settlers Online (que me gustaría analizar mas adelante). Este juego funciona con flash, y la respuesta del juego es peor al usarse en Windows XP. Esto da idea de una mejora en la gestión de procesos, y del rendimiento de los gráficos. Hace poco salieron unas estadísticas que respaldaban la mejora notable que sufrian las tarjetas gráficas bajo Windows 8 frente a Windows 7, y no descartaría que fuera extensible para XP.

http://blogs.msdn.com/b/b8/archive/2012/07/23/hardware-accelerating-everything-windows-8-graphics.aspx

Otro dato que ya era conocido es la velocidad de arranque del sistema, que se ve reducida, pero tampoco sorprende al hacer uso de UEFIs y particiones con precargas de drivers. Era uno de los objetivos de Microsoft y a fe que lo han conseguido.

En general, parece que el nuevo Kernel híbrido de Windows 8, sabe que tiene que hacer para dar una buena respuesta al usuario. Pese a que Metro gracias a sus tiles actualizables pudiera parecer que consumirían mas recursos no es así. 

En Windows XP, nos encontramos con un entorno que a priori parece con una respuesta más fluida, pero no se hasta que punto esto es real o solo una impresión infundada por la familiaridad del entorno. La sensación de mayor control sobre la máquina al tener todo a mano, y ver como funcionan aplicaciones antiguas, hacen dudar.

Bajo mi punto de vista, y por lo que he podido comprobar, Windows 8 será un digno sucesor de Windows XP en cuanto a rendimiento. Es importante el cambio para los usuarios que tengan equipos antiguos y quieran seguir dándole vida a sus equipos, aunque el cambio costará trabajo de asimilar por el cambio de filosofía que supone. Ahora ya no hay escusas para mantenerse en XP salvo que seas incapaz de adaptarte. Mejor rendimiento, la posibilidad de acceder a la nube de Microsoft por defecto, y muchos nuevos servicios gracias a METRO. Rejuvenecer el equipo, o solo hacer que rinda mejor con algunas aplicaciones, hacen que piense que al fin, han dado con la tecla para desbancar al otro producto de la misma factoría.

viernes, 3 de agosto de 2012

Taller C/C++. CMake (Olvidando el Makefile manual) Parte 2

Bueno, para completar el asunto de CMake he de terminar diciendo como se usa. Saber hacer un CMakeLists.txt no vale para nada si no se sabe como ha de usarse.

En el terminal, dentro de la carpeta del proyecto, en el caso de un CMakeLists.txt que contenga instrucciones de instalación, habría que hacer:

~$ mkdir build
~$ cd build
~$ cmake ..
~$ make
~$ make install

Hay que considerar que a cmake se le puede llamar con opciones, así que la sintaxis exacta sería:

cmake [opciones] ruta

En el caso de que nuestro CMakeLists.txt sea simple, podemos hacer directamente una llamada de la siguiente forma:

~$ cmake .
~$ make all
 Yo suelo hacer uso de esta última, ya que no es habitual que en un proyecto personal se quiera hacer una instalación. Espero que os sirva de ayuda.

jueves, 2 de agosto de 2012

Taller C/C++. CMake (Olvidando el Makefile manual)

Poco a poco hemos ido desde lo más sencillo a lo más complejo en lo que a programación en C/C++ respecta dentro de GNU/Linux. Ahora llega el momento de hablar de herramientas potentes que valen para generar ficheros de configuración, paquetes y lo que nos interesa ahora mismo, ficheros Makefile de forma "automática". Realmente seguirás necesitando especificar de una manera u otra algunos de los contenidos del fichero. Por ello yo soy más partidario de crear mi propio Makefile a mano, con el que tener un control total de lo que pasa, pero para proyectos de gran tamaño en los que hay varias versiones (una release y otra debug) puede ayudar.

Existen varías opciones para llevar a cabo estas tareas, me centraré en Autotools (automake), Cmake, y qmake (para proyectos que usen QT). Los IDE de desarrollo más avanzados ya integran estas herramientas, e incluso existen algunas interfaces gráficas que ayudan a la generación del Makefile como son la GUI de Cmake o el imake, pero que no trataré en el taller pero es bueno que sepais de su existencia.

CMake

Lo primero de todo instalar CMake: ~$ sudo apt-get install cmake

Al igual que el fichero Makefile que generamos a mano anteriormente (y del cual ahora hay que olvidarse), debemos crear un fichero llamado CMakeLists.txt dentro del directorio donde se encuentra nuestro software.

El CMakeLists.txt no sirve para generar únicamente un Makefile, así que me ceñire a una sintaxis simple y más que suficiente:

#Nombra al proyecto con el nombre bloguero, gracias a esto se definen 2 variables que pueden usarse dentro del CMakeList.txt mas adelante, ${BLOGUERO_SOURCE_DIR} directorio del codigo fuente, y ${BLOGUERO_BINARY_DIR} directorio donde se encuentran los compilados.
PROJECT(bloguero)

#Indica que vesión mínima de cmake se necesita. Si no se indica puede dar warnings.
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

#Añade el directorio ./src a la lista de directorios que compone el proyecto. Se pueden añadir tantos directorios como se necesiten, repitiendo esta línea y poniendo el nombre. Dentro del directorio, en este caso src debe existir otro fichero CMakeLists.txt
ADD_SUBDIRECTORY(src)

#Define una variable NOMBRE_EJECUTABLE dentro de la cuál se almacena el nombre de nuestro programa, bloguero
SET(NOMBRE_EJECUTABLE bloguero)

#Define para el compilador, en este caso opciones de compilación
ADD_DEFINITIONS( "-Wall -O2 -ansi -pedantic" )

#Para buscar una librería que pueda necesitarse en la compilación o en el CMakeLists.txt . En NAMES se indica el nombre la librería,y en PATHS las rutas donde debe buscar. LIB_SERIAL será una variable que se creará con el resultado de la búsqueda.Al igual que existe un FIND_LIBRARY también existe un FIND_PROGRAM para buscar librerías, que sigue la misma sintaxis
FIND_LIBRARY(LIB_SERIAL
             NAMES libserial
             PATHS /usr/lib
           /usr/local/lib)

                 
#Si no se encontró la librería se muestra un mensaje de error. Hay varios tipos de mensajes, como STATUS y varios tipos de condiciones para el IF, NO
IF(LIB_SERIAL)
    #Añade la librería para el enlazado
    TARGET_LINK_LIBRARIES(bloguero LIB_SERIAL)
ELSE(LIB_SERIAL)

    MESSAGE("imposible encontrar la libreria libserial")
ENDIF(LIB_SERIAL)

#Incluye directorios para los ficheros de cabecera en el proyecto
INCLUDE_DIRECTORIES(./cabeceras)
#Incluye directorios para buscar librerías en el proyecto
LINK_DIRECTORIES(./librerias)

#Indica el nombre del ejecutable contenido en NOMBRE_EJECUTABLE y los ficheros fuente que se usaran (fichero1.cpp,fichero2.cpp...) para la compilación. Si quisiéramos que en lugar de un ejecutable, compilará en forma de librería, se haría con la siguiente instrucción ADD_LIBRARY(bloguerolib SHARED fichero1.cpp fichero2.cpp) donde SHARED se puede sustituir por STATIC en función de si queremos una librería dinámica .a o estática .so
ADD_EXECUTABLE(${NOMBRE_EJECUTABLE} fichero1.cpp fichero2.cpp fichero3.cpp)

#Indica que el ejecutable cuyo nombre esta almacenado en la variable NOMBRE_EJECUTABLE requiere para enlazar la librería pthread (lpthread)
TARGET_LINK_LIBRARIES(${NOMBRE_EJECUTABLE} pthread)

#Instala el ejecutable bloguero que se encuentra en la carpeta raíz del proyecto en el directorio /usr/local/bin si quisieramos instalar una libreria, en destination sustituiríamos bin por lib y se instalaría en /usr/local/lib Como se puede observar, se indican también los permisos que tendra trás la instalación
INSTALL(FILES ./bloguero
        DESTINATION bin
        PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

En este CMakeLists.txt me he explayado un poco, y he puesto cosas que no son necesarias en absoluto. He faltado un poco a la palabra de simple, pero ha sido para moestrar un poco la potencia. Un ejemplo super simple sería:

PROJECT( bloguero )
ADD_EXECUTABLE( bloguero main.cpp)

Un Ejemplo intermedio en complejidad:
PROJECT( bloguero )
SET(LIBSRC bloguerolib )
SET(SRC bloguero )
ADD_LIBRARY( bloguerolib SHARED ${LIBSRC} )
ADD_EXECUTABLE( bloguero ${SRC} )
TARGET_LINK_LIBRARIES( bloguero bloguerolib )
 En este se genera una librería dinámica .so y después se incluye para el enlazado para la generación del ejecutable.

lunes, 30 de julio de 2012

Taller C/C++. Makefile

Bueno, creo que lo más simple ya queda claro, además de que es algo que se ha tratado en miles de páginas web con mayor o menor acierto.

Ahora vamos a pasar a algo más complejo que puede llegar a ser un infierno si  no se hace uso de un IDE de desarrollo.

Los ficheros Makefile:

Los ficheros Makefile son ficheros de texto que funcionan como scripts, a los que se llama cuando queremos compilar una aplicación sin tener que escribir toda la linea de texto que llama al compilador con todas sus opciones. Son muy útiles cuando nuestros programas van cogiendo cierta envergadura. Es facil olvidar la opción que mejor nos iba con gcc, o uno de los muchisimos ficheros que componen el proyecto.

Un ejemplo sencillo de Makefile puede ser simplemente escribir dentro de un fichero la linea con la que compilamos un proyecto. gcc -o ejecutable main.cpp
pero se puede llegar a compliar la cosa hasta puntos insospechados, con Makefiles que comprueban la existencia de las librerías que se usan dentro de nuestro código, la ruta de acceso, borrar el compilado anterior de tu programa, instalar el programa...

Para ayudar en la realización de un Makefile, explicaré uno creado por mí, y que cubre bastante bien las necesidades de un desarrollador medio:

#    @author Gabriel

#Definicion de constantes
NOMBRE = bloguero
VERSION = 0.1.5
AUTOR = Gabriel
FECHA = 10/11/2011
COMPILADOR = g++
OPCIONES = -g -Wall -O2
LIBRERIAS = -lm -lpthread
OBJETOS = utm.o poli.o bloguer.o
MAIN = main.cpp

#Genera todo el programa
all: escribe principal
   
escribe:
    @echo ;
    @echo VERSION: $(VERSION);
    @echo AUTHOR: $(AUTOR);
    @echo NAME:  $(NOMBRE);
    @echo ;

#Enlazado con las clases y generacion del ejecutable
principal: $(OBJETOS)
    $(COMPILADOR) -o $(NOMBRE) $(OPCIONES) $(MAIN) $(OBJETOS) $(LIBRERIAS)

#Realiza el compilado de las clases
$(OBJETOS) : %.o : %.cpp %.h
    $(COMPILADOR) -c $(BANDERAS) $< -o $@ 

Aquí se imprimen los datos del programador y del programa, además de realizar la compilación en 2 partes. Dado que esta escrito en castellano, creo que no será dificil de entender que es lo que hace, pero explicaré una parte concreta que puede ser la más liosa.

Al final del fichero se observa como se hace referencia a unos %.o %.cpp %.h En realidad, esto hace que se compilen los ficheros cuyos nombres correspondan a los que están en la lista OBJETOS, y cuyas extensiones sean .cpp .h

Este Makefile es para un proyecto de C++. La sección LIBRERIAS se indica para especificar que librerías se usan dentro de nuestro código fuente, en este caso las de matemáticas -lmath y las de posix -lpthread (necesarias para programar con hilos y que espero poder explicar en un futuro). Pero si en tu proyecto no se hace uso de ninguna librería, no es necesario indicar nada.

Si tu proyecto tiene algunos ficheros que solo tienen .cpp y no su correspondiente .h, tendría que añadirse a mano en la seccion principal, escrito trás $(MAIN). Si se observa detenidamente, con unas simples sustituciones se obtienen sentencias similares a:  

g++ -o -O2 bloguero main.cpp utm.o poli.o bloguer.o -lm -lpthread

Es posible insertar otras opciones, que hacen referencia a la localización de ficheros de cabecera .h que no se encuentran en el habitual /usr/local/include ¿Cómo lo hacemos? indicando lo siguiente: -I ruta_include Ejem. -I /opt/include

Por último mencionar la opción que ayuda al compilador (si somos estrictos al enlazador) a encontrar librerías que no se encuentran instaladas en el lugar por defecto: -L ruta_librería Ejem. -L /opt/lib

Para finalizar, decir que el fichro Makefile debe encontrarse en el mismo directorio donde están los fuentes de tu programa, y para ejecutarlo solo hay que escribir en el terminal: ~$ make  ó ~$make all

Taller C/C++. Compilación

No es mi intención la de enseñar C, pero si ayudar a realizar las tareas más dificultosas de la programación cuando no eres experto.

Para compilar una aplicación que tengamos escrita en varios ficheros .c (de lenguaje C ) .cpp o .cc (de lenguaje C++) si tenemos un IDE de desarrollo es sencillo, pero pongamonos en lo peor y supongamos que nos encontramos con un entorno solo texto o usamos un editor tipo nano, vi...

Los procesos de la compilación son varios, y entre ellos se encuentra la de enlazado que inserta el código de librerías ya compiladas en nuestro código fuente. Este paso se realiza usando ld, pero en nuestro caso iremos por la vía facil para no liar al personal ya que gcc también lo hace.

Para obtener un ejecutable, en el terminal escribir:

~$ gcc -o nombre_ejecutable fichero_main.c fichero1.c fichero2.c ...

Esta linea realiza el compilado y el enlazado, dando como resultado un ejecutable llamado nombre_ejecutable. Ahora explicaré un poco las opciones que suelo usar para indicarle al compilador como debe generar el binario.

Opciones generales:

-o indica que se genere un fichero ejecutable.
-c indica que se genere solo el objeto compilado pero no enlazado.
-Wall indica que avise de todos los warning que puedan existir en el código, ya que estos warnings podrían dar errores en tiempo de ejecución.
-g indica al compilador que introduzca en el ejecutable todo lo necesario para poder ser depurado a posteriori con herramientas como gdb.
-pedantic -ansi indica al compilador que sea estricto en la compatibilidad con ANSI C
-petantic-errors indica al compilador que convierta los warnings que pueden causar error en ejecución en errores estrictos de código.

Opciones de optimización:

-Ox siendo x=0,1,2,3 Ejem sintaxis: ~$ g++ -o -O2 ejecutame main.cpp

Indican con que grado se quiere que este optimizado el código en cuanto a velocidad de ejecución y espacio en memoria que debe ocupar. Mientras mayor sea el número mayor es la optimización y más se tarda en compilar (personalmente creo que merece la pena esperar a que termine de generar el compilado).

También existe otra opción para el gcc que mejora los tiempos de ejecución. 

-march=[core2 | corei7 | prescott | ... ] 

No recomiendo el uso de march, porque requiere un conocimiento exahustivo del procesador donde correra el ejecutable, amen de que recorta la portabilidad. En este caso soy mas partidario de hacer una buena programación sabiendo como se alojan los datos en memoría, uso de algoritmos del menor orden de complejidad posible, algoritmos adecuados...

Para saber mas opciones, siempre podeis acudir a man gcc o g++








Taller C/C++ GNU/Linux. Preparación del entorno.

Dado que tengo interés en publicar algo a modo de taller relacionado con la placa Raspberry, he creido oportuno empezar con unos pequeños tutoriales para la programación en C/C++ bajo GNU/Linux. Esto no quiere decir que todo lo que vaya a escribir sea efectivo en Raspberry, pero si será aplicable a la mayor parte de las distribiciones Debian.

Como se trata del primer tutorial, empezaré por lo más básico, la preparación del entorno Linux para empezar a desarrollar.

Lo primero es instalar los paquetes necesarios, en un terminal escribimos:

~$ sudo -s apt-get update
~$ apt-get install build-essential
~$ apt-get install g++

Con esto es suficiente para empezar, pero para ayudar a programar algunos son gustosos de usar IDEs que ayuden a tareas como las de autocompletar, o la generación de un makefile de forma automática.

Yo personalmente suelo usar siempre un editor de texto normal, bien sea gedit adaptado, kate, o el nano (hay quien usa vi), pero  los más recomendados bajo mi punto de vista son anjuta, geany, kdevelop, netbeans y eclipse con el plugin de C++. Los 2 últimos IDEs mencionados posiblemente sean los más completos, pero a la par son los que más recursos consumen.

viernes, 20 de julio de 2012

Decepción con DELL y Gorilla Glass

Hace tiempo que soy fan de los cristales Gorilla glass, y también fan de windows phone gracias al Dell Venue Pro que adquirí el año pasado.

Disfrutaba de estas maravillas de la tecnología pese a que el Venue pro queda algo corto en el apartado de GPU y su cámara era de pobre calidad. El teclado, la pantalla y SO me hacían disfrutar del móvil como no lo había conseguido con ningún Android. Pero de la noche a la mañana, y nunca mejor dicho, este sueño idílico se rompio en mil pedazos.

Uso habitualmente los móviles como radio para entretenerme mientras concilio el sueño, lo llevo haciendo desde mi primer symbian y se hizo una característica indispensable. Como consecuencia de este uso pongo mis teléfonos bajo la almohada y por desgracia hace unas semanas hubo un percance que jamás me pude imaginar.

Por la mañana al despertar, encontré el DELL Venue Pro en el suelo, evidentemente cayo desde la cama. Ahora viene la gran sorpresa, LA PANTALLA ESTABA ROTA!!!!! no hablo de la OLED, sino del cristal exterior, la Gorilla glass. Me quede totalemtne flasheado y aún no me he recuperado. 

¿Cómo es posible que la pantalla más famosa del mercado por su resistencia, se haya roto en una caída de 60 cm?  

Se me han caído varias veces móviles de todo tipo y todas las gamas. No es que sea un descuidado, pero es inevitable que alguna vez se te caiga uno. Ninguna de estas veces se me ha roto ninguna pantalla pese a que las alturas han sido cercanas al metro. 

Lo mejor de este asunto es que estando el teléfono en garantía, los de Expansys me aseguran que DELL no se hace cargo de la garantía ya que la rotura ha sido provocada por una caída. Les he insistido en que la pantalla es una Gorilla glass, y que se trata de una especificación del móvil extraordinaria que de alguna manera debe ser respaldada por la empresa. Es como decir que tienes el procesador que menos consume, pero resulta que se bebe las baterías del móvil y te digo que no me responsabilizo del consumo. 

No se si Expansys me ha tomado el pelo o DELL es una empresa de dudosa recomendación por incumplimiento de garantías, pero me parece ridículo el asunto. ¿De verdad DELL no se hace responsable de mi Gorilla glass? ¿Resulta que las Gorilla glass realmente son un engañabobos? (lo que quiere decir que he sido un bobo)

Muestras de la pantalla:



¿Debo indignarme o están en posesión de la razón?

Para quien quiera saber con que móvil sobrevivo, es con un Nokia C6-00. He de decir que ningún nokia me ha llegado a decepcionar, salvo alguno no symbian y que evidentemente asumía que sería de dudosa calidad.  

miércoles, 11 de julio de 2012

RASPBERRY PI

Hoy he recibido mi placa Raspberry Pi. Intuyo que me encuentro entre los primeros poseedores de PC con procesador ARM11 en España. Tras muchos problemas con el conector hembra de RJ-45, la certificación de CE, y otros retrasos por diseño, fabricación y distribución por el abrumador éxito de este pequeño hardware que limitaron el número de unidades a una por comprador, parecía imposible que este momento llegara.

El precio final de la Raspberry comprada en RS Amidata y con los portes 24Horas por DHL finalmente ha sido de unos 40 euros. Esta claro que esta lejos de lo que se prometio para el precio del modelo más económico, pero otro de los problemas que se encontró esta maravilla de la tecnología obligo a la subida de precios y a comercializar el modelo B como modelo único pese que al principio este sería el hermano mayor de la gama.

A medida que avance en mis proyectos con este micro PC, iré añadiendo entradas a este por lo general abandonado blog.

Un saludo.