martes, 2 de noviembre de 2010

a las Leave a Comment

Ubuntu no Hiberna ni Suspende

Mi Ubuntu no suspendia ni hibernaba, asi que me di a la tarea de buscar como arreglar este problemilla y encontre una manera muy facil de hacerlo.

Solo tenemos que seguir estos pasos, copiando los siguientes codigos en la terminal:
PASO 1: Instalar uswsusp
sudo aptitude install uswsusp
PASO 2: Probar Suspender
sudo s2ram
o si no funciona
sudo s2ram –force
PASO 3: Probar Hibernar
sudo s2disk

Si estos comandos nos funcionaron, podemos sustituir los comandos del Menu de la siguiente manera:
PASO 4: Editar Suspension en el Menu
sudo gedit /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux
y sustituimos
#!/bin/sh
por
/sbin/s2ram --force

PASO 5: Editar Hibernacion en el Menu
sudo gedit /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
y sustituimos
#!/bin/sh
por
/sbin/s2disk

NOTA 1: Si no funciona el gedit para editar los archivos, usamos nano
NOTA 2: A mi no me funciono lo de sustitur los comandos del menu de apagado, pero puedo Suspender e Hibernar desde la consol, xD.

Fuente:
MundoGeek
UbuntuForums
a las 4 comments

Como subir tu proyecto a Google Code con Netbeans y Subversion

Tratando de subir el proyecto que estábamos desarrollando de Facturación Electrónica a Google Codes, me di cuenta que es algo realmente sencillo y a continuación les explicare paso a paso lo que tuve que hacer.

PASO 1: Configuración Previa
  • Tener instalado Netbeans (Netbeans, ya trae instalado por default Subversion)
  • Tener instalado Subversion en nuestra PC
Para instalar el manejador de versiones Subversion en Linux (yo uso Ubuntu 10.04) es tan sencillo como escribir en la terminal
sudo apt-get install subversion
y ya esta, se instalara subversion en su versión mas reciente.

Para instalarlo en Windows, basa con abrir el Netbeans, ir al Menu Team, luego Subversion y ahí tendremos las opciones, y si nos sale una ventana como la siguiente,


basta con elegir la primera opción y darle OK. Nos pedira aceptar el contrato de licencia, el cual aceptaremos y comenzara a instalar Subversion. En la parte inferior derecha podremos ver el avance de esta tarea:

Una vez terminado el proceso, tendremos que reiniciar el Netbeans.

Ahora, una vez que tenemos instalado Subversion en nuestro equipo, damos click derecho sobre el proyecto que queremos subir a Google Code y elegimos la opcion Versioning
y luego Import Into Subversion Repository

Deberia salirnos una ventana igual a esta:

Si hemos llegado hasta este punto, es tiempo de pasar al

PASO 2: Crear proyecto en Google Code

En primer lugar, tenemos que dirigirnos a esta direccion, que es la pagina donde crearemos nuestro proyecto. Aparecerea algo asi:

Project Name: El nombre de nuestro proyecto
Project Summary: Resumen de nuestro proyecto en pocas palabras
Project Description: Descripcion detallada de nuestro proyecto
Version Control System: Elegiremos Subversion
Source Code Licence: Ayuda a Google a clasificar los proyectos y admite solo licencias Open Source. Mira aqui si no sabes que elegir
Labels: Palabras clave para encontrar tu proyecto

Despues de haber rellenado todos los campos, damos click en Create Project nos saldra una pantalla parecida a esta

Ahora vamos a dar click en la pestania Source y veremos algo parecido a esto:

En este punto, ya casi hemos terminado. Ahora, copiamos la direccion que nos muestra la pagina
https://fev3java.googlecode.com/svn/trunk/
y obtenemos el password que nos generara Google, siguiendo el enlace que dice
When prompted, enter your generated googlecode.com password.
Recordar tambien el username mostrado.

Estos datos, la dirección, el password y el username los que pondremos en el Netbeans para subir nuestro proyecto, de la siguiente manera.
Y ahora damos click en Next y en la ventana que sigue, lo unico que tenemos que hacer, es poner un mensaje que describa la versión que estamos subiendo y dar click en Finish.
Listo, ahora solo resta esperar que se suba nuestro proyecto.

Una vez que termine de subir nuestro proyecto, nos dirigiremos a Google Code y haremos click en la pestania Source y luego seleccionaremos Browse. Navegamos por el arbol de directorios de nuestro proyecto hasta encontrar los archivos fuente, de esta manera:

Bueno, espero y les sirva esta miniguia que he hecho. Es muy fácil como podrán darse cuenta.

Dudas y comentarios son bienvenidos

Fuentes:
Usando Google Code
Tutorial Netbeans Google Code
Google Code Official Page

lunes, 1 de noviembre de 2010

a las Leave a Comment

