jueves, 5 de febrero de 2015

Desde Lyx a Wiki

El uso de lenguaje de marcado para la confección y administración de documentos es una buena practica ya que permite adaptar fácilmente el contenido a diferentes formatos de salida.

Un ejemplo seria crear un documento en Lyx  generar un PDF y se necesita tambien publicarlo en Mediawiki.

Para realizar la conversion desde Lyx a Mediawiki se puede usar Pandoc, este software transforma textos de marcado desde un lenguaje a otro.

Los pasos serian:


  1. Verificar que el documento Lyx se encuentra codificado en UTF-8 (Documento=>Configuración=>Idioma=>Codificación)
  2. Desde Lyx, exportar el archivo a LaTeX (Simple)
  3. Transformar desde Latex a Wiki con pandoc

 pandoc -f latex -t mediawiki -o documentoWiki.txt documento.tex 



miércoles, 1 de enero de 2014

Eliminar números de versión en dependencias jar con maven

Por alguna razón deseas eliminar los números de versión que tienen las dependencias de tu ear o de tu war, en maven existen plugins con los que puedes realizar la tarea.

jueves, 8 de diciembre de 2011

Introducción a Maven

Maven es una herramienta que permite automatizar diferentes tareas relacionadas a la compilación y administración de un programa, una de sus principales características es la gestión de las dependencias y otra de sus características es la extensión de sus funcionalidades mediante plugins. Mediante el manejo automatizado de las dependencias nos ahorraremos mucho tiempo buscando los jar que necesita un producto X para funcionar y mas aun cuando alguna de esas dependencias también tiene dependencias, por otra parte la posibilidad de extensión que posee nos brindara un sin numero de posibilidades que nos ayudara en la gestión de nuestro proyecto.

viernes, 27 de agosto de 2010

Chile, primer país del mundo con ley de neutralidad de Internet

Chile es el primer país del mundo en declarar por ley la neutralidad de la red, esto significa que los proveedores de internet no puede discriminar a algunos usuarios según el uso que le den a Internet, en concreto:

"No podrán arbitrariamente bloquear, interferir, discriminar, entorpecer ni restringir el derecho de cualquier usuario de Internet para utilizar, enviar, recibir u ofrecer cualquier contenido, aplicación o servicio legal a través de Internet, así como cualquier otro tipo de actividad o uso legal realizado a través de la red."


Esto es muy positivo para el crecimiento del país, ya que establece de manera clara los limites para los ISPs evitando malas practicas en este mercado.

lunes, 26 de julio de 2010

Busqueda de Imagenes

Si alguna vez has necesitado buscar el original de una imagen que tienes en baja calidad ya existen herramientas en internet que permiten la búsqueda en base a una imagen ya existente, por ejemplo un excelente sitio es TinEye,aquí podrás subir tu imagen y el sitio buscara en una base de imágenes bastante extensa que posee.

Otra manera es mediante Google Imágenes, aunque no es tan precisa, cuando buscas por palabras aparecerán imágenes relacionadas a las palabras ingresadas, debajo de la imagen puede ofrecerte una opción llamada "Similar", esta opción provocara que Google imágenes busque imágenes similares a la seleccionada.

lunes, 19 de abril de 2010

Google Code Jam 2010

El pasado Miércoles 7 de Abril, comenzó la fase de inscripción para el torneo de programación Google Code Jam 2010, la ronda de calificación comienza el 7 de Mayo y durara 24 horas, si calificas, los siguientes 3 sábados de Mayo y 2 sábados de Junio habrán rondas eliminatorias y si las pasas todas te llevan a Dublin para la final por un premio de 5000 dolares.

sábado, 9 de enero de 2010

Organizando Proyectos con Maven

Maven es una herramienta que ayuda a la construcción de aplicaciones en Java, quizás en un principio parece un retroceso al comparar esta herramienta con un editor como Eclipse, ya que esta herramienta es principalmente utilizada en la linea de comandos, pero sus objetivos son diferentes, mientras eclipse ayuda a la digitación del código, Maven ayuda en la compilación,pruebas unitarias,documentación y organización del proyecto. Quizás la organización del proyecto es su punto mas fuerte, ya que mediante sus repositorios ofrece una vía para organizar y catalogar las librerías usadas.

lunes, 14 de diciembre de 2009

La nueva ola de Google

Hace poco tuve acceso a la nueva apuesta de Google, Google Wave.
Al principio la interfaz resulta un poco confusa en su uso, pero con un poco de prueba y error se aclara su funcionamiento. Cuando Google comenzó a publicitar a Wave hace unos meses, dijo que el concepto había nacido repensando las comunicaciones, como serian las comunicaciones si Internet se hubiese inventado ahora, pero usando un poco Wave uno se da cuenta que no comenzaron desde cero, mas bien mezclaron los sistemas de comunicación existentes y los agregaron todos en Wave y esta probablemente surgió debido a la buena idea de Gmail de agrupar los correos entorno a una conversación.

lunes, 30 de noviembre de 2009

Operaciones versus Proyectos

Dentro de una empresa existen labores que dan vida a la organización, estas tareas se  caracterizan por estar bien definidas, estar ejecutándose continuamente y ser repetitivas.
Es importante poder distinguir claramente este tipo de tareas de los proyectos, ya que nos dará una visión clara del funcionamiento de la empresa.

domingo, 29 de noviembre de 2009

¿Que es un Proyecto?

La informática se caracteriza por lo difícil en la implementación de grandes proyectos, por lo que comenzare una serie de artículos que aportan información util a la hora de lidiar con proyectos informaticos, estos artículos se basan el el PMBOK que es una interesante publicación sobre proyectos.

