sábado, 28 de diciembre de 2013

Celular ZTE V889S Chino

Hace algunos meces me decidí a probar un celular chino, con todos los mitos que desde siempre hay sobre las cosas chinas, igual no es el primer paso ya que hace ya algunos meses me compre una tablet china y la misma me ha funcionado perfectamente y colmado mis expectativas.

Como era la primera experiencia lo que hice fue comprar un celular que no sea muy caro, para ser más exacto en el rededor de los 60 dólares. La idea era intentar acercarme lo más posible a lo que yo tenía (Xperia P) pero al rondar este en los 500 dólares creo que es un tema difícil.

Bueno lo primero fue buscar un poco a ver si habían marcas que sobresalieran sobre otras, y alguna hay pero creo que todo va cambiando día a día, por ejemplo si se fijan en los benckmarch que andan en la vuelta, uno de los celulares que le comité al S4 es uno chino, pero la marca no es de las más nombradas, después cada foro da sus opiniones y no cada uno se inclina para un lado u otro y no hay algo claro que podamos decir que tal marca es la mejor. Entonces con esto, lo que hice fue descartar la marca. Entre en las páginas chinas que utilizo normalmente, busque los celulares que andaban en los precios que mencione y busque promociones y a comprar.
El que compre es ZTE V889S , de 2 núcleos de 1GHz, android 4.1,  4 pulgadas,  una contra es que tienen cámara solo trasera y de 3.2 Mp (lo cual considero muy poco).
Bueno luego de esperar aproximadamente 1 mes llega el celular, el primer problema es que solo venía con inglés y chino, y que al instalarle alunas cocas aplicaciones se llenaba la memora interna (que no recuerdo de cuanto era). Entonces lo primero que hago es buscar en internet como hacer para cambiar el idioma, y me encuentro en un post que te daba detalladamente todo, varias rom, junto con la original, rooteada, con todos los idiomas, con tutoriales para agrandar la memoria interna (yo lo agrande de a 1 GB lo cual es suficiente, pero se puede agrandar a 2, 3),  configurar cosas internas por ejemplo para que el gps se conecte más rápido, y varias cosas más.

Ahora vamos a la operativa diaria del mismo, en este punto, no he encontrado nada que hacía antes con mi anterior XPeria P con este nuevo, la velocidad es más que aceptable, el diseño no es de lo que más me interesa pero diría que no es malo, tienen 4 botones esto es una diferencia con la nueva onda de los celulares, pero me acostumbre a esto, al ser de plástico es mucho más liviano, no puedo decirles si es resistente porque no lo he dejado caer ni una sola vez ? . En lo que es mejor el anterior es en las fotos, primero el ZTE no tienen cámara frontal, no tiene flash, la cámara es de 3Mp, las fotos no son malas pero de menor calidad obviamente. La pantalla táctil es sensible, es decir funciona bien, también la calidad gráfica es muy buena, diría que se ve un poquito mejor en el cel nuevo.  Un punto bajo es el parlante integrado, suena muy bajo, cuando escucho algún mp3 tengo que subir el volumen al máximo y se escucha apenas, pero si conecto unos auriculares anda perfecto.

Resumiendo, un celular de 60 dólares que compite con uno de 500, y no tienen nada que envidiar. Si les tengo que aconsejar les diría que se tiren a alguno de estos celulares chinos, obviamente antes dar una revisada y comparar, ya que la gama de celulares y marcas es muy variada.

martes, 17 de diciembre de 2013

Browser de BD por JDBC

He tenido que trabajar con una base de datos DB2 que corría en un AS400 y no quería entrar a la pantalla verde para realizar las consultas, entonces busque un poco aluna aplicación Windows, que
Se conecte a las bases de datos por jdbc, y me encontré con Sql Workbench, una herramienta gratis, muy ligera que se puede crear conexiones indicándole jdbc a utilizar (el tienen muchos incluidos pero se le puede agregar alguno más que necesitemos) los datos de la base de datos clásicos, usuario, contraseña, etc., y luego puedes  hacer las consultas sql y nos devuelve los datos.

