miércoles, 22 de diciembre de 2010

Software de contabilidad casera para Linux

Creo que llevo sin escribir nada un porron de tiempo y creo que ya va siendo hora de poner algo, aunque sea un dato curioso.
Para esta vez y después de tanto tiempo no voy a poner un mega proyecto, pero pensándolo bien por el tiempo pasado debería ser así.

Al lío, como todo becario-estudiante el sueldo no da para muchas cosas y últimamente veo como al final de mes no se ni por donde se ha ido todo. La solución sería programarse una aplicación a medida como buen informático... ERROR!!!!! no hay tiempo, imposible, por eso les dejos un sitio donde descargarse las aplicaciones de contabilidad casera mas interesantes para Linux:

Aplicaciones de contabilidad.

Aun no he probado ninguna, en el momento que empiece la cata ya comento.

Por cierto, si alguien conoce alguna interesante que avise.

un saludo.

viernes, 28 de mayo de 2010

Iniciación a un laboratorio de seguridad

Hola a todos o como diría Arale Norimaki (en catalan) Bon dia a tothom a la vila del pingüí.
Estos días he estado recibiendo una serie de tres artículos editados por securityartwork que me parecen de lo mas interesante. Se han encargado de detallar los pasos iniciales que debes tomar para crearte tu propio laboratorio de seguridad en una maquina física para poder prever o detectar ataques.

Primera parte:
securityartwork Laboratorio de seguridad 1º

Segunda parte:
securityartwork Laboratorio de seguridad 2º

Tercera parte (última):
securityartwork Laboratorio de seguridad 3º


Sinceramente es 100% recomendable, como mínimo para poder apreciar las tecnologías que se han utilizado, como se ha hecho y que conceptos debes tener clave para realizar estas, como decirlo ..., pequeñas investigaciones.

Un saludo.

viernes, 16 de abril de 2010

Introducción a Java

bueno, bueno...
Hace bastante que no añado ninguna entrada en el blog, no por que no haga interesante sino por que no estoy teniendo mucho tiempo para poder documentar aquellas cosas que hago.

La verdad es que de tanto en tanto apetece añadir algo para no dejar la costumbre de tener un pequeño lugar donde dejar o compartir tus trabajos. Es por esto que os dejo la primera parte de un curso de iniciación a java que he impartido esta semana.

Tengo que decir que es el primer curso que he dado, sin tener en cuenta las "pocas" presentaciones que haya tenido que hacer por temas de clase, mejor no comentar nada de ellas ajaja, y nada creo que puedo estar contento de mi mismo por como lo he llevado.

En resumen, a qui tenéis el PDF de la primera parte:

Primera parte Curso básico de Java

Nos vemos en futuras entradas ;=)

sábado, 6 de febrero de 2010

Hibernate Tools para eclipse

Hola de nuevo.

Después de un tiempo metido en mi torre de babel estudiando como cualquiera he sacado un poco de tiempo para preparar un pequeño manual que hice para la empresa en la que estoy trabajando.

El manual trata de explicar como se puede instalar y utilizar el plugin de Hibernate para Eclipse. La verdad es que antes de que me solicitarán el manual desconocía por completo el potencial de este plugin, pero ahora debo decir que es de gran utilidad.

Para la gente que conoce del funcionamiento de Hibernate, aunque sea a un nivel muy básico (mi caso) se dará cuenta de lo sencillo que se hace la tarea de mapear tablas una vez se ha configurado correctamente el Plugin.

Lo principal de todo es que les sirva para agilizar el trabajo, ya que incluye ejemplos de los procedimientos mas básicos que se puedan realizar cuando se trabaja con Hibernate y ademas explica como realizar de manera mas sistemática estos procedimientos.

Bueno les dejo el tutorial en esta URL:


Tutorial Hibernate Tools


Espero que sea de ayuda.

Un saludo.

jueves, 29 de octubre de 2009

Hace tiempo que estoy muy aburrido del contenido de la televisión, que decir de los super programas del famoseo que nos comemos todos los días sin comerlo ni veverlo. Por eso hoy leyendo algunas entradas de blogs he encontrado una solución al estilo recycling.

La idea es utilizar una vieja maquina como equipo reproductor, tanto de audio como de vídeo y además controlandolo todo con el dispositivo móvil. La verdad, vale la pena darle un vistazo al trabajo que ha realizado elJojo.

Super cancho
Montaje del sistema

Un saludo.

jueves, 22 de octubre de 2009

Lotus symphony la suite office de IBM

El tema de este nuevo post esta dirigido a la suite que tiene IBM para la ofimatica.

Hace unos días que he entrado en una empresa a ejercer como profesional y así colaborar en la reducción de paro, que ya va siendo hora que este holocausto del siglo XXI termine ya.

A lo que iba, después de una semana de haciendo ejercicios de prueba para conocer el entorno me toco hacer un poco de trabajo duro, como decirlo, pues documentar un apartado del proyecto en el que voy a trabajar. El documento que he tenido que editar era un .odt (formato del Open Office) y las alternativas que tenia para editarlo eran Open Office u Open Office, debido a que el Office XP no es compatible con el .odt .

Googleando un poco llegue a una web en la que comentaban la aparición de esta suite como alternativa, competitiva y gratuita, al Office de Microsoft, ya que todos hemos trasteado un poco con Open Office y sabemos que no es la crem de la crem.

