Redactar sin preocuparse por el formato?

Hay quienes a estas alturas del partido sienten que los procesadores de texto actuales, lejos de aumentar la productividad la disminuyen al dedicar la mayor parte del tiempo de la redacción en darle formato, en que se vea presentable y muchas veces la cantidad de opciones para que el documento se vea bien son abrumadoras, si no, pregunten a una secretaria que haya utilizado una máquina de escribir, alguna vez se quejará de lo sencillo que era antes, una hoja membretada, tabuladores y escribir, sin ninguna complicación, el tiempo era utilizado en mejorar la redacción y revisar errores.

Ese enfoque parece arcaico pero muy conveniente, imaginen el panorama de solo ponerse en el programa, dedicarse a escribir, indicar solo las secciones del documento y olvidarse de como hacer para que el mismo documento se vea bien y uniforme, ese enfoque se le conoce WYSIWYM (What You See Is What You Mean / Lo que ves es lo que quieres decir) muy diferente al WYSIWYG (What You See Is What You Get / Lo que ves es lo que obtienes) de la mayor parte de los procesadores de texto actuales, y va de la mano de un desarrollo que tiene mucho más tiempo de lo que la mayor parte de los procesadores actuales, y es un editor basado en la tecnología TEX/LATEX.
La tecnología TEX/LATEX no es absolutamente nueva, fue desarrollada a inicios de los 80′s y es un conjunto de comandos e instrucciones que permiten enfocarse en el contenido de un documento y dejarle el formato a una plantilla que generará una presentación prácticamente editorial, es por ello que es un recurso muy conocido entre los circulos academicos y que no se ha explotado fuera de el debido a que se requiere “maquetar” usando comandos y etiquetas, pero el hecho de ser de código abierto ha hecho que existan herramientas gráficas poderosas como la que nos ocupa esta vez, y es LyX.
LyX es un procesador de documentos (no es un procesador de textos) que permite redactar con calidad profesional basado en plantillas de LaTeX sin necesidad de aprender a utilizar las macros en código puro. Entre las multiples ventajas están que lleva un registro detallado de cada acción que se realiza, por lo que se puede deshacer un número ilímitado de acciones, tiene una capacidad enorme para mostrar lenguaje matemático científico de manera nativa sin recurrir a software de terceros, también que la salida la genera como un documento PDF o Postscript, o también existen plugins para que se guarde como HTML o RTF, y la más importante, la curva de aprendizaje de esa herramienta es muy alta, es especialmente útil en entornos con personas que no dominan un procesador de texto y que tienen que redactar una gran cantidad de documentos, solo se les tiene que mostrar como rellenar la información y podrán entregar información elegante y con un formato inmejorable.
Esta herramientas es Software Libre (¿Cómo podía ser de otra forma?) y existen versiones para Windows, MacOS, OS/2 y lógicamente Linux, en la página del proyecto que es http://www.lyx.org/ se pueden descargar los binarios y código fuente y en las distribuciones más populares se encuentra dentro de los repositorios. También en la página del proyecto y en el propio software viene explicación de como usarlo y algunas condiciones que se tienen que aprender como la ausencia de dobles espacios o dobles retornos de carro.
Denle una oportunidad a este excelente software que puede cambiar de manera dramática la forma en que redactan en la computadora.

Popularity: 1% [?]

Instalar Boxee en Ubuntu Natty y Oneiric

Algunos conocerán Boxee, que convierte cualquier máquina en un Media Center muy poderoso, basado en el laureado XMBC que era un programa capaz de dotar la XBOX de primera generación en un completo Media Center, capaz de organizar y mostrar música, películas e imágenes, y que aunque se puede descargar diréctamente desde su página http://boxee.tv, previo registro, el paquete que se puede descargar es incompatible con las nuevas versiones de Ubuntu debido a una inconsistencia de una librería que si existe en el sistema operativo pero en una versión diferente.

El procedimiento para generar un deb compatible se puede ver en la página http://www.ubuntu-corner.com/2011/05/how-to-install-boxee-in-ubuntu-11-04/ pero si no quieren meterse en la terminal por miedo o porque piensan que es complicado, les dejo el par de debs para que los descarguen e instalen, sin ningún problema en las versiones más nuevas de su sistema operativo favorito.