Una contra que tienen es que no tienen una lista de las tablas que tenemos en la conexión que estemos y no tienen el tan "lindo" autocompletar, pero tiene cosas interesantes. Una que mysql ha perdido es el que automáticamente se guarden las consultas, las pestañas que utilizaste, etc., y además es muy muy rápido, yo lo he probado con mysql y db2, pero tienen por defecto diría yo para todas las bases que conozco y más.
Además cuenta con una herramienta muy interesante que se llama Pumper, que te copia datos de una tabla a otra (ya sea que este en la misma base o no, solo hay que definir las 2 conexiones), se puede hacer filtros y la copia es muy rápida.
Tiene cosas que he visto en algunos browser de BD como el crear con un click el insert de los datos de una tabla (esto lo he utilizado mucho), el exportar los datos a formatos como Excel, o copiar al portapapeles los datos de la consulta sql que realizamos. Algo interesante que lo aprendí de la peor manera es que los inserte y delete los realiza en memoria y hasta que no le des commit no impacta las consultas, esto es bueno y malo, hay que saber que existe y saber usarlo. Otra cosa a tener en cuenta es que al realizar una consulta de actualización (insert o update por ejemplo) el navegador bloquea la tabla que estés usando (esto en DB2 que fue donde lo probé) entonces tu aplicación AS400 puede quedare bloqueada mientras no realices el commit o rollback.

A probarlo y comentarme que les parece.

jueves, 7 de noviembre de 2013

Desactivar UAC de Windows


El UAC es el clásico mensaje que da Windows cuando queremos instalar alguna aplicación o hacer cosas de administrador, esto es una seguridad que se quiso agregar imitando a Linux, pero la verdad que para los usuarios Windows más que ser bueno es una molestia (los usuarios Linux sabemos vivir con eso, más los que somos un poco menos usuarios y más administradores).
Como esto me pasa 1 vez cada muchos años, cada vez que tengo que hacerlo tengo que  pasar unos minutos buscando, entonces lo pongo aca para mi y para todo el mundo

Inicio / Panel de control
Cuentas de usuario y protección infantil
Sistema y seguridad
Cambiar configuración de Control de cuentas de usuario

Mover la barra hasta - No notificarme nunca

Unable to create OLE, Dispatcher Code 154 FAC4: SEV:1

Cuando compile en Java con Gx8 me sale el siguiene mensaje de error:

Unable to create OLE, Dispatcher Code 154 FAC4: SEV:1

La solucion basta por ejecutar como administrador los programas que se encuentran en la raiz de la instalacion de gx

GxComp.exe

Gxwctrf.exe

OLE Error: SC:499 - FAC 4 - SEV 1

Este error se da cuando genexus no se instala bien, esto sucede muy a menudo cuando se instalan versiones viejas de gx (en mi caso Gx 8.0)  en Windows 7.
Salta el error cuando se intenta compilar un objeto, cuando se intenta importar un objeto de otro modelo o de diseño, o hacer un copy model.

Solución:
            1 – ejecutar el bat GXRegNT.bat que está en la carpeta de instalación de gx (normalmente C:\Program Files (x86)\ARTech\GeneXus\gxw80)
            2 – revisar que el generador que se este intentando generar este instalado
            3 – registrar en .net los tres exe de genexus que se indican arriba.
-          C:\Windows\Microsoft.NET\Framework\v2.0.50727>RegAsm.exe "C:\Program Files (x86)
\ARTech\GeneXus\gxw80\GXWSDLInspector.exe"
-          C:\Windows\Microsoft.NET\Framework\v2.0.50727>RegAsm.exe "C:\Program Files (x86)
\ARTech\GeneXus\gxw80\WizardNewModel.exe"
-          C:\Windows\Microsoft.NET\Framework\v2.0.50727>RegAsm.exe "C:\Program Files (x86)

\ARTech\GeneXus\gxw80\GXThemeEditor.exe"

martes, 5 de noviembre de 2013

Error 0x80070005 Acceso Denegado

Este error se da cuando tenemos un servidor de licencias genexus e intentamos acceder desde otro equipo, normalmente pasa con sistema operativo Windows 7.

Pasos a seguir para licenciar genexus con servidor de licencias en distinto pc
Para utilizar las licencias en otro pc, se debe de indicar la ip o el nombre del  pc en el license manager de genexus como se muestra en la imagen



Se debe de seleccionar Remote License e indicar la ip del equipo que oficia de servidor de licencia.
Si ocurre el error que se muestra en la imagen, ya sea en el license manager como al abrir genexus se debe de seguir los pasos que indico abajo para poder evitar este error.



