lunes, 23 de enero de 2012

Error CWPCA8522E: Application did not get installed


Para los que usamos Lotus Notes como cliente de correo electrónico, pues nos hemos llevado la sorpresa de que genera muchos error, esto si no lo sabes usar correctamente ó el equipo no tiene los suficientes recursos para soportar la aplicación. Ya que es muy robusta.

A continuación se detalla como solucionar el error CWPCA8522E.
  • Cerramos la aplicación.
  • Nos situamos en la carpeta data de lotus.
  • Borramos la carpeta workspace.
  • Abrimos Lotus y listo.

Este error se presenta cuando queremos abrir una de nuestras bases de datos.

viernes, 20 de enero de 2012

Google te aconseja sobre seguridad informática

Google preocupado por los usuarios de la red, pone a disposición de todos un contenido de como hacer la navegación más segura, desde el desarrollo de sitios seguros, hasta cuidarnos nosotros mismos.

Debido que mundo virtual ya no es tan “virtual” y todo lo que ahí hacemos puede tener consecuencias en nuestra realidad. Ejemplo si en una página dejamos nuestro número de tarjeta de crédito, si llega a caer esa información en manos incorrectas podemos terminar muy endeudados.

Es por eso que se me hizo interesante las medidas que Google recomienda a modo de protección.
Para evitar llevar a cabo esta tarea no requieres ser un genio de la informática, solo aplicar un poco el sentido común.

Para evitar la suplantación de personalidad se recomienda lo siguiente:
·         No proporciones usuarios y contraseñas a páginas a las que esas cuentas no pertenezcan.
·         Numero de cuentas bancarias.
·         No proporciones información personal a desconocidos en salas de chat o por correo.
·         Fechas de cumpleaños u otras importantes.
Ten cuidado con el software que instalas en tu equipo:
·         Escanea tu equipo periódicamente, a menos que tu nivel de conocimiento informático sea avanzado y tengas el control total del software en tu equipo.
·         Actualizaciones del SO al día.
·        
No abras archivos con desconocidos y si los envía un conocido, confirma con la persona que tipo es ese archivo.
·          
Las memorias USB son el nido de virus, así que si es posible cada vez que conectes un dispositivo escanéalo.
A continuación una lista de aplicaciones que te pueden ayudar en el problema de virus:
Se cuidadoso en los lugares con redes públicas, últimamente están de moda este tipo de lugares, asegúrate de no usarlos para enviar información importante, ya que no sabes quién puede ver la información antes de que llegue a su destino. O si lo haces asegúrate que los datos tengan un nivel de encriptación.
Las contraseñas deben de cambiarse periódicamente.
Cuando te levantes de tu equipo asegúrate de bloquearlo para que nadie más lo use sin tu consentimiento.
Usa aplicaciones para que los niños no entren a sitios restringidos.
No compres en cualquier sitio, hazlo solo en aquellos que tengan buena reputación.

En el desarrollo:

Cuando desarrolles un sitio en donde se requieran logueo, hay que utilizar un nivel de encriptación seguro.
No uses el nombre del usuario o algún dato que relacione al usuario con el sitio. Si es posible detecta las IP´s y crea un método para comparar las IP de donde se conecta y crea una relación, así si el usuario se conecta desde otra región podrás enviar un alerta (correo, celular, etc.).

Redes Sociales

No compartas información personal en redes sociales o reveles rutinas, ejemplo: lugares y horarios que frecuentas regularmente. Eso es una ventana a la delincuencia.
Esto es tan solo un fragmento del artículo original, si quieres verlo completo haz clic aquí

viernes, 10 de junio de 2011

Enviando datos encriptado con JQuery

