Synchro 0
Phesus blog, Opensource and freeware-
Directiva “lower_case_table_names” MySQL
Posted on January 13th, 2010 1 commentÉste fin de semana terminamos de configurar una replicación de MySQL, muy fácil gracias al tutorial del manual: http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html
Sólo hay que agregar en nuestro caso que si estás haciendo una replicación entre windows y linux (o algún sistema que sea sensible a mayúsculas) te encontrarás con un problema: los nombres de las tablas posiblemente no coincida.
La solución es simple, estandarizar el uso de mayúsculas y minúsculas en ambos sistemas operativos. En nuestro caso el maestro era windows y el esclavo era linux por lo tanto unificamos el uso no sensible a las mayúsculas mediante ésta útil directiva (en my.ini o my.cnf):
lower_case_table_names=1
Mas información aquí.
-
“Bootear” un pendrive desde virtualbox
Posted on January 11th, 2010 No commentsActualmente (checado hace pocos días) el bios de virtualbox no tiene soporte para “bootear” pendrives.
Comparto mis notas al respecto, éste método también sirve para bootear otras particiones o unidades físicas.
Boot usb desde virtuabox (también sirve para arrancar otras particiones del hd):
1. Ejecutar línea de comandos COMO ADMINISTRADOR dándole click derecho al icono de símbolo del sistema
2. Ejecutar la instrucción: vboxmanage internalcommands createrawvmdk -filename [dirección dónde quedará el vmdk] -rawdisk \\.\PhysicalDrive2 -register
3 Agregar el disco a virtual box también como administrador (click derecho en virtualbox)
Nota: El vmdk es un pequeño archivo que actual como un disco duro virtual pero redirecciona su contenido a una unidad real en este caso
Nota: La dirección \\.\PhysicalDrive2 indica que estoy apuntando a disco 2 en la nomenclatura de windows, ésto se puede checar en administrador de equipos
-
Sólo vagas reflexiones
Posted on January 4th, 2010 No commentsAyer leí “la senda del perdedor” de Charles Bukowski: que buen libro!. Algunas partes me recordaron algo que vengo meditando desde hace tiempo y creo que ya sinteticé así que lo escribiré para recordarlo, también cabe destacar que esto viene entrando en mi mente desde que leí Demian de Hermann Hesse.
Cuando fuí a la secundaria (si es que se puede decir que fuí con tantas faltas…) no me importaba en lo más mínimo el respeto, tenía muchas cosas en la cabeza pero realmente no me importaba lo que pensaran de mi… en teoría, lo cierto es que a todos nos importa sólo que quizá nos importa el respeto de unos a unos y de otros a otros.
Odiaba ir a la secundaria era un “colegio” bastante cutre que aunque era privado en realidad era el lugar donde llegaban los corridos de otras escuelas privadas y federales. Ciertamente no me importaba la opinión de la mayoría ahí, ya fueran profesores, alumnos o lo que hubiera.
A menudo me faltaban al respeto y me la pasaba muy mal, digamos que era un abuso psicológico perpetuo y en mi mente había un error lógico: si no me importa su opinión no me importa lo que me hagan. Desde niño pasaba casi todo mi tiempo libre en la computadora y en ese momento no fue la excepción, así que no me detuve a meditar todo ésto.
Fue ya en el tercer y último año que conocí a mi amigo Irving y sin que me diera cuenta él fue un poco como Max Demian y algunos otros personajes similares. Irving era el chavo que parecía ser que todo le salía bien, lo primero que ví fue que como buen compañero nuevo a todos les llamaba la atención principalmente a las niñas, en muy poco tiempo lo conocí y me dí cuenta que también era inteligente pero ésto fue raro. En algunos momentos de mi vida me han dicho que soy inteligente, ésto no lo sé pero casi siempre fuí malo en la escuela, con Irving era distinto: además de todo le iba bien académicamente.
Los lacra del lugar también lo respetaban recuerdo que en algunos momentos los puso en su lugar. Es el tipo de tipo que si algo le interesa lo averigua y en poco tiempo comienza a dominarlo (aunque creo que eso hace que pierda el interés).
En fin, el caso es que Irving me enseñó que uno puede ser bueno en varias cosas, pero sobretodo que sin importar lo que se haga te debes dar a respetar, que en nuestro idioma parece ser algo distinto a querer el respeto de los demás (lo segundo me suena a que uno los respeta y por eso quiere su respeto). Más adelante nunca volví a tener éste problema, en varias ocasiones cuando hizo falta me hice respetar y en gran parte se lo agradezco a el.
Una cita del libro: “Tengo el deseo y la necesidad de vivir pero no la habilidad”.
-
Algo…
Posted on January 2nd, 2010 No commentsAlgo realmente no encaja…
-
Máscara de formato o formateando campos
Posted on August 2nd, 2009 No commentsSé que ésto no es nada sofisticado ni moderno pero quizá a más de uno le sea de utilidad como a mi.
Cuando están haciendo algún programa principalmente utilidades propias o simplicidades similares, si son algo quisiqullosos con los detalles como yo querrán de vez en cuando tener campos enmascarados o formateados. En mi caso principalmente los de fecha y hora.
Sin más, un ejemplo simple y directo pero práctico (cuando el campo ya está creado y queremos asignarle la máscara):
import javax.swing.text.*; import javax.swing.*; .. fmtFecha = new MaskFormatter("##/##/##"); fmtFecha.setPlaceholderCharacter('_'); DefaultFormatterFactory fechaFactory = new DefaultFormatterFactory(fmtFecha); JFormattedTextField fechaTextField = new JFormattedTextField(); fechaTextField .setFormatterFactory(fechaFactory);El código anterior nos dejará el campo “fechaTextField” formateado y sólo recibirá números en los espacios marcados con # asímismo mantendrá las líneas diagonales separando la fecha, mes y día y rellenará los espacios vacíos con guión bajo “_”.
o sí crearemos el campo al mismo tiempo que le damos el formato es un poco más simple:
import javax.swing.text.*; import javax.swing.*; .. fmtFecha = new MaskFormatter("##/##/##"); fmtFecha.setPlaceholderCharacter('_'); JFormattedTextField fechaTextField = new JFormattedTextField(fmtFecha);Nuevamente espero no ser muy ambiguo…
-
Slax y como remasterizar slax 6
Posted on July 12th, 2009 No commentsHace poco nos topamos con la necesidad de utilizar linux para un sistema embedido, para ellos revisamos posibilidades como tinycore linux y puppy linux (ambas excelentes opciones) sin embargo se adaptó mejor a lo que requerimos el sistema operativo Slax.
Slax es una distribución de linux que puede ejecutarse desde un live cd así como en memorias usb, de hecho ya traé un script para volver booteable la memoria sólo hay que copiar los archivos en ella, también puede instalarse en el disco duro normalmente. La imagen pesa alrededor de 190 mb y traé toda la paquetería básica y un poco más. En lo personal encontré el manejador de paquetes muy agradable así como toda la interfáz, el tiempo de arranque es promedio y el consumo de memoria ram más bajo que el promedio.
Bueno, pero nuestro problema es que necesitabamos el sistema operativo con algunas modificaciones leves de interfáz, nada grave… como todo lo sencillo ésto se volvió sumamente complicado y es que resulta que los cambios hechos a slax se guardan en una carpeta que suele dañarse nada más con que la pc se apague mal… aunque sea sólo un poquito mal, algunas veces nisiquiera sabes que la apagaste mal.
En el negocio en el que estamos implementando el sistema ésto es muy común y para no hacer largo el post éstas son las soluciones (que encontramos) espero le ayuden a alguien más:
- Utilizar otra partición que no sea fat ni fat32
- Remasterizar. Slax traé una imagen del sistema operativo limpio llamada “always fresh” los cambios que hagas aquí no se guardarán ni tampoco se rescatarán, pero sí hay una manera sencilla de guardar. La idea es generar cambios y guardarlos para luego ser usado en sólo lectura, así ya no hay problemas de corrupción (y se consigue un efecto embedido)
¿ Cómo remasterizar ?
- Entrar en modo normal, hacer los cambios necesarios y apagar
- En otro sistema operativo u otra pc, copiar el contenido de la carpeta changes a rootcopy
- Eliminar archivo *-slax de rootcopy/root/, son 6 o 7
- Entrar siempre a always fresh
- Para guardar cambios será necesario repetir éste proceso desde el paso 1
- (Opcional) Guardar rootcopy como módulo
Disculpen si no soy lo suficientemente claro, puede ser debido a que estoy algo desvelado pero puedo ayudarles con cualquier duda.
-
Plan 26 de Abril
Posted on April 26th, 2009 1 commentMe he quedado sólo en Tlapacoyan para terminar con algunos pendientes del Omoikane
Parece ser que el truco con la báscula y los escáners seriales lo tendrá javapos, inclusive el lector biométrico de huella… si logro utilizarlo publicaré el código!
-
Cuentos de terror (audio)
Posted on April 8th, 2009 No commentsBuscando los viejos cuentos de terror de “la mano peluda” que son más o menos conocidos en méxico y estados unidos (hispanoparlantes), encontré una buena página con muchos relatos de terror.
Lo curioso es que los que he escuchado son bastante malos…
Les dejo el enlace para todas las personas que como yo gustamos de asustarnos un poco mientras trabajamos… o manjeando, etc: http://audiorelatosdeterro.blip.tv/file/1648337/
-
Gorm Standalone, desktop, outside grails, etc.
Posted on March 28th, 2009 No commentsHola!, hace algunos días me estuve peleando con la instalación del gorm que viene en el nuevo grails 1.1, obviamente como dice el título yo lo quería funcionando en mi aplicación de escritorio, por algún motivo aunque la solución era muy simple nunca encontré un ejemplo claro, así que para quién le sirva lo pondré aquí.
Primero que nada necesitarán grails 1.1 y groovy 1.6, básicamente el paquete de grails traé todas las dependencias necesarias entre las cuales estarán hibernate y spring.
Aclaro que aunque se usan todas éstas tecnologías en realidad la aplicación no debe tener ninguna orientación, si no que se puede agregar sin importar que utilicemos el framework spring-mvc.
- Insertamos el siguiente archivo en el classpath, deben cambiar los datos de su base de datos y su base-package por los suyos!
applicationcontext - Escribimos el código de inicialización de todo el framework, aquí viene el “truco”
import org.springframework.context.support.ClassPathXmlApplicationContext; ...... def factory = new ClassPathXmlApplicationContext('(tu paquete)/applicationContext.xml')En package simplemente pongan el nombre de su paquete (lo digo para quién aún no sepa eso) , en en mi caso fue “nadesicoi”
- Escribir algún dominio, por ejemplo:
@grails.persistence.Entity class Hoja { String alfa String beta }Creo que sobra decir que la clase Entity vuelve a nuestra clase un dominio
- Sólo resta hacer una prueba en cualquier lugar de nuestro programa:
package nadesicoi import org.springframework.context.support.ClassPathXmlApplicationContext; class Prueba { static def ejecuta() { def factory = new ClassPathXmlApplicationContext('nadesicoi/applicationContext.xml') //Operaciones gorm def obj = new Hoja(alfa:'a', beta:'b') obj.save() Hoja.findAll().each() { println it.dump() } println Hoja.get(21).alfa def obj = Hoja.list(max:10) } }
- Insertamos el siguiente archivo en el classpath, deben cambiar los datos de su base de datos y su base-package por los suyos!
-
Acelerando AspireOne con WinXP y SSD
Posted on March 6th, 2009 2 commentsBueno, ya estamos cansados de que algunas aspire one con ssd de las muchas que compramos vayan tán lentas (taaan) con windows xp, así que continuando sus optimizaciones ahora intentaremos el método de ewf (extended write filter), en teória éste método cargará el os en ram y protegerá el ssd de escritura, redirigiendo tál escritura a la ram.
Nota: Éste proceso es igual de efectivo en cualquier pc, sirve también para evitar virus y lógicamente es muy deseable para dispositívos embedidos
Anteriormente probamos cosas como quitar la memoria virtual, poner la memoria virtual en una ssd (de las lentas), desactivar las restauraciones, quitar todo del inicio del sistema, etc. Pero aún así las que tienen el ssd más lento siguen igual de inutilizables. Sin más preámbulos comenzamos.
Proceso:
- Descargar los componentes necesarios: ewftool, xplite, el iso trial de windows xp embedded y (opcional si se quiere instalar minlogon que acelera el tiempo de arranque y apagado aunque desactiva las opciones de usuario) minlogon.reg
- Abrir con winrar (o cualquier otro programa de descompresión) el archivo XPEFP2007.exe, dentro de ese exe entrar a la carpeta /rep/ y descomprimir los archivos: fbwf*.*, ewf*.* y minlogon.*
- Ejecutar xplite y desactivar la pretección de archivos de windows (después podrán reactivar dicha protección)
- Eliminar la carpeta \windows\system32\dllcache\ y su contenido
- Eliminar \windows\bootstat.dat
- (Opcional para instalar minlogon) Respaldar \windows\system32\winlogon.exe.
Después copiar a esa misma carpeta minlogon.exe
Renombrar minlogon.exe a winlogon.exe (cuando quieras puedes regresar el archivo original de winlogon.exe)
Correr minlogon.reg - Aquí copio todos los archivos fbwf*.* y ewf*.* a \windows\system32\ aunque no sé si sea necesario, pero finalmente necesitan algún lugar donde vivir
- Ejecutar ewftool y dar click en “install ewf support”, seguir los consejos dados en “other ways to increase performance and reduce disk writes”, por último dar click en “minimize disk writes”
- (Opcional) Enable HORM
- Cerrar ewftool. Al reiniciar la pc el sistema ya estará protegido contra escritura
- Para activar la protección contra escritura usaremos el comando: “ewfmgr c: -enable”
Para desactivar la pretección usaremos: “ewfmgr c: -commitanddisable –live”
Activar/Desactivar tendrán efecto al siguiente reinicio
Para activar y utilizar HORM:
- Descargar ewf & horm manager de ésta página (versión 1.1 y el paquete de archivos necesarios “ewf files”
- Ejecutar ewf & horm, activar horm
- Ejecutar horm.reg
- Copiar a la raíz de la unidad que contiene windows el archivo horm.dat
- Utiliza el hibernar de windows, el sistema iniciará como en cualquier hibernación, la gracia es que ya no tendrás que volver a hibernar, ahora siempre iniciará con el contenido de esa hibernación
- Como el sistema siempre se restaurará de la hibernación, el tiempo de encendido se reduce muchísimo
- Puedes reiniciar y apagar el equipo normalmente, siempre se restaurará de la hibernación previamente hecha
- Se puede volver a hibernar para guardar un estado distinto
- Para desactivar e iniciar normalmente windows, oprime F8 durante la restauración y selecciona iniciar windows normalmente
Resultados:
- La pc ahora arranca en 15 segundos, desde oprimir el botón de inicio hasta que termina de cargar todo
- Y apaga en sólo 10 segundos o menos (inclusive en 3 segundos)
Tiempo que me tomó:
- Ya con práctica el proceso toma menos de 30 minutos, la primera vez por hacer pruebas y leer las instrucciones tardé unas 4 o 5 horas
Conclusión:
- Usarlo en cualquier pc aún sin tener el problema del ssd!!
- Agradezco a los autores de los enlaces que tengo abajo, ahí podrán encontrar mucha más información de la que yo puse!! y aclaro, éste método lo tomé totalmente de los siguientes sitios.
Enlaces:
Instrucciones resumidas y claras
Instrucciones para seguir este proceso pero aplicado a una pc para automóvil
Enlace principal sobre el tema
Otras instrucciones un poco más atrasadas, también están aplicadas a una pc car