Voy a explicar suponiendo que las maquinas no están en un dominio, para esto hay ayuda en el wiki de genexus, también voy a suponer que el servidor de licencias funciona, y los clientes están en Windows 7, ya que con Windows XP es más sencillo (igual aplica y se puede tomar como referencia) (http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,4,61,O,S,0,,22835), igual si ven los pasos son casi todos iguales, solo hay algunos distintos.
-          Primero en el servidor de licencias debemos de crear el usuario con el que se conecta el o los pc clientes, debe de indicarse siempre el usuario y la contraseña idénticos.
-          Ambos equipos, servidor y cliente deben de estar en el mismo grupo de trabajo.
-          En el servidor debe de existir un grupo llamado ARTech Remote Protection User, y los usuarios que creamos antes todos deben de pertenecer a este grupo. Ademas algo que no se necesita pero podemos utilizarlo en el futuro es el grupo GXprotAdmin, se usa más que nada para loguear los errores del license manager, a este grupo también agregar los usuarios de los clientes (los que creamos en el primer punto). Si alguno de estos grupos no existen se deben de crear.



-          En el cliente crear si no existe los 2 grupos que se indicaron arriba y agregar el usuario del equipo a estos grupos
-          Ahora se debe de dar permiso de acceso remoto al usuario anónimo, esto se hace de la siguiente forma:
1 Inicio > Ejecutar > dcomcnfg, luego en mi pc le damos botón derecho y propiedades, luego en Anonymous Logon en Editar Limites le damos acceso remoto, como se muestra en las siguientes imágenes.






lunes, 16 de septiembre de 2013

Aplicación que lea epub


Lo que quiero decir es, que el programa lea los epub en voz alta para que yo los escuche sin necesidad de mirar la pantalla, se que hay muchos audiolibro pero no es lo que busco ahora.

Primero lo que es equipo debe de tener es un tts en el idioma que desees para que el SO sepa pasar de un texto a voz. Esto no vamos a hablar en este momento pero para español el que utilizo yo es IVONA tts.
Ahora lo que necesitamos es un lector de epub, que tenga la funcionalidad de utilizar el tts, yo el que utilizo es FBReader, no es el mas vistoso de los lectores epub, no es el mas practico, pero para lo que yo quiero me funciona muy bien.
Para poder escuchar el libro lo único que hay que hacer es abrir el epub, luego presionamos el menú, y en el menú desplegable, la ultima opción es Speak, pero primero debemos de instalar 2 cosas, una es el propio FBReader, y ademas agregarle el FBReadear TTS Plugin, este ultimo es el encargado de leer el texto basandose en el tts que tengas instalado.

Todos estos programas que indique arriba se pueden descargar gratis del Market.

sábado, 14 de septiembre de 2013

Kingsofft el office para los smart devices

Con las nuevas tecnologías se nos presentan retos para pode migrar a ellas que a veces te sorprenden, que quiero decir, bueno, hace poco incursione en el mundo de los tablet, sin estar tan seguro que realmente lo necesitan. Lo primero que hice, creo que, como todo el mundo es llenarlo de juegos, pero mi segunda fase es ver cuanto puedo desprenderme del notebook o pc.
Lo primero que tengo claro es que hoy por hoy se que no me voy a olvidar del pc 100%, pero esperemos que sea un numer alto.
Lo segundo es contar con un lugar en la nube para tener todos mis documentos, esto esta mas que salvado, con dropbox que utilizó yo, pero existen muchas otras opciones. Luego preciso uno o mas programas para poder editar, crear, modificar los mismos, como por mucho que nos pese dependemos del mundo microsofft, debemos encontrar algún programa que pueda manejas archivos word, excel y hasta powerpoint.

Para esto tenemos kingsofft, es una aplicación que con su versión gratis te da para hacer muchísimo. Yo lo uso principalmente con archivos word, y lo básico esta mas que cubierto, y además tiene miles de funcionalidades mas que todavía no las he usado. Enumerar todo lo que se puede hacer es imposible, así que les aconsejo que lo instalen y prueben.
Algunas pocas funcionalidades son el manejo de la letra, es decir negrita, subrayado, tamaño, color, etc., los estilos, se puede interactuar con dropbos y los otro conocidos. La interfaz para mi tablet de 10 es muy limpia e intuitiva, en resumes es de lo gratis lo mejorsito.