Versión 32 Bits

http://dl.dropbox.com/u/13692622/boxee-oneiric_32.deb

Versión 64 Bits

http://dl.dropbox.com/u/13692622/boxee-oneiric_64.deb

Popularity: 2% [?]

Extraer las imágenes de un PDF en Linux

El formato más utilizado para envío de documentación profesional entre plataformas para que todos puedan ver exactamente el mismo documento no importando si tienen o no el tipo de letra o el programa compatible es sin ninguna duda el Portable Document Format, creado por Adobe ya hace algunos años, pero con esas ventajas vienen algunas desventajas, como el hecho de que no se puede editar de fabrica. Existen mil y un aplicaciones para trabajar con ellos y extraer desde la información hasta las imágenes, pero muchas de ellas son aplicaciones de pago o de prueba, pero al menos en el sistema operativo Linux existen opciones no solo gratuitas sino poderosas para realizar esas operaciones.

El soporte al PDF en Linux es muy amplio, pudiendo ejecutar operaciones como extracción de texto, encriptación, desencriptación o como en el caso que nos ocupa, la extracción de imágenes. Este caso lo acabo de tener en el trabajo, un documento de páginas escaneadas que venían en desorden en el PDF y volverlo a generar (todo ello se puede hacer desde la misma línea de comandos) los paquetes necesarios son xpdf-utils y imagemagick el primero brinda soporte para algunas de las operaciones más comunes con esos archivos, el segundo es el potente editor de imágenes de línea de comando, con el primero extraje las imágenes que presenta en dos formatos el pbm si son imágenes monocromáticas y ppm si son imágenes y si no se le especifica que se extraigan los jpg de manera directa. En el caso de los archivos pbm salen las imágenes en negativo por lo que es necesario aplicarles una edición para lo que usamos imagemagick, si son archivos ppm no existe ese problema.

Esta operación es la misma que tendrían muchos que realizar para extraer las “páginas” de comics que consigan en jpg como para poner un ejemplo, convertirlo a un formato como CBR o CBZ.

Aunque estas instrucciones son muy sencillas generé un script para automatizar el proceso, y se los presento comentado a continuación. Este script puede servir para adecuarlo a otras operaciones, luego mostraré un script para realizar OCR a documentos PDF apoyados en Tesseract.

Todas estas instrucciones se pueden realizar desde terminal sin necesidad de utilizar el script, en el viene explicado que hace cada línea

  #!/bin/bash
  # requiere de xpdf-utils imagemagick
	# Extrae las imágenes de un archivo pdf indicado desde la terminal como un parametro, el -j es para que extraiga los jpg directo sin convertirlos a ppm
	pdfimages -j $1 ${1/.pdf}
	# Verifica si los archivos son pbm (monocromaticos)
	if [ -f ${1/.pdf}-000.pbm ]
	then
		# Si los archivos son monocromaticos estos estarán en negativo
		for i in $( ls *.pbm); do
		# Aplica negativo a las imágenes y las convierte a jpg
            	convert -negate $i ${i/.pbm}.jpg
        	done
		# Borra los archivos pbm
		rm *.pbm
	fi

Popularity: 2% [?]

Moda, Redes Sociales y Unity

Hace unos cuantos días se liberó la nueva versión de Ubuntu, 11.04 Natty Narwhal, y entre las mejoras (o cambios según se vea) incluía un escritorio con el cual había estado experimentando en la Netbook Edition de la distribución desde 10.10, su nombre es Unity y pretendía ser un avance en la interacción del usuario con el escritorio, pero el bombardeo constante de los medios (sobretodo los sociales) hizo de este lanzamiento uno de los más polémicos que ha tenido la distribución de Canonical.

He de admitir que yo en un inicio tampoco me sentí cómodo con el nuevo escritorio cuando lo probé, se me hizo poco ágil, pesado y con pocas posibilidades, me parecía una apuesta muy arriesgada por parte de Canonical después del enorme acierto con la Netbook Remix, además se esperaba mucho de Gnome 3 y Gnome Shell, la evolución del escritorio que prometía una evolución importante al mismo, comparable a KDE 4, personalmente también lo probé y no me convenció, por lo que ya dejé de darle importancia al asunto hasta que llegara la nueva versión.

