55) ¿Quieren más comodidad para MinGW?

Posted by Leek | Posted in , , , , , | Posted on 12:20 p. m.

Bueno, si su respuesta fue "sí" a la pregunta que dá título a esta entrada, entonces tomen nota de los pasos que les voy a dar; esto aplica específicamente para Windows 7 y Windows Vista (el software libre invade hasta sistemas privativos, genial). Ya les había mencionado como instalar el MinGW, y hay un paso que es copiar el archivo "g++.exe" a la carpeta donde tuvieran el código fuente del programa que esten desarrollando; bien, pues existe una manera para evitar copiar el archivo y configurar el g++ como si fuera un comando de Windows.

Para configurar eso, van al menu de inicio y dan clic derecho sobre "Computer", y despues dan clic en "Propiedades", una vez que se abra una ventana de propiedades del sistema, dan clic en el menú izquierdo en una opcion que se llama "Advanced System Settings"; les va a salir (como siempre en Windows) otra ventana con varias pestañas. En la pestaña de "Advanced" dan clic en el último botón que dice "Environment Variables" y aparecerá otra ventana que tiene dos menús, y en el menú de abajo ("System Variables") buscan una variable que se llama "Path", despues dan clic en "Edit" y la editan, se van al inicio y teclean la direccion del MinGW seguido de un punto y coma que sería así:

C:/MinGW/bin;

Despues de eso pueden borrar el archivo "g++" de la carpeta de su programa pero no borren el que esta en la carpeta bin de MinGW, y ya pueden invocar al compilador sin necesidad de copiar el archivo "g++.exe".

Quien necesite ver los pasos realizados, realize un video que lo explica un poco mejor:


54) ¿Todo mundo puede programar?

Posted by Leek | Posted in , | Posted on 2:15 p. m.

Un dia un amigo me dijo esto, y me pareció demasiado clara la ignorancia que habitaba en su mente en cuanto a este tópico, le pregunte si el sabía programar a lo que respondió afirmativamente, y le creo, efectivamente todo mundo puede programar desde cierto aspecto; cualquier persona puede bajar algun compilador o interprete para programación, y hasta existen más de mil lenguajes de programación, algunos que son los más usados y otros que solo son utilizados por personas específicas, como las empresas o personas que crean sus lenguajes por puro pasatiempo, es más que sencillo bajar cualquier compilador, pero eso no sería sencillo si el software libre no existiera.

La programación era considerada más que una ciencia, era considerada como una filosofía, algo así como cuando Aristóteles formula su teoría de la metafísica, pero con el tiempo la informática tomó mas sencillez, y sobre todo tomó su auge cuando surgió el software libre. Algunas personas dirán, ¿que tiene que ver eso?, a lo que yo les respondo: mucho. Al surgir el software libre, todo mundo podía ver como funcionaban las cosas por dentro, destripando cualquier programa que tuvieran a la mano y que fuera libre, pero po supuesto, nadie podía ni puede entender los miles de kilómetros de lineas de código que conforma un programa; no señor, se requiere de tiempo de estudio, un poco más o un poco menos, dependiendo de la complejidad del programa o el código; digo esto porque se puede hacer un mismo programa con diferentes códigos; es decir, a la vista del usuario, puede parecerle que un programa es idéntico, si no, es un clon de otro programa similar, pero si alguien con conocimientos de programación se pusiera a leer y analizar los códigos fuente de los dos programas, nos daríamos cuenta de que no es el mismo programa; podemos hacer un programa que realize una ecuación cuadrática mediante la fórmula general, pero eso si, existen más de ocho códigos que harían lo mismo, tomarían las variables que el usuario ingrese, y haría los cálculos, pero no se hace lo mismo realmente, a pesar de que el usuario lo piense así. Regresando a lo de la relación de este tópico con el software libre, gracias al software y con la ayuda de alguien con conocimientos de programación podemos aprender como se hacen las cosas y que es lo que hacen los programas.

En la página oficial para buscar ayuda del hackeo de Firefox, no s damos cuenta de que el código fuente de ese navegador tiene más utilidades que un multifincional y que una hoja de papel, o lo que sea; para que se den cuenta, el motor de navegación de Firefox (Gecko), es utilizado por más de cinco navegadores web sin contar Firefox, dos clientes de correo electrónico, dos suites de internet, un editor de páginas web, un reproductor de audio y video y una aplicación de agenda y esas cosas de gente muy ocupada;el código del motor es realmente una ganga, y además es libre, ¿que más se puede querer?. Bueno, a lo que quiero llegar es que, si bien cualquiera puede bajar el código fuente, no cualquiera puede modificarlo; una sola persona, necesita por lo menos un mes y medio para poder corregir un mini, pero realmente mini-bug; no cualquiera puede programar algo así; se necesitan horas y horas y horas y horas de estudio, lectura y análisis del código fuente.

Ahora, veamos la definición de la Wikipedia:

"Un programador es aquel que escribe, depura y mantiene el código fuente de un programa informático, es decir, el conjunto de instrucciones que ejecuta el hardware de una computadora para realizar una tarea determinada. La programación es una de las principales área dentro de la informática. En la mayoría de los países, programador es también una categoría profesional reconocida."