SyntaxHighlighter 3.0.83

Como poner codigo de ejemplo en mi blog? Eso es lo que me preguntaba al hacer la pasada entrada de XML y sus ventajas. Y la solucion que encontre fue usar SyntaxHighlighter, que es un resaltador de texto desarrollado en JavaScript que sirve para poner codigos de ejemplo de diferentes lenguajes con colorido segun la sintaxis de cada lenguaje.


SyntaxHighlighter es usado por Apache, APtana, Mozilla, Yahoo, Wordpress, Bug Labs y otros.


Aqui un DEMO de este resaltador de texto.


Implementar esta herramienta es sumamente sencillo. Podemos hacerlo de dos maneras: bajando los .js y agregandolos a nuestro proyecto o "jalarlos" desde la pagina del proyecto.


Suponiendo que elegimos la opción de usar los scripts desde la pagina del proyecto, lo unico que tenemos que hacer es buscar la etiqueta
</head>
y agregamos las siguientes lineas justo antes de la etiqueta anterior:

<!--SYNTAX HIGHLIGHTER BEGINS-->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!--SYNTAX HIGHLIGHTER ENDS-->

De esta manera estaremos agregando a nuestra pagina todos los scripts para todos los lenguajes soportados por SyntaxHighlighter.

La otra opción que tenemos es, bajar los scripts y agregarlos manualmente a nuestro proyecto.

Y para utilizarlo??
Mas sencillo, no puede ser, aquí un pequenio ejemplo, que es la manera en que agregue el codigo anterior de la etiqueta HEAD:
</head>

donde lo que va después de brush: [lenguaje], es el lenguaje del código de ejemplo que estamos poniendo de ejemplo.

Así de simple y de fácil es usar esta herramienta.

Una pequenia nota que es muy importante agregar es que, cuando se usen los caracteres < y > por sus equivalentes HTML:

  • < por su equivalente &lt;
  • > por su equivalente &gt;
Fuentes:
Integración a otros servicios
Otros resaltadores de texto
Otro tutorial
a las 7 comments

Facturacion Electronica V3 en Java

Hasta hace tres semanas atras, estabamos desarrollando en mi trabajo, el modulo de Facturacion Electronica, para poder emitir nuestras propias facturas, ya que es obligatorio a partir del 1o de Enero del 2011 para empresas que facturan mas de $4,000,000 al anio.

Desafortunadamente, ese modulo/proyecto se cancelo debido a la empresa decidió, por motivos económicos, pagar a un tercero para poder hacer sus facturas y de esta manera, tener libres a sus programadores para que trabajen para otras necesidades que tiene.

Pero, para que no se pierda el conocimiento que adquirimos durante el desarollo de este modulo, he elaborado un tutorial para desarrollar la facturacion electronica en Java hasta el momento en que se cancelo el proyecto. Espero sea de mucha utilidad a las personas que estan desarrollando la facturacion electronica en java.

Aqui encontraran el tutorial en pdf que elabore: Facturacion Electronica V3 en Java

Aqui encontrarn el codigo fuente con el que estabamos trabajando: Codigo Fuente
a las Leave a Comment

XML y sus ventajas

Trabajo en el Departamento de Informacion y de Sistemas de la Universidad de Montemorelos, como desarrollador del modulo Financiero, perteneciente al Sistema Institucional. (que bien se escucha esto, no?)

Esta semana, después de haberse cancelado el desarrollo de Facturación Digital, nos pidieron que investigáramos la manera de sacar provecho de los conocimientos adquiridos durante ese proceso y tratar de aplicarlos al sistema actual.

Lo mas importante que aprendimos durante el tiempo que duro el desarrollo de la Facturación Digital, fueron tres tecnologías: XML, XSD y XSLT, por lo que el aplicar esos conocimientos al desarrollo del sistema actual, tenia que ser sobre como sacar ventajas o provecho a XML, asi pues me di a la tarea de investigar y esto fue lo que encontre y a continuacion resumo:


Que es XML?

XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones.

XML es a mi entender, un metalenguaje que sigue un conjunto de reglas que definen la manera de almacenar datos de manera estructurada en un "contenedor" o archivo de texto plano con extensión .xml

Para que sirve XML?

XML sirve para estructurar, almacenar e intercambiar información

Que ventajas me da?

 *Facilmente procesable:  
 Debido a que el XML es un archivo de texto plano, prácticamente cualquier aplicación puede leerlo y trabajar con el. Visto de otro modo, XML es un String o cadena de caracteres estructurados.

*Se puede usar en cualquier lenguaje o alfabeto:
Existen muchos tags o etiquetas, ya definidas por el lenguaje, pero uno puede crear sus propias etiquetas, asi que no hay limitaciones por un lenguaje usado, ni tampoco por el alfabeto usado, ya que XML usa la codificación de archivos UTF-8, lo cual lo hace universal.