Utilicé a partir de la Beta Natty en una instalación limpia, no sin problemas al instalar pero que al final domé, con un usuario sin personalizaciones en Gnome para poder aprovechar el nuevo escritorio y emitir un mejor juicio, al inicio me molestaba mucho que por ejemplo el conmutador de tareas no funcionara con la combinación de teclas que yo acostumbraba, tener que cambiar en la barra lateral y la agrupación de ventanas por “aplicación”, también me costó trabajo acostumbrarme a la barra de menú única y a la perdida de iconos del área de notificación. Todo cambio es traumático, para mi lo fue el cambio a Unity,  pero al final puedo decir que lo logré domesticar, y empiezo a entender un poco el porque de como fue diseñado.

Tengo un monitor de 22 pulgadas, suficientemente generoso para trabajar, en algún lugar del escritorio acostumbro grabar archivos (de los vicios que uno se hace en Windows) pero que realmente no me afectan por el tamaño estandar de mi escritorio (1680 x 1050)  pero en mi afán de máximizar el espacio, he experimentado con una gran cantidad de trucos, desde eliminar un panel, usar solamente un dock que se oculte y es hasta Unity donde veo un gran aprovechamiento del espacio en mi escritorio, también su forma de dimensionar las ventanas es más inteligente que el Ubuntu Netbook Remix donde en algunos programas de diseño fijo no se ajustaban y tampoco mostraba barras de desplazamiento. Así que como podrán ver hasta el momento dejé de pensar en Unity como un obstaculo para verlo como algo que hay que probar, así como las primeras versiones de KDE 4 eran terriblemente infuncionales (razón por la cual abandoné mi amada Kubuntu) a pesar de que fue anunciada con bombo y platillo como una importantísima actualización y que tantos y tantos críticos tomaban como ejemplo de lo que Gnome debía estar haciendo, los usuarios al menos en sus iniciales encarnaciones lo hicieron pedazos, ahora quien se acuerda de ello?

Con Unity y eventualmente con Gnome Shell pasará lo mismo, son trabajos en un estado inicial de desarrollo, nisiquiera tan innovadoras dirán por ejemplo los usuarios de MacOS, pues muchas de las funciones de Unity son copias al carbón de funcionalidades del escritorio de MacOS, pero creo que hay que darle al menos una oportunidad, no irnos por lo que la mayor parte de la gente anda diciendo (muchos también solo haciendo eco de lo que ya leyeron de “lideres de opinión”)  y hacer lo propio con Gnome Shell, una de las enormes bellezas de Linux es precisamente la capacidad de elección, si en un momento dado deciden que ni uno ni otro les gusta o si de plano gracias a Unity odian Ubuntu, existen distros y escritorios para todos los gustos, inclusive dentro de Ubuntu podrían probar la elegante simpleza de Enlightment, o la ligereza de LXDE o XFCE, el preciosismo de KDE con solo seleccionar estos paquetes en su Centro de Software, y si han de odiar a Unity, que sea porque lo probaron y no les gustó, no solo porque el Vox Populi dice que no sirve, yo hice lo mismo incluso en la presentación de 10.10 y ahora que lo uso y no siento tener mayor problema he tenido que tragarme lo que en ese momento dije.

Además y es un punto que tal vez algunos no logran ver, es que el futuro (o más bien la tendencia del presente) es el uso de pantallas táctiles, así que no piensan que la barra lateral y el tamaño de los iconos botones y la forma en que muestran el enfoque y la vigencia de un programa parecieran hechos para una tableta? Si es así, entonces no pasará mucho tiempo en que veamos la competencia de Ubuntu en el terreno de las Tablets que son nos gusten o no, la nueva gallina de los huevos de oro, y del que Ubuntu Unity puede tener una presencia importante como en su momento se pensó que Enlightment lograría en el territorio de las PDA.

Popularity: 2% [?]

Ventajas y Desventajas del Software Libre