domingo, 27 de septiembre de 2009

Expresiones Regulares

Todo programador mas de alguna vez se ha topado con las expresiones regulares, están presentes en diferentes lenguajes de programación y ambientes, por ejemplo: C , Java, JavaScript, Linux, Unix, Xschema.

Una expresión regular es una cadena de caracteres que se utiliza como patrón para buscar coincidencias dentro de un texto, están son bastantes mas potentes que el antiguo *.*, por ejemplo una expresion para buscar el Rut en un texto puede ser:

([0-9]{1,2}\.){0,1}[0-9]{3,3}\.[0-9]{3,3}-[0-9Kk]|[0-9]{6,8}-[0-9kK]

Las expresiones regulares nos pueden ahorrar mucho trabajo ya que de una manera muy compacta se puede especificar un patrón que puede ser usado para búsqueda y reemplazo, como para realizar validaciones en formularios.

Un buen tutorial se encuentra en la red Bulma y pueden probar sus expresiones regulares en este par de paginas.

Recuerda colocar estas paginas en un marcador, ya que si no usas frecuentemente expresiones regulares es fácil olvidar sus sutilezas.

También se pueden aprovechar las expresiones regulares dentro de awk

grep alert eje.js | awk '{print gensub(/alert\((.*)\)/,"\\1","g");}'

En este ejemplo, mostramos el contenido de los alerts de un JavaScript

Exportaciones por Internet

Internet ofrece la posibilidad de llegar a millones de personas en todo el mundo de manera instantánea, esto a provocado la aparición de diferentes alternativas que facilitan la generación de negocios mediante este canal, por ejemplo cualquier tipo de empresa que venda productos puede tener fácil y rápidamente su tienda en Internet con utilidades como osCommerce, pudiendo generar un catalogo en linea que provee un carro de compras. Quienes fabrican programas pueden utilizar diferentes vías para disponibilizar sus creaciones, por ejemplo en el mundo de los celulares ya son famosas las tiendas virtuales en donde un usuario de celular puede descargar una aplicación por una módica suma de dinero, los portales para los desarrolladores son por ejemplo:

Por otra parte el portal Chileno de Terra a publicado un interesante artículo en que trata sobre la utilización de internet para generar ingresos vendiendo servicios o productos. En el artículo se muestra que esto es un tipo de exportación, por lo que se pueden obtener beneficios tributarios, y por lo anterior, también implicaria que no declarar estos ingresos podría ser una infracción tributaria, por lo que se debe prestar atención a los beneficios que estamos perdiendo y los riesgos en que corremos si no declaramos nuestra situación. En el articulo se menciona al portal www.chilexportaservicios.cl que apoya y ofrece las directrices para la exportación de servicios vía internet.

lunes, 7 de septiembre de 2009

Causas del fracaso de proyectos informaticos

Navegando me encontre con un articulo bastante interesante en el que se analizan algunas de las causas del fracaso de los proyectos informaticos.

Parte I Parte II Parte III

Parte IV Parte V

sábado, 22 de agosto de 2009

Nasa libera codigo fuente

Una buena oportunidad para los curiosos de la alta tecnología resulta la liberación de código fuente de algunos proyectos de la Nasa en modalidad open source, hasta el momento hay veintitrés proyectos, de estos los que encontré mas interesantes son:

viernes, 17 de julio de 2009

Moviendo Objetos de Entorno

Es común al trabajar bajo el patrón Modelo-Vista-Controlador (MVC) encontrarse con la necesidad de utilizar un Value Object tanto en el modelo como en la ejecución de la vista en el lado del cliente. Un método muy útil para conseguir este objetivo es la utilización de XStream, esta librería permite generar desde un Objeto Java un JSON y desde el JSON un objeto Java, como la generación de un Objeto Javascript desde un JSON es inmediata gracias a la función eval() de Javascript resulta muy fácil llevar un Objeto desde la capa de Negocios Java al ambiente de ejecución Javascript. Luego de modificar los datos del Value Object se puede volver a generar una cadena JSON gracias a la librería JSON Stringify de Thomas Frank y enviarla nuevamente a la capa de negocios para regenerar el Value Object inicial. Gracias a estas librerías podemos ahorrarnos mucho trabajo en el envío y recepción de información mas aun cuando se trabaja con grandes formularios y grillas con datos, incluso podemos utilizar esta técnica con AJAX.

domingo, 24 de mayo de 2009

Captcha

Es común encontrase ahora con esas imagenes deformes de letras y/o números, palabras sucias o poco claras, que deben digitarse a modo de validación, este sistema se conoce como captcha que en ingles significa Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).

Este sistema nace de la necesidad de controlar a los spamers, que mediante robots inundan distintos tipos de servicios con publicidad o capturan cuentas para el envio masivo de mails.

Este sistema puede ser muy útil para dificultar el robo de información, ya que al dejar a robots fuera del juego los sistemas de fuerza bruta son más dificiles de desarrollar.



Ahora debo exponer una funcionalidad a internet, donde el uso de captcha seria ideal, investigando en internet si había algo opensource para no tener que construir el sistema desde cero, me encontré con un servicio muy interesante, se llama recaptcha, puedes colocar la interfaz que solicita las palabras o números y el servicio la valida, como estoy trabajando bajo filosofía SOA es una buena opción, además se ayuda a la digitalización de libros, ya que una de las dos palabras que se muestran en la imagen no pudo ser digitalizada por un OCR (Sistema para reconocer las letras), por lo que el echo de estar validando el acceso a una persona también es productivo.