Apuntes

Git
Algunas notas alrededor de Git y la tecnología creada alrededor de éste en varios sistemas operativos. Un registro y recordatorio de lo qué hice y cómo lo hice con esta herramienta de control de versiones. Estas notas son sólo para registrar la experiencia de uso de la utilería, no se busca sea una documentación formal ni un tutorial. Simplemente se trata de un registro de cómo ha resultado el uso de este producto y la resolución de algunos problemas, siempre buscando puedan ser de utilidad para alguien más.

CentOS
A la par de VirtualBox surgió mi interés en CentOS, pues fue el sistema operativo con el que creé mi primera máquina virtual. Estas notas describen mi experiencia en la instalación, mantenimiento y actividades con CentOS. Éstas se han tratado de organizar lo mejor posible para servir de referencia a su autor. La página es actualizada según se van aprendiendo cosas o se vayan necesitando, siendo a veces publicadas “en crudo” y posteriormente refinadas, aunque puede tardar.

Apple
Todo lo que tenga que ver con la compañía de la manzana, odiada por muchos y venerada por algunos menos. Inicialmente, las páginas que ahora se acceden a través de esta página eran temas sueltos, pero han venido creciendo mucho y colectarlas en un único punto de entrada ha parecido ser lo más lógico. Si bien el contenido está más orientado al software, también hay considerados varios temas de hardware (aunque no es mucho, ni tiene páginas dedicadas), para completar el panorama.

swirl
swirl es un paquete de R que permite convertir la consola de su intérprete en un ambiente de aprendizaje interactivo. Cuando supe de este paquete, me pareció muy práctico e interesante, pero en la práctica no he podido emplearlo. de cualquier modo, decidí dejar las pocos notas que sobre éste tomé esperando que en un futuro no muy lejano lo retome, o al menos que a alguien le resulten de utilidad. Si ese es el caso, me gustaría saber de ello y del uso dado a este paquete.

Freeling
Freeling es una suite de analizadores lingüísticos desarrollados y mantenidos por el TALP Research Center de la Universitat Politècnica de Catalunya. Estas notas son un registro de la experiencia personal en el proceso de instalación y uso de esta herramienta, que conocí y aprendí a usar durante mi doctorado en lingüística computacional en el Centro de Investigación en Computación del Instituto Politécnico Nacional, Ciudad de México. Comentarios son bienvenidos.

Octave
Inicialmente pensada para ser una buena descripción de este paquete que compite con MatLab, esta página quedó abandonada un buen tiempo. Finalmente retomé este tema y veo ahora que este proyecto ha avanzado desde la versión 3.8 a la 4.4. Así, una actualización substancial se ha hecho en el contenido, esperando sea de interés y utilidad para alguien más que sólo lo vea como un pasatiempo ocasional.

Python
Todo lo relacionado con la tecnología generada alrededor del lenguaje de programación Python. Al igual que muchas de otras páginas, aquí no se ha buscado elaborar un tutorial pero no dudo que algunas cosas pueden ser de utilidad para otros y creo que por lo menos vale la pena conservar algo del tiempo y esfuerzo invertido en el uso de este lenguaje de programación y de todo lo que se ha creado a su alrededor.

BASH
Hubo una época en la que decidí aprender y hacer buen uso de un shell de Unix. En aquél entonces elegí el Korn shell. Junto con algunas utilerías más (especialmente AWK), sentía que podía hacer cualquier cosa, cualquiera, en Unix. Ahora que he descubierto y empiezo a conocer el BASH, ese sentimiento ha regresado, pero también ha crecido. Bien usado puede superar a un lenguaje de programación.

C++
Esta es otra página que no ha crecido como esperaba. Pese a lo que muchos digan, este es uno de los lenguajes de programación más rico sintáctica y computacionalmente hablando, y también de los más difíciles de dominar. Un lenguaje del que podemos estar seguros que cuando nos encontremos con alguien que, con mucha seguridad y arrogancia, nos asegure ser “experto en C++”, podemos asegurar que no, no lo es. Pese a su dificultad, conviene conocerlo.

jq
Esta es tanto una utilería como un lenguaje de programación de propósito especial (orientado al procesamiento de estructuras JSON). No es un lenguaje fácil de dominar (de hecho es un lenguaje con una estructura sintáctica y flujo de funcionamiento bastante peculiar), pero cuando se logra, es una maravilla lo que puede hacerse con este a nivel de shell scripting, ahorrándonos la necesidad de tener que elaborar elaborados programas en otros lenguajes.