*Aplicaciones web:
Debido a que XML es como un "contenedor" de datos, es posible almacenar todos los datos que uno quiera y dejar la interpretación de los mismos a la aplicación que los lea, así como también la manera de mostrarlos. Hasta ahora, cada navegador interpreta los datos a su manera, pero con XML, es una sola aplicación la que maneja los datos y para cada navegador, se puede especificar un hoja de estilo (XSL) que nos formatee los datos de manera especifica para ese navegador. Cabe señalar aquí, que los navegadores actuales, pueden procesar y transformar internamente un XML, dada alguna hoja de estilo.

*Comunicacion de datos:
Cualquier aplicacion puede escribir un archivo de texto plano con los datos que estaba manejando y alguna otra aplicación recibir la información y trabajar con ella. Un ejemplo curioso en la comunicación de datos es este: ¿Como pasaríamos los datos de un arreglo bidimensional por el URL? jeje, esto seria un caso muy raro, pero no deja de ser interesante, cierto? e imagino que ya saben la respuesta..., si, mediante un texto XML!

*Bases de Datos y Multiplataforma
Existen bases de datos que trabajan completamente en XML, por lo que un XML puede comunicarse directamente con cualquier base de datos lo soporte independientemente de la plataforma , o incluso puede leerse y guardar datos directamente, no importando la plataforma en que se origino la información. Por ejemplo, podríamos estar usando una base de datos postgres y mandar un archivo XML con los datos necesarios y recibirlo en una base de datos mysql y no habría ningún problema debido a que lo que se envía y recibe es un archivo de texto plano con datos que pueden ser fácilmente leídos. XML puede ayudarnos de esta manera a migrar fácilmente de una base de datos a otra.

*Validacion de datos
Aunque no garantiza que los datos esten 100% correctos, XML detecta formatos nulos o fuera de rango.


Como formatear un XML?

Para formateo de un XML, usamos una de las herramientas propias de XML llamada XSL (Extensible Stylesheet Language), en conjunto con XSLT (Extensible Stylesheet Language Transformer). En realidad, tenemos dos alternativas:

  1. Hojas de estilo CSS heredadas del lenguaje HTML, para el cual se disenaron
  2. Utilizar hojas de estilo XLS, especificamente disenadas para documentos XML


Una pequeña explicacion de lo que es cada una de las herramientas mencionadas:
  • XSL: (Extensible Stylesheet Language) Familia de lenguajes basados en el estándar XML que permite describir como la información contenida en un documento XML cualquiera debe ser transformada o formateada para su presentación en un medio. En definitiva, XSL es la plantilla del formato para presentar un documento XML. 
  • XSLT: (Extensible Stylesheet Language Transformation) Permite convertir documentos XML de una sintaxis a otra, como por ejemplo, de XML a HTML. En definitiva, XSLT, es el lenguaje para poder transformar los XML en otros tipos. Con esta breve explicacion y sin mas ni menos, voy a explicar a continuacion, como crear y formatear una tabla a partir de datos contenidos en un archivo XML:

Creamos un XML con informacion de libros:




  
    Fuente Ovejuna
    Lope de Vega
    84-9815-002-7
  
  
    La Celestina
    Fernando de Rojas
    84-96390-96-9
  
  
    Don Juan Tenorio
    Jose Zorilla
   84-96390-97-7
  


y lo guardamos con el nombre de libros.xml


A continuacion creamos el xsl:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
 <html>
 <body>
   <h1>Mis Libros</h1>

   <table border="1">
    <tr bgcolor="skyblue">
      <th align="left">Titulo</th>
      <th align="left">Autor</th>
    </tr>
  
   <xsl:for-each select="libros/libro">
    <tr>
      <td><xsl:value-of select="titulo"/></td>
      <td><xsl:value-of select="autor"/></td>
    </tr>
   </xsl:for-each>
   </table>

        <br/><br/>
        <hr/>
        Articulo disponible en: <a href="http://lineadecodigo.com/xslt/crear-una-tabla-a-partir-de-datos-xml/">http://lineadecodigo.com/xslt/crear-una-tabla-a-partir-de-datos-xml/</a><br/>
        <a href="http://lineadecodigo.com" title="Linea de Codigo">lineadecodigo.com</a>

 </body>
 </html>
</xsl:template>
</xsl:stylesheet>

Y lo guardamos con el nombre de tabla.xsl

Notese que en la cabecera del archivo xml se aniadio un enlace al documento de trasnformacion xslt

<>

<>

y tambien, notese que en el docuemnto .xsl se estan combinando facilmente XHTLM y XSLT sin ningun problema

<xsl:for-each select="libros/libro">
    <tr>
      <td><xsl:value-of select="titulo"/></td>
      <td><xsl:value-of select="autor"/></td>
    </tr>
   </xsl:for-each>

