Imagen de avatar anacareaga
Ana Lilia Careaga

“Git: una curiosidad de software inspirada en la lengua inglesa”

Ana Lilia Careaga Mercadillo,   diciembre    de 2015

Abstract

Git is a pejorative word that is used in British English for silly, stupid, unpleasant or incompetent person. However, its origin comes from 1300 as an alteration of the word beget or its shortening get that insinuates that someone was misbegotten offspring or bastard. By about 1500, during the Elizabethan England, and therefore during Shakespeare´s time, it became a general term for idiot or fool. Later on, by 1700 get became git and was used as a slang until 1940 that officially was associated as illegitimacy. However, in some parts of England, Scotland and Ireland, get is still preferred to git. James Joyce uses older meaning and spelling in his Ulysses (1922) but nowadays this term is used in Britain for somebody who is seen totally useless or worthless and sometimes it is also used referring to a kid that thinks it is totally cool to act like an idiot in the Internet. On the other hand, in technology, git is a  version control software for web developers designed by Linus Torvalds in 2005. Just like Linux, git is a free software and open source distributed under GNU license. Git basically works by taking “snapshots” of files and includes merging and branching features and specific tools for visualization of the software development history. Moreover, Github refers to a web based repository of git projects and make collaboration tasks easier using specific tools such as wikis.


———————————————————————————————————

Introducción


Dicen que la curiosidad es el principal recurso que tenemos los  ingenieros aunque en realidad es una característica general y evolutiva de todo ser humano. Lo cierto es que en algunas ocasiones resulta ser un impulso desmesurado y compulsivo. La curiosidad es un impulso que emerge del interior, un fenómeno difícil de explicar pero que nos lleva a explorar lo nuevo y experimentar lo desconocido. La curiosidad es una dimensión que se abre ante un deseo profundo de saber y enormes ganas de aprender. Todos los seres humanos hemos experimentado alguna vez la curiosidad y seguramente para  la mayoría de los que estudiamos ingeniería se manifestó a temprana edad al desarmar cualquier tipo de mecanismo o artefacto. Sin embargo, en mi caso, esa curiosidad impulsiva y desmesurada me llevaba   , además de desarmar los  radios y relojes de mi casa,  a explorar el misterioso mundo que había detrás de la puerta de  la habitación de mis dos hermanos, tan diferentes entre sí pero al mismo tiempo tan afines a mí misma. Dos hermanos, dos personalidades opuestas. El mayor con una inteligencia que brillaba en la elocuencia de los números y el otro en la elocuencia de las palabras. Su cuarto era como cualquier otro   ; un par de camas separadas por un buró   , pero  para mí era un universo  entero por descubrir porque cada cama tenía una cabecera con tres compartimentos donde mis hermanos guardaban sus más preciadas cosas. Brincaba de una cama a otra motivada por la curiosidad de aprender   , de explorar cosas diferentes que no había en las dos recámaras de niñas que desbordaban de muñecas. La cama dispuesta junto al ventanal pertenecía a mi hermano mayor y ahí descubrí que mi futuro estaría relacionado con los transistores y resistencias pues ahí guardaba mi hermano un kit de radio que papá le regaló para que se adiestrara con la incipiente electrónica de los años 60ta. Confieso que de ahí “hurté” un transistor de germanio   , que aún conservo como  tesoro pues  creo que a partir de ese día  supe lo que iba a estudiar.  Pero cuando optaba por la cama de mi otro hermano, mi sensibilidad y preferencias parecían transformarse completamente y mi curiosidad manual que había tenido un instante anterior,  se convertía en palabras e imaginación. Mi hermano dueño de esta cama era un voraz lector no solo de la obra de Octavio Paz, Xavier Villaurrutia o Jaime Torres Bodet que tenía dispuestos en su cabecera   sino de diversos géneros y autores de la literatura universal. Sin embargo, tal vez en ese momento pareciera que su preferencia era la poesía y justo del lado izquierdo de su compartimiento  de la cabecera, me llamó la atención un libro rojo de bello encuadernado. Lo saqué del librero y me di cuenta que era una versión de los sonetos de amor de  William Shakespeare “ The Sonnets” , traducida al español pero también contenía el texto original en inglés. Intenté comenzar leyendo el primer soneto pero mis ansias eran tales que fui eligiéndolos al azar, primero leyéndolos en español y luego   , en voz alta, tratando de recitarlos en inglés. Esto último me resultaba difícil porque era un inglés muy diferente al que yo estudiaba en la escuela y además los idiomas nunca han sido mi aptitud. Sin embargo, al tratar de leerlos en voz alta descubrí que los sonidos que producían esos textos escritos en verso eran agradables a mi oído. A partir de ese día, mi lectura de esos sonetos se hizo  tan frecuente que muchos versos me los aprendí,  porque  al leerlos una y otra vez,  me producía un sentimiento de satisfacción y plenitud,  sin saber por qué.  Por supuesto que a esa edad no  sabía