Oniguruma
Con un significado en su nombre acerca del “carruaje de los Oni”, Oniguruma (鬼車), escrita por K. Kosako, es una biblioteca con licencia BSD que soporta distintos esquemas de codificación de caracteres y es empleada ampliamente como motor de expresiones regulares en, por ejemplo, el lenguaje de programación Ruby, en PHP, y en productos como Atom, TextMate, Sublime Text, SubEthaEdit y, por supuesto, jq. Este es un recuento de su utilización en la compilación de otras utilerías.

Microsoft Office
Son varias las entradas ya que tengo publicadas sobre alguno de los programas del MS Office. Para muchos esta suite es un estándar obligado y para otros un gasto o una imposición de una maléfica compañía que busca dominar al mundo (o al menos así parecía). Pues nos guste o no, la suite de Microsoft gobierna la autopublicación y la documentación electrónica, y aunque iniciativas como Google Docs y Libre Office han dado batalla, MS Office reina aún.

Mendeley
Mendeley es más que un simple administrador de referencias, al ser una red social también, junto con herramientas móviles y servicios web, puede llegar a ser un administrador de conocimientos si se sabe usar. Desafortunadamente, como todo servicios gratuito, no hay una garantía y el soporte es limitado. Estos son mis apuntes al respecto del uso del cliente (Mendeley Desktop), la red social, servicios y la explotación de la tecnología detrás de todo esto.

Minería de datos y desarrollo de aplicaciones en Twitter
Aquí reuno mucho de lo que he aprendido al respecto del uso y explotación de Twitter para la automatización de actividades de minería de datos y procesamiento de lenguaje natural empleando a este servicio como corpus. Este servicio de microblogging es en realidad algo que nos puede dar una perfecta idea del latir de las ideas y las tendencias de los habitantes de este planeta.
Leer más Minería de datos y desarrollo de aplicaciones en Twitter

REST
Aunque no suelo escribir tutoriales, pues creo que hay muchos ya en la web, no pude evitar hacer uno simple y sencillo ante la enorme cantidad de material y referencias a los que fui expuesto al respecto del concepto arquitectónico del REpresentational State Transfer (REST) en un breve periodo de tiempo. Si alguien lo encuentra útil me gustaría saber de ello, incluso también si hay algo que pudiera servir para hacerlo crecer y aumentar su utilidad.

Análisis de Redes Sociales
Un arte y a la vez toda una ciencia. El estudio del los elementos, las relaciones que se establecen entre éstos, las estructuras que resultan de los elementos y sus relaciones, y lo que fluye a través de los elementos interconectados, es lo que que se denomina “análisis de redes sociales”. Una ciencia que surge en el siglo XX pero que se ha consolidado en el XXI y que ha generado especializaciones como la orientada a las redes sociales digitales.

AWS
Leer de la historia de empresas exitosas que han surgido de y en la Internet, no difiere mucho de la historia de empresas del mundo físico, salvo por dos cosas: la velocidad y la rentabilidad. El caso de Amazon es uno de los más sobresalientes, no sólo por la velocidad con la que creció sino por la enorme cantidad de dinero que ha generado, el marco tecnológico que ha creado y la infraestructura tecnológica detrás de ello.

Windows
Windows es un claro ejemplo del porqué la humanidad está condenada. Algo que surgió con tantas limitantes y problemas se perpetuó para traernos más trabajo y problemas de los que inicialmnete se buscaba resolver. La mayoría de la gente debe lidiar con este marco de dolores de cabeza porque es lo comercialmente más barato de conseguir. Este compendio de experiancias y soluciones busca exponer un poco de lo que en este aspecto me ha tocado lidiar y cómo se ha hecho.

Jupyter
Julia, Python y R, son los nombres de los que se deriva el acrónimo Jupyter. Se trata de una nueva forma de generar notas y experimentar con estos tres lenguajes de programación de una forma en la que se acerca mucho a la elaboración de cuadernos de apuntes. Incluso es factible concebir el prototipado de aplicaciones de una forma nueva y diferente. Estos apuntes no es para esto último sino sobre la instalación, configuración y uso de esta plataforma.

GNU Make
Algunas notas en el uso (e incluso abuso) de la utilería de administración para compilación make(1) en la versión de la distribución GNU. Esta página no es ni un manual de uso ni un tutorial. Lo que aquí se presenta es meramente un conjunto de anotaciones sobre actividades recurrentes, necesidades especiales, “paradojas” o extraños problemas con que el autor de éstas se ha topado en el uso de esta utilería o en la administración de proyectos donde se ha (para bien o para mal) empleado.

