7:36

El blog está en el número 1 de las búsquedas con google

posted under by sysdent | Edit This

Bueno hoy me he encontrado con una grata noticia, el blog se ha posicionado en el puesto número 1 de los resultados de búsqueda con google, esto es de gran alegría para mi ya que nunca pensé que esto fuera a pasar :)


Aprovecho la oportunidad para agradecerles a todos ustedes por las visitas y de paso invitarlos a que se den un paseito por el nuevo sitio que se está gestando ahora mismo para continuar con sysdent.

La idea del cambio es aprovechar un poco la flexibilidad que ofrece wordpress al dejarme editar las páginas a mi antojo, esto con el fin de poder ofrecerles un mejor producto, además creo que los temas son más faciles de personalizar.

La temática del blog será la programación web y aplicaciones java, si alguien tiene alguna sugerencia solo dejeme un comentario y te responderé en el menor tiempo posible.


Un saludo desde sysdent.

11:32

Reportes HTML con JasperReport desde un servlet.

posted under by sysdent | Edit This














Hace poco comenze a trabajar reportes en JasperReports y realmente me ha convensido de ser una opción muy poderosa a la hora de reportear en nuestras aplicaciones.

Una de las caracteristicas que más me han gustado es la idea de generar una plantilla xml (ó mejor jrxml) y luego poder generar el reporte tanto en PDF como en HTML, sin embargo lo que no había podido lograr era exportar desde un servlet el html. Veamos un ejemplo de como se debería hacer:

public void exportToHTMLStream(OutputStream out, String contextPath,
HttpServletRequest request, JasperPrint print) throws JRException, IOException {
final JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
exporter.exportReport();
}

Con esto lograremos solucionar el problema de generar el reporte en HTML, pero nos encontraremos con algunos problemitas:

  1. El reporte no carga algunas imagenes que usa Jasper para alinear el contenido.
Para esto tenemos 2 opciones:

Establecer el parámetro IS_USING_IMAGES_TO_ALIGN de jasper a false.
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,
Boolean.FALSE);
Esto nos soluciona el problema de las imagenes transparentes que crea jasper para alinear el contenido, sinembargo, que pasa si mis reportes tiene graficas de estadisiticas de los datos que tampoco se muestran?

Esto ocurre por que lo que hace Jasper es generar tags img src= "Ruta de la imagen", y las imagenes no se encuentran.

Sin embargo Jasper permite una solución a este problema, y es gracias al Servlet ImageServlet.

Lo que debemos hacer es registrar un nuevo servlet en nuestro web.xml así:


JasperImageServlet
net.sf.jasperreports.j2ee.servlets.ImageServlet


JasperImageServlet
/jasperImage


y posteriormente indicarle al exportador que este servlet será el encargado de generar las imagenes del reporte así:

exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, contextPath
+ "/jasperImage?image=");


ahora muestro como quedaría nuestro método para exportar reportes a HTML con imagenes.

public void exportToHTMLStream(OutputStream out, String contextPath,
HttpServletRequest request) throws JRException, IOException {
final JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, contextPath
+ "/jasperImage?image=");
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,
Boolean.FALSE);
request.getSession().setAttribute(
ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, print);
exporter.exportReport();
}

Listo, con esto quedará solucionado nuestro problema.

cualquier comentario, comentario o duda será atendida con gusto.

11:24

Resacozis en la Barra

posted under by sysdent | Edit This
Hay una canción del último albúm de Mago de Oz que me ha gustado mucho, aprovecho para colocarla acá.

Si no encuentras tu lugar
si has perdido en ti la fe
y no puedes olvidar
a ese amor dibujo
sobre el lienzo de tu piel
una mueca hecha de un adiós

Si un amigo te vendió
por monedas y un tacón
y la noche es tu rival
contra el mal de soledad
bébete hoy la ciudad
Y ahogaras la amargura al brindar

Cuando salga el sol
seguiremos en el bar
seguiremos sin dormir
mataremos en la barra
nuestras penas con champán
¡vente! ¡vámonos a emborrachar!

Si el olvido dibujó
con carmín en el colchón
el perfil de un viejo amor
pinta un corazón
con aliento hecho de alcohol
y su imagen se borrará

Es más sano que llorar
medicarte en algún bar
con recetas de pasión
no estés solo, ¡únete!
y antes de que cuentes diez
ahogarás la amargura al brindar

Cuando salga el sol
seguiremos en el bar
seguiremos sin dormir
mataremos en la barra
nuestras penas con champán
¡vente! ¡vámonos a emborrachar!