que un soneto[1] era un poema escrito en 14 versos endecasílabos organizados en 4 estrofas (dos tercetos y dos cuartetos). Quizá lo único que pude comprender en ese entonces era el tema que trataba y que se exponía casi siempre en el primer cuarteto   . Los temas de los 154 sonetos son recurrentes y tratan de la brevedad de la vida, de la fugacidad de la belleza, del amor y las trampas del deseo.

Los sonetos de Shakespeare fueron publicados en 1609   , aparentemente sin consentimiento de su autor, pero años antes ya se habían  publicado dos ( el 138 y el 144) [2], sin embargo  hasta la fecha sigue siendo un misterio la dedicatoria que hizo el editor para su publicación de 1609. Antes del primer soneto hay un texto que dice: Al inspirador único de estos sonetos, el señor W.H., desea toda la felicidad y esta eternidad prometida por nuestro inmortal poeta, el que con sincero deseo aventura esta publicación. La identidad de Mr W.H. ha causado mucha polémica y especulaciones por lo que también se han tenido muchos candidatos y existe una lista exhaustiva de nombres a quien pudo haberse referido, como William Herbert (conde de Pembroke) y otros más pero dado que 126 de los 154 sonetos se dirigen a un joven que Shakespeare llamó “Fair Youth”, Colin Burrow[3], en su edición de Oxford University Press sugiere que esta dedicatoria la escribió deliberadamente ambigua y misteriosa el editor Thomas Thorpe con el fin de fomentar  discusión y especulación para lograr una mayor venta.[4] Por otra parte, otra de las polémicas que han tenido estos sonetos es su ordenamiento [5] que responde a una trama con argumento donde los artificios literarios han hecho pensar que los sentimientos expresados pudieran ser ficción. Pero al fin y al cabo, como dice su traductor,  Salvador Oliva [6] : “¡qué más da!” . Porque cuando uno lee esos sonetos no importa si están dedicados a un bello joven o una dama de cabello negro; si es una trama con hilo argumental o si se usan artificios literarios del barroco,  lo que importa es la belleza que transmiten , la belleza del sentimiento humano y sus metáforas universales que siguen siendo válidas en nuestra época y, después de todo, estos sonetos son , además, una muestra del dominio de su instrumento artístico: la lengua inglesa.

William Shakespeare nació en Stratford-upon-Avon en 1564 durante el reinado de Isabel I de Inglaterra y todos sabemos que es considerado el más célebre escritor de la lengua inglesa, comparable a su contemporáneo español Miguel de Cervantes Saavedra. Conocido en ese entonces como “El Bardo” (“poeta de los antiguos celtas”  ),  se le atribuyen  un total de 37 obras de teatro que comprenden comedias, historias y tragedias y cinco obras poéticas que incluyen los Sonetos; pero pese a que se rumora que su obra la copió de otros autores, o más aún, que simplemente no existió, a Shakespeare se le atribuye también haber enriquecido la lengua inglesa con 1776 palabras ya que de los más de  450,000 términos que actualmente registra el Oxford English Dictionary, estas 1776 palabras se registraron por primera vez en sus obras.

Obras completas de William Shakespeare


FUENTE: http://shakespeare.mit.edu/

Considerando que el británico promedio de los tiempos actuales no utiliza más de 2,800 palabras en su vida diaria, esa cifra de 1776 palabras que se le reconocen a Shakespeare, aun no habiéndolas inventado él en su totalidad   , resulta ser  un número relevante. Por lo tanto, además de haber escrito “el teatro de la humanidad” y la “poesía del amor”, a Shakespeare le debemos el idioma inglés tal y como lo conocemos hoy. Palabras como “bedroom”, “blanket”, “dawn”, “addiction” o “radiance” , no las estaríamos usando en la actualidad. No obstante, a pesar de que por muchos años se ha afirmado que Shakespeare fue capaz de desplegar una mayor variedad lingüística que otros dramaturgos isabelinos como  Christopher  Marlowe o Thomas Kyd, recientemente se ha impulsado un análisis académico computarizado para desmentir este hecho y expertos en Shakespeare afirman que esta creencia ha sido más bien un mito cultural de nuestra época   . En realidad, es tan imposible saber si Shakespeare inventó esa cantidad de palabras como saber si  fue el primero que las escribió en papel   , pero nadie puede negar que la belleza que le dio a esas palabras es un logro artístico inigualable. No importa si Shakespeare no existió como tal, si le copió a alguien sus ideas, si fue homosexual, si fue hombre o mujer….lo que importa es que su obra está ahí para que disfrutemos su estética y  gocemos una destreza lingüística inigualable , tanto  en su gramática como en su vocabulario que dieron lugar al inglés moderno.