Es muy común que en nuestros sitios tengamos formas de logueo en la cual tenemos que encriptar la contraseña de los usuarios por cuestiones de seguridad.
Es por eso que hoy les voy a hablar sobre un plugin bastante sencillo hecho en JQuery para encriptar nuestros datos que se llama JQuery SHA256.
A continuación describo la implementación de esta herramienta:
1.       Debes de descargar la aplicación de aquí
2.       Incrustarlo en tu sitio web y hacer la llamada
3.       Tener un objeto que desencadene la acción (onclick(), submit(), etc).
4.       A continuación tendremos una cadena de 32 dígitos encriptada.
En esta parte se muestra la forma de empelarse este plugin:
$('#ex1_button').click(function(){
        var output = $.sha256($('#ex1_source'));
        $('#ex1_result').html(output);
});

Prueba el funcionamiento aquí

martes, 7 de junio de 2011

HTML5 y algunas funcionabilidades

A continuación enlisto algunas monadas nuevas de HTML5:

·         Audio Video: En HTML4 si deseas incrustar alguna de estas funcionabilidades requieres de utilizar flash, lo que significa que dependes de que el cliente tenga instalado este programa para la correcta visualización de la página. Con HTML5 trae etiquetas que permiten utilizar audio y video procesado por el mismo navegador. Estos tags son <video></video> y <audio></audio>. Esperemos que al ser soporte nativo del navegador sea mas rápido la ejecución, mas información aquí.
·         Dibujo: Con <canvas> y javascript puedes hacer dibujos más rápidos, ya que el rendimiento por código es más rápido que cargar imágenes, aquí algunos ejemplos de cómo hacerlo.
·         Web Sockets: Esta funcionabilidad permite especificar el puerto desde el cual enviar datos desde el cliente al servidor, podemos encontrar más información aquí.
·         Aplicaciones Web Offline: Permite trabajar online, es decir, si por alguna razón perdemos la conexión con el servidor de la página podemos continuar trabajando y posteriormente replicar los cambios en el servidor, esta funcionabilidad es muy buena para los usuarios viajero, mas información en este link o aquí.
·         Alamacenamiento Web: Para poder identificar las sesiones de usuario en HTML4 se usan las cookies, con esta versión de HTML5 se podrá almacenar hasta 5 MB por dominio. Al incrementar la capacidad de almacenaje también hay mas valores que podemos obtener sobre el cliente. En este sitio se describe mas a profundidad.
·         Web Worker:  Es algo parecido a lo que lo que los lenguajes multi-hilo implementan, ya que se pueden tener en ejecución varios procesos, pero esta característica cuenta con varias restricciones así solo se recomienda implementarlas cuando realmente se necesiten y se tenga el control sobre la operación del sitio, para mayor información vista este sitio.
·         Geolocalización: Permite localizar el sito a donde esta siendo descargado, es decir, revela nuestra localización basado en nuestra IP, en el sitio de la W3C veras mas a detalle esta información.

Este articulo lo puede encontrar en su versión original en esta liga http://dev.opera.com/articles/view/get-familiar-with-html5/

martes, 31 de mayo de 2011

Editar archivos xlsx desde OOXML