Abordar el tema de ventajas y desventajas de GNU/Linux no es sencillo, sobre todo cuando eres un convencido enamorado del software libre, el campo de distorsión de la realidad de esa filosofía tiene el mismo efecto que el enamoramiento entre individuos, uno tiende a ver sus cualidades aumentadas y desestimar sus defectos, porque bien algunos asuntos pueden resultar demasiado técnicos y otros demasiado nimios a nuestros ojos, pero a veces se nos olvida que ese mismo sistema operativo es utilizado por igual  profesionales de las TIC, usuarios promedio y corporaciones siendo precisamente para los primeros y los últimos esos detalles nimios la diferencia entre implementar una solución de Software Libre o Software Propietario.

Tratando de ser objetivo trataré de resumir las ventajas de GNU/Linux sobre los sistemas operativos propietarios y después las desventajas, tratando de apegarme a aspectos meramente técnicos y dejando de lado las preferencias personales.

La primer ventaja que llamará la atención de quien quiera es el costo de la licencia del sistema operativo, que usualmente es gratuito, aunque no implica que obligadamente deba ser de esa manera, existen también distribuciones de propósito específico u orientadas a usuarios corporativos cuya licencia tiene un costo ligado al uso del software y contratos de soporte, pero en la mayor parte de los casos ese costo es sustancialmente menor al costo de un sistema operativo propietario, pues en el caso de las distros de Linux ese costo incluye software de productividad y herramientas de administración que en el caso de los sistemas operativos propietarios tienen que ser adquiridos cada uno por separado y con diferentes proveedores, además incluye la misma licencia una herramienta invaluable que tocaremos a continuación, el código fuente.

La libertad número 1 del Software Libre implica: “la libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.”, lo cual no es ni mucho menos una ventaja pequeña. Existen muy pocas compañías que puedan dedicar tiempo y recursos a la creación de un Sistema Operativo desde cero, pero las opciones comerciales privativas no ofrecen capacidad de modificar su creación para adaptarlo a necesidades específicas, como por ejemplo subsanar problemas de seguridad o simplemente añadir una capacidad necesaria para el uso que le da una empresa o un individuo, para ello se depende del fabricante y sus tiempos de desarrollo, y para agregar funcionalidades debe realizar un desarrollo que el mismo tendrá que mantener y que correrá sobre y no con el sistema operativo. La cosa cambia completamente si se tiene el acceso al código fuente del mismo, una empresa con una capacidad mediana de desarrollo puede poner gente a agregar funcionalidades o resarcir problemas que ocurran en el sistema operativo sin tener que pedir permiso para ello, de hecho esta es la esencia de otra de las ventajas de GNU/Linux, la capacidad de desarrollo.

Una compañía X que desarrolla un sistema operativo, pude tener un nutrido ejercito de programadores, diseñadores y equipos de prueba, pero inevitablemente existen una serie de factores prácticamente imposibles de predecir hasta que suceden, agujeros de seguridad, errores en la misma programación, y debido no solo a la capacidad de los programadores sino a la burocracia adentro de las propias corporaciones que no pueden dejar que una actualización de seguridad se publique en cuanto se tenga lista sino cuando haya cumplido con todos los trámites para su presentación. Ahora bien, aquí la fuerza de desarrollo del software libre no está solo en la calidad sino en los potenciales números de desarrolladores. Tal vez la falta de una coma, un punto, un error sintáctico u ortográfico pueda pasar desapercibido por un programador, control de calidad y cientos de manos que revisen los miles de líneas de código, incluso puede haber pasado todos los filtros de calidad y llegar de esa manera al consumidor, y este último no se dará cuenta de que algo anda mal hasta que suceda, pero pongamos el caso contrario, que un estudiante técnico que apenas está estudiando da por casualidad con un error de esa naturaleza, en un entorno de desarrollo cerrado es impensable que alguien fuera de la compañía pueda “meter mano” al sagrado código, más sin en cambio, en el mundo del software libre, no solo ese humilde usuario es capaz de modificar y arreglar ese problema, sino que se le alienta a que lo haga, y es que todo ello está a la vista. Ahora bien, mis programadores generan una nueva característica para el sistema operativo, puedo optar por no mostrarla a nadie y sacar beneficio de ella, pero también puedo hacerla pública, con lo cual más desarrolladores y usuarios se pueden beneficiar de ella, pero al mismo tiempo pueden mejorarla y me beneficiaré yo mismo de esas mejoras. Es como tener tu equipo de mercenarios digitales que trabajarán para mejorar lo que tu iniciaste y la mejor parte es que no costará un céntimo más de lo ya invertido. Esto aplica también con el malware, pues aunque es posible la creación, el mismo sistema de administración de GNU/Linux hace virtualmente imposible que haga un daño irreparable a componentes críticos y además al tener su propio sistema de archivos ejecutables, aquel malware escrito para otros sistemas es totalmente inocuo para GNU/Linux.

