Nanoalgoritmos

Esta es una de las secciones más importantes en todo este sitio.

Los nanoalgoritmos son pequeños tips totalmente prácticos, acompañados de la teoría necesaria para entenderlos de manera completa y fácil, y que son las partes genéricas que conforman los componentes de cualquier objeto, asunto, problema, algoritmo o entidad más grande.

Los nanoalgoritmos son necesarios porque de hecho son los recordatorios de todas las partículas “atómicas” y “sub-atómicas” del conocimiento de un tema, y todos los usamos siempre y cuando aplicamos pequeños pero vitales trucos en nuestras actividades, cualesquiera que estas sean.

Son diferentes de los algoritmos porque los algoritmos son el equivalente a los elementos químicos de la tabla periódica, que son únicos y tienen muchas propiedades, descripción, estructura, definidos.

También son diferentes de las implementaciones completas que forman un programa considerablemente complejo y compuesto por partículas que no tienen relación directa entre sí.

Recuperar y separar la información de cada truco proveniente de un sistema complejo nos permitirá hacer reutilizable esa información en cualquier otra tarea desde el primer intento, y no importa lo dispares que sean estas nanopartículas lógicas, porque todas estas son clasificables en subcategorías y temas muy específicos, que ninguna otra combinación lógica puede reemplazar perfectamente.

Así que esta sección trata de recoger todas las partículas de conocimiento que logremos distinguir, de cualquier tema, y clasificarlas apropiadamente y de forma intuitiva y fácil de encontrar, en orden de precedencia. De esta forma hasta información que no es inmediata o completamente aplicable en el presente llega a serlo, cuando se recopila un conjunto consistente y combinable en la práctica de estas nanopartículas.

Como nota final, el peligro de trabajar sin una estructura de este tipo casi seguramente provoca siempre que el trabajo hecho, los programas creados y las ideas concebidas, se vuelvan mucho menos claros a medida que pasa el tiempo, porque esas ideas se han perdido en lugar de haber quedado registradas en esta canasta de nanopartículas lógicas, de las que se pueden recuperar una y otra vez, en lugar de arriesgar que esas idas valiosas, resultado de esfuerzo, estudio, prueba y error, vuelvan a quedar dispersas y difícilmente distinguibles entre el olvido, los errores, y nuevos problemas pendientes que resolver.

Así sea poco o mucho lo logrado, rápida o lentamente, con errores y omisiones entre dos nanoalgoritmos tratando de formar un algoritmo o implementación completa, lo que sí haya sido realmente dominado queda con absoluta seguridad registrado para trabajar desde allí y no tener que retroceder ni aumentar la confusión, frustración ni el tiempo perdido.


Documentando Nanoalgoritmos sin Tener Información

Si hay un tema para el que NECESITO un nanoalgoritmo, pero no tengo información actualmente, aún así creo los archivos, directorios y cualquier otro elemento VACÍO para que no se me olvide que necesito ese nagoalgoritmo, y así avanzo en la práctica en por lo menos dejar un registro de esa necesidad a llenar, tan pronto como pueda, con toda la estructura requerida y categorizada. Si vuelvo a buscar ese nanoalgoritmo y veo que el archivo en el que debería estar, está vació, me sirve de recordatorio para seguir avanzando en la meta de lograr obtener ese nanoalgoritmo.

Puedo poner un contador en ese archivo, para recordarme cuántas veces he necesitado ese nanoalgoritmo pero no lo he obtenido todavía. Esto también es una autodocumentación para que pueda hacer preguntas a expertos, y así llenar inmediatamente los vacíos, y todo en un repositorio que, haga lo que haga, rebosa de todo tipo de información y metainformación, en un lugar central, con lo que puedo tomar más fuerza y hacer preguntas más consistentemente, e igualmente documentar las respuestas mucho más consistentemente, cercano a una condición ideal.

Así, incluso intentos débiles de avanzar tendrán su fruto en forma de nanoalgoritmos reutilizables, que como vemos incluso tienen la capacidad de hacer que el mero recordatorio de la necesidad de aprender uno hace que muchos intentos débiles de trabajo de desarrollo puedan verdaderamente sumarse a lo largo del tiempo, y convertirse en una entidad de conocimiento de alta calidad y compacta, en muchos casos incluso perfecta o casi perfecta en su campo de acción aplicable, y todo sin hacer esfuerzos descomunales sino que valiéndose más bien de la suma de pequeños esfuerzos pero que intentan documentar, aunque en un momento solo lleguen a crear archivos vacíos, pero son existentes y deben hacerse tarde o temprano, por muy triviales que parezcan. ESTO ES MUCHÍSMO MÁS EFICIENTE QUE DOCUMENTAR PREGUNTAS SIN SUS RESPUESTAS EN LA SECCIÓN DE PREGUNTAS DE ESTE SITIO, AUNQUE LO MEJOR SERÍA COMBINAR AMBOS ENFOQUES, HACIA LOS NANOALGORITMOS Y SNIPPETS, ESCRIBIENDO LAS PREGUNTAS MÁS CLARAS Y RELEVANTES, Y DESPUÉS EL CONTENIDO (SI LO TENEMOS EN ESE MOMENTO), PARA TENER LA INFORMACIÓN DE LA DUDA Y DE SU RESPUESTA, COMPLETAS, E IR AGREGANDO MÁS PREGUNTAS RELACIONADAS RELEVANTES EN EL FUTURO (para que sean más buscables). Esa también es la esencia de una FAQ o foro en internet, aunque la FAQ es menos detallada y no existen tantas FAQs especializadas directo al grano; y los foros tienen esa intención pero casi siempre son aún menos detallados que una FAQ, además de tener una estructura general mucho más pobre y mucho menos aprovechable. Por eso existen sitios de preguntas como Yahoo! Respuestas y Stack Overflow, aunque estos llegan a nanoalgoritmos de alta calidad (en la mayoría de casos) pero que requieren purificación adicional para que sean verdaderos nanoalgoritmos reutilizables, en una reserva centralizada, categorizada, purificada y acumulativa en contenido y corrección, de información.