Chromium
Ya había leído hace tiempo de este proyecto. Pensaba que era un sucesor o reemplazo del actual navegador Chrome de Google pero en realidad se trata de un proyecto paralelo. Supongo que Google lo inició y mantiene (de alguna forma) para tener un elemento de control o laboratorio de cosas que buscara probar para incorporarlas en Chrome. Desde hacía tiempo que tenía curiosidad en saber que tan complicadas eran estas cosas.

Synergy
Anotas y apuntes en el uso de una utilería para poder compartir un teclado y un ratón entre al menos dos equipos. En estos apuntes están registrados los intentos por recrear la utilería desde el proyecto de open source que el desarrollador mantiene, así como el uso del producto comercial. Por el momento, para el primer aspecto, es un intento fallido e infructuoso… un problema abierto que quizás algún día sea retomado.

Go
Mi interés por Go nació al saber de la implementación de un generador de valores para una variante de identificadores únicos universales (UUID). Me pareció interesante saber por qué se desarrollaría un lenguaje de programación con un estilo C/C++ en esta época. ¿Realmente soluciona los problemas que estos lenguajes experimentan actualmente? Opiniones sobra, así que decidí juzgarlo por mi mismo.

OpenCV
El procesamiento de imágenes nunca fue algo que me llamara la atención. Siempre se me hizo un campo algo obscuro, complicado y poco atractivo. No ha sido hasta recientemente que he tenido que profesionalmente dedicarme a ello y así cierto interés ha nacido al respecto. Este interés se ha dirigido al uso de un framework de desarrollo conocido como OpenCV y así es que he tenido que sumergirme en un campo del procesamiento de datos sobre el que he debido a prender muchas cosas y conceptos. Estas son unas notas que mezclan mucho de este aprendizaje aunque enfocadas principalmente a OpenCV.

X Windows System
Mi primer conocimiento de X fue hace muchos años, al menos de su existencia. Un servidor Sun incluía éste y otra interfaz gráfica pero, a diferencia de lo que Microsoft nos había acostumbrado, el bootsrapping de éstos tomaba 5 o más minutos. Desde aquél entonces siempre pensé que las interfaces gráficas en Unix serían lentísimas; Unix, para mí siempre fue y sería de línea de comando. Unos 10 años después me toparía nuevamente con X al ser incluido con Mac OS X desde sus primeras versiones. Igualmente, se me hizo algo engorroso tener que “levantar un servidor para tener que visualizar cosas.”

Autotools
Mi primer conocimiento de X fue hace muchos años, al menos de su existencia. Un servidor Sun incluía éste y otra interfaz gráfica pero, a diferencia de lo que Microsoft nos había acostumbrado, el bootsrapping de éstos tomaba 5 o más minutos. Desde aquél entonces siempre pensé que las interfaces gráficas en Unix serían lentísimas; Unix, para mí siempre fue y sería de línea de comando. Unos 10 años después me toparía nuevamente con X al ser incluido con Mac OS X desde sus primeras versiones. Igualmente, se me hizo algo engorroso tener que “levantar un servidor para tener que visualizar cosas.”

Visual Studio Code
Anotas y apuntes en el uso de este editor desarrollado por Microsoft. Después de haberlo utilizado un rato he empezado a familiarizar y a gustarme. No es tan sólo un editor pero no se si decirle IDE sea lo apropiado (hay quien dice que éste no es un IDE), pero no es un simple editror. Un editor vi, VIm o Notepad. VS Code permite hacer algo más que simplemente editar. Hasta cierto punto permite llevar un ciclo de desarrollo que muchos no catlogarían de modesto o personal, simplemente carece de características para cosas más complicadas. Hay que reconocer que este producto es muy bueno.

Apache Software Foundation
Algunas notas en la instalación y uso del software de la fundación Apache que he tenido la oportunidad de probar, al menos dos de ellos profesionalmente. Basta darse una vuelta por el sitio web de esta fundación, que promueve el desarrollo de aplicaciones de código abierto, para darse cuenta de la importancia de ésta en el funcionamiento del mundo digital actual. Mucho tiempo ha pasado desde la aparición del Apache Web Server y mucho se ha diversificado esta organización en una amplia gama de proyectos de software para individualmente darles seguimiento.