Pruebenlo y me dejan sus comentarios.

viernes, 13 de septiembre de 2013

Ejecutar sql en mysql directo desde consola

Lo que quiero hacer es directo desde la consola de linux, correr una consulta sql y el resultado obtenerlo en un archivo, esto lo puedo hacer por ejemplo para programar una consulta sql que es muy pesada para que se corra en la noche.

El comando a ejecutar desde el prompt es el siguiente:

myql -u [usuario] -p[password] -D [DB] -h [host] -e ‘select * from ....;’ > resultado.txt

en esta consulta lo que debemos de cambiar son el usuario, el password, la base de datos, si el host no es local, luego la consulta que necesito, y por ultimo redirigimos el resultado a el txt

viernes, 9 de agosto de 2013

Consumir servicio Rest hecho en Gx Evo2 desde Android.

El objetivo de este post es mostrar todo el ciclo para poder utilizar desde una aplicación Java para Android, un servicio Rest hecho en Genexus Evolution 2.

Lo primero que precisamos es un servicio hecho en Genexus Evolution 2, esto es muy fácil ya que basta con cualquier procedimiento (por ejemplo) marcar que va a ser un servicio y va a ser Rest, no el clásico SOAP que ya hace mucho trabajamos.

La forma de definir un servicio Rest es un poco distinto a los SOAP, pero es bastante fácil igual lo único que hay que hacer es marcar la propiedad del procedimiento como se muestra en la imagen.





Bueno ya tenemos el servicio, esto en mi caso lo genere en Java y va a correr en un tomcat, especifico esto porque no sé si en algún otro lenguaje o motor de servlet (probarlo y comentar).

Ahora vamos a ver si este servicio funciona, para esto voy a usar una aplicación para Firefox, para poder consumir este servicio, la aplicación se llama RestClient, la agregan en las extensión de FF, luego de reiniciar en las Herramientas queda un punto para llamar al programa, lo ejecutamos y tenemos varias cosas para tener en cuenta que cambian un poco de lo que ya deberíamos de manejar.

Primero al ser un procedimiento genexus, el método es POST. Además la url cambia la parte de servlet por rest. También en la url, el nombre debe de ser idéntico, es decir con mayúsculas y minúsculas como se llama el programa. En el Body agregamos los parámetros que recibe el procedimiento, los de in, no los de out, de la siguiente forma:
   { "usuario": "pepe" }





Podemos agregar varios parámetros separado por coma. En el Header, agregamos en "Content-Type" como "application/json".

En resumen debe de quedar como la imagen.



Para probar que nuestro servicio funcione, solo con ejecutarlo con SEND, no se devuelve abajo lo que el servicio retorna.



Ahora vamos a ver el código que tenemos que utilizar en Java/Android para consumir este servicio.



try
        {
            HttpClient httpClient = new DefaultHttpClient();
            JSONObject dato = new JSONObject();
            dato.put("usuario", "miusuario");
            HttpPost post = new HttpPost(URL+"wsRestMiWS");
            post.setHeader("content-type", "application/json");
            post.setEntity(new StringEntity(dato.toString()));
            HttpResponse resp = httpClient.execute(post);
            String respStr = EntityUtils.toString(resp.getEntity());
            Log.i("DEBUGGER", respStr);

            JSONObject respJSON = new JSONObject(respStr);
            String Resultado1= respJSON.getString("ResultadoDevuelto1");
            Log.i("DEBUGGER", "Resultado1:"+Resultado1);
            JSONArray Resultado2= respJSON.getJSONArray("ResultadoDevuelto2");

            for(int i=0; i                JSONObject unRes = Resultado2.getJSONObject(i);
                Log.i("DEBUGGER", "Atributo1:"+unRes .getString("Atr1"));
                Log.i("DEBUGGER", "Atributo2:"+unRes .getString("Atr2"));
            }
        }

        catch(Exception ex)
        {
            Log.e("DEBUGGER", "Error!", ex);
        }


Vamos a explicar las lineas que tenemos que cambiar para que esto funcione.

dato.put("usuario", "miusuario");

aca agregamos todos los parámetros que recibe nuestro procedimiento genexus, en mi caso solo recibe el parámetro "usuario" y el valor que le paso es "miusuario", un punto a tener en cuenta y muy importante es que la variable que se definió en genexus debe de ser identica en cuanto a las mayúsculas y minúsculas, sino el servicio no responde correctamente.