Es importante recalcar la capacidad y flexibilidad de acceso a los recursos de los usuarios, un administrador del sistema puede definir exactamente a que y cuales recursos determinado usuario tiene derecho de modificar, esto evita que usuarios poco experimentados accedan y modifiquen componentes críticos del sistema, o hagan uso de recursos de manera indebida.

Retomando el asunto de los costos, pero enfocado en el apartado de mantenimiento de la infraestructura, es imposible que una actualización de versiones de cualquier software se dé de manera transparente y sin dificultades, pero lo más cercano a ello es el uso de GNU/Linux, aunque las herramientas para el despliegue de nuevas versiones depende en muchos casos del fabricante del software, en el caso de GNU/Linux en la mayor parte de los casos es posible automatizarla y llevarla a cabo de manera remota incluso entre versiones nuevas del sistema operativo, el procedimiento estándar en sistemas propietarios de tener que respaldar la información, instalar y luego restaurar, en el caso de una correcta instalación de GNU/Linux se reduce a instalar solamente.

El aspecto de controladores, que puede llevarse gran parte del tiempo de una instalación de otros sistemas operativos, en el caso de GNU/Linux la mayor parte se integran dentro del propio kernel, o en su defecto su instalación se simplifica enormemente, y también para la mayor cantidad de hardware que en una versión no se soporta out-of-the-box es casi una garantía que para la siguiente versión ya estará integrada, con lo cual se deja de depender del desarrollo de los fabricantes que después de un tiempo lo abandonan y su hardware pasa a ser tecnología heredada, que es otro de los puntos que tenemos como ventajas.

Con el tiempo, uno ni siquiera razonable, el hardware de un equipo comienza a volverse “obsoleto” lo cual repercute en que los sistemas operativos dejan de darle soporte y es necesario renovarlo, esto puede ser frustrante, que tres años después de una generosa inversión en una impresora de última generación la misma no pueda correr en el flamante sistema operativo y el fabricante lo único que atina a decirte es: “compra la nueva que ya tiene soporta para X sistema”. Este es solo un ejemplo, pero el más dramático es cuando la computadora completa tiene que ser reemplazada por no correr el nuevo software, que le hacemos al anterior? Lo desechamos y contribuimos al ya de por si grave problema de la basura tecnológica? Esa es otra de las fortalezas de GNU/Linux, existe tanta variedad de opciones que las hay que correrán en equipo heredado, así que esa computadora aparentemente “vieja” puede convertirse en un cortafuegos en toda regla, un servidor de archivos casero, o la máquina en la que podrán navegar y trabajar alguien que no tiene los recursos para comprarse una computadora de nueva generación, o incluso integrar a las personas mayores al mundo digital. Y también sucede con el tiempo de vida de tus periféricos, existen muchos dispositivos que dejaron de tener soporte oficial en los sistemas operativos propietarios, pero que siguen funcionando perfectamente bien en GNU/Linux.

Ahora respecto a la instalación y desinstalación de programas, GNU/Linux está muchos pasos adelante de otros sistemas operativos, al punto que la manera tan “revolucionaria” en la que se instalan aplicaciones desde centros de software y repositorios de dispositivos móviles tiene su antecedente inmediato en la manera en que se buscan e instalan aplicaciones en GNU/Linux, desde el centro de software se introducen ya sea el nombre de programa o parte de la descripción y sobre las opciones presentadas y con un click más el centro de software instala el programa y todas sus dependencias, de la misma manera se puede desinstalar el programa y cambiarlo por otro tipo de alternativas, a partir de ahí el usuario no tendrá que preocuparse por “comprar” la nueva versión, pues al actualizarse el sistema de la misma manera se actualizaran las aplicaciones, en un proceso casi transparente al usuario.