Resacosix en la barra
resacosix en el bar
resacosix en cualquier lugar

Para oir la canción lo pueden hacer acá.

9:14

Creando usuarios para administración remota en MySQL

posted under by sysdent | Edit This
Ya dos veces me he encontrado con el problema de crear un usuario con privilegios de administración para la base de datos mysql en un proyecto que estoy realizando, esto para poder importar esquemas y demás tareas de administración, si nembargo muchas veces el usuario queda mal creado o no con los permisos suficientes así que he decidido publicarlo aquí por si alguien un día lo necesita.

Intrucción para crear el usuario:

  • CREATE USER 'usuario'@'%' IDENTIFIED BY 'contraseña';

Para asignar todos los permisos al usuario:

  • GRAN ALL ON *.* TO 'usuario'@'%';
Si solo desea asignar ciertos permisos lo puede hacer de la siguiente forma:
  • GRAN SELECT, INSERT, UPDATE, DELETE ON *.* TO 'usuario'@'%';
Seleccionando sólo las opciones que desee asignar (SELECT, INSERT, UPDATE ó DELETE).

El @'%' indica que el usuario podrá conectarse y realizar las acciones asignadas (en este caso todas) desde cualquier otra máquina.

También puede si lo desea restringir a que el usuario creado solo se pueda conectar desde cierta dirección ip, de la siguiente forma:

  • CREATE USER 'usuario'@'dirección ip' IDENTIFIED BY 'contraseña';

Ejemplo:

  • CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'contraseña';
  • CREATE USER 'usuario'@'127.0.0.1' IDENTIFIED BY 'contraseña';
Harán que el usuario sólo pueda conectarse desde la máquina donde tenemos instalado el servidor de MySQL.

Espero que les pueda servir si algún día lo necesitan.

18:44

Primeras imágenes de Unreal Tournament 3 en Linux y MacOS X

posted under by sysdent | Edit This

Tras muchas idas, venidas, subidas y bajadas, las versiones para GNU/Linux y MacOS X de Unreal Tournament 3 están un poco más cerca (lo que no tiene por qué implicar que estén cerca).

Ryan Gordon, el encargado de hacer estas versiones, ha publicado en su blog un par de capturas de pantalla del juego, la primera de ellas funcionando sobre Linux y la segunda sobre Mac.

La historia de la llegada de este juego a Linux está plagada de contradicciones y dificultades. En un principio, el binario iría incluido en el DVD de la versión Windows pero el Unreal Editor no saldría para este sistema operativo, al final ha pasado casi un año de la salida del DVD para Windows, tenemos esta captura de pantalla y dicen que el Unreal Editor también está siendo portado.

Parece que la historia tendrá un final feliz, seguro que más de uno está esperando con ganas este juego.

VIA: LinuxJuegos

18:33

¿Cúantas palabras eres capas de tipear en un minuto?

posted under by sysdent | Edit This
33 words

Speedtest



Leyendo mis noticias diarias encontré este sitio gracias a HacheMuda, en donde te permiten saber cuantas palabras logras teclear durante un minuto. He decidido aceptar el reto y parece que no me ha ido muy bien, sólo 30 palabras...

Aquí les dejo el sitio para que sigan el reto. Espero sus respuestas, ¿Cúantas palabras eres capas de tipear en un minuto?

17:56

Google adquiere TextCube y vuelve a la competencia con WordPress

posted under by sysdent | Edit This

Luego de observar como los usuarios de Blogger se pasaban a WordPress en busca de una plataforma más potente y personalizable, perdiendo de esta manera la batalla contra WordPress, Google ha decidido comprar TNC (Tatter And Company), una compañía coreana que dispone de una aplicación para crear y administrar blogs llamada TextCube, y una plataforma para que los usuarios puedan alojar sus blogs.

TextCube es una aplicación de código libre que necesita un servidor LAMP (Linux + Apache + MySQL + PHP) para su instalación. Este software es el más utilizado entre los bloggers coreanos, por lo sin dudas que será un fiel competidor en cuanto a aplicaciones para gestión de blogs, al popular WordPress.

Entre sus ventajas se puede nombrar la facilidad para insertar vídeos, imágenes y “podcast” dentro de los artículos gracias a su funcionalidad para arrastrar elementos; su excelente interfaz que resulta muy intuitiva para cualquier tipo de usuario; y un complejo sistema de estadísticas que realiza un seguimiento de todo lo ocurrido dentro del blog. Como principal desventaja, podemos advertir que el software por el momento se encuentra únicamente en inglés y coreano.

Enlace: TextCube | Vía:bitelia

top