Para empezar Lotus Symphony esta compuesta por un solo programa que utiliza las pestañas para abrir las hojas de texto, hojas de calculo, presentaciones o un navegador, sí!! un navegador que soporta java, javascript, videos del youtube y demás cosas. El uso de pestañas facilita tener todos los documentos juntos y además tener un acceso rápido a tu contenido.

La suite es muy fácil de utilizar, ademas de tener un entorno gráfico muy sencillo e intuitivo, cuando empiezas a trabajar con ella te das cuenta de lo simple que es utilizarla. En la parte superior encuentras las barras de tareas con los elementos mas comunes y además dispones de un panel en el que puedes consultar fácilmente opciones para modificar o mejorar tu trabajo, no tienes que perderte por infinitos menus buscando y buscando.

Permite abrir cualquier tipo de documento tanto de Office, de OpenOffice o del propio Lotus Symphony, garantizando la compatibilidad entre las diferentes extensions, incluyendo del Office 2007. El formato del Symphony esta avalado por la ODF (Open Document Format), este estándar de extensiones libre permite al usuario librarse de licencias y acuerdos. Dispones de la posibilidad de exportar a PDF o también de instalar complementos o aplicaciones que faciliten nuestro trabajo.

Por último, destacar que no tiene nada que envidiarle al Office, que es un software gratuito y multiplataforma, que mas se puede pedir.

Para descargar el soft lo único que hay que hacer es acceder a este enlace a IBM y con un registro previo elegir para que plataforma lo queremos.

Hasta nuevas entradas.

miércoles, 2 de septiembre de 2009

Runtime.exec con espacios en blanco para mysqldump

En esta entrada vamos a tratar un tema que me ha llevado varios días de cabeza. Les comento un poco para que se pongan en situación.
Estoy terminando una aplicación para la gestión de una clínica, es por eso junto con que era verano por lo que me he cogido un largo descanso con el blog, y de vuelta al cole me he encontrado con que necesitaba realizar copias de seguridad desde mi aplicación y a poder ser automáticamente, para que el cliente solo deba indicar la carpeta de destino. La aplicación la he realizado con Java y trabaja contra una base de datos MySQL, ya se que con el MySQLAdministrator es muy facil hacer copias pero los clientes solo quieren tener cosas practicas.
Googleando un poco pude comprobar que simplemente necesitaba ejecutar una serie de comandos junto con el PATH del fichero desde el metodo exec de Runtime:
--> Runtime().getRuntime().exec("mysqldump -h HOST -u ...-r PATH_FICHERO")

¿¿¿Cual ha sido mi sorpresa??? Pues cuando ya funcionaba correctamente y conseguía almacenar las copias de seguridad descubrí que si el directorio tenia espacios en blanco los comandos que recibia mysqldump se desordenaban después de la variable que contenía el PATH.
El problema reside en que el metodo exec(string) realiza una llamada a la clase StringTokenizer para obtener un vector con cada uno de los parametros, para ejecutar el metodo exec(nom_comando, vector_parametros[]). Este vector se compone de todas las palabras del String que esten separadas por espacios en blanco y por lo tanto si el PATH contiene alguno lo divide en dos partes como si la segunda fuera otro parámetro nuevo.
Despues de varios intentos intentando acertar como insertar los parámetros para que funcionase correctamente decidí implementar mi solución:

Primero, identificar que posición ocupa la variable que almacenara el PATH con posibles espacios. En mi caso ocupa el último lugar: dest.getCanonicalPath() (/home/pato_donald/copia seguridad)

String cnd = "mysqldump -h" + host + " -u" + user + " -P" + puerto + " -p" + pass + " -B base_datos" +"-r"+ dest.getCanonicalPath();

Segundo, convertir la cadena en un vector de tokens

StringTokenizer st = new StringTokenizer(cnd);

Tercero, realizar un bucle para que añada los tokens en el vector de Strings[] que debe recibir "exec".

int i=0;
while (st.hasMoreTokens()) {
coma[i]=st.nextToken() ;
System.out.println(coma[i] +" n:" + i);
i++;
}
Cuarto y final, modifica la posición del vector que debe contener el PATH con el espacio en blanco.

coma[7]= "-r"+ dest.getCanonicalPath();


String cnd = "mysqldump -h" + host + " -u" + user + " -P" + puerto + " -p" + pass + " -B base_datos" +"-r"+ dest.getCanonicalPath();
StringTokenizer st = new StringTokenizer(cnd);
String[] coma = new String[st.countTokens()+1];
int i=0;
while (st.hasMoreTokens()) {
coma[i]=st.nextToken() ;
System.out.println(coma[i] +" n:" + i);
i++;
}
coma[7]= "-r"+ dest.getCanonicalPath();

Process dumpProcess = Runtime.getRuntime().exec(coma);

Despues de ejecutar esto, el resultado del println sería:
mysqldump
-h127.0.0.1
-uUSER
-P3306
-pPASSWORD
-B
base_datos
-r/home/pato_donald/copias seguridad

Y la ejecución del metodo "exec" se realizaría correctamente sin la alteración de los paramteros.

Espero que les sirva de ayuda tanto como me ha servido a mí.

Un saludo ;)