Ahora analizemos la definición. Todo nos queda claro hasta el primer punto, ya que asumo que todos los que lean esto saben lo que es un programa informático. La segunda frase nos dice la importancia de la programación dentro de la informática, ya que si la programación no existiera, ¿como funcionarían las cosas? La tercera frase... ajam... bueno, pienso que esto no ha llegado a ser endentido del todo, o tal vez no es que no sea entendido, más bien pienso que esto depende del grado de desarrollo científico y tecnológico que tenga algún país; por ejemplo en mi país (México), el desarrollo tecnológico aún es muy, muy, pero muy escaso, y no se conoce como se debería, la importancia tecnológica dentro del desarrollo económico y social de un país. Para dar un ejemplo de lo mencionado, recurro a lo que mi ex-profesor de Investigación de Campo de mi escuela hizo alusión; mi ex-profesor menciono que estaba realizando un proyecto de investigación en conjunto con investigadores del extranjero, los cuales pertenecen a una organización; en dicha organización, se dijo que México es el único país que no invierte lo que se debería en desarrollo científico y tecnológico; ahora, viendo la situación de mi nación, ¿como espero que a la profesión de un programador se le dé la importancia que tiene? Es deprimente.

Ahora, recurro de nuevo a la Wikipedia:

"Inicialmente, la profesión se formalizó desde el enfoque Tayloriano de la especialización de funciones en la empresa. Así, el proceso de producción de software se concibe como un conjunto de tareas altamente especializadas donde está claramente definido el papel de cada categoría profesional. [...] Hoy día se reconoce que este enfoque no es válido para organizar tareas de tipo intelectual, como es la producción de software. [...] Las dificultades de comunicación entre analistas y programadores(un mero documento no basta para describir lo que se quiere hacer) dio origen a una categoría profesional intermedia, denomidada analista-programador. La concepción original del programador ha desaparecido siendo sustituida por la de un profesional mucho más formado y con unas funciones menos "mecánicas". Como conclusión de lo anterior, cabe inferir que, hoy por hoy, un programador requiere profundos conocimientos que incluyen matemáticas computacionales, electrónica, algorítmia, ingeniería de software, teoría de la computación, interacción persona-ordenador, etc. Por tanto, se trata de una profesión de alta calificación. No obstante, la mayoría de las empresas del siglo XXI aún siguen el enfoque Tayloriano en su gestión, de manera que siguen considerando la profesión de programador como un trabajo de baja calificación. A este hecho se añade el instruismo profesional, ya que, bajo este enfoque Tayloriano, el simple conocimiento de un lenguaje de programación habilita para el ejercicio de la programación. Esto atraes fácilmente a profesionales de otros mercados laborales menos favorecidos. Ambos factores contribuyen a que la profesión cuente con bajos salarios, inestabilidad leboral y un alto estrés. Por ejemplo, en Estados Unidos se calcula que aproximadamente la mitad de los programadores abandonan la profesión."

Ahora el análisis. Todo queda claro hasta el primer punto, pero en la segunda frase se reconoce que no es así, ¿porqué? Bien, pues porque no es necesario ponerse a realizar una serie de pasos como es el caso de firmar un contrato, y cosas por el estilo que se enseñan en la escuela que la mayoría de las veces solo hacen perder el tiempo; y creo que todos entendemos lo que también se dice en la segunda frase sobre que la programación es una profesión de intelecto. Despúes se menciona a los analistas; los analistas en los tiempos en los que la programación apenas andaba en pañales, eran personas que se encargaban de ver a qué problema se enfrentaban los sistemas informáticos y como solucionarlos, y los programadores eran los que realizaban las instrucciones de los analistas para resolver el problema (que tedioso y que perdida de tiempo, ¿no? Por eso surgieron los programadores analistas). Hoy en día, la mayoría del software libre que es encontrado en sitios como Sourceforge.net es desarrollado por programadores analistas. La siguiente frase es bien entendida por personas que no son tercas e ignorantes, y que los programadores tienen bastos conocimientos de diversas áreas científicas y tecnológicas, tanto así que la mayoría de los hackers se hacen llamar programadores para evitar que las personas ignorantes los califiquen de delincuentes al oir la palabra hacker. Las últimas frases hacen referencia de nuevo a la ignorancia de la sociedad, ya que ésta califica a los programadores como profesionales de bajo intelecto, y piensan que con el simple hecho de saber un lenguaje de programación se puede ser programador, y ya ven lo que se provoca, los programadores son sometidos a altos grados de estrés ya que las personas no saben los bastos conocimientos que hace falta tener.

Ahora recurriré a un blog con un lenguaje mas coloquial, pero que es fácilmente entendible para los ignorantes:

"Programar no es como hacer chorizos ni poner ladrillos, programar es un trabajo puramente intelectual, quizás la tarea más intensiva intelectualmente que conozco. A mas horas, no hay más producción, a veces un programador puede ser más productivo en una mañana que en dos semanas y lo más fascinante, esto no es un problema a resolver, sino algo inherente a la tarea de programar y hay que aceptarlo. Si no te gusta te puedes dedicar al cultivo del champiñon o cualquier otro negocio donde el resultado sea más predecible. [...] Un programador trabaando solo o con un pequeño equipo en una start-up le toca quedarse hasta las tantas de la madrugada muchos días porque cuando estás a la mitad de solucionar un problema no funciona lo de son las 19:00, hora de irme, mañana más. Cuando estás a la mitad de concentración, motivado para acabarlo, dejarlo para mañana puede significar realmente mañana, un par de semanas o un mes. ¿Un progrmador ineficiente? No, es simplemente así, volver a concentrarse en esa tarea y acordarse de cada detalle conlleva una pre-tarea de varias horas y si hay otras tarea más importantes que se cruzan, se postergará. Tratar a un programador como un currito que hace sus horas y se va, es ignorar como funcionan las tareas intelectuales, la motivación humana, etc. Proponer a alguien programar un proyecto web viable solo a cambio de un salario o presupuesto cerrado casi roza el insulto. Emprender conlleva un esfuerzo extra buscando un premio, por definición es incompatible pagar un salario fijo y pedir un esfuerzo extra."

Creo que esta cita textual no necesita de ningún análisis, pues pienso que cualquier ignorante lo entiende.

Ahora, pasando a la ignorancia, existe cada persona que solo Dios sabe para que nacieron; un día estaba conversando con un amigo que se cree hacker, y menciono que podía cambiar sus calificaciones; yo asombrado por eso y con mi típica curiosidad tecnológica le pregunte como le fue posible hacer eso, y el muy [...] me dijo que podía hacerlo cambiando el código HTML de la página, dándo clic en Ver -> Código Fuente; seguramente algunos de ustedes que sean ignorantes ya se fueron a ver el código fuente de la página de su escula para ver si es cierto, pero les tengo malas noticias, eso solo es el código fuente y lo que modifiquen solo se guardará en la memoria caché, pero como supongo que algunos de ustedes no entenderan eso, pues mejor lo dejo así. En fin, seguí conversando con mi amigo de otros temas tras decirle que no se podía por la razón que les acabo de mencionar, pero el seguía y seguía diciendo que si se podía mientras yo trataba de cambiar de tema, ¿porqué? porque no hay que perder el tiempo con personas que ademas de ser ignorantes, son testarudas, se les perdonan que sean ignorantes o testarudas, pero no se puede perdonar la combinación de las dos.

En fin, al principio de esta entrada mencioné a un amigo que me dijo que cualquiera podía programar, pero espero que con esta entrada comprenda que eso no es cierto; ser programador es tener amor por la profesión; a pesar del estrés que se les ponga a los programador, les gusta su trabajo, y eso perdona los insultos y lo demás que se sufre.

Ya mencionado esto, quiero decirles que el amigo que mencione, trabaja como constructor, no pienso arquitecto, no, constructor, un trabajo que requiere mucho trabajo y esfuerxo físico, pero no realmente esfuerzo intelectual; no insulto con esto a todos los constructores, no, cualquier trabajo es de honra a pesar del estrés y el esfuerzo que se requiera; eso si, para que sea un trabajo horando a pesar del esfuerzo, se tiene que tener amor por la profesión, y no amor por que "hay que chido, ya me pagaron, me voy a comprar unos jueguitos", no; yo hablo del verdadero amor por la profesión, y si el quiere trabajar como constructor esta bien, pero no es así, dudo que le guste su trabajo, siempre habla de él como un trabajo en el que le entra la pesadez y la apatía de tan solo pensar en él, y quiero decirte a ti, mi amigo, que no le quites la horandez a tu trabajo con tu pezadez y tus ansias de tu dinero para irlo a gastar en juegos. Todos los demás hagan caso omiso de eso si les gusta su trabajo, si no es así, también aplica a ustedes.

En fin, respondiendo a la pregunta que dá título a esta entrada, ¿todo mundo puede programar? Bien, cualquiera puede bajar un compilador y escribir el típico Hola Mundo, si; pero no cualquiera puede decir que está generando un proyecto distribuido bajo licencia de software libre, y no cualquier puede decir lo siguiente con lo cual voy a cerrar esta entrada:

¡Soy programador y amo programar!

53) Trabajo sobre HTML

Posted by Leek | Posted in , , , | Posted on 12:21 p. m.

Tal vez algunos de ustedes dirán, que tontería, ¿para que poner un curso en HTML?, pero no se apuren, yo también pensé lo mismo, pero el trabajo no nada mas lo hize porque si, es algo muy tonto, fue un trabajo que me dejó mi profesor de computación en la escuela, y no se, el trabajo me gustó, y entregarlo al profesor solamente se me hace un desperdicio, así que pensé que estaría mejor que estuviera disponible para toda la comunidad, siguiendo la filosofía de la libertad en la informática.

El trabajo no tiene licencia ni nada de eso, pensé en distribuirlo bajo la Licencia de Documentación Libre de GNU (GDFL por sus siglas en inglés), pero no es un trabajo de tanto prestigio como para ponerle una licencia, y menos la licencia de GNU.

En fin, el trabajo está alojado en La Web del Programador, justamente aquí. Hasta pronto.