Para la sección de Snippets, esta misma técnica de crear snippets vacíos es igualmente vital, con el detalle adicional de que estos son elementos ya aplicados e implementados completos, muchas veces autocontenidos y autosuficientes. De esta manera eventualmente podemos lograr cualquier cosa, al primero crear un mapa VISIBLE de sus dependencias, pero teniendo cuidado de no abusar este recurso en el sentido de que los nanolagoritmos deben ser siempre trucos atómicos bien definidos, y los snippets deben ser implementaciones completas de un elemento o entidad autocontenido, hasta donde constituya una entidad cuyos subcomponentes no sean claramente combinables para otra aplicación (un derivado de algo más genérico e igualmente reutilizable de forma tan global como sea posible).

Y en lugar de llevar, como primera acción, una búsqueda en Google, hay que llenar las secciones de snippets, nanoalgoritmos, ideas, preguntas, etc., con los elementos vacíos necesarios, para aumentar el nivel de “vida propia” de la documentación de este sitio (¿o sino para qué lo estamos editando, o de qué otra manera podríamos fortalecerlo?). Al crear esos elementos vacíos, y solo después de eso hacer búsquedas de información en Internet y otros medios más tradicionales, podemos: - Dedicarnos a una única tarea de forma práctica, con hechos masivos, de forma exensiva.

- Evitar sentir que estamos perdiendo el tiempo en todo lo que no estamos haciendo, mientras editamos algo que nos parece monótono porque hemos estado “demasiado” tiempo con el usual avance que sentimos que es demasiado lento para lo que queremos y necesitamos lograr.

- Anotar de forma acumulable, estructurada pero no necesariamente secuencial, las ideas, dudas, respuestas y soluciones de forma masiva, sin importar que estemos dedicados actualmente a una actividad única por muchas semanas o meses, y así evitar perder esos momentos de inspiración y dejarlos registrados, con lo que podemos acumular experiencia e información purificada cada vez que los recorramos porque los necesitamos, porque suponemos que no están pero sí están, o porque suponemos que sí están pero no están, literalmente, durante el tiempo de toda nuestra vida.




Esto es mucho mejor que usar Bookmarks/Favoritos, aunque no lo reemplaza. Es mejor en el sentido de que todas las preguntas y toda la información y soluciones que nos hacemos y necesitamos en toda nuestra vida, las incluimos en un repositorio de documentación de vida, y en el caso de este sitio (mi caso) tengo la habilidad suficiente y necesaria como para purificar la información y ofrecer mi experiencia de una forma mucho más provechosa incluso que Wikipedia, en aquellas cosas que comprendo, porque al menos en Marzo de 2012, prácticamente toda la información de Wikipedia no es tan completa como para explicar el por qué, el cómo y el qué hacer, de cada detalle especializado que requiere investigación, tal como nuestras secciones de snippets/nanoalgoritmos/preguntas, etc. Cada vez que necesitamos algo, no son nuestros favoritos lo principal que crece, sino que nuestra experiencia inmediatamente reutilizable. Por eso es vital hacer las cosas en este orden, y así, pase lo que pase, el tiempo y esfuerzo que invirtamos no pueden jamás quedar desperdiciados, siempre que quede registrado de forma estructurada y óptima todas nuestras preguntas y respuestas.

Esta técnica prácticamente equivale a tener alguien a la par, como una segunda cabeza (como en “dos cabezas son mejores que una”). El segundo apoyo vive en la computadora en lugar de en una persona real, y en su capacidad de mantener toda la documentación necesaria y ser dinámica. La inteligencia de este apoyo depende de cuántas habilidades naturales podamos copiar en un programa y en un documento, y cuánta inteligencia podamos sintentizar y volver acumulativa en nuestro Gran Repositorio de Vida de Desarrollo Activado.

Este repositorio de información y elementos activados representa lo que verdaderamente somos, no en nuestro propio mundo interior, sino en el mundo tangible, desde el punto de vista de lo que significamos y significaremos en desarrollo para los demás y en última instancia, qué, cuáles y cuántas habilidades y capacidades personales hemos logrado descubrir, fortalecer, perfeccionar, pulir, compartir y enseñar en su totalidad, como para acabar con ese vacío de necesidades de una vez por todas en las subsiguientes generaciones y pasar de una vez a nuevos problemas, teniendo lo ya existente, fabricado y conocido, perfectamente documentado y dominado.

Todo eso sirve como la implementación de puntos de referencia, en los que también podemos barajar varias respuestas y entre todas tratar de converger para compensar la limitada información que pudiéramos enfrentar.