domingo 24 de enero de 2010

recuperacion de información

bueno de seguro que les ha pasado alguna vez eso de perder información de un disco duro, es algo completamente espantoso y critico, cuando eso pasa uno puede llamar a alguien que recupere la información o recuperarla por si mismo, en este caso he preferido hacerlo yo mismo, debido a que en uno de mis post's anteriores critique a unos tipos que chantajeaban con borrar la info de los discos duros.

en fin para eso uso el software de ontrack easy recovery pro, que en lo particular me ha funcionado de maravilla, logre recuperar mi info antes de que terminara el fin de semana, y lo he logrado, recupere todos mis codigos fuente antes de que se perdieran en el olvido.

bueno les recomiendo mucho la herramienta

http://www.ontrackdatarecovery.es/software-recuperacion-ficheros/


bueno eso si, es caro el software pero creo que lo vale, total la informacion es muy preciada, y mas si no quieres que algun desconocido tome datos personales tuyos.

jueves 7 de enero de 2010

borrar mi existencia de facebook.

bueno en esta ocasión decidí borrar todas mis cuentas como hi5 o facebook, me doy cuenta de que no las necesite nunca, solo eran desperdicio de tiempo, intente usar la maquina del suicidio para eliminar facebook pero no funciono, tienen bloqueada la ip, así que decidí hacerlo todo manualmente, el resultado... no mas facebook o mas hi5, bueno comenzando el año hay que deshacerse de todo lo que uno no necesita, así que continua mi jornada sin mas cosas que extrañe, :)

claro para todo esto tengo mejores expectativas, twitter y demás redes son la cosa de hoy en dia, prefiero usarlas, son mas interesantes.

viernes 1 de enero de 2010

entrada al 2010


bueno esta es mi primera entrada del 2010, espero que se haga mas regularmente, bueno este año estuve haciendo varios proyectos personales y deje mis 2 trabajos anteriores, la razón, creo que necesitaba espacio para terminar mis compromisos personales, obtener mi titulo, y dedicarme mas a investigación de nuevos métodos de desarrollo.



Deje de usar windows, ahora uso mas linux, para que no se vea nada feo le metí un tema tipo mac, me deja hasta los botones tipo mac, me dedico mas a la maquetación ahora, no soy tan bueno pero confío en que la practica me hará mejor como siempre, estoy dedicado a desarrollo web, un poco de j2me y algo de webservices, bueno espero poder conseguir mis metas este año como son:






entre estas cosas quiero también mejorar algunas cosas de este blog que están algo sencillas, y entre esas aprender portugués , bueno son algunos de mis propósitos de año nuevo, comenzando desde hoy comenzare a apartar mas tiempo para bloggear. :)

lunes 26 de octubre de 2009

bueno haciendo algo de scripting de paginado, me di cuenta de que habia una forma de hacer que conserve todos los parametros y agregar solo los de numero de pagina para poder conservar una busqueda, este es el script generado, como pueden ver es muy sencillo


#macro( paginado )
#if($totalPages)
#if( $totalPages > 0 )
#foreach ($page in [1..$totalPages])
<a href="$link.addIgnore('pageNum').addAllParameters().addQueryData('pageNum',$page)"
>
$page
</a>
#end
#end
#end
#end

lunes 5 de octubre de 2009

conectando midlets por recordstore

ultimamente he vuelto a trabajar j2me para desarrollar aplicaciones para moviles, esta vez voy a intentar algo que es en cierta forma algo no muy estandar, me refiero a hacer que 2 midlets se comuniquen entre si, para eso requerimos como paso inicial 2 midlets, recordstores, el primer paso es crear un midlet con la siguiente estructura para poder iniciar, este es el midlet de escucha, este podria ser un miniservidor, para eso el midlet requiere como codigo inicial:

protected void startApp() throws MIDletStateChangeException {
try {
//abrimos un recordstore con permisos de escritura de cualquier otro midlet
RecordStore rms = RecordStore.openRecordStore("owner", true, RecordStore.AUTHMODE_ANY ,true );
//agregamos un record listener generado por nosotros
rms.addRecordListener( new ListenerRMS() );
Display d = Display.getDisplay(this);
d.setCurrent(null);
} catch (RecordStoreFullException e) {
e.printStackTrace();
} catch (RecordStoreNotFoundException e) {
e.printStackTrace();
} catch (RecordStoreException e) {
e.printStackTrace();
}


}

este requiere una clase que implemente el codigo del recordlistener esto podria ser algo como esto:


public class ListenerRMS implements RecordListener {

public void recordAdded(RecordStore recordStore, int recordId) {
try {
byte[] data = recordStore.getRecord(recordId);
String rmsToCreate = new String( data );
System.out.println( "datos: " + rmsToCreate );
} catch (RecordStoreNotOpenException e) {
System.err.println( e.toString() );
} catch (InvalidRecordIDException e) {
System.err.println( e.toString() );
} catch (RecordStoreException e) {
System.err.println( e.toString() );
}
}

este codigo permite generar un pequeño server con listener como un rms

y este codigo del lado del otro midlet permite escribir en un recordstore compartido, con el vendor especificado, de manera que cuando agregues valores al record, el listener del otro midlet podra leer los datos generados desde otro midlet y ejecutar codigo

rms = RecordStore.openRecordStore("owner", "vendor","owner" );
byte[] data = "texto de prueba".getBytes();
rms.addRecord(data, 0, data.length);

para esto tienes primero que correr el midlet 1 y despues el midlet 2 y ejecutar un codigo que escriba en el otro recordstore. bueno esto aumenta el numero de posibilidades a la hora de conectar 2 midlets, sin embargo no todos los telefonos soportan esta caracteristica.

martes 14 de julio de 2009


bueno en esta ocasion se subio el nuevo buscador de objetos para generar querys dinamicos, esta vez tiene soporte para transacciones con objetos :



search.addBatchObject(book1);
search.addBatchObject(book2);
search.addBatchObject(book3);
search.executeBatch();


http://sourceforge.net/projects/dinamicquerygen/

y tambien corrige algunos bugs y contiene algunos ejemplos de uso, y proximamente estara agregando mas sentencias.

miércoles 3 de junio de 2009

hola de nuevo acabo de subir mi nuevo release del buscador de objetos, este corrige algunos bugs de seguridad anteriores, este permite subir correctamente las llaves primarias al momento de insercion, bueno un fix rapido, despues subo los demas archivos, mientras les dejo el link para que lo vean.

https://sourceforge.net/project/showfiles.php?group_id=250622&package_id=317069&release_id=687070

bueno que tengan una buena semana, nos vemos.