Otro punto en que GNU/Linux aventaja a otros sistemas operativos es en la baja erosión de desempeño que sufren otros sistemas. Mientras que en sistemas operativos propietarios, debido a que proceden de sistemas de administración de recursos ineficientes y muchas veces obsoletos pero que deben de mantener por razones de retrocompatiblidad. Empezando por sistemas de archivos inseguros, y de alto nivel de fragmentación, un sistema central de administración del mismo desorganizado y que mantiene entradas inneccesarias y a veces contradictorias, por tanto el equipo verá degradado paulatinamente su desempeño, cada aplicación agrava el problema del sistema de administración de recursos hasta que llega el momento inevitable en que se tiene que reinstalar el sistema, en GNU/Linux además de la posibilidad de utilizar el sistema de archivos que a uno le convenga, algunos capaces de recuperar archivos en un fallo crítico y con niveles bajísimos de fragmentación, además la configuración de un sistema GNU/Linux es transparente al usuario y no tiene algo parecido a un “Registro de Linux”, el kernel administra lo necesario a través de la información que le entregan las aplicaciones.

Por último y en una mención especial, se merece el alto nivel de personalización, uno puede personalizar la interfaz en la medida de sus necesidades, conocimiento y por qué no? capricho. Uno puede tener un escritorio minimalista que muestre lo mínimo, o una interfaz ultra ligera con elementos simples o el escritorio más avanzado con efectos en 3D completamente futurista, el límite es el gusto y por supuesto las capacidades de el equipo en cuestión.

Ahora, después de este recorrido por las ventajas, viene el momento que aunque breve, puede ser determinante para instalar o no un sistema operativo de código abierto, las desventajas.

La primera y que no es pequeña es el asunto de la compatibilidad. Existen estandares y estándares de facto, los segundos no tienen la etiqueta oficial ante instituciones como estándares pero su uso está tan extendido que se empiezan a tomar como ta, como ejemplo archivos de datos de procesadores de texto en el que cada programa tiene el propio, y generalmente la compatibilidad entre ellos es incompleta o a veces completamente deficiente, lo cual genera incertidumbre en el usuario promedio, pues muchas veces tendrá que realizar ajustes a un archivo de datos para que funcione en el programa privativo. Esto no es exclusivo de aplicaciones de software libre, es también muy común entre programas de misma naturaleza pero diferente desarrollador. Esto es especialmente grave en el caso de los formatos gráficos pues los estándares de facto al no poseer una implementación abierta tiene que irse tratando de reconstruir el propio formato en base a ingeniería inversa.

Muy de la mano con el aspecto de compatibilidad es el de la base de software disponible, aunque día con día el software libre va entregando opciones y alternativas a programas privativos, muchos carecen de la facilidad y prestaciones de la versión comercial, incluso hay nichos completos de mercado como el de la impresión en que las opciones se ven muy limitadas o el caso del Diseño Asistido por Computadora (CAD) que no tiene una alternativa competitiva para hacer la migración, a esto hay que agregarle el software de distribución vertical y hecho a la medida que aunque existen alternativas de emulación que permiten ejecutar software de otros sistemas, esa capa adicional de traducción supone una debilidad pues el rendimiento se verá afectado de medianamente hasta la posibilidad de que dicha aplicación no pueda siquiera ser instalada. Mención aparte el software de entretenimiento que tiene mucho menos opciones de código abierto, y no existen equivalencias y dadas las exigencias de recursos se hacen si no imposibles, muy difíciles de ejecutar en un entorno diferente al que fueron diseñados.

Estas situaciones aunque demasiado especificas pueden determinar el que una organización se pase a una alternativa libre o siga usando una privativa, con el consabido “más vale malo por conocido…” pero en general, en la ecuación costo – beneficio siempre es más rentable la utilización de un sistema operativo de código abierto, la prueba está en que prácticamente toda la infraestructura de la Internet, así como de supercomputo están sustentadas en soluciones de código abierto.

Licencia de Creative Commons
Ventajas y Desventajas del Software Libre by Ismael A. Acevedo Rendón is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
Based on a work at spidercast.net.

Popularity: 12% [?]