HttpPost post = new HttpPost(URL+"wsRestMiWS");

URL es la ruta del server hasta la parte del "rest/"  y wsRestMiWS es el nombre de mi procedimiento genexus (es decir el servicio Rest) y también debe de respetarse las mayúsculas y minúsculas.


Log.i("DEBUGGER", respStr);


Este Log, y como todos los otros, son solo para debugger, este nos va a tirar todo lo que devolvió el servicio.

String Resultado1= respJSON.getString("ResultadoDevuelto1");

Nuestro primero parámetro de out en el servicio genexus, se es una variable que se debe de llamar ResultadoDevuelto1, respetando mayúsculas y minúsculas, y es una variable simple que nos devuelve un solo valor.


JSONArray Resultado2= respJSON.getJSONArray("ResultadoDevuelto2");
Log.i("DEBUGGER", "Atributo1:"+unRes .getString("Atr1"));
Log.i("DEBUGGER", "Atributo2:"+unRes .getString("Atr2"));
 


Nuestro segundo parámetro de out, es ResultadoDevuelto2, y es una colección de datos, con Atr1 y Atr2 en cada uno de sus campos





Estas pocas lineas de código nos van a tirara en el log los valores que nuestro servicio nos devolvió, luego debemos de acomodarlas en donde nos quede mejor.




             

viernes, 2 de agosto de 2013

Update en mysql con subconsulta

El problema al que me enfrento es a tener que actualizar un registro en una tabla muy grande, que debe de ser igual que el valor que me devuelve una subconsulta, abajo pongo un ejemplo


update tabla1 set atributo1 = (select valor1 from tblvalores where valor2 = 'XXXXX') where ..........;

La subconsulta devuelve un solo registro para valor1, pero lo que hace es al recorrer toda la tabla1 para cada uno de los registros a actualizar se va a realizar la consulta anterior, haciendo que esto sea menos performante que un update sin la subconsulta, sino que con el valor1 directamente.

Entonces buscando soluciones encontramos  que en un script podemos con @id podemos registrar el valor de la subconsulta y luego hacer el update utilizando este valor.

Ejemplo de como quedaría la consulta de arriba.

select @id:= valor1 from tblvalores where valor2 = 'XXXXX';
update
tabla1 set atributo1 = @id where .......;

Esto es mas performante, ya que en la primer consulta realizamos 2n consultas, mientras que en la segunda n+1.





miércoles, 31 de julio de 2013

HTTPClient.HTTPConnection.setTcpNoDelay(Z)V) error con Gx Evo1 o Evo2

Como este error me ha pasado 2 o 3 veces y cada vez que me pasa tengo que buscar cual es la causa, lo trascribo asi ya se donde buscar.

Esto pasa tanto con Gx Evolution1 o Evolution2, y se resuelve tan facil como eliminar del lib del tomcat los jar GXWS*.jar.


viernes, 26 de julio de 2013

Delete de registro de tabla de subconsulta que incluye la tabla

El problema que tuenia era que tengo que eliminar un conjunto muy grande de registos que se obtienen de una subconsulta la cual incluye la tabla en cuestion y alguna otra.
Lo primero que probe es:

Delete from tabla1 where dato1 in (select dato1 from tabla1 t1, tabla2 t2 where t1.id =t2.id and ......);

esto no funciona ya que en la subconulta se utiliza la tabla que se va a eliminar, entonces busque una solucion por consulta sql, ya que por store procedure se puede hacer (o por algun programa en cualquier lenguaje).

Por consulta sql se puede hacer, esto lo probe en MySql pero asumo que en algun otro motor debe de funcionar.


DELETE FROM tabla1 WHERE dato1 IN (
    SELECT * FROM (
        select t1.dato1
        from tabla1 t1, tabla2 t2
        where t1.id .....
    ) as tab_aux
);

sábado, 20 de julio de 2013

Limpiar mi Android






Muchas veces en los celulares que tiene poca memoria interna esta se les llena o da el famoso mensaje de disco lleno, que no es que este a full sino que esta casi completo.

