martes, 22 de noviembre de 2011

Biblioteca libre online para descargar libros

Acá les recomiendo otra página para descargar libros, donde en este caso todos los libros publicados son libres.
La biblioteca se llama OpenLibra (un proyecto de EtnasSoft) y van a poder encontrar libros de todo tipo: informática, matemáticas, ciencias, ensayos, novelas, cómics, y mucho más.
Muy recomendada.

Link: OpenLibra

domingo, 20 de noviembre de 2011

Conocer los límites de los distintos tipos de datos en C++

Una forma sencilla de conocer los límites de los distintos tipos de datos en C++ (int, float, double, unsigned long long, etc.), es usando el objeto numeric_limits<T> como se muestra en el siguiente ejemplo:

#include <iostream>
#include <limits>

using namespace std;

int main(){
    cout<<"Máximo entero: "<<numeric_limits<int>::max()<<endl;
    cout<<"Mínimo flotante: "<<numeric_limits<float>::min()<<endl;
    return 0;
}

Como ven sólo le especifican el tipo de dato deseado y usan las funciones min() o max(). La cebecera correspondiente a incluir es <limits>.
La clase numeric_limits nos brinda otras funciones útiles más que pueden verlas detalladamente en el siguiente enlace: numeric_limits (CPlusPlus.com)

martes, 15 de noviembre de 2011

Empathy no se conecta a Windows Live (MSN)

Si tienen problemas en conectarse a su cuenta de Hotmail o Windows Live con Empathy (permanece continuamente como conectando pero nunca lo logra), esto les puede servir:

Desinstalen el paquete telepathy-butterfly e instalen telepathy-haze si no lo tienen ya instalado.
Después en Empathy vuelven a configurar su cuenta (eliminan la que ya tenían porque no les va a funcionar) y ahora sí, deberían poder conectarse sin problemas.

sábado, 12 de noviembre de 2011

Arreglar Suspender/Hibernar en Ubuntu

Puede pasar que tengan un Ubuntu instalado en su computadora o notebook y no les funcione el suspender o hibernar. O no hace nada, o no funciona como debería, o no se puede recuperar el estado, etc.
Acá en el siguiente enlace hay una solución (gracias Lucas) que arregla el problema (puede funcionar en cualquier Linux, no sólo Ubuntu, sólo deben probar):

Fix Ubuntu (or Linux) Suspend/Hibernate Not Working Bug

Para los vagos que quieren todo fácil, seguir esto:

1- Descargar el siguiente archivo: 20_custom-ehci_hcd.

2- Guardarlo en /etc/pm/sleep.d/ (se necesita ser root).

3- Darle permisos de ejecución con:

sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd

4- Suspender o hibernar la computadora y ver que ahora anda bien.

Si no les funciona o cualquier otra cosa, miren el post original. Si sí les funciona, también entren al post original y dejen los datos de su modelo, versión de Ubuntu y otra información del hardware como pide el autor. De paso podrían fijarse antes de probar si su modelo se encuentra en la lista.

Usar WTK como emulador de aplicaciones J2ME en Linux

La mayoría de celulares soporta aplicaciones J2ME (Java 2 Micro Edition, como se llamaba antes. Ahora es Java ME simplemente). Estas aplicaciones se pueden conseguir por Internet, sobre todo los juegos (siempre se encuentran sitios para bajar packs de varios de estos jueguitos).
Las aplicaciones J2ME consisten básicamente de un archivo JAR, donde están empaquetados todos los archivos necesarios (clases, imágenes y otros recursos), y de un archivo JAD que es un descriptor de la aplicación y que no siempre es necesario.

Lo bueno es que vienen emuladores que permiten ejecutar estas aplicaciones en la computadora, y así probar un juego por ejemplo antes de bajarlo al celular.
Para Windows pueden bajarse el MidpX o el KEmulator.

Lo malo es que no vienen para Linux. Sin embargo, se puede usar el Sun Java Wireless Toolkit (WTK) como emulador. WTK es un kit de desarrollo para crear aplicaciones basadas en CLDC y MIDP, es decir no sólo para celulares sino también para otros dispositivos móviles que soporten estas configuraciones.



Lo que tienen que hacer para poder usarlo es lo siguiente:

1- Instalar el JRE (Java Runtime Environment):

Pueden instalar el oficial de Oracle, o la implementación de código abierto OpenJDK (recomendado). En Ubuntu instalan este útimo desde consola con el siguiente comando:

sudo apt-get install default-jre


2- Instalar el JDK (Java Development Kit):

Pueden elegir como arriba. En Ubuntu:

sudo apt-get install default-jdk


3- Instalar WTK:

Para eso lo descargan (la versión 2.5.2 es la última que salió para Linux. Está la versión 3 pero sólo para Windows, pero con la 2.5.2 alcanza). Descarguen el archivo sun_java_wireless_toolkit-2_5_2-linux.bin de acá.

Después lo ejecutan desde una consola con:

sh sun_java_wireless_toolkit-2_5_2-linux.bin


(o directamente con ./sun_java_wireless_toolkit-2_5_2-linux.bin si le dan permiso de ejecución).

Les va a mostrar la licencia de uso, la leen toda presionando Enter para avanzar (bueno, la pueden saltear apretando Q), y escriben yes cuando les pregunta si la aceptan.

Después les va a pedir un intérprete de Java. Ingresan la opción 0 (especificar una ruta). Ahí ingresan la ruta a la carpeta bin de su instalación del JRE. Si instalaron OpenJDK generalmente es

/usr/lib/jvm/default-java/bin

Si la ruta es correcta, va a estar listo para instalarse. Ahora les pide en qué lugar quieren instalarlo (pueden dejar el default que es en el Escritorio apretando Enter). Eligen si quieren comprobar actualizaciones, verifican toda la información ingresada y comienzan a instalar.


4- Conseguir el archivo JAR y JAD de la aplicación:

Bueno, ya está todo instalado, ahora sólo tienen que tener la aplicación para probar. Es muy probable que dispongan sólo del archivo .jar, pero para poder ejecutarla acá también se necesita el .jad.
Pero no es problema. Si no disponen del archivo .jad lo pueden conseguir desde la siguiete página Web: Free JAD Creator.
Ahí deben subir el archivo .jar y podrán descargar el .jad generado.


5- Ejecutar:

Ya todo listo, ahora a probar. En la carpeta donde instalaron el WTK, entran a bin y ejecutan el archivo ktoolbar.
Se les va a abrir la siguiente ventana:



Ahora van a File, Create project from JAD/JAR file. Buscan el archivo .jad deseado y lo abren.
Presionan el botón Run y listo, un celular en pantalla ejecutando la aplicación o jueguito:



En Edit, Preferences pueden configurar algunas opciones del dispositivo.


Extra: el jueguito de la captura es el "Mega Invaders", que hice como ejercicio de un trabajo práctico para una materia de la facultad. Más adelante lo voy a subir así todos pueden jugarlo :p.