
Hace rato estaba en el trabajo, el servidor del dominio y el active directory se vinieron abajo, despues de un rato todo de nuevo arriba, menos el internet que por alguna razon simplemente opto por dejarnos morir, yo estaba algo aburrido, ayer precisamente me habia encargado de no dejar pendientes para hoy para irme temprano, pero con el internet descompuesto tenia que esperarme para levantar unos servicios y el servidor del antivirus y bla bla bla, asi que me llegaron un par de ideas y aqui se las transcribo:
Todos tenemos inicios variados y diferentes pero que a pesar de las diferencias son básicamente la misma forma, algunos venimos de “apt-get” otros de un “emerge” algunos otros vienen de un perfeccionismo más alto y nacen de un código fuente, también hay quienes son tan superficiales y vacios que comienzan de un binario, pero este no es el momento para hablar de estas entidades.
Generalmente al comenzar nuestra existencia somos una simple aplicación carente de documentación y de archivos de configuración, pero con el tiempo nuestros valores en los .conf poco a poco nos dan forma de nuestra forma de ser y comportarnos, size, weight, psicopataMode=on, etc. pero hay que tener cuidado, ya que muchas de estas características no son modificables fácilmente, y reiniciar servicios no es la mejor opción, muchos le llaman a esto volver a nacer, en ocasiones un choque, una iluminación o simplemente un kernel panic.
Obviamente también hay de equipos de desarrollo a equipos de desarrollo, hay programas que surgen siendo planeados, con arquitectos de software, jefes de proyecto, algunos aparecen simplemente por una pasión y/o accidente, también están los programas bastardos que nacen de una iniciativa, pero los desarrolladores generalmente tienen poca terminativa y abandonan el proyecto, sin embargo el venir de una casa de software con un gran capital no es sinónimo de éxito seguro, tampoco el surgir de raíces humildes implica mala calidad, de hecho muchos de los mejores programas han surgido de pequeñas computadoras, e incluso siendo producto de un mal desarrollador en un mal lenguaje y en la peor plataforma se puede ser una programa ejemplar, lo importante es mantener una fuente abierta y libre para aceptar lo que los demás nos puedan aportar y no cerrarnos a los comentarios ajenos como lo hacen los binarios.
A lo largo de nuestra existencia adquiriremos “patchs” que nos corregirán defectos, ampliaremos nuestros “man pages” y algunos quizás modifiquen los “flags” uno muy común actualmente es el de –gay y el de –emo, y todo esto gracias a que conoceremos muchos otros desarrolladores aparte de los que engendraron, y cada uno de ellos aportara en mayor o menor medida a tu core.c y ya conforme esto obtendrás una identidad personal, quizás te vuelvas famoso y carismático, tanto que te encuentres en todos los repositorios de todas las distros, quizás te vuelvas una aplicación binaria llena de propaganda y virus encapsulados con un código fúnebre que te instale en un servidor burocrático de alto nivel, pero quizás seas como el resto de todos nosotros, una aplicación promedio de características promedio, con features de mas, features de menos. Lo cual no está mal, muchos no ven que el ser una aplicación glamurosa del top ten implica en ocasiones mal gastar muchos recursos en una GUI descuidando el backend y el core, es preferible estar balanceado, obviamente tampoco es bueno convertirse es una de esas aplicaciones que son tan complejas que por paranoicas y excéntricas únicamente se comunican por consola manejando llaves simétricas de 4096 bits que al final de cuentas terminan en un circulo muy cerrado de desarrolladores, es por eso la importancia de mantenerse abierto para permitir la diversidad.
Y si, muchas veces eso implica muchos bugs de seguridad, pero cada bug parcheado nos dará un crecimiento, también siempre hay que mantener las ACLs controladas de nuestros CVS, tampoco queremos que cualquiera cambie nuestro funcionamiento y también ser precavido y tener unos chmods restrictivos en un par de configs, generalmente eso se aprende después de la adolescencia cuando muchas veces nos encontramos con permisos 777.
Si somos afortunados quizás encontremos alguna otra aplicación que nos enriquezca ya la interacción varia mucho, hay quienes implementan middlewares para comunicarse, algunos programas intercambian fragmentos de código, algunos otros se fusionan y al hablar de fusión es cuando realmente surge algo nuevo y sorprendente, y es también hermoso y delicado, para muchos o quizás la gran mayoría de las aplicaciones esta es meta de proyecto, quizás simplemente por costumbre o tal vez por la experiencia tan enriquecedora y reto que implica, de una u otra forma esto lleva en muchas ocasiones quizás la mayoría a el surgimiento de nuevos forks ya que básicamente no siempre es posible fusionar dos proyectos así como así, es necesario crear uno nuevo y moldearlo, aunque es la forma más común, no es la única en la que nacen los nuevos proyectos, también un desbordamiento de buffer puede hacer que dos aplicaciones terminen mezclando código y otras tantas que van desde exploits hasta fusiones por intereses capitales.
Las aspiraciones de los programas son tan variadas y diferentes como un cat a /dev/urandom la gran mayoría de los programas promedio son felices con tener un “~/” decente desfragmentado, de preferencia un buen filesystem y obviamente un /proc con lo más nuevo y si eres afortunado buscaras implementar tus mejores líneas de código en tus forks, aunque eso es en realidad bastante difícil, pareciera que los forks tienen un argumento de “deny from parent” alguna regla de iptables o simplemente las diferencias interés de versión de código hacen esto muy difícil y solo es posible ser tester y vivir en bugzilla la faces betas y alfas, en algunos casos toda el proyecto.
Al final somos proyectos maduros, llenos de parches y con una increíble documentación, lamentablemente nuestra estabilidad ya es la que era en sus tiempos mozos, y hemos sido remplazados y dados de baja en casi todos los inits, nuestra fuerza son las millones de líneas de código con las que contamos y los comentarios, la documentación y experiencia aportada, lamentablemente se subvalora con argumentos de que las excepciones y eventos ya no se manejan así, ese código se utiliza únicamente en sistemas legacy, ese lenguaje esta deprecated, y otras tantas. Al final del día el proyecto muere y la aplicación se mueve a /dev/null, la documentación es lo único que se guarda para futuras versiones, algunos creen que los proyectos renacen en cada fork textual o literalmente no se, otros piensan que si no implementamos coffe ni coke y heredamos del modulo de joseSmith ganamos un make install en / otros piensan que el código es inmortal y /dev/null/ es el paso a un nuevo filesystem, otros piensan en la reencarnación del código que después de ser programa reencarnaremos en un modulo, un BIOS, una librería o quizás una pelusa en el disipador, una gran mayoría piensa que en la era del ensamblador del 8086 vino un programa que nos salvo de nuestros bugs y nos dará SSH a un servidor del cloud computing con uptime infinito yo particularmente creo en la inmortalidad, mas como acto poético que como carnal, creo que después de dev/null no hay nada y es como la cosa funciona, no creo que exista el gran programador y si existe probablemente sea gamer y disfrute con dar headshots o jugar sims y dudo mucho que le diera cargo de conciencia limpiar los temporales de vez en cuando, solo me queda dejar la mejor documentación posible e intentar arreglar la mayor cantidad de bugs y así quizás permanecer en los créditos y agradecimientos de algún README que perdure por la historia.
Popularity: 26% [?]
Wikipedia:
CVS GUI SSH