Lo que siempre hago es ir aplicación por aplicación para borrar el cache, ver si puedo desinstalar alguna aplicación, etc. Obviamente que todas las aplicaciones que se pueden se pasan de la memoria interna a la SD, esto es la primera de las reglas que hay que tener para liberar espacio.
Esto no es todo lo que se puede hacer pero es lo mas rápido y lo que un usuario normal puede hacer.

Entonces buscando un poco in el Market para ver que aplicaciones hay para automatizar eso encontré Clean Master.
La pantalla principal es muy agradable y muestra con graficas el espacio libre y usado de nuestras memorias, la interna y la SD, si tuviéramos particiones de la sd, supongo (en mi cel no tengo particionada la SD) se mostrarían cada una de ellas. Esto es muy practico porque fácilmente se ve donde estamos más comprometidos con el espacio.

Después lo primero que tenemos es para borrar el cache y archivos residuales, esto es lo que fácilmente podemos limpiar la mayor cantidad de espacio, el proceso es bastante rápido, primero el programa analiza todo el SO y ve que puede limpiar, nos sugiere en cuales de los cache de los programas borrar y en cuales no, pudiendo nosotros elegir todos, y con un simple click limpiar muchos MB.
Luego tiene una parte que llama privacidad, en la cual podremos borrar los datos privados de las aplicaciones, ejemplo las contraseñas y los archivos temporales de los navegadores, esto hay que tener en cuenta por ejemplo si siempre entramos a una pagina en la cual le cargamos el usuario y la contraseña y la tenemos guardada, que se borrara y la próxima vez que entremos tenemos que digitarla (si nos olvidamos de la pass no ejecutar esta limpieza.

Por ultimo tenemos lo que se llama Tareas, que es un killer de aplicaciones, y Gestor de aplicaciones que es para desinstalar las aplicaciones.

En resumen con el primer apartado llamado Archivos Basura, limpiamos mucho espacio utilizado innecesario y sobre todo este espacio es utilizado en la memoria interna.

Solo faltaría que lo prueben y dejen sus comentarios a ver como les va y si tienen algún otro que utilicen.

Universal Book Reader, para leer libros epub


En breve voy a recibir mi tablet y como varios de mis amigos la utilizan más que nada para leer, me ocurrió investigar un poco.
Yo no soy fanático de los libros, más que nada me centro en los blogs y artículos entre mediano y cortos en su extensión, pero los archivos epub son casi en su mayoría libros con sus centenares de páginas.
Busque varias alternativas de reader de epub y no me convencieron mucho, siempre buscando programas gratis y para Android, que los voy a probar primero en mi Xperia p con su pantalla de 4 pulgadas la cual consideraba que iba a ser muy chica y me daría más dolores de cabeza que buena lectura.
Encontrar el programa que más me gustó que es UN reader.
Primero, las 4 pulgadas no molestan para nada ya que el programa se ajusta muy bien, no te muestra siempre una hoja entera del libro, sino que te muestra las palabras que entren en tu pantalla, y además podes agrandar la letra bastante, obviamente letras más grande, menos palabras por hoja visualizado. En la lectura podes ir marcando hasta donde leíste (el clásico marcador) para la próxima vez ir directo. Si tienes varios libros quedan en la página principal como en un mueble en el cual ves la carátula del libro, esto le da un toque muy lindo.
Bueno solo falta encontrar algún libro que me atrape y ponerme a leer :-)
Después les comento como va en la tablet.

miércoles, 17 de julio de 2013

Cambiar collate de mysql

Una base de datos en la que se crearon varias tablas con scripts armados manualmente, estos se crearon con collate distintos, esto lleva problemas tanto para el trabajo de algunas aplicaciones como algunas consultas que igualan atributos que unos estan en un collate y otros en otro no llega a realizar la consulta el motor.

Entonces lo primero es detectar cuales son las tablas que estan en determinado collate:



SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='nombreBD' AND NOT CHARACTER_SET_NAME IS NULL AND COLLATION_NAME<>'latin1_general_cs';


lo que debemos de jugar es con nombreBD, y con latin1_general_cs, esto debemos de ver en que codificacion necesitamos que esten nuestras tablas.

Con la siguiente consulta podemos cambiar el collate de una tabla:

ALTER TABLE `tabla` CHARACTER SET latin1 COLLATE latin1_general_cs;

y con esta otra consulta cambiamos el collate de un atributo.

ALTER TABLE `tabla` MODIFY COLUMN `atributo` CHAR(1) CHARACTER SET latin1 COLLATE latin1_general_cs DEFAULT NULL;