En alguna ocasión en uno de mis trabajos de programador me toco convivir con los archivos de Excel 2007, ya requería de editar un archivo. Voy a explicar como funcionan de manera general como editarlos y dependiendo de las necesidades se pueden crear rutinas para editarlos.
Este formato está basado en el estándar de OOXML de Microsoft así que si tienen un libro sobre eso ahí se detalla a mayor profundidad todo.
Los archivos .xlsx son archivos comprimidos, es decir, si ahorita tomas un archivo con esta extensión y la cambias a .zip, al descomprimirla obtendrás varios archivos con extensión .xml en el cual están contenidos formatos de celdas, información, imágenes y la agrupación las hojas, toda la información esta estructurada.
En este archivo binario encontrarás contenidos archivos xml en la ruta \xl\worksheets\sheet1.xml, \xl\worksheets\sheet2.xml, hasta n ojas dependiendo del numero de hojas que tu documento de Excel tenga y el contenido es similar a:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
                <dimension ref="C4:C9"/>
                <sheetViews>
                                <sheetView tabSelected="1" workbookViewId="0">
                                                <selection activeCell="C10" sqref="C10"/>
                                </sheetView>
                </sheetViews>
                <sheetFormatPr defaultRowHeight="15"/>
                <sheetData>
                                <row r="4" spans="3:3">
                                                <c r="C4" t="s">
                                                                <v>0</v>
                                                </c>
                                </row>
                                <row r="5" spans="3:3">
                                                <c r="C5" t="s">
                                                                <v>1</v>
                                                </c>
                                </row>
                                <row r="6" spans="3:3">
                                                <c r="C6" t="s">
                                                                <v>2</v>
                                                </c>
                                </row>
                                <row r="7" spans="3:3">
                                                <c r="C7" t="s">
                                                                <v>3</v>
                                                </c>
                                </row>
                                <row r="8" spans="3:3">
                                                <c r="C8" t="s">
                                                                <v>4</v>
                                                </c>
                                </row>
                                <row r="9" spans="3:3">
                                                <c r="C9" t="s">
                                                                <v>5</v>
                                                </c>
                                </row>
                </sheetData>
                <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
</worksheet>


Dentro de el tag <v>Num</v> se encuentra una referencia numérica que puedes locacilzar en el archivo \xl\sharedStrings.xml donde aparece los siguiente:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="6" uniqueCount="6">
                <si>
                                <t>est</t>
                </si>
                <si>
                                <t xml:space="preserve">es </t>
                </si>
                <si>
                                <t>una</t></si>
                <si>
                                <t>prueba</t>
                </si>
                <si>
                                <t>desde</t>
                </si>
                <si>
                                <t>el excel</t>
                </si>
</sst>

En donde este archivo esta estructurado a manera de arreglo es decir la posición 0 marcada en archivo \xl\worksheets\sheet1.xml:

<c r="C4" t="s">
                                                                <v>0</v>
                                                </c>
Hace referencia a el valor en \xl\sharedStrings.xml:

<si>
                                <t>est</t>
                </si>

A continuación describo el algoritmo y ustedes lo plasman en cualquier legunaje:

1.       Lo que se requiere es una librería de cualquier lenguaje que pueda leer archivos zip para descompirmirlo en algún directorio temporal
2.       Una vez descomprimido requerimos de manipular los xml, ya sea para agregar o quitar ramas de la estructura.
3.       Una vez terminada la operación con los archivos xml requerimos generar el archivo zip de nuevo, pero conextensión xlsx.

No profundicé mucho en el tema debido a que estas son las bases, cabe señalar que este tipo de arquitectura aplica paro el Office 2010. Si tienen alguna duda con gusto les puedo apoyar.

martes, 24 de mayo de 2011

Probando configuración de apache

Hace unos días estaba ayudando a configurar el Apache a un amigo, esta configuración es sencilla. Pero cuando hay un error sencillo el cual no tienes la capacidad de ver, realmente necesitas ayuda de alguien que sea una lumbrera en Apache y pueda ver tu error, o ejecutar un comando para la validación de la configuración de Apache.
La sintaxis en línea de comandos es la siguiente:
<ruta de instalación de Apache>\httpd –f  <ruta del archivo>
Por ejemplo:
httpd –f /conf/httpd.conf
NOTA: La ruta del archivo que deseemos revisar es partiendo de donde está el serverRoot
Y van a aparecer errores primeramente y posteriormente los warn.
Esta comprobación es similiar a la compilación de un programa, lo que hace es revisar la configuración este correcta.
Mas información, la puedes encontrar aquí

sábado, 14 de mayo de 2011

Convertir archivos de word a pdf

Todos hemos tenido la necesidad de convertir algún documento de doc/docx  a pdf y no contamos con un programa que nos permita hacerlo. Pues ahora hay algunos sitios que no ayudan con esto y navegando por ahí me encontré este sitio.


Espero que les sirva, hay muchos mas, solo es cuestión de que busquemos.