A pesar de que el inglés es una lengua germánica, gran parte de las palabras que se usan en el inglés moderno provienen de raíces griegas y latinas. De hecho, sólo aproximadamente el 17 % de las palabras provienen del inglés antiguo (el que se habló entre 450 y  1100 dC). Ya para el siglo X el dialecto anglosajón era el idioma oficial de Bretaña que en sus orígenes se escribía con un alfabeto rúnico[7] y no latino   influenciado por los  países escandinavos. El ejemplo más relevante del inglés antiguo es el poema épico anglosajón “Beowulf”, escrito hacia el año 1100. Posteriormente, la conquista normanda y la llegada de la imprenta a Inglaterra serían algunos factores clave para el desarrollo de la lengua inglesa   . La mezcla del inglés con el idioma anglonormando dio origen a lo que se conoce como inglés medio. Ejemplo de este tipo de inglés son “Los Cuentos de Canterbury” de Geoffrey Chaucer. Más tarde, durante el periodo isabelino el dialecto de Londres   , lugar donde se encontraban casi la totalidad de las editoriales, se convirtió en el estándar del inglés moderno enriquecido por Shakespeare , el cual  es la base del inglés moderno tardío que se emplea en la actualidad. La principal diferencia entre el inglés moderno temprano y tardío no es la gramática ni la pronunciación, ni siquiera la ortografía; es el vocabulario. A partir de la Revolución Industrial y las dos Guerras Mundiales fue necesario crear nuevos términos para designar ideas y objetos que no existían; muchos de ellos derivaron nuevamente del griego y del latín y otros tantos del  mismo inglés  (   por ejemplo los términos tecnológicos como bit, Byte, blog o pen-drive). Pero por otro lado, algunos términos tecnológicos se han inspirado en vocablos y antiguas expresiones que datan de los tiempos isabelinos. Tal es el caso de git, palabra usada en tecnología para designar un software  de control de versiones para el desarrollo de aplicaciones que corren en plataforma Linux  creado  por Linus Torvalds (creador también de Linux),  pero que tiene sus orígenes en el acortamiento de la palabra “beget” (get) para insinuar que alguien tiene descendencia bastarda. Posteriormente  “get” se transformó en “git” como término peyorativo que en el argot británico se le asigna a una persona desagradable, tonta o incompetente. Torvalds ha bromeado sobre el nombre con el que autodenominó su proyecto “Git” diciendo : “Yo mismo soy un bastardo egoísta y nombro mis proyectos sobre mí mismo; primero con Linux, ahora con “Git”. La página de git describe a este software como “el estúpido rastreador de contenido”, pero al mismo tiempo git tiene, para los británicos significados distintos.

¿Quieres saber más sobre Git y su significado para los programadores?


Continúa leyendo…

………………………………………………………………………………………………

Comenzando con lo básico:  ¿Qué es el sistema operativo Linux?


En diversos artículos ya he explicado la función de un sistema operativo, pero vale la pena recordarlo. El sistema operativo es el organizador y gestor de todas las actividades que está realizando o que puede realizar una computadora, por lo tanto   , antes de querer hacer cualquier cosa es necesario cargarlo antes y por ello es que se carga automáticamente al encender la computadora. En pocas palabras, el sistema operativo es el intermediario entre los componentes electrónicos (hardware) y los programas (software) de la computadora.

Linux es un sistema operativo de libre distribución ( free software ) y de código abierto (open source) creado en 1990 por Linus Torvalds, entonces un estudiante finlandés de la universidad de Helsinki. Torvalds toma la idea de su profesor  alemán de informática Andrew Tanembaum quien creó una versión “ligera” del sistema operativo UNIX con el fin de enseñar mejor a sus alumnos. A esta versión, Tanembaum la llamó MINIX pero  Linus Torvalds la mejora y en un ataque compulsivo de paternidad la denomina Linux. Parte del éxito que se ha tenido con el sistema operativo Linux es el hecho de que al ser un software de libre distribución y de código abierto   , hay una gran comunidad de desarrolladores que crean aplicaciones que se despliegan en esta plataforma sin requerir ningún derecho, alianza o licencia (como sucede con Windows). Existen muchas y variadas distribuciones de Linux, pero las más conocidas son Debian, Red Hat, Centos y Ubuntu.