En ambas consultas se debe de cambiar donde dice tabla y atributo, para los datos nuestro, y la codificación que nos interese (latin1_general_cs en el ejemplo)





sábado, 29 de junio de 2013

Espacio utilizado y libre de MySql

A mi amiga Mariana, le paso que tuvo que saber cuanto espacio real estaba utilizado en un motor MySql, en el cual tenia varias bases alojadas ahí. Busco un poco en Internet y encontró la siguiente consulta

SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 /
1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;

Esto nos da el espacio en MB utilizado por cada una de las bases, y el espacio libre.

Si lo que precisamos es el espacio libre en GB solo tenemos que dividir una vez mas por 1024


SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 / 1024 /
1024 "Data Base Size in GB",
sum( data_free )/ 1024 / 1024 / 1024 "Free Space in GB"
FROM information_schema.TABLES
GROUP BY table_schema ;

lunes, 13 de mayo de 2013

Error al actualizar XPeria se pierde las fotos del Álbum.

Al actualizar a la ultima versión de Xperia, el álbum me quedo sin funcionar, esto llevaba a que no me mostrara las fotos lo cual se pude arreglar con otros programas, pero de algunos programas a los que seleccionan fotos, por ejemplo para ponerlas como foto de perfil, lo que hacen es nos muestran el álbum para seleccionar esta foto.
Como es un soft. que trae la propia versión del SO de Sony, entonces no se puede des instalar, así que lo mejor es lograr que se arregle y muestre las fotos.

La solución que encontré es muy fácil, tenemos que borrar los datos y el cache de la aplicacion, luego entramos nuevamente a la aplicacion y a los pocos segundos el software se reindexa y nos muestra todas las fotos y vídeos, con esto se soluciona.



miércoles, 17 de abril de 2013

VNC para Android



Hace algún tiempo (mucho) intente probar como funcionaban los programas VNC Viewer para Android, la verdad que probé varios, sobre todo el oficial y ninguno funciono bien como para decir que era viable usarlo para administrar un equipo por VNC.

Hoy por casualidad busque uno, lo instale y la verdad me sorprendió lo fácil y practico que me resulto usarlo, se llama PocketCloud, es gratis, se pueden configurar varias conexiones para que con un solo click acceder a ellas, luego en la parte inferior tenes para hacer zoom en la pantalla lo cual es muy practico, ademas en el menu tenes para que el puntero sea el puntero del museo, o el teclado, o teclas de función (Alt, Ctrl, Tab, hasta la tecla de windows, las F*, Shift, y mas).

En definitiva si tenemos que administra servidores o equipos que tienen VNC configurado e instalado, ya no precisamos solo de un PC, ahora en un tablet o celular funciona perfecto.


sábado, 6 de abril de 2013

Seguir mis rutinas con JEFIT para android


Hace poco retome la concurrencia al gimnasio, para ver si ponemos a tiro la rodilla para poder seguir corriendo, gastamos algunas calorias, y nos divertimos un poco.

Entonces como en todo gimnasio están los profesores que intentan darte una rutina para seguir, normalmente tienen los papelitos con los nombres de los ejercicios, te van mostrando los ejercicios y te van llenando la planilla.

Como yo no retengo los nombres de los ejercicios, ni en que maquina se debe de hacer, normalmente tengo que llegar a mi casa y buscar un poco en Internet para tener las imágenes del ejercicio, hasta algún vídeo y manejarme de alguna forma. Entonces empece a buscar un poco y encontre 2 programas para android que estan demasiado bueno para ser gratis, y cumplen en conjunto con todo lo que yo necesito.

En principio voy a hablar de JEFIT que es con el cual sigo las rutinas, pero tambien voy a hablar de Xculpture, porque este a diferencia del otro me muestra videos de youtube con profesores que han agregado sus practicas.