Fuentes y mas informacion:
Fuente original
Codigo Fuente
Algunos tips XSLT
Generar un XML y mostrarlo en un Servlet o JSP
Java y XML
XSL, Reglas, tips, consejos, buenas practicas

lunes, 9 de agosto de 2010

a las Leave a Comment

Presentación atrasada

Estando pensando en qué escribir, he caído en cuenta que no nos hemos presentado, éste blog, ideado por un compañero (que por el momento llamaré 5x). 5x (nombre acortado de Xxxxx) había tenido ganas de hacer un blog de temas variados y al azar (de ahí el nombre, azar ordenado [creo]) mi compañero invitó a una amiga, la autora de la primera entrada, BE, ellos dos comenzaron como los primeros, y yo (Dynamiter).

Juntos los tres (y tal vez algún otro miembro) estaremos haciendo entradas con curiosidades :)

Ésta es la presentación atrasada.

Por último, y para agregar algo más que texto, les dejo una canción de Lady Gaga, interpretada por Pomplamoose, en mi opinión, muy buena :)

martes, 13 de julio de 2010

a las Leave a Comment

La tiranía del Mundial

La tiranía del Mundial


Han sido cuatro semanas largas y emocionantes hasta que hoy, con la victoria de España contra Holanda en Johanesburgo, Sudáfrica se terminó la Copa Mundial de Futbol 2010.

Fue un mes donde yo me la vivía pegada a la pantalla del televisor celebrando las victorias y lamentando las pérdidas. México no alcanzó a pasar de los octavos de final, mas sin embargo, el sueño de que algún día lo logre aun no muere. Si España logró llegar a ser el 8tavo país  (detrás de Brasil, Alemania, Italia, Inglaterra, Uruguay, Francia y Argentina) que ha alcanzado una plaza como campeón del mundo, pues México no debería perder sus esperanzas. Después de todo, la esperanza es lo último que muere.

Pero como en todo deporte, solo hay un ganador y el equipo holandés vio frustrado sueño de ser campeón del mundo en esos últimos minutos del tiempo extra cuando Andrés Iniesta remató a gol con potente disparo imparable para el portero y otorgó el gol de la victoria a España. Las oportunidades de meter goles fueron numerosas y ambos equipos intentaron y fallaron. Ambos equipos jugaron de una manera digna de ser campeón.

Pensando en esto, me viene a la mente esta pregunta: ¿Qué es lo que al final determina una victoria? En el futbol es la cantidad mayor de goles, en la escuela puede ser las mejores notas del salón, en el trabajo la productividad o el puesto que desempeñas pero, ¿y en la vida? ¿Qué significa ser el mejor? ¿Tener a abundancia de cosas materiales? ¿Una cantidad asombrosa de conocidos e influencias? ¿Ser reconocido y recibir elogios por doquier? ¿Morir con una sonrisa, sintiendo que la trayectoria de tu vida, que fue el sumo de tu existencia dejó logros, honores, y memorias en las mentes de otros? ¿Ser recordado por la historia? ¿Ser famoso como Hitler o recordado con respeto como La madre Teresa o Ghandi?

Todo esto pasa por mi mente mientras observo la celebración de España en el estadio de Johanesburgo. Qué pena y que dolor ser Holanda y tener que permanecer ahí mismo mientras el otro equipo celebra su victoria, una victoria que pudo haber sido tuya. Miras las caras llenas de tristeza de tus compatriotas, de tu afición y luego ves también la alegría y el triunfo reflejados en las caras de la afición contraria y te preguntas: ¿Pude haber intentado más duro? ¿Pude haber corrido más? ¿Pasado más el balón? ¿Qué más pude haber hecho yo? Y si eres el arquero, pues con mayor dolor lo analizas: ¿Porqué no metí la mano, el pie o la cabeza? ¿Porqué no lo logre atrapar la mendiga pelota?! ¿Porqué no estuve más atento?

¿Qué es peor? El conocimiento de que si tan solo te hubieras esforzado mas y entrenado mas podrías haber ganado?, porque  ya probabas la victoria en tu lengua, ya olías el olor del triunfo y te veías con la camiseta de tu equipo con su estrellita dorada, te imaginabas regresado a tu país para ser encontrado con tus fans gritando tu nombre y agradeciéndote el gran honor que habías obtenido para tu patria. O acaso es peor el saber que, aunque lo diste tu todo; tu alma, cuerpo, espíritu, sudor, sangre, coraje  y ser, y aún así no fue suficiente? Fuiste pesado en balanza y encontrado insuficiente.

¿Qué es peor? ¿una derrota por falta de esfuerzo sabiendo que casi, casi tú lo hubieras logrado? ¿o una derrota donde te enfrentaste y te lanzaste completamente y te diste cuenta que simplemente, sencillamente, no fuiste capaz de ganar?

-BE