Por otra parte, años más tarde, Linus Torvalds creó un sistema de control de versiones (que corren en Linux)  para facilitar al desarrollador de software la administración de su proyecto permitiéndole saber los cambios que realizó. A este sistema lo denominó Git y a su motor Github, que consiste en un sitio web que hace posible compartir el código fuente de manera más fácil y colaborativa.

La mayor parte de las aplicaciones que corren en Linux como Google, emplean git y actualmente su uso se ha vuelto muy popular entre los desarrolladores de software.

Git: Una breve historia

Como muchas cosas en la vida, git nació de una creatividad y controversia ardiente. Durante el período 1991-2002 Linux (o más bien su kernel o núcleo) tuvo un gran alcance y se empleó en un gran número de aplicaciones web por lo que fue necesario realizar algunos cambios en el sistema operativo a través de parches y copias archivadas. Para el año 2002 se estuvo empleando un sistema propietario llamado Bitkeeper con el fin de administrar los proyectos grandes pero a pesar de su popularidad, en 2005 la comunidad Linux la rechazó. En ese momento, Linus Torvalds , el creador de Linux, se vio en la necesidad de crear su propia herramienta gratuita tomando algunas lecciones aprendidas de su antecesor BitKeeper. Algunos de los aspectos donde tomó especial atención fueron los siguientes:

  • Velocidad
  • Simplicidad en el diseño
  • Distribuido
  • Manejo de gran cantidad de proyectos con el kernel Linux

Desde su nacimiento en 2005, git ha evolucionado y madurado para ser fácil de usar y  conservar  sus cualidades iniciales. Es increíblemente rápido,  muy eficiente con grandes proyectos, tiene un sistema de ramificación increíble para el desarrollo no lineal y es una estupenda herramienta para gestionar la colaboración de del desarrollo de código en el tiempo (“merge and branching”).

Git: Características

La principal característica y ventaja de git es la manera en que modela sus datos. A diferencia de otros sistemas como CVS o Bazaar[8], git almacena los datos como un conjunto de archivos instantáneos de manera que cada vez que se realiza un cambio y se confirma   , se hace una “foto” (o “snapshot”) del aspecto de todos los archivos en ese instante. Si no hay modificaciones, no se almacena un archivo nuevo, como se muestra en la siguiente figura:

Otra característica importante a destacar de git es que la mayoría de las operaciones solo necesitan los archivos y recursos locales, por lo que rara vez requerirá otro servidor en la red. Por ejemplo, para navegar por la historia de algún proyecto, no requiere ir a buscar un servidor y extraerla de ahí sino lo hace a partir de su base de datos local. Cualquier proceso git lo realiza con integridad, es decir, realiza el checksum antes de almacenar la información. Lo anterior lo hace a través de la comprobación conocida como hash o SHA-1 empleando 40 caracteres hexadecimales.

Quizá lo más importante que debes saber de git es que reconoce tres estados para tus archivos: confirmado (commited), modificado (modified) y preparado (staged). Lo anterior, por lógica nos lleva a concluir que un proyecto git consta de tres secciones: el directorio git (git directory), el directorio de trabajo (working directory) y área de preparación (staging area).

A continuación se resumen las principales características de git:

  • Ofrece una auditoría del código a través de la cual se puede saber quién ha modificado algo   y cuándo
  • Control sobre cambios del  proyecto a través  del tiempo
  • Deshacer funciones y volver atrás de una manera rápida
  • Control de versiones mediante etiquetas como  v1.0, v1.0, v1.2, etc. Y saber exactamente las diferencias entre ellas.
  • Seguridad empleando SHA1 (Secure Hash Algorithm 1 ) y firmar todas las estructuras internas de manera que nadie pueda cambiar el código. Mejora nuestra capacidad de trabajar en equipo
  • “Branching and Merging” eficientes

Si deseas documentarte más sobre git o si deseas instalarlo, entra aquí:

http://git-scm.com/docs/gittutorial y http://git-scm.com/video/what-is-git

GitHub


GitHub o más bien, github.com es un servicio que aloja repositorios de proyectos de software creados en plataforma Linux y gestionadas con el sistema de control de versiones git. Es importante resaltar que la importancia de GitHub está centrada en la comunidad de desarrolladores de software libre por lo que su misión principal es hacer posible la colaboración mediante una herramienta fácil  y flexible de usar. A pesar de que su uso es gratuito cuando se trata de proyectos públicos, es pertinente aclarar que GitHub se considera un proyecto comercial porque tiene un modelo de negocio que permite la inyección de capital. Debido a ello, también tiene planes con costo para los proyectos de desarrollo privados. Proyectos como Ruby on Rails, jQuery, CakePHP, Redis, node.js y el SDK de Facebook son algunos ejemplos de desarrollos que se alojan en GItHub.

Los planes tarifarios varían desde la versión pública gratuita hasta un plan empresarial y puedes consultarlos en : https://github.com/pricing

GitHub , además de ser un servicio de alojamiento de código, provee una variedad de herramientas que facilitan el trabajo colaborativo, algunos ejemplos de éstas son:

  • Una wiki  conocida con el nombre de gollum
  • Sistema de seguimiento de problemas a modo de “tickets”
  • Herramienta de revisión de código, mediante la cual pueden añadirse anotaciones
  • Excelente visor de ramas donde es posible comparar los progresos realizados en las diferentes ramas del repositorio.
  • Herramienta de funcionalidades “fork” y “pulls”

Pero algo importante de mencionar sobre GitHub es que además de ser una herramienta de gestión de proyectos se ha convertido en una herramienta exitosa para contratar ingenieros de desarrollo de software. Por ello es recomendable para los que desean buscar trabajo, permanecer con su perfil activo.

Conclusiones

Albert Einstein decía que él no tenía ningún talento especial sino que simplemente era “apasionadamente curioso”. Por supuesto que nadie duda de su mente privilegiada pero ésta era motivada   siempre por la curiosidad. Estudios recientes que se realizaron en Caltech sobre la curiosidad en los estudiantes de ingeniería arrojaron resultados interesantes. Lo primero que se determinó es que la curiosidad está relacionada con la personalidad de cada quien pero en todos los casos  presenta una curva en forma de U , es decir, somos más curiosos cuando poco conocemos de un tema ya que el conocer lo suficientemente poco nos produce una especie de comezón mental que nos lleva a buscar nuevos conocimientos para saciar la picazón. Sin duda alguna, personas como Linus Torvalds y muchos desarrolladores web iniciaron sus proyectos a partir de una simple pero gran curiosidad.


[1] En un soneto,  los versos se organizan en 4 estrofas: 2 cuartetos y dos  tercetos  . Aunque la distribución del contenido del soneto no es estricta, puede decirse que el primer cuarteto presenta el tema del soneto, y que el segundo lo amplifica o lo desarrolla. El primer terceto reflexiona sobre la idea central, o expresa algún sentimiento vinculado con el tema de los cuartetos. El terceto final, el más emotivo, remata con una reflexión grave o con un sentimiento profundo, en ambos casos, desatados por los versos anteriores. De esta manera, el soneto clásico presenta una introducción, un desarrollo y una conclusión en el último terceto, que de algún modo da sentido al resto del poema.

[2] El soneto número 138 (“When my love swears that she is made of truth”) y el 144 (“Two loves have I, of comfort and despair”) habían sido previamente publicados en una miscelánea de  1599  titulada  “The Passionate Pilgrim”

[3] Profesor de Literatura inglesa del Renacimiento en Oxford University

[4] Burrow, Colin (ed.) The Complete Sonnets and Poems (OUP, 2002), p. 98-102-3.

[5] Del soneto 1 al 17 se dirigen a un joven “Fair Youth” aconsejándole casarse y tener hijos para que su belleza se la heredara a ellos. A estos sonetos se les denominó “sonetos de procreación”. Los sonetos del 18 al 126 también se dirigen al joven expresándole su amor; mientras que los sonetos del 127 al 152 expresan el amor a una dama de cabello oscuro o “Dark Lady”. Los dos últimos sonetos son alegóricos.

[6] Escritor y traductor de las obras de Shakespeare en  español

[7] Los alfabetos rúnicos son un grupo de alfabetos que comparten el uso de unas letras llamadas runas, que se emplearon para escribir en las  lenguas germánicas principalmente en  Escandinavia y las islas Británicas.

[8] Bazaar es un sistema de  control de versiones distribuido patrocinado por Canonical LTD., diseñado para facilitar la contribución en proyectos de software libre y open source

Deja un comentario