En principio lo que yo queria era tener una aplicacion en la cual yo pueda definir mis rutinas, y que me mostrara una imagen o video de como se hace, tener cuantas repeticiones y con cuanto peso tengo que hacerlas, bueno todo esto lo tieen JEFIT.
Se pueden definir rutinas, por día, por nombre o como nos gusten, luego a estas rutinas le podemos agregar ejercicios. Se puede hacer de 2 formas, una es ir ejercicio a ejercicio y al que nos guste (o el que el profesor nos indico) lo vamos anexando a una rutina, ejemplo, tenemos rutinas de lunes, martes, jueves y viernes, entonces recorremos los de piernas, y los que nos gusten los anexamos al lunes, luego los de brazo al martes, etc. La otra forma es entrar a la rutina y luego seleccionar el ejercicio, esta practica a mi me resulta mas difícil ya que como dije no conozco los nombres de los músculos, del ejercicio y ademas esta en ingles (dificultad extra para mi).
En cada ejercicio se muestra como debe de hacerse con 2 imágenes para que quede claro ademas tienen una explicación de que músculos toca, cual es la idea del ejercicio, etc., realmente muy interesante.

Ademas a cada ejercicio le podes decir cuantas repeticiones va a hacer y cuantas series, y ademas te pide otro numero, que son los segundos entre una y otra, es decir haces la primera serie de 15 repeticiones, y para empezar la segunda esperas X segundos.

Todo esto lo configuras y lo dejas pronto. Lo próximo es ir al gimnasio, y empezar a trabajar, para esto elegís una rutina, elegir que ejercicio vas a hacer, seleccionas el kg que haces, y empezar a hacer las repeticiones, cuando terminamos presionamos un botón, y la aplicacion cuenta los segundos que le indicamos para esperar entre la primera serie y la segunda, faltando 3 segundos suena una chicharra para que empecemos.

Y asi por todos los ejercicios de la rutina. esto va marcando con un check verde cada uno de los ejercicios para que no nos confundamos.

Con esto es suficiente para lo que buscaba, pero como les comente tambien vi Xculpture, que como dije lo que mas me gusto es que cada ejercicio tienen una imagen bien grande en la que se muestra los musculos que toca, ademas tienen videos de youtube que son muy explicativos y muy buenos.
Los 2 programas tienen rutinas precargadas, pero este ultimos tienen infinitas, ademas podes elegir cual es tu objetivo si ganar masa muscular, si definir, para perder peso, etc., cantidad de dias de la rutina, tiempo en el que lo vas a hacer.
Ambos podemos buscar ejercicios para determinada parte del cuerpo (abdomen, piernas, espalda, etc.)

Y tienen ambos muchas cosas mas que cada uno deberia de ver que le interesa, yo creo que con esto ya no dependemos tanto de los profesores, aunque siempre esta bueno tener una al lado para corregir algunas posturas y cosas que hacemos mal.


En resume para los que nos gusta hacer ejercicio, son 2 de los programas que no debemos de dejar de probar.



jueves, 28 de marzo de 2013

ZombieWood juego para Android



Hoy actualicé a la última versión de este excelente juego entonces se me ocurre contarles un poco mi experiencia.
Primero comentar que es un juego gratis de Gameloft, eso ya es una buena carta de presentación.
¿De qué va el juego? Bueno es uno de los tantos que hay que matar todo lo que se tiene delante, en este caso son zombis, los hay de distinto tamaño, distinta fuerza, distintas formas de matarnos, etc.
La idea son muchas escenas de películas las cuales cada una de ellas cuenta con 8 capítulos, cortos, en los que tenemos que cumplir objetivos, lo bueno es que cada capítulo lo tienes que resolver en pocos minutos (no más de 5), los objetivos son matar X cantidad de zombis, romper algunos implementos como buzones cajeros, apagar un supuesto fuego, llevar un niño a una casa, recorrer un tramo una ciudad, etc., en cada uno de ellos tenemos que hacernos paso matando a los cientos de zombis que se abalanzan hacia nosotros.
Además al matarlos van dejando monedas que al juntarlas podemos sumar para comprar armas o ropa que nos hace más fuerte o matamos a más con un solo tiro. También podemos comprar con billetes que los ganamos al jugar (o si lo compramos con dinero real).
Para jugar sólo necesitamos los 2 dedos gordos, con el izquierdo movemos al muñeco por toda la zona de lucha, con el derecho apuntamos el arma, y nada más. Lo bueno (todavía no lo he probado) es que se adaptará muy bien para jugar con un joystick, ya que los dedos los cambiamos por las dos palancas.
Creo que no hay mejor forma de saber si les gusta que descargándolo, y probar que tal les parece, eso sí, hagan la descarga por WiFi porque pesa arriba de los 300MB, además es un juego para gana media alta de celulares.