Programar a ciegas

listenButton1.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva.

Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos.

Editores accesibles

Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil.

Entornos de desarrollo integrado

IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve.

Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante.

Gestores de bases de datos

No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo.

Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje.

Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos.

Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá.

Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos.

Servidores webs

Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles.

¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí.

Creación de sitios webs

Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo.

Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador.

Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo.

Aplicaciones de consola

Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux.

Lenguajes interpretados o lenguajes compilados

También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable.

Otros recursos

Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta.

Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad.

Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas.

Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles.

Conclusiones

En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí.

En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible.

En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad.

En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro.

Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales.

Mis más sinceros agradecimientos

A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail… Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.




Desarrollo, usabilidad y accesibilidad con lectores de pantalla

listenButton2.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

¿Alguna vez te preguntaste como hacemos las personas con discapacidad visual para acceder a un teléfono celular o una computadora? ¿Sabés qué es la accesibilidad digital? ¿Sabías que mediante ella, todas las personas sin importar nuestras diferencias, y nuestros recursos tecnológicos, podemos acceder a las aplicaciones y a internet prácticamente en igualdad de condiciones? ¿Sabías que las personas con discapacidad podemos formar parte del cambio, y desarrollar nuestro propio contenido accesible? ¿Por último, sabías que podemos ser testers, es decir, revisar el contenido de una página web o una aplicación, para comprobar que este sea accesible? De todo esto y más, hablamos Valeria Rocha, Ximena Romero y yo, en la charla que dimos en la #FemitConf2021, el pasado sábado 7 de agosto.

Sin duda, colaborar con la difusión de estos temas, es algo que me gusta muchísimo hacer. Y esta, es una forma de hacerlo. Más allá de que en la página Acerca de mí pueden encontrar varias cosas de las que hago y con las que colaboro, incluyendo esta misma charla, decidí escribir una entrada aparte, para dejarles además de la misma, recursos que pueden ayudar a lograr estos objetivos. Entonces, empecemos.

La comunidad de DALAT, Desarrollo Accesible Latinoamericano, es por excelencia la que se ocupa de difundir, a través de todos los medios posibles, todo lo referente al área de la accesibilidad. Ya sean cursos, capacitaciones, y conversatorios de todo tipo. Sus integrantes, por medio de proyectos propios o en conjunto, llevamos, y me incluyo desde mi modesto lugarcito, la accesibilidad como bandera en cualquier oportunidad que se nos presenta. Aquí pueden visitar la Página oficial de DaLat, y aquí, el curso Mundo Digital Accesible en youtube. Este curso en particular, brinda a las personas que lo sigan, la posibilidad de adentrarse en el mundo del testeo de páginas webs, dando las herramientas suficientes, para que puedan desempeñarse como testers de las mismas, de forma profesional.

Es muy importante que las personas con cualquier tipo de discapacidad, adquieran herramientas para poder ingresar al mundo del desarrollo de aplicaciones y sitios webs, de forma totalmente accesible. Desafortunadamente, muchas de las carreras, cursos y/o tutoriales disponibles en internet o instituciones, aún no lo son. Cierto es, que se ha hecho un gran trabajo por integrar la accesibilidad en algunos lugares. Pero todavía, no es suficiente. Es necesario que no solo las apps y sitios webs sean accesibles, si no que, la carrera o capacitación en su totalidad, estén diseñadas con perspectiva de accesibilidad. La Fundación Itgrarte, brinda capacitaciones en lenguajes de programación como Python, y HTML/Java Script, de forma totalmente accesibles. Mediante un sistema de becas, las cuales son sorteadas debido a la enorme cantidad de inscriptos, dan estas capacitaciones personalizadas, con mentores que son excelentes, y cuyos conocimientos, nos permiten después estudiar por nuestra cuenta otros lenguajes de programación, o especializarnos aún más en los aprendidos, y conseguir trabajo en este apasionante mundo. Aunque están más que nada orientadas a personas con discapacidad, cabe destacar, que cualquiera puede inscribirse.

Y por último, antes de ir a nuestra charla, quiero dejarles un sitio web con el que aprendí muchísimo sobre programación. Muchos de los lenguajes en los que me especialicé, o que quise empezar de 0, los encontré de forma totalmente accesible, en este sitio. Con un lenguaje ameno, conceptos fáciles de asimilar, una interfaz sencilla, y con la posibilidad, dependiendo del lenguaje, de probar nuestro código en la propia página, es sin duda una magnífica herramienta, para quienes sean autodidactas, y quieran darse la cabeza contra la pared, en este loco mundillo de la programación. Aquí pueden visitar el sitio Tutoriales Programación Ya.

En fin, esta no iba a ser una publicación tan larga, pero claro que les dejo tarea para la casa. Visitar todos estos sitios, inscribirse en estas capacitaciones y/o cursos, si así lo desean, y ver, por supuesto, la charla que dimos con Xime y Vale, en la que les brindamos muchísima más información al respecto. La misma se llama Desarrollo, usabilidad y accesibilidad con lectores de pantalla. También, los invito a suscribirse a la Comunidad de Las de Sistemas en youtube, para ver todos los videos de la FemitConf que ya se subieron, y se irán subiendo. Actualización: Acá está la lista de reproducción de la FemITConf2021 en youtube. Y acá, las presentaciones de todas las charlas en GitHub.

Por mi parte, espero en el futuro, poder colaborar todavía más con el mundo del desarrollo, y la accesibilidad digital. Esta es una pequeña forma, de aportar mi granito de arena. Invito a quienes así lo deseen, ya sea que tengan discapacidad o no, a que hagan cualquier consulta que tengan referente a la accesibilidad web, o a la programación de sitios webs y/o aplicaciones, de forma accesible, y sin ningún tipo de compromiso alguno. Intentaré responder a lo que pueda, y si no, los derivaré con algún profesional que de seguro podrá ayudar un poco más, dependiendo del tema en cuestión. Bueno, espero por lo menos, les pique el bichito de la curiosidad. Y recuerden, no dejen de ver los sitios que les comparto, para enterarse de charlas, eventos, y muchísimas novedades más que, si les interesa este mundo, de seguro les va a ser de mucha utilidad.




El mal querer de Flamenca y Rosalía

listenButton3.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

Alerta spoiler. El presente artículo es una reflexión propia a partir de la lectura de la novela “El romance de Flamenca”, escrita por un autor anónimo en el siglo XIII, y del álbum El mal querer” de Rosalía, publicado en 2018. Si bien, no es necesario leer el libro, sí recomiendo escuchar el mencionado trabajo discográfico, antes de continuar leyendo, debido a que aquí se encuentran apreciaciones propias que podrían condicionar la opinión de quien lo escuche posteriormente. Para hacerlo, pueden saltar al título de fuentes y enlaces directamente, y clickear en el de Spotify o Youtube, como mejor lo prefieran.

Sin dudas, uno de los mejores álbumes musicales de los últimos tiempos. Y una de las mejores artistas, más allá incluso de las críticas que han dado que hablar en estos más de 3 años de su desembarco en la escena musical internacional. Rosalía, y su “Flamenca”.

“el mal querer”, fue el segundo trabajo discográfico de la artista española Rosalía. El mismo, fue realizado en el marco de una tesis, para especializarse en el cante flamenco. Desde la propia comunidad gitana, se la ha criticado entre otras cosas, por apropiación cultural. Pero no se puede negar, que vino a darle a la música, un nuevo ritmo, una nueva forma de escuchar varios estilos, fusionados de forma tal, que ya en su lanzamiento, superó récords de reproducción no solo en listas españolas, si no en varias partes del mundo.

De mi parte, solo puedo decir que se ha convertido en el disco que más he escuchado desde que una amiga me lo mostró, allá por enero de 2019, y en uno de mis discos favoritos. Y es que, su riqueza musical es tal, que cada vez que lo vuelvo a escuchar, encuentro algo nuevo. Un sonido, una voz, un instrumento oculto… Pero no vengo en sí a hablar de mí, si no de ella. De Flamenca, de Rosalía.

Como ya se sabe, dicho álbum está inspirado en una novela escrita alrededor del siglo XIII, llamada “El romance de Flamenca”. El libro batió récords de venta también, a partir de la publicación del álbum. La novela, cuenta la historia de Flamenca, una mujer cuyo padre la casa con un noble caballero de nombre Archimbaud de Borbón, mayor que ella. Cabe destacar que el casamiento es con consentimiento de ella. Este, una vez casados, a partir de celos infundados por la reina, decide encerrarla en una torre junto a 2 doncellas, quedándose él como guardián en la puerta de la misma, no pudiendo confiar en nadie más, debido a sus celos tan fuertes. Este se deja estar, a tal punto que, cuya apariencia, sumada al hecho de su encierro, le produce rechazo a Flamenca. Otro noble caballero de nombre Guillermo, quien se enteró del encierro de Flamenca, y de su fama y belleza, se enamora de ella. Y, sin spoilear toda la historia, por el momento solo diré que se pone como objetivo, el conquistar y enamorar a la misma, utilizando tretas y argucias, con un cuarto personaje principal, en este caso abstracto, quien aparece en la historia como “El Amor”. Rosalía, se inspira en los celos, en el concepto del Amor, y en ese triángulo amoroso, para traernos a Flamenca, al siglo XXI. La forma en la que lo hace, es magnífica. En este artículo, me propongo desentrañar esa novela. No la del siglo XIII, si no la del siglo XXI. La novela musical de Rosalía.

Debido a que no los conozco en su totalidad, porque por obvias razones no puedo verlos, y porque no tuve la oportunidad de que me los describieran, no voy a hablar de los videos. Solo mencionar que, según lo que leí, tienen una impronta con influencias religiosas, con referencias al arte, y por supuesto, al tema que, con tanta pasión, toca durante todo el disco. La violencia de género, el machismo, los celos. Voy a hablar de cada capítulo de esta novela musical, sin mencionar los temas en sí, y explicar lo que para mí representa, esta maravillosa obra de arte. No voy a copiar fragmentos de las letras, ya que no tengo conocimiento de si puedo hacerlo, sin violar derechos de autor. Y bueno, como todo el contenido de KathWare está bajo una licencia creative commons, en fin, que quiero tener la libertad de hacerles llegar estas reflexiones, sin tener problemas.

El mal querer

Augurio: es el primer capítulo de la novela. En este, nos cuenta una especie de presentimiento de lo que va a suceder durante el resto de la historia. A través de recursos literarios como los miedos infantiles, el miedo a la oscuridad, a las voces en la escalera, a los ruidos nocturnos, Rosalía nos introduce en el mundo de esta joven, quien comienza a crecer y prepararse para su inevitable destino. Aquí ya podemos comenzar a conocer a nuestra flamenca, a través de su descripción. Sabemos que es una joven que posee joyas. Esto, aunque no es determinante, nos indica que, al igual que la de la novela, es una mujer de un buen poder adquisitivo.

Boda: el segundo capítulo. Ya nos estamos metiendo de lleno en la historia. El casamiento de nuestra Flamenca. Acá reafirmamos su pertenencia a la alta sociedad, es decir, la posesión, y/o posibilidad de elegir, como claramente nos cuenta ella misma, los tipos de joyas que prefiere. La del siglo XIII, es hija de un conde. El caballero con quien se casa, es también adinerado y de gran fama. A tal punto llega, que según nos cuenta la historia, la celebración es de las más hermosas que se han visto. Volviendo a la actual, se empieza a notar, el machismo y los celos del novio. El pretender silenciar a quien no esté de acuerdo con dicha celebración. La arrogancia de considerarse tan imprescindible, que afirma, de forma muy presumida por su parte, que ella llegaría a matarse por él. Pero además, podemos encontrar alabanzas hacia ella, a su belleza. El complacerla con regalos y cumplidos.

Celos. Tercer capítulo. Una disertación entre ambos. Claramente podemos iniciar aquí, el nudo de la historia. Celos no solo obsesivos, posesivos. Si no que también, extremadamente ilógicos. El oro que la cubre, el aire levantándole el pelo. Celos ya no solo hacia las personas, sino incluso hacia ella, hacia su propia belleza. Con el miedo a que se escape, a que lo deje. Como si fuese su posesión, su propiedad. Ella, sintiéndose observada en todo momento por él. Ya, perdiendo su libertad.

Disputa. El cuarto. Volviendo al siglo XIII, podríamos decir que es aquí donde él encierra a flamenca en la torre. En la del siglo XXI, sin duda, la parte más fuerte de esta novela. Sus celos lo llevan a ejercer violencia ya no solo psicológica, si no también física y directa hacia ella. El autoconvencimiento de que, es ella quien provoca esas reacciones de su parte. Que él solo cumple con el deber de hacer que ella lo respete. Acá, los efectos sonoros de la canción, el tono con el que la canta, e incluso la sonoridad de la voz, juegan un papel más que importantísimo. Los gritos de él, el llanto de ella, el sufrimiento, la reacción… Todo, conforma un conjunto de cosas que, realmente te hacen sentir esa violencia, como si fueses vos, quien la está padeciendo.

Lamento. El quinto capítulo. Es aquí donde ella, se lamenta por el destino que le toca. Por verse y sentirse encerrada, apartada del resto del mundo. Por pensar que no tiene escapatoria. Que deberá sufrir su destino, aunque reniegue de él. Es una canción con una tristeza absoluta. Ya aquí es ella, quien tiene la palabra, quien logra expresar sus emociones.

Clausura. Capítulo sexto. Un recitado que, nos cuenta un poquito más de lo que siente, pero con un pequeño detalle. Habla de 2 ángeles. Si regresamos a la Flamenca del siglo XIII, podríamos decir que se refiere a las doncellas que la acompañan en su encierro. Pero, Rosalía decide aquí, tomar otro rumbo. Y más adelante, lo veremos con más claridad.

Liturgia. Séptimo capítulo. Rosalía hizo esta canción, inspirada en Bagdad, un reconocido club erótico de Barcelona. En esta oportunidad, podemos ver a nuestra Flamenca a las afueras de dicho club. Invisible para los demás. Desolada, triste. Casi desesperada, implorando una solución a Dios. Es como una mezcla entre el cielo que anhela, y el infierno en el que está viviendo. Creo que incluso la elección del club en cuestión, reafirma esto, al tratarse de un lugar, considerado por la religión, como pecaminoso. Como adicional, tenemos una mínima descripción física de ella.

Éxtasis. El octavo. A diferencia de la novela del siglo XIII, en esta oportunidad, es aquí recién donde aparece el tercero en discordia, por decirlo de alguna forma. Y, de hecho, no se le da participación, más que en esta canción. Podemos encontrar a una Flamenca distinta. Entregada de pleno a esta aventura con su amante. Sabiendo que tienen que cuidarse, que su relación, debe permanecer oculta. Aún así, disfrutando sin tapujos de este nuevo amor. Con un cúmulo de sensaciones que, se entiende, no había vivido antes. Haciendo hincapié, como podemos ver a lo largo de la canción, en la pronunciación, de su nombre. Es decir, con un protagonismo más marcado, con una autoestima, muchísimo más alta.

Concepción. Capítulo noveno. Aquí, es donde al fin revelamos el misterio al que hacíamos referencia en el capítulo 6. Los ángeles con los que subió desde el infierno. Podemos asumir que se trata de niños. Tal vez, un embarazo no deseado de su marido. Sabemos que estos hijos, son producto de una relación tóxica, una relación en la que ella, sufrió muchísimo. Intenta dormirlos con una canción de cuna, pero con una tristeza muy marcada, por los sentimientos encontrados que esto le provoca. Y con esta canción, se podría decir que ya comenzamos el desenlace de la historia.

Cordura. El décimo. Es lo que nuestra flamenca del siglo XXI, pierde en esta canción. Entiendo que la instarían a que continúe su relación, con el padre de sus hijos. Diciéndole que, sin él, no tendría futuro. Pero ella, no puede continuar viviendo así. Sufriendo por la violencia, por el amor que la espera afuera… Y, nuevamente con efectos sonoros alucinantes, y con una valentía muy pocas veces vista, lo mata. Se hace fuerte, se revela, aunque tenga todo en contra. Se libera al fin de las cadenas que la tenían prisionera. El estribillo, es para mí una de las frases más significativas de todo el disco.

Poder. El último. Y sí, como su nombre lo indica, no podría tratarse de otra cosa. Ya nunca más, ningún hombre va a lastimarla, va a dañarla, va a condenarla. Solo se debe a su Dios, y a nadie más. Un resumen de gran parte de la historia, en una pequeña canción, hecha solo con un coro de voces. Un recuerdo que, si bien causa sufrimiento, nunca se va a borrar de su mente, de su cuerpo, de su alma.

El mal querer. Es el nombre del álbum. Pero también nos puede llevar a reflexionar el por qué de ese nombre. Dicen, que quien te quiere, no debe lastimarte. Por consiguiente, si lo hace, es porque realmente, no te quiere. Por otro lado, también hay quienes afirman que incluso esa, es una forma de querer. Retorcida, sí. Pero que lo es. Se podría decir que hablamos de eso, cuando nos referimos a este título. Pero en realidad, yo creo que no. Que en este caso, Rosalía se refiere al “Mal querer” de ella. Al hecho de que, como dijimos, ella quiso, pero recibió de él solo violencia. Y que cuando luego intentó querer de nuevo, aunque pareció funcionar, debido a que no podía ser libre, no logró querer verdaderamente. Por último, podemos aplicar esta premisa al querer que parece profesar a sus hijos. Productos de un amor-odio, no sabe bien, como expresarles lo que siente. Y les deja, solamente este “Mal Querer”. Incompleto, triste, vacío. Como detalle adicional, sobre el disco en sí, quiero destacar, que las referencias a Dios y a la religión, son más de las que aquí menciono. Ella plantea a Dios como una especie de amor también. Un amor diferente. Uno mucho más presente en su vida. Es similar a como se plantea originalmente, en la novela del siglo XIII.

Conclusión

Sería injusto de mi parte, pretender que este modesto artículo sea considerado siquiera como un resumen del álbum. Y es que, como ya mencioné, la calidad musical, las letras de las canciones, su propia voz, en fin, el arte en cada detalle es tal, que me resulta imposible escribir algo que realmente le haga justicia a tan maravillosa obra. Además, como también mencioné, no puedo ver los videos, por lo que, entiendo me estoy perdiendo de parte de ese arte. Por último, ya un youtuber, hizo un análisis musical bastante completo, por lo que hacer otro, no me parecía correcto. Incluso sé, que él tiene muchísimos más conocimientos musicales, como para poder darse a esa tarea.

Es muy probable que haya quienes no estén de acuerdo con mi visión. Y que haya cosas en las que no coincidan para nada. Incluso, puede que, hasta la propia artista no esté de acuerdo con algo. Y en mi forma de verlo, todo punto de vista u opinión, es aceptable. Esta solo es, como ya lo dije, una opinión personal. Pura, y exclusivamente mía. Mi objetivo al escribir y publicar este artículo, es compartir con ustedes mis pensamientos y reflexiones sobre un disco que, me cautivó desde la primera vez que lo oí. Es, simplemente una forma de hacerles llegar a mis lectores, mi propia interpretación sobre una obra que, toca de una forma en la que yo jamás había escuchado antes, temas tan presentes y actuales como la violencia de género, el machismo, los celos, el amor tóxico. Con letras muy fuertes, alternándose en ocasiones en la misma canción, como si fuesen él y ella quienes hablan. Mi intención, fue además, una vez leí la novela, hacer una comparación entre ambas. Es decir, meterme de alguna forma en la mente de Rosalía, para tratar de entender, como es que una novela escrita hace 700 años, lleva a una artista actual, a hacer un álbum entero, inspirado en ella. Y, si bien no tengo la certeza de haberlo logrado, tal vez, y solo tal vez, no esté tan lejos.

Fuentes y enlaces

Para finalizar, les dejo algo de información para que conozcan un poco más a Rosalía, y en parte, en la que me basé para hacer esta pequeña publicación. No suelo hacer reseñas de nada, como dije en entradas anteriores, pero después de haber leído la novela, creí que era hora de hacerlo. Espero les haya gustado.

escuchá El mal querer en youtube.

Escuchá El mal querer en spotify.

El Romance de Flamenca. Novela en lengua occitana, escrita durante el siglo XIII, por un autor anónimo. Se desconocen tanto el principio como el final de la historia.

ROSALÍA: Lo que nadie está diciendo sobre EL MAL QUERER | Jaime Altozano.

Rosalía te cuenta los secretos de su disco El mal querer.

Flamenca, la novela del siglo XIII que inspiró el nuevo disco de Rosalía.

Rosalía y el origen literario de ‘El mal querer’ en la novela medieval ‘Flamenca’.

ROSALÍA – EL MAL QUERER Lyrics and Tracklist | Genius.

En la mente de Rosalía – Capítulo 1.

En la mente de Rosalía – Capítulo 2.




Mi mejor amigo Tronco

listenButton4.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

Mi mejor amigo es distinto a todos los demás. Lo conocí cuando era muy pero muy chiquitita. Ni siquiera sabía escribir. Pero había otras cosas que sí sabía hacer. Sabía jugar. Sí, como todos los nenes. Y a mi mejor amigo, le gustaba mucho jugar. Pero antes de contar como era, voy a contar como lo conocí.

Siempre fui hija única. Nunca tuve un hermanito. Vivíamos lejos de la ciudad y del resto de mi familia, por lo que tampoco tenía ni primos, ni amigos. Nunca me ‘invitaban a cumpleaños, ni fiestas. No iba al jardín, porque quedaba lejos, y mis papás no podían llevarme. Siempre me decían que iba a ir a la escuela en primer grado, pero no sabía cuanto faltaba para eso. Me llamo Maia. Y esta es la historia de, como estando tan sola en el mundo, conocí a mi mejor amigo Tronco.

Vivía en una casa grande. Atrás, tenía un patio lindo y bastante largo y ancho. Al medio, estaba toda la casa, y adelante otro patio un poco más chico, que era el que llevaba al portón. Siempre que salía a jugar, llevaba mi juego de palitas y animalitos para rellenarlos de tierra, y hacer moldes. Con jarras y vasos, hacía enormes castillos. Y con ramas y palos, poderosos soldados enemigos, venían a atacarlos, para robarse todos sus tesoros. Enormes dragones, con sus poderosas princesas en sus lomos, los defendían con todas sus fuerzas, hasta que lograban derrotarlos, y así mantener a salvo el reino, y a todos sus habitantes. Pero un día, algo en el juego cambió. Algo, se volvió realidad.

Fue uno de esos días en los que nuevamente, el reino de Maia, iba a correr peligro por el poderoso ataque de los soldados malvados. Pero al salir por la puerta, algo encontré en el patio. Y la verdad, no lo podía creer. Cuando lo vi por primera vez, era del tamaño de un gato. Pero muy diferente a ellos. Claro que pude reconocerlo al instante. A pesar de su tamaño, lo supe ni bien lo vi. Es obvio. Después de tantos libritos para colorear, tantas películas de disney, era imposible no darme cuenta que, lo que tenía frente a mis ojos, era un bebé dragón. Sí, un verdadero dragón, en el patio de mi casa. Realmente, fue maravilloso. Me quedé paralizada durante unos instantes sin saber qué hacer, hasta que reaccioné, y pude cerrar la puerta detrás de mí, para que mis padres no lo vieran. Sabía que no lo entenderían. Para ellos, nada de esto podría ser real. Los juegos eran juegos, los cuentos solo eso, y no existía otra explicación. Pero para mí, si la magia existía en las películas y en los libros, no había razón alguna, para que no existiese en la vida real. Y así fue como, aunque al principio me sorprendí, después, lo tomé como algo natural. Y comencé a intentar hablar con él.

—¿Cómo te llamás? —Le pregunté. Me respondió con algunos gruñidos, por lo que pensé que todavía no sabía hablar, y que seguro, yo iba a tener que enseñarle.

Lo que pensé después, es que tenía que esconderlo de mis padres. ¿Pero cómo? ¿Dónde? Se me ocurrió que podía hacerlo en el patio del fondo de mi casa. Así que entré, me fijé que mis padres no estén en el pasillo, lo metí en una caja de zapatos, y lo llevé allá. Traté de tener el mayor cuidado posible, para que no se asuste. Una vez ahí, lo solté, y lo dejé andar.

Hablé con ellos para que me dejaran limpiar ese patio todos los días, así, no tendría la necesidad de contarles mi “pequeño secretito”. Y lo digo entre comillas, porque lo de pequeño, no tardaría mucho en cambiar…

Jugaba con él todos los días. Ahora, sí tenía un dragón de verdad para que defienda mi reino, de los malvados invasores. Poco a poco, le fui enseñando a hablar, y a jugar. Claro que aprendí muchísimo sobre los dragones durante todo ese tiempo. Él aprendía todo, repitiendo lo que yo hacía. Y lo hacía muy rápido. Al final, fui yo la que tuve que ir adaptándome a su ritmo, en lugar de él al mío. Desde la mañana, hasta la noche, me la pasaba todo el día con él. No sé realmente qué comía ni dónde, pero cuando le llevaba las sobras de mi comida, se las devoraba. Aunque en realidad, las cosas no eran tan fáciles. De hecho, iban poniéndose cada vez, más difíciles.

A la semana, era del tamaño de un perro. Al mes, de un caballo. Yo ya no sabía qué inventar, para que mis padres no vayan al patio, y lo vieran. Así, le dije a él, que se vaya, cada vez que ellos querían venir a ver qué estaba haciendo yo. Y así lo hizo. Pero eso, no era lo único. Los rugidos, el movimiento de sus alas, su voz tan fuerte al hablar… Trataba de que juguemos haciendo el menor ruido posible, pero no siempre podíamos. Yo les decía que estaba jugando, nada más. Y por suerte nunca me dijeron nada. Me pregunto ahora, si alguna vez lo habrán visto. Y por el miedo a que los tomen por locos, no habrán dicho nada. Capaz, que ni siquiera lo comentaron entre ellos, no lo sé. Pero un día, me contaron que se había prendido fuego un campo cerca de casa. Y me dio muchísimo miedo que mi dragón, haya tenido algo que ver con eso. Todo eso me asustaba mucho. Pero no sabía en realidad, qué podía hacer.

Su nombre

Un tiempo después, lo vi tan pero tan grande, que decidí que había llegado la hora de ponerle un nombre. Y, como su cuerpo era ya tan grueso como el tronco de un árbol, decidí ponerle, Tronco. Una vez le dije como se iba a llamar, se puso muy pero muy contento. Y empezaron así, nuestras grandes aventuras.

Para ese momento, yo ya podía subirme a su lomo, y claro, él ya podía volar. Entonces, se me ocurrió una genial idea. Los fines de semana, cuando mis padres no trabajaban y se tiraban a dormir la siesta, salíamos a recorrer todo el mundo. ¿Te imaginás? ¡Recorrer el mundo en un dragón! Pasábamos por enormes selvas y bosques, por grandes y altísimas montañas, por los enormes océanos. Recorriendo mares, ríos, lagos, y todo tipo de maravillosos paisajes. Hasta pasamos por los desiertos, y por ciudades llenas de gente, que nos miraban maravilladas. ¿Seré la única niña del mundo, con un verdadero dragón en su casa? Me preguntaba cada noche, antes de irme a dormir. Y aunque no sabía la respuesta, sabía que al día siguiente, él iba a estar ahí, esperándome. Como todos los días. Para jugar, para volar, para emprender nuevas aventuras, para aprender siempre, algo nuevo. Para saber que, aunque siempre había estado sola, ahora tenía un compañero con quien compartir muchísimas cosas.

La colonia

Un día, mis padres me dijeron algo que, realmente me sorprendió mucho. Al fin, iba a tener otros compañeritos. Me iban a llevar, a una colonia de verano. Era una pileta gigante, en la que había muchos nenes de mi edad, con los que iba a poder jugar. Ellos pensaron que así, yo ya no iba a estar más sola. Lo que no sabían, era que yo ya tenía un amigo. Pero tampoco se los podía contar, así que les hice caso, y tuve que ir. Me dijeron que la colonia iba a ser todos los días. Y yo dije… Huuuy… ¿Cómo iba a hacer para poder jugar con tronco entonces?

Empecé a ir a la semana siguiente, y Tronco comenzó a ponerse triste. Cada vez que lo veía, estaba más y más desanimado. Yo no tenía tiempo para jugar con él, y él, obviamente se aburría jugando solito. Me divertía mucho en la pileta con los chicos, y todos charlábamos y jugábamos todo el tiempo. Nadie me creía que tenía un dragón. Y es algo que me enojaba mucho. ¿Cómo no podían creerme? Hasta que un día, decidí demostrarles a todos, que yo tenía razón. Pero además, sería una gran idea, porque al fin, tambiÉn iba a poder volver a jugar con él.

Le dije a tronco, que nos siguiera desde lejos, a mis papás y a mí. Y que fuera a la pileta, cuando los chicos y yo, estemos ahí. Entonces, todos sabrían, que yo nunca había mentido. Y yo podría hacer que juegue con todos nosotros. Pero, no me había dado cuenta, que algo más estaba pasando. Que ya no era solo que no tuviéramos tiempo para jugar. Que había llegado el momento menos esperado.

Nuestra despedida

Era un día hermoso y soleado. Mis padres me llevaron temprano, porque además de la pileta, siempre había desayuno. Y por llegar tarde, a veces me lo perdía. Ese día, casi que llegué antes que todos. Desayunamos, y un ratito más tarde, llegó la hora de meternos a la pileta. Un tiempo después de que estábamos jugando, me decidí a llamarlo. Empecé a gritar su nombre muy muy fuerte, mientras miraba hacia arriba. Y entonces, tronco hizo su gran aparición.

Al principio, todos se quedaron quietos, mirándolo. Parecía como una gran y enorme sombra en el cielo. Hasta que bajó. Los nenes empezaron de a poco a correrse de su camino, para dejarle espacio. Pero al final, empezaron a escaparse, y a salir de la pileta lo más rápido que pudieron, asustados. Él, se posó sobre el agua al frente mío, y se quedó ahí, sin moverse. Y claro, no era raro que también le sorprendiera ver tantos niños juntos. Al fin, me Habló, y me dijo lo que para mí, fueron las palabras más difíciles de escuchar:

—Pequeña Maia. Sé que pasamos bonitos momentos. Sé que me querés muchísimo, y yo a vos también. Pero lamentablemente, no podemos seguir jugando juntos. Ahora, vos ya tenés amigos de tu edad con quienes jugar, y yo también necesito ir con amigos de mi especie. Quiero que sepas, que siempre que pienses en mí, voy a estar en tu corazón. Y que vas a poder contar conmigo, cada vez que me necesites. En tus sueños, en tu imaginación, voy a estar ahí para acompañarte. Pero ahora, cada uno tiene que seguir su camino. —Me subió a su lomo, y volamos por encima de la pileta por última vez. Me bajó despacio al agua, y se elevó hacia el cielo. Lo despedí agitando las manos, y gritándole muy fuerte:

—¡Adióóóóóóóóóóós!

Entendí, con sus palabras, Que había llegado la hora de que ambos empecemos, una nueva etapa de nuestras vidas. Entendí, que ambos, habíamos crecido. Pero que esto, no iba a ser para siempre. Que él iba a seguir visitándome en mis sueños. Algo qué, muchos años después, hasta el día de hoy, sigue pasando. Sigo encontrándolo en mis sueños cada vez que necesito un consejo, cada vez que necesito viajar y volar lejos del mundo que me rodea. Cada vez, que necesito un amigo. Pero de esos amigos que no se encuentran tan a menudo. Aquellos amigos con los que compartimos juegos, sueños, risas, sin que las diferencias nos dividan. Sin que importe si él es un dragón, y yo una niña. Y solo importen, las ganas de jugar y divertirse. Ojalá y todos los niños, puedan tener un amigo así. Un amigo, como mi mejor amigo Tronco.




Orgullo 2021

listenButton5.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

El logo del blog, con la bandera LGBT de fondo

Bueno, esto iba a ser un post para las redes sociales, pero entre párrafo y párrafo, se fue transformando en una entrada de mi blog. Disculpen los entreveros en el hilo conductor del artículo. Fue bastante improvisado, así que, por una vez en la vida, decidí publicarlo, sin revisarlo del todo. Más que nada, porque mañana ya no corresponde con la fecha. Creo que aún así, me quedó bastante bien. ¿Qué opinan?

Hoy, es 28 de junio. Durante todo el mes, se dice que es el mes del orgullo. Existen gigantes como el estado, empresas, entre otros, que pretenden abrazarnos, comprendernos y entendernos. ¿Pero, qué tan cierto es esto?

Durante este último tiempo, pasaron, con respecto a esto, varias cosas, que me han tocado muy de cerca. La primera, y que es de conocimiento público, es que al fin es ley el 1% del cupo laboral trans. Es decir, este porcentaje de personas, debe ser empleado en la administración pública nacional. Si bien, me parece un enorme avance, así como lo son todas las leyes que garantizan derechos a las poblaciones minoritarias, a su vez, me permito hacerle un cuestionamiento a la sociedad toda.

El artículo 14 de nuestra constitución nacional,, dice lo siguiente: Todos los habitantes de la Nación gozan de los siguientes derechos conforme a las leyes que reglamenten su ejercicio; a saber: de trabajar y ejercer toda industria lícita; de navegar y comerciar; de peticionar a las autoridades; de entrar, permanecer, transitar y salir del territorio argentino; de publicar sus ideas por la prensa sin censura previa; de usar y disponer de su propiedad; de asociarse con fines útiles; de profesar libremente su culto; de enseñar y aprender.

¿Entonces, por qué tiene que crearse una ley específica para que las personas trans, tengan la posibilidad de trabajar? Es lo mismo que el cupo del 5% para las personas con discapacidad. ¿Qué acaso, no se nos considera personas? La respuesta es no. Para este sistema capitalista, basado en la fuerza de trabajo, en relación a la aceptación religioso/cultural de la sociedad, y teniendo a la religión como uno de los garantes del control del estado sobre la población, no somos personas. Es por eso, que en una reivindicación de derechos, se crean estas leyes, para que tengamos algo que, se supone deberíamos haber tenido desde el principio, por el solo hecho de ser personas, y habitantes del suelo argentino, como lo indica claramente la constitución. Asimismo, está claro que esta pelea recién está empezando. A pesar de los avances en la tecnología, de los beneficios impositivos para empresas y demás, muy pocas cumplen realmente con el 5% de personas con discapacidad trabajando en sus empresas, en el estado, instituciones y/u organizaciones. El 80% de las personas con discapacidad, no tiene un trabajo estable, y muchos de ellos no tienen ni siquiera estudios formales que les permitan acceder al mercado laboral, en igualdad de condiciones. El 95% de las personas trans, no tiene un trabajo estable. el 90% aún continúa viviendo de la prostitución. En la mayor parte de los casos, ni siquiera tienen terminados sus estudios primarios. Y la expectativa de vida, continúa siendo de entre 35 y 39 años. ¿Entonces, si para las personas con discapacidad sucede esto, a años de haberse aprobado esa ley, qué podemos esperar las personas trans, con estas otras estadísticas? No mucho, en realidad. Es lo triste, de todo esto. Que a pesar de que existan leyes, los derechos de ambos colectivos, siguen siendo vulnerados sistemáticamente. Pero así, como las personas con discapacidad, en su mayoría no se rinden, tenemos que hacer lo mismo. ¿La gran pregunta sería, por qué no unificar las luchas? Sí, todos sabemos esa respuesta. Divide y triunfarás, dice el viejo proverbio, y es totalmente cierto. Existen divisiones entre los distintos tipos de discapacidades. En el movimiento LGBTIQ+, incluso hay personas que discriminan a las personas trans. Lamentablemente, la división de las minorías, y de la clase trabajadora, es una de las grandes victorias del capitalismo. El odio, o la infantilización. El menosprecio, o la exclusión directa o indirecta. No importa el motivo. El resultado, termina siendo el mismo. Por eso, es que esta, y todas las leyes, son un primer paso. Pero la igualdad ante la ley, muy pocas veces, termina siendo la igualdad ante la vida.

“Yo nena, yo princesa”. Es el título del libro de Gabriela Mansilla, la mamá de la pequeña Luana. Ella, fue la primer niña trans en Argentina y en el mundo, en obtener su DNI con su identidad de género, sin tener que pasar por un proceso judicial. Recomiendo a mis lectores que lean este libro. Al menos a mí, me cambió la cabeza en muchísimos aspectos. No suelo hacer reseñas de libros, porque tengo miedo de spoilear, pero esta va a ser una pequeña excepción. Hace poco, pude conseguir ese libro en formato digital para poder leerlo. Su historia, no solo me impactó en lo personal, si no que además, la crudeza con la cual la mamá, cuenta algo que a su vez, no logra comprender del todo, fue algo maravilloso. La historia de Luana no es tan diferente a muchas del resto de las niñas trans. La diferencia, es que ella, sí tuvo alguien que la escuche. Alguien que le dio muchísimas cosas, pero por sobre todo, amor, comprensión, entendimiento, respeto. También, tuvo que ver el contexto histórico, eso es algo que no puede dejarse de lado. Cuando Luana nació y comenzó a crecer, ya comenzaba a hablarse del tema. Incluso, por aquellos años, se promulgó la ley de identidad de género. Pero ese libro tiene muchísimo más, que la historia de una madre y su niña. Una de las frases de la pequeña, que más me impactó, fue la siguiente: “si yo soy nena, y me siento nena, mi penecito también es nena”. ¿Como una niña tan pequeña, puede explicar con tanta claridad y sencillez, algo que incluso a las personas adultas, les cuesta tanto entender? Somos trans, somos personas diferentes. Lo fuimos siempre. ¿Es realmente tan difícil? Sí. Desafortunadamente, sí. Lo es.

Tehuel De la Torre lleva casi 4 meses desaparecido. Es un joven trans de 22 años que fue visto por última vez el pasado 11 de marzo en San Vicente, cuando se dirigía a buscar trabajo. A pesar de la difusión, de los esfuerzos hechos, aún no se sabe dónde está, ni qué fue lo que le sucedió. Como él, lamentablemente, incluso con los avances en las leyes, hay muchos, muchas y muches, que siguen siendo desaparecides, violentades de miles de formas distintas, y asesinades, por el solo hecho de ser, de existir, de ocupar un pedacito de mundo.

Conclusión: Podemos (entre comillas) “conseguir trabajo”, cambiar nuestro género y nuestro nombre, incluso nuestra apariencia, de acuerdo con nuestra identidad autopercibida. Pero lo que no podemos, lo que no nos dejan hacer, a 52 años exactos de la masacre de stonewall, es vivir. Sí. el simple y sencillo derecho a vivir, a trabajar, a estudiar, a enseñar, a aprender, que tienen todas las personas de este mundo. No podemos permitir que esto continúe pasando. En el país, en el mundo, debe haber más Luanas felices, y Menos Tehuels desaparecidos. Más amor y respeto, y menos odio. Más personas con discapacidad con igualdad de oportunidades de trabajar, de adquirir conocimientos y experiencia, y menos exclusión. Tenemos que unirnos como sociedad. Tenemos que aprender a respetar, a aceptar al otro como es. A no discriminar. A juzgar al otro por sus habilidades y capacidades, y no por lo que se supone, no puede hacer. A juzgar a los demás, por las cosas en las que somos iguales, y no por aquellas en las que somos diferentes. Sé que incluso esto, no es suficiente. Pero si cada uno empieza poniendo un granito de arena, les aseguro que eso, ya va a ser mucho. Por supuesto, que la única posibilidad real de triunfo, es el cambio total del sistema capitalista, por un sistema más justo, más equitativo, más igualitario. Que vivamos en un mundo en el que seamos, como dice Rosa Luxemburgo, socialmente iguales, aunque seamos todos, humanamente diferentes. Pero hasta que ese cambio llegue, podemos seguir luchando, como lo hicieron todos aquellos que nos precedieron. Para no callarnos más. Para alzar la voz ante todas las injusticias, que sufrimos por ser personas con discapacidad, personas trans, o por pertenecer a cualquier otra minoría que esté siendo violentada.

Quisiera dejarles, para el final, también, algunas frases de activistas que representan a la comunidad trans en nuestro país:

Susy Shock: “Reivindico mi derecho a ser un monstruo. Que otros sean lo normal”.

Lohana Berkins: “En un mundo de gusanos capitalistas, hay que tener coraje para ser mariposa”.

Carlos Jáuregui: “En una sociedad que nos educa para la vergüenza, el orgullo es una respuesta política”.

Y bueno, una propia ¿Por qué no? Prometo que es la última vez que la publico. La tercera es la vencida:

No podemos ser totalmente inclusivos, pero sí podemos ser cada vez menos excluyentes, incluso yo misma. Es cuestión de ir mejorando día a día, y como mejor nos sea posible. Porque, con la exclusión, se puede aplicar el mismo concepto que se le aplica a la presunción de inocencia. Todas las personas somos excluyentes, hasta que se demuestre lo contrario.




La bicicleta y el monstruo


listenButton6.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

Creo que puedo decir, que esta historia, está inspirada en hechos reales. Ya que, en su mayoría, todo lo que aquí cuento, ocurrió tal y como lo describo. Aún así, seguro que hay algunas cosas que tal vez mi mamá pueda corregir, no lo sé todo con exactitud. Para escribir esto, hubo cosas que le pregunté, pero otras decidí dejarlas a mi imaginación, y por supuesto, a la de ustedes. Espero la disfruten.

Dicen que los monstruos siempre aparecen en la oscuridad. Debajo de las camas, del otro lado de la ventana o de la pared, en los sótanos o lugares pequeños y oscuros de la casa. Pero a veces, no es así. A veces, aparecen a plena luz del día. Y es que en realidad, los monstruos, no existen. Pero en nuestra infancia, en nuestra imaginación, les damos el carácter de entidad. Y es así, como los hacemos reales. Como hacemos que cobren vida. Como logramos tenerles miedo, y hasta si nos sentimos lo suficientemente valientes, atrevernos a enfrentarlos. Esta, es una historia de un monstruo. Pero es uno muy distinto, a los cuales están acostumbrados.

La casa en la que viví durante mi infancia, era grande. Bastante grande. El patio solo, tenía unos 30 metros de largo. Y para atrás, estaba toda la casa. Tenía una pared de ladrillos de un lado, y una de chapa del otro. No sé si voy a poder explicar bien la distribución de todo el contenido del patio. Lo tengo bien claro y nítido en mi imaginación, pero es difícil pasarlo a palabras, para que se hagan una representación real del plano. Y es que, si no logro que lleguen a comprender esto, lograr que entiendan la historia en su totalidad, va a ser muy difícil. Pero bueno, voy a hacer lo posible.

Cuando salías de la casa propiamente, te encontrabas en el medio. A tu derecha, a unos 2 metros, había unas rosas junto a la pared. Más adelante, había una galería que tenía 3 columnas de material del lado izquierdo, y un techo. Entre la segunda y tercer columna, había rosas también. Salías de la galería, y a 5 metros, había un árbol de durazno chiquito. Y por último, nada hasta el final. Al medio, siguiendo derecho desde la puerta, no había absolutamente nada. Ibas directo al portón. Mientras que hacia la izquierda, teníamos, casi a la altura de la entrada de la galería, la pileta, luego, había unos 3 metros más hacia algo de lo que voy a hablar más adelante, y después de eso, no había nada más hasta el final nuevamente. A veces los vecinos traían autos que dejaban en ese espacio libre de la izquierda, porque en sus casas no tenían espacio. Pero bueno, no siempre era así.

La bicicleta

Yo, a los 7 años, en mi primer bicicleta con rueditas. Tengo el pelo corto, una camisa a cuadritos y jeans beige
Yo, a los 7 años, en mi primer bicicleta con rueditas.

Tenía unos 7 años cuando llegó. La época de todos mis primos, mi hermano y yo, andando en triciclos, hace rato se había terminado. Recuerdo que fue un regalo de reyes. No se dan ni idea la alegría que teníamos. Era impresionante. Por fin, una bicicleta. Claro que al principio, la usábamos con las clásicas rueditas. Hay pocos niños que logran tener la valentía de animarse a usarla sin rueditas de una. Y definitivamente, no pertenecíamos a ese selecto grupo. Pero en fin, empezamos a andar. De a poco, con cuidado. En mi caso, muchas veces despacio, para no chocarme con los obstáculos que sabía que estaban. Y así, fuimos aprendiendo, hasta que llegó un día, en el que solo eso, se volvió aburrido.

El primero que lo intentó y lo logró, sin tantas dificultades, fue mi hermano. Claro que le costó, como a todo el mundo. Pero no tanto, como sabía que me iba a costar a mí. Así es, decidimos sacarle las rueditas, e intentarlo al fin, sin ellas. Él lo había logrado. Y ahora, era mi turno. En lo personal, quise dejar pasar algunos días antes de animarme. Sabía que iba a ser muy difícil, y hasta, para qué mentir, tenía miedo de nunca poder hacerlo. Pero dentro de mí, sabía que lo tenía que intentar. Que al menos, tenía que ver, si iba a poder por fin andar sin rueditas o no.

Nadie de mi familia se opuso en ningún momento a que lo hiciera. Entonces, decidí empezar de a poquito. Sosteniéndome con la mano izquierda de la pileta, y poniendo la mano derecha sobre el manubrio, y los 2 pies sobre los pedales, me iba dando impulso hacia adelante. Primero se me caía el pie, era como algo automático. Como si no quisiera estar ahí sin ningún tipo de sostén, y se bajara solo. Eso hacía que me raspe las piernas. Y eso dolía. Pero no iba a ser el único dolor que me cause esa gran proeza. Al fin, un tiempo después, y con algunos raspones más, empecé a andar sin ayuda. Iba hacia el final del patio, pero ahí paraba, y volvía. Porque todavía, no me animaba a doblar. Hasta que comprendí que el patio era grande, y que iba a tener el suficiente espacio para dar la vuelta, y volver por el centro del patio nuevamente. Al llegar a la parte entre la pileta, la galería y la casa, era muy distinto. El espacio era chico, y sabía que no iba a ser nada fácil. Pero claro, no iba a rendirme. Ya había llegado hasta ahí, y tenía que dar el paso siguiente.

El gran obstáculo con el que tuve que enfrentarme al doblar cerca de la puerta de la casa, fueron las rosas que estaban contra la pared derecha. Mi idea era llegar, doblar a la izquierda, luego a la izquierda otra vez, y entrar por la galería. Es decir, en realidad era algo así como un giro continuo. Porque se supone, que no tenía que doblar 2 veces, si no solo una, y continuar doblando hasta esa entrada, y andar por un nuevo camino. Pero nada, eso. Sí. Doblé una vez, y no doblé lo suficientemente rápido como para no chocarme con ellas. Así que, digamos que quedé a medio doblar, y me clavé algunas espinas en el hombro. Todavía recuerdo a mi mamá sacándomelas, mientras yo lloraba, pero a la vez no movía ni un pelo, porque sabía que iba a ser peor. Cuando eso pasó, continué. Esta vez, sí pude conseguirlo, y al fin entraba a la galería, la pasaba derecho, subía por una montañita de tierra, y salía hasta el centro del patio, para no chocarme con el arbolito de duraznos. Llegaba hasta cerca del portón, daba la vuelta, y me dirigía de nuevo hasta la puerta de la casa, para empezar otra vez desde el principio.

Pero los obstáculos, seguían existiendo. Mi objetivo final, era poder andar por todo el patio, sin chocarme con absolutamente nada de lo que había. Y en este sentido, el paso siguiente, era pasar por entre las columnas de la galería. Y claro, era de suponer. Las rosas entre la segunda y la tercera. No saben cómo me quedó la panza. Toda llena de rayitas. En cierta forma era divertido tocarlas. Era como cuando hacemos un montón de rayas con puntitos en una hoja en braille. Y, aunque las rosas de la pared quedaron durante muchísimo tiempo, por más que le haya pesado a mi abuela, las de la galería, sí tuvieron que desaparecer, para que yo continúe con mis avances.

Con el paso del tiempo, fui mejorando, y muchísimo. Ya podía andar por casi todo el patio. Incluso, cuando mi hermanita menor fue creciendo, la subía a upa en la bici, y la llevaba a ella también. Como se me hacía complicado pedalear y manejar con ella arriba, me iba indicando cuando tenía que doblar. Aún así, no era tan difícil. Ya no me chocaba con las rosas, podía entrar por la galería y salir, y hasta incluso pasar por el costado de la pileta. Sé que no lo mencioné antes, pero había una zanja a un metro de la pileta, hacia la izquierda, antes de la chapa que marcaba el otro límite de la casa. Claro que, aún me faltaba lo más importante, trascendental, y dificultoso de todo. Enfrentarme al gran monstruo, del centro del patio.

El monstruo

Recuerdo que sucedió un típico día de verano. El sol resplandeciente, me hacía compañía, como en tantos otros días en los que me disponía a andar en bici. Sí, así es. Era uno de esos días maravillosos, en los que iba a disfrutar de mi deporte favorito. Empecé, y mi idea era como siempre, continuar hasta el final del patio, y volver. Pero esta vez, algo fue diferente. Llegué al centro, y me detuve. “No sé si voy a poder hacerlo. Tengo miedo de golpearme, de caerme a la zanja, de lastimarme peor que nunca…” me quedé pensativa unos largos minutos. Era la mayor de todas las cosas que había emprendido jamás con la bicicleta. Las dudas me asaltaban por doquier. ¿Sería finalmente, capaz de hacerlo?

Estaba en la parte izquierda del patio, y a unos 3 o 4 metros adelante de la pileta. A solo unos 50 o 60 centímetros de la zanja, no mucho más. Pero era tan grande, que daba sombra desde un poco después de la pileta, hasta el final del patio, pasando por todo el centro, por supuesto. Sí. Mi monstruo, era un árbol. Más específicamente, un pino. Lo habían plantado cuando mi papá nació, y para esa altura, era tan alto, que yo no llegaba ni siquiera a tocar las ramas más bajas. Solo podía tocar el tronco. Y ni hablar de la copa. Jamás vi la copa de un árbol, más que en algunos dibujos en relieve. Es por eso, que cuando intentaba dibujarlos yo, solo lo hacía con ramas, porque era lo que conocía. Pero volviendo a aquel pino, la copa, no solo no podía imaginarla, si no que sabía que siempre iba a ser inalcanzable. Exacto. De seguro ya lo imaginan. Yo tenía que enfrentarme a ese gigante. Yo tenía que dar la vuelta alrededor de él. Pasar por el espacio que quedaba, entre el tronco del árbol, y la zanja.

Soy consciente de que, imaginar un monstruo como lo imaginaba yo, es difícil. ¿Cómo puede, un tierno y lindo árbol ser un monstruo? Pero si lo ven desde mi punto de vista, como algo gigante, inalcanzable, casi intocable, y con el poder de cubrirte tan majestuosamente con su sombra, así, parece más sencillo. Y es así como lo veía, como lo sentía. Con una presencia tan imponente, tan poderosa, que me resultaba difícil el pensar siquiera, en enfrentarme a él. Pero una vez me decidí, sabía que ya no había vuelta atrás.

Mi idea era regresar a la puerta de la casa, y empezar desde ahí. Una vez en el centro del patio, debía ir girando hacia la izquierda hasta rodear el árbol, pasando por entre este y la zanja, y continuar girando hasta salir por entre el árbol y la pileta otra vez, hasta el patio. Ahí decidiría si, iría hacia la derecha, a la puerta de la casa, o a la izquierda, al portón que daba a la calle. Pero como vengo contando, las cosas no siempre salían desde el principio como yo quería. Creo que esta premisa, incluso puede aplicarse a la vida. Pero en fin, esta vez, no solo no fue la exceppción, si no que además, el costo que tuve que pagar, fue muy alto…

Como venía diciendo, empecé desde la entrada de la casa. Al llegar al centro, doblé a la izquierda, y… Sí. Me di de frente con el tronco del “monstruo”. Me caí, y me puse a llorar. Me sangraba la nariz y la boca. Cuando me llevaron al médico, me dijeron que uno de los dientes permanentes, de arriba adelante, se me había roto de raíz. La operación para extraerlo, y reemplazarlo por una prótesis, era muy riesgosa. Por lo que iba a quedar ahí, muerto, para siempre. Así es. Esta vez, mi proeza con la bicicleta, me había costado nada más ni nada menos, que un diente. La marca visible, de aquella incursión alrededor del pino. Una marca, que quedaría por el resto de mi vida. Y si creen que eso me detuvo, están realmente muy equivocados.

Volví a pararme en el centro. Esta vez, lo miré con furia. Con una furia enorme, con una ira casi incontrolable. Le reclamaba, con la cabeza apuntando hacia arriba, como mirando directamente a sus ramas, a su copa. “mirá lo que me hiciste. Si te pensás que te vas a salir con la tuya, estás muy equivocado. Voy a pasar por ese espacio entre vos y la zanja, por donde apenas entra la bicicleta, así como lo hace mi hermano, aunque pierda todos los dientes de la boca. Espero me hayas entendido. Porque no lo voy a volver a repetir. Lo voy a intentar de nuevo, y de nuevo, y de nuevo, hasta que me salga”. Y así lo hice. Pero esta vez, con una táctica diferente.

Era otro de esos días de verano. El sol iluminaba todo el resto del patio, en donde él no llegaba, claro está. Empecé andando desde la puerta de la casa. A medida que incrementaba la velocidad, el viento se empezaba a sentir. Un viento cálido y frío a la vez. Un viento que intentaba llevarme hacia atrás, aunque yo quisiera ir hacia adelante. Entré bajo el campo que cubría su sombra. Llegué hasta el centro del patio, pero seguí, sin doblar, ni detenerme. Casi cuando estaba llegando al portón, di la vuelta hacia la izquierda. De a poco, fui doblando la bici, inclinándola hacia la derecha, porque quería entrar desde ahí, directamente a ese pequeño espacio, entre el monstruo y la zanja. Y esta vez, lo logré. Pasé derecho por ese costado, continué entre la pileta y la zanja, y llegué de nuevo al principio. Doblé a la izquierda, y volví a empezar. En esta ocasión, entré por la galería. Subí la montañita de tierra, y doblé a la izquierda, para salir al centro. La incliné un poquito a la derecha, para no chocar al árbol de frente nuevamente, y fui directo para doblar a la izquierda, y al fin, rodear el árbol, pasando entre él y la zanja.

Continué así durante horas. Dando vueltas y vueltas alrededor del patio. Atravesando la galería, la montañita, el centro, todo el espacio libre, rodeando el árbol, la pileta, y volviendo a empezar. A veces, por entre las columnas de la galería. A veces, por el medio del patio. A veces, rodeando el árbol ni bien salía al centro. Y siempre, con el resplandeciente sol y el viento cálido por un lado, y la enorme sombra y el viento frío por el otro. Y es esa imagen con la que decido quedarme. Con ese andar constante, con ese bucle infinito de la bicicleta. Y es que hoy, muchos años después, tal vez, y solo tal vez, estoy contando esta historia para abrir una pequeña ventanita al pasado. Para decirte a vos, que estás andando en esa bicicleta sin parar: “La vida va a ponerte muchos obstáculos. Va a golpearte, y seguro te va a lastimar. Van a aparecer muchos monstruos a los que vas a tener que enfrentarte. Probablemente, te dejen marcas permanentes, difíciles, o hasta imposibles de sanar. Vas a caerte muchísimas veces, y hasta te va a ser difícil levantarte. Pero no importa. Hacelo. Sí. Levantate igual, y seguí andando. Un paso a la vez, un objetivo a la vez, superando un obstáculo, y recién después, yendo al siguiente. Porque no importa que nunca toques la copa de un árbol. No importa que no llegues siquiera a tocar una rama. Importa estirar los brazos, y nunca dejar de intentarlo. Hasta donde sea que llegues. Logres lo que logres, recordá que siempre que te caíste, te levantaste, te volviste a subir a la bicicleta, y seguiste tu camino. Sé, que ahora no vas a entender todo esto que te estoy diciendo. Pero la verdad, me encantaría, y me haría muy feliz, que realmente lo entendieras algún día”.




El Sepulcro

listenButton7.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

Del baúl de los recuerdos. Este es un cuentito que escribí allá por el año 2009, para un concurso. En su momento, no lo gané. Claro que no es raro que no lo haya ganado. Si leyeran el texto original, verían que hay enormes errores que deberían haber sido corregidos antes de presentarlo. Incluso faltas de ortografía que son imperdonables. Aún así, como me gusta la historia, al encontrarlo en el galpón digital que tengo en un disco externo, decidí modificarlo, arreglarlo lo mejor posible, y compartirlo por aquí. De todos modos, si ven cosas que están donde no deberían, o algún error que se me haya pasado por alto, sepan disculparme. Hice lo mejor que pude. Fue una de las pocas veces en las que incursioné en el género de la literatura de terror. Lo que pasa es que cuando leo algo, ya sea propio o ageno, me comprometo tanto con los personajes, que, bueno… no sé como decir esto. Mis propios textos me dan miedo. Sí, así es. Recuerdo una vez en primaria que estaba escribiendo un cuento de terror en mi pieza, y me asusté tanto, que salí corriendo. En fin, dejé de escribir cosas de terror, por esta razón. Pero quizás, si alguien me manda un mensajito y me cuenta una historia linda antes de irme a dormir, lo retome…

El Sepulcro

Si algún día lo encuentran, seguro se preguntarán quien soy y como llegué aquí… Bueno, mi nombre es Analía. Todo comenzó el primero de enero del año 2009. Ya habían empezado las vacaciones, sí, mis ansiadas vacaciones. Después de las fiestas, habíamos decidido ir a pasarlas a la estancia de mi tía en el campo. Al llegar, me encontré con mi prima Alicia, a la que no veía desde que las 2 teníamos 3 años; algo extraño había pasado en aquella época, pero no recordaba que era. En fin, ahora, pasados 11 años, era una alegría enorme para mi haberme rencontrado con ella después de tanto tiempo. Cuando nos instalamos mis padres y yo, Alicia me dijo que tenía unas personas para presentarme, y yo pensé: “¡Que bueno! ¡Seguro vamos a conocer chicos!” Pero no, me había equivocado. Eran 2 amigas de ella, de la misma edad que nosotras.

—Ella es Estefanía. —Me dijo—. Y ella Karina.

—Mucho gusto. —Les dije.

—Igualmente —respondieron.

—Bueno, recuerden que hoy a las 9 tenemos que realizar nuestra reunión de todos los meses —dijo mi prima.

—¿Una reunión? —pregunté.

—Sí. Y vos, estás invitada a participar. Se trata de una reunión, que hacemos cada primero de mes, en la que contamos historias que no llevan a ningún lado.

—¿Como las que cuentan nuestros abuelos?

—No, se llaman así porque nunca nos movemos de nuestros lugares, siempre permanecemos sentadas aunque no lo parezca. Por supuesto, todas estas historias son de terror.

Después de eso las chicas se fueron. Y yo, me quedé pensando en que no me gustaban las historias de terror. Pero, que si les decía eso, iba a quedar como una miedosa, así que decidí que participaría de todos modos.

A eso de las 8:30, las chicas llegaron.

—¿Analía, estás lista? —Me preguntó mi prima.

—No, esperá que me estoy maquillando y arreglando un poco el pelo.

—¿Que está qué? —preguntó Karina.

—¡Es una nenita de ciudad! —dijo Estefanía.

—Qué te pasa? Te voy a romper la cara.

—Dale, que tiene razón, no vamos a ir a conquistar chicos, así que apurate. —Me dijo mi prima.

Ya eran las 9. Habíamos llegado a un lugar casi desolado. Se veían algunos árboles a lo lejos, pero no se veían cerca ni casas, ni nada. Para llegar allí tuvimos que ir a caballo. Por supuesto que yo no sabía montar, pero ellas sí, y me llevaron. El lugar no parecía tan lejos de la casa, pero aún así, al verlo en su totalidad, es como si nadie fuese por allí tan seguido.

—Bueno, ya es hora. —dijo mi prima.

—Esperá. —interrumpió Karina—. ¿Qué tal si es verdad lo que cuentan?

—¿Vamos, de verdad te vas a creer eso? —dijo Estefanía.

—¿Y la chica de hace 11 años? —preguntó Karina.

—Esas son mentiras, no tuvo nada que ver con esto. —Contestó Estefanía.

—¿De qué están hablando? —pregunté.

—¿Ves esto? —Me preguntó mi prima, mientras sacaba una especie de taza de barro, con unos extraños dibujos y una escritura en ella—. Esto forma parte de una extraña tradición, la cual, nosotras estamos siguiendo. Acá adentro se va a encender una vela, esa vela permanecerá encendida exactamente hasta las 12 de la noche. En ese lapso, una de nosotras debe empezar a contar una historia que se le vaya ocurriendo en la que todas seamos las protagonistas, y las demás deben continuarla hasta que en un momento de la historia, todas nos separemos y cada una siga su propio camino. Tenemos que estar sentadas en círculo, así como estamos ahora. A las 12, las historias deberían terminar, y todas tendríamos que estar acá.

—¿Por qué tendríamos?

—Bueno, eso es lo que se sabe oficialmente de la leyenda. Pero, extraoficialmente se dice que…

—Que si las integrantes son más de 3, una de todas, desaparece. —La interrumpió Karina—. Y yo no quiero que me pase a mi, ni a nadie lo que le pasó a aquella chica.

—Te dije que no tuvo nada que ver con esto, a esa chica la secuestraron —dijo Estefanía.

—¿Ha sí? ¿Y por qué no pidieron rescate?

—Insisto. ¿De que chica están hablando?

—Yo le cuento, —dijo mi prima—. No creo que te acuerdes porque éramos muy chicas. Pero hace exactamente 11 años, se armó un gran lío en todo el pueblo porque una chica había desaparecido. Y se decía, que ese día, estuvo haciendo una reunión similar a esta junto a 3 chicas más. Se dice que, después de que la historia terminó, ella ya no estaba.

—¿Pero desaparecen? ¿Así como así? ¿Y, adonde van?

—Al sepulcro —dijo Estefanía—. Es lo que dice en la taza: “El sepulcro”. Dicen que ese lugar realmente existe, y que no está muy lejos de acá. Es más, tal vez, esté justo, debajo de nosotras. Pero la policía buscó por todas partes, y nunca encontró nada.

—Ya fue, sea como sea, yo me voy a la mierda. Tengo muchas cosas que quiero hacer, muchos chicos a quienes conocer, jodas a las que ir, lugares a los que ir a bailar, y todas las pelotudeces que se me ocurran. Ustedes quédense con su historia de fantasmas, a mí no me importa.

—Yo también quisiera irme —dijo Karina—. Pero ya no podemos. La vela, ya está encendida.

—¿Y quién mierda la encendió?

—Se encendió sola —dijo Estefanía—. Eso quiere decir, que quiere que empecemos. Primero vos Alicia, porque vos trajiste a la cuarta integrante.

—Cuenta la historia, que en una casa muy muy grande, vivían 4 hermanas que todas las noches, escuchaban ruidos extraños provenientes del sótano. Cuando les preguntaban a sus padres que había ahí, ellos les decían que no les importaba y que nunca se acercaran. Una noche, sus padres se habían ido a una fiesta, así que Alicia, Karina, Estefanía y Analía, habían decidido investigar qué eran esos ruidos. Al decir yo los nombres en ese orden, especifiqué en qué momento va a continuar la historia, y a separarse asimismo cada una en caso de que quiera hacerlo. Las 4 comenzaron a bajar la escalera, y comenzaron también, a ponerse un poco nerviosas. Cuando llegaron abajo, comenzaron a caminar por un pasillo angosto pero bastante largo. A lo lejos, se escuchaban voces que no se entendían, y pasos que se acercaban cada vez más. Al terminar ese pasillo, encontraron un segundo que estaba hacia la izquierda. Este pasillo era un poco más ancho, y estaba completamente oscuro. Las paredes, crujían tanto, que parecía que se iban a romper en cualquier momento. Por suerte, habían llevado linternas para ver mejor. —Luego siguió Karina.

—Continuaron por ese pasillo. Para estas alturas, estaban completamente aterrorizadas. Mientras caminaban, decidieron no separarse y permanecer juntas para poder protegerse y que nada les pase. Una vez finalizado este, se encontraron con un tercero que esta vez, iba hacia la derecha, y que iba en subida. Algo que no podía ser, porque de ser así, estarían volviendo hacia arriba y no habían encontrado ningún otro pasillo alternativo. Comenzaron a caminar nuevamente. El mismo, tenía unas manchas rojas como de sangre a los costados. Los ruidos ahora eran confusos, ya no se sabía de donde venían. Si de atrás, o de adelante. Si de arriba, o de abajo. Si de entre las paredes de los costados… Iban tratando de mirar hacia todos lados por si algo extraño sucedía. Lo que todos los pasillos tenían, eran telarañas, y una especie de musgo, como si nadie los hubiese limpiado en años. Al finalizar, encontraron un pequeño pasadizo que giraba hacia la derecha, y luego, un cuarto pasillo más, el cual, no iba ni en subida ni en bajada. Continuaron caminando, y comenzaron a ver que a la distancia, se veía una luz. —Siguió Estefanía.

—Las 4 se pusieron contentas ya que, por fin habían podido ver algo de luz, entre tanta oscuridad. Así, continuaron esperanzadas, pensando en que pronto, terminaría todo esto. Y prometiendo que, nunca más, iban a desobedecer a sus padres. Pero de repente, algo extraño sucedió. Empezaron a sentir como si algo las rodeara, como una especie de energía negativa o algo así, que iba ingresando de a poco en sus cuerpos. Además, veían que la luz poco a poco se iba desvaneciendo. Y que las paredes, se iban haciendo cada vez más angostas. Ahora estaban aterrorizadas nuevamente. Y veían a su alrededor, sombras como pintadas en las paredes. Como si alguien hubiese dejado los dibujos más grotescos del mundo para ellas, y como si estos se movieran hacia un lado y hacia otro, y se agrandaran y achicaran constantemente… Al llegar al final, se encontraron con que no solo no había luz, si no que después, habían 2 pasillos para seguir. Y decidieron separarse en 2 grupos, prometiendo que si algo raro llegaba a pasar, volverían por el camino por el que se fueron. Y además, que se encontrarían en una hora de vuelta arriba las 4. —Seguí yo.

—Así, Estefanía y Karina se fueron por un lado, y Alicia y Analía se fueron por otro. Las 2 últimas, caminaban pensando en que esperaban que nada les pase ni a ellas, ni a sus hermanas. Pero de repente, las linternas se apagaron, y ahora tenían que ir tanteando lo que se encontraba a su alrededor, en la más absoluta oscuridad. Caminaban abrazadas, asustadas, con mucho miedo de lo que podría llegar a pasarles. Una vez terminaron, de nuevo vieron que había 2 caminos posibles. Y decidieron solo llegar al final de cada uno por separado y volver, sin importar lo que pase, ni lo que haya. Yo, Analía, fui por el derecho. Iba despacio, muy despacio, y con muchísimo miedo. Cuando por fin estaba terminando, y decidí volver, vi que este no tenía salida, y que había algo escrito en la pared. Me acerqué un poco para leerlo, y de pronto, así de la nada, mi linterna se encendió. Y lo vi claramente: “El Sepulcro”. El piso se abrió, y yo caí hacia abajo, cerrándose aquella tapa en mi cabeza y quedándome yo atrapada aquí.

Ahora, sabiendo que ya nadie podrá encontrarme, y en mis últimos momentos de vida, escribo esto con una navaja que siempre llevaba conmigo. Así, quedando tallado en la piedra, y esperando que no se borre con el paso del tiempo, están los que fueron los últimos acontecimientos de mi vida. Acá, entre tantos esqueletos de tantas chicas desaparecidas, espero encuentren el mío. Aunque he decidido permanecer un poco más retirada de las demás, junto a lo que estoy escribiendo. Bueno, ya me voy despidiendo, ya casi no puedo respirar. Díganle a mi familia, que la quise mucho. ADIÓS.




Querido diario

listenButton8.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

Pequeño cuentito escrito durante la cuarentena, originalmente para el proyecto Letras del alma Silvana en facebook.

Querido diario. Estoy re aburrida. Ya estoy cansada de estar encerrada en mi casa. Me cansé de jugar con el celu, de ver la tele, de pelear con papá y mamá, y también con mi hermano. Extraño mucho a mis tíos, mis primos, mis abuelos, a las seños, y a todos mis compañeritos de clase. Ya no tengo nada que hacer. Intenté de todo, pero con todo me aburro.

Mi abuela me dijo que, si cierro los ojos y cuento hasta 10, puedo ir al lugar que yo quiera. No importa donde sea ese lugar. Ni como yo me lo imagine. Solo tengo que contar, y cuando termine, voy a estar ahí. Lo voy a intentar, espero que funcione. ¡1, 2, 3, 4, 5, 6, 7, 8, 9, 10!

Ahora, estoy en una plaza. Es re linda, y está llena de nenes y nenas como yo, que solo quieren jugar afuera. Hay un sol re grandote. No hay ni una sola nube en el cielo. Miro para todos lados, y elijo un juego.

Primero, voy corriendo al sube y baja. Me subo, y me siento a esperar. Se acerca una nena, y nos ponemos a jugar las 2 juntas. Sube, baja. Sube, baja. Después de un rato, nos bajamos, nos juntamos con 2 nenes, y vamos a la calesita. Nos ponemos a girar y girar, hasta que empezamos a marearnos. Nos bajamos, y nos vamos los 4 a las hamacas. Es re lindo sentir como el viento nos vuela el pelo. Nos bajamos, nos juntamos con más nenes, y corremos hacia el tobogán, a ver quién llega primero y se tira. Los demás, nos vamos tirando en fila. Y por último, nos sentamos alrededor del arenero, y nos ponemos a hacer un castillo todos juntos, cada uno haciendo un pedacito. Al final, nos paramos, y nos damos todos un abrazo gigante, prometiendo que nos vamos a ver la próxima vez.

Vuelvo a abrir los ojos. Estoy en casa otra vez. Al final, mi abuela tenía razón. ¡Me divertí mucho! ¡Y ni siquiera salí de mi casa! Me gustaría que todos pudieran hacer eso. Así, ningún nene se sentiría solo, y todos tendríamos alguien con quien jugar, aunque sea un ratito.




Ver televisión y contenido On Demand por internet


listenButton9.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

En esta ocasión, vuelvo con una entrada sobre tecnología, que puede que a algunos les resulte de interés. Pero antes, vamos a aclarar algunas cosas. Primero, aunque la publicación en sí, está sobre todo dirigida a personas con discapacidad visual, porque de lo que se trata, es de probar la usabilidad y/o accesibilidad de las aplicaciones de las que voy a hablar más abajo, quienes tengan otro tipo de discapacidad, o quienes no tengan ninguna incluso, pueden continuar leyendo. Ya que, quienes sí tengan, pueden probarlas desde su lugar, y quienes no, bueno, si quienes tenemos una discapacidad podemos usar una app determinada, es casi seguro que quienes no tienen ninguna, puedan hacerlo sin problemas. Y tal vez, algo de esto sea de su interés. ¡Así que, lápiz y papel, y a tomar nota! O bueno, también pueden guardarse esta entrada en favoritos para leerla cuando quieran. Eso sí, atentos, que hay mucha información.

Segundo, esta es la primera vez que intento escribir con el nuevo editor de WordPress, al cual no estoy acostumbrada. Por lo que, si algo queda mal estructurado, o con algún formato extraño, sepan disculpar. Es complicado adaptarse a este nuevo sistema que, dicho sea de paso, no me gusta, pero al que entiendo, tengo que adaptarme sí o sí, si es que quiero continuar con este apasionante mundo de la escritura. O bueno, a menos que mude todo el sitio a otro servicio. Es una posibilidad que aún estoy considerando. Mientras tanto, para quienes estén en la misma situación, encontré este artículo en IncluyeTek, que explica un poco, como utilizarlo con lectores de pantalla desde la web. Dicho todo esto, vamos a lo nuestro.

En tercer lugar, también quiero aclarar el por qué digo “usabilidad y/o accesibilidad”. Porque en realidad, la mayoría de las aplicaciones de las que voy a hablar, no me consta que sean totalmente accesibles. A diferencia de algunas de las apps de streaming On Demand, como Netflix o Amazon Prime Video, algunas de estas no poseen ni subtítulos, ni audiodescripción. ¿Pero entonces, por qué deberíamos ver televisión por internet?

Existen muchas plataformas que nos permiten, casi siempre, ver lo que queremos, cuando queremos. Son tantas, y con precios y contenidos tan variados, que no solo se nos hace difícil elegir una. Si no que además, dependiendo de nuestras posibilidades económicas, se nos puede hasta hacer imposible pagarlas. En cuanto a las personas con discapacidad, mientras que algunas de estas ofrecen subtítulos y audiodescripción en parte de su contenido, y mientras que sus apps y sitios webs, son accesibles, en otras, podemos esperar todo lo contrario. También, tenemos las plataformas de las compañías de cable. Todas las que pude probar, y de las que tuve conocimiento por otras personas con discapacidad, son casi, o totalmente inaccesibles.

Muchas personas, prefieren no contratar cable, pero sí tener internet. Esto se debe a que hoy en día, sobre todo para la juventud, es mucho mejor, como decíamos, ver lo que quieren y cuando quieren, que atarse a los canales de televisión con transmisiones predefinidas, llenas de publicidad, y de contenido que, tal vez no sea de su interés. Pero, hay otra razón. El contexto de pandemia, convirtió a internet en una necesidad, casi indispensable. Ya sea para estudiar, para trabajar, o incluso para entretenimiento. Tanto así, que hay quienes prescinden del servicio de cable, en favor de conservar internet, e incluso, de incrementar la velocidad del mismo, siempre y cuando, esto sea posible. Sin embargo, hay quienes sí quieren ver la vieja y querida televisión. Ya sea porque extrañan los viejos tiempos, o porque les gusta tener algo de fondo mientras realizan cualquier otra tarea, la tan criticada y apedreada “caja embobadora”, debe formar parte de sus vidas. Y aunque hoy comprendemos que, en realidad lo que nos emboba no es ella, si no el contenido, sea cual sea el formato en que este venga, aún, la seguimos necesitando. Y es principalmente para ellos, para quienes va esta publicación. Aún así, también hay contenido On Demand. Es decir, traigo para mostrarles, de todo un poco. Pero además, la mayoría de las propuestas que aquí presento, son totalmente gratuitas.

Pluto.TV

Es lo más parecido a lo que podemos encontrar en nuestro clásico operador de cable. Dividido por canales, los cuales cubren distintas secciones que van desde películas y series, hasta documentales, entre otros muchos. Posee contenido On Demand y en vivo. Con clásicos de la televisión Argentina, y muchos internacionales. Hasta tiene un canal de mi programa favorito de terror: “Historias de Ultratumba”. Algunas de sus desventajas, son el hecho de que empieza a reproducirse el canal ni bien se abre la app, y que la publicidad, aunque es entendible que la tenga, ya que no requiere ni registro ni suscripción alguna, aparece en cualquier momento de la transmisión, sin tener en cuenta en qué momento debería pasar a una pausa el programa en cuestión.

En cuanto a su accesibilidad en IOS, la mayoría de los elementos del reproductor son accesibles, incluso puede enviarse al ChromeCast. Hay algunos elementos mal etiquetados o sin traducir. El botón para silenciar dice Volume Up, pero silencia. Hay que tener cuidado porque en pantalla completa, se silencia el Voiceover. En la pantalla principal, en la parte inferior se supone que hay 3 pestañas, pero no se identifican como tales. No tiene un buscador. En On Demand cuando se selecciona una categoría, se vuelve muy lento el desplazamiento con gestos, casi inusable. Conclusión: Una app con una accesibilidad aceptable, pero sería deseable que mejoren la accesibilidad y usabilidad.

Sin embargo, en android, corremos con más suerte. Todos los elementos del reproductor son accesibles. Excepto un botón que está etiquetado como “Pip”, el cual sirve para hacer que el reproductor, se superponga a la pantalla de inicio del teléfono. En la pantalla principal, en la parte inferior hay 3 pestañas. Las mismas son: en vivo, On Demand, y Acerca de. En On Demand al navegar por categorías, con Talkback se comporta bien. Conclusión: aunque acá se comporta mejor, creemos que todavía pueden mejorarla, y añadir subtítulos y audiodescripción. Esperemos que algún día lo hagan.

Descargá Pluto.TV para IPhone y Descargá Pluto.TV para Android.

IPTV – Internet Protocol TV

En español, “Protocolo de televisión por Internet. Es un método utilizado por compañías operadoras de cable, y por canales específicos, que lo eligen como alternativa a la transmisión por cable o satélite que conocemos. El mismo consiste en una conexión privada de internet entre la compañía de cable y el usuario, la cual funciona sin que, precisamente, tengas que conectarte a internet. Mediante este método, toman ancho de banda de nuestra conexión, para dirigirlo a este tipo de transmisión. Una de las ventajas que tenemos quienes sí poseemos televisión aún, es que nos ofrece la posibilidad de disfrutar del contenido On Demand, retroceder y ver programas que ya pasaron, entre otras. Las compañías de cable usan sus propias apps, y sus codificadores, para que podamos acceder a este contenido. Como mencioné anteriormente, ninguna de las que probé o de las que al menos yo tuve conocimiento, son accesibles con lectores de pantalla. Pero además, contratar algunas de estas aplicaciones, incluso conlleva un gasto extra, por sobre el destinado al pago del cable. Es decir, al igual que las clásicas plataformas de streaming, para utilizarlas, se requiere el pago de una subscripción mensual.

Asimismo, muchos canales de TV, tienen sus propias apps. Además de poder verlos en vivo, tienen todos sus horarios, capítulos de novelas, programas de entretenimiento, series y otro tipo de contenido específico. Pero muchas de estas apps, no son accesibles tampoco. Y sobre todo, convengamos que instalar una app por cada canal que queramos ver, sería bastante tedioso. Pero estas, no son las únicas formas de acceder a este protocolo.

Las listas de canales IPTV, son unas listas en formato M3U generalmente, mediante las cuales podemos acceder a este tipo de contenido, sin la necesidad de contratar un operador de cable. Y es esto, lo que hace al IPTV tan popular. Por supuesto que no se puede acceder a todas las funciones que sí poseen los métodos mencionados anteriormente, pero sí se puede acceder a las transmisiones en vivo de muchísimos canales. En estas listas, se almacenan las direcciones IP remotas de los canales de TV. Además, existen canales específicos creados con este protocolo, y que transmiten por internet, los cuales ponen su propia publicidad. Sus detractores, dicen que mediante esta transmisión, se puede correr el riesgo de infectar el dispositivo, ya que, tanto las listas M3U, como los software creados para reproducirlas, pueden contener malware oculto. Pero también, podría suceder lo mismo con cualquier otro tipo de app. Pienso que este tipo de difamación, está más relacionada a que, claro, el acceso a este contenido y de esta forma, no es lo que se dice “algo legal”. En fin, para reproducir estas listas, y acceder a todo su contenido, podemos utilizar distintos programas, disponibles en las tiendas oficiales. Uno de ellos, el cual es multiplataforma, es el conocido VLC Media Player. También, podemos encontrar IPTV para Android y Cloud Stream IPTV Player para IOS. Pero claro, acá nos falta lo más importante. Y se los dejo a continuación. Es la lista IPTV Argentina. Entran al enlace, copian la dirección URL desde la barra del navegador, y la añaden a cualquiera de las apps que se hayan instalado. Listo, eso es todo. Van a tener muchos canales para ver en vivo, sin pagar a ninguna operadora de cable. El único problema de accesibilidad con lectores de pantalla, es el ya conocido en otras plataformas. Es decir, que cuando iniciamos la reproducción, el mismo se queda callado, y no responde a menos que toquemos 2 veces en la pantalla. Pero es algo sencillo de subsanar, para las enormes ventajas que tiene. ¡Incluso, hay un canal de 24 horas de Los Simpson! ¿Se imaginan lo maravilloso que es eso? Pero en el mundo del contenido digital, no todo es tan usable…

¡Contenido digital argento!

¡sí, para vos che! Si sos de acá, o te gusta ver todo lo nuestro, deleitarte con series como “historia de un clan”, o películas como “El secreto de sus ojos”, no podés perderte esto que voy a presentarte ahora. ¿O sí?

Hay plataformas nacionales con contenido digital muy variado, y por sobre todas las cosas, interesante. Algunas de ellas, son: Cont.ar. esta te permite, disfrutar de canales públicos, y de series y películas de producción nacional. Tiene títulos como los mencionados más arriba, entre otros muchos. Cabe destacar, que al igual que las plataformas mencionadas anteriormente, está separada por secciones. También, tenemos Cine.ar. además de ser un canal de televisión propiamente, es básicamente el cine argentino en tu casa. Todos los estrenos nacionales, pueden verse cada jueves, y por un lapso de 7 días. Aunque requiere registro previo, es una gran oportunidad, en estos tiempos en los que ir al cine, no es posible. Continuamos con Teatrix. Al igual que la anterior, en esta ocasión, lo que viene a tu casa es el teatro, en lugar del cine. Así es, una plataforma con lo mejor del teatro argentino. Según su propia web, con transmisión HD. Es la única plataforma que además de registro, requiere una suscripción mensual, como las tan conocidas plataformas On Demand. Y por último, tenemos uno perteneciente a la ciudad de Buenos Aires. Vivamos cultura, es un sitio en el que podemos disfrutar de contenido cultural en vivo y On Demand, todo a través de internet.

Según todo lo que estamos viendo, hay contenido muy variado, y realmente para todos los gustos. Y el hecho de que sea nacional, y esté disponible para cualquier persona con una conexión a internet, también es maravilloso. Pero, no todos podemos disfrutar de ese contenido. Así es. Aunque seguro muchas de las personas sin una discapacidad hayan tomado nota de muchos de estos sitios, e incluso se hayan registrado, o vayan a hacerlo próximamente, las personas con discapacidad, no podemos disfrutar de ninguna de estas propuestas. Eso, como lo leen. Ninguna. No solo los sitios webs. Las apps también son inaccesibles. Y no solo eso. Ni se les ocurra pensar que cuenten con subtítulos, lengua de señas o audiodescripción. Personas de la sociedad civil, y asociaciones que luchan por los derechos de las personas con discapacidad, han presentado propuestas, y han hecho incluso metodologías de trabajo completas, para que estas puedan accesibilizar su contenido. Pero todo, ha quedado en la nada. Habiendo incluso pasado 2, o 3 años desde aquellas presentaciones, nunca se han comprometido con la accesibilidad. Pero al igual que antes, esto debe marcar otro comienzo. Debemos continuar luchando para que al fin, podamos disfrutar del contenido en igualdad de condiciones, que el resto de las personas. Y yendo en esa línea, por primera vez, la defensoría del público de la nación, lanzó una Convocatoria a organizaciones y personas que trabajen en accesibilidad, la cual estará abierta hasta el 28 de mayo de 2021, para conformar el Consejo Asesor de la Sociedad Civil del Observatorio Social de Accesibilidad a los Servicios de Comunicación Audiovisual. En el marco de la actual pandemia, viene primando un ajuste presupuestario para cumplir con el FMI donde las personas con discapacidad llevamos la peor parte. Espero que, como digo, sea un nuevo inicio, y la posibilidad de que todo esto, se haga al fin realidad. Que, con participación nuestra, no quede en simples palabras de funcionarios. Porque como dice aquella frase tan conocida, nada sobre nosotros, sin nosotros.

¡Y ahora, las que sí son accesibles!

Así como todo no puede ser tan bueno, tampoco puede ser tan malo. Siempre, es importante intentar encontrar un equilibrio en el mundo, en la vida. Y lo mismo, podemos aplicar a las apps y plataformas accesibles. Estas 2 últimas de las que voy a hablarles, van en la línea del lado gris de las cosas. Es decir, plataformas que sí son accesibles. Pero por el contrario, no son totalmente inclusivas. Bueno, al menos no una de ellas. Así es. Alguna vez, les tenía que tocar a ustedes, ser los excluídos. ¿Se imaginan, como sería ver una película sin imágenes? ¿Es decir, escuchando solo el audio?

Conocida entre las personas con discapacidad visual como el Netflix para ciegos, esta plataforma cuenta con enorme cantidad de películas, series, cortometrajes, y documentales con audiodescripción, pero que no contienen imágenes. Con su propio reproductor, con la posibilidad de descargar esos audios, y obviamente totalmente accesible, es una web que nos ofrece a las personas con discapacidad visual acceder a contenido ON Demand, en igualdad de condiciones. Así, podemos disfrutar a través de un audio alternativo añadido a la película original, mediante el cual nos describen todo aquello que es visualmente relevante. A grandes rasgos, esto, es la audio descripción. Esta web requiere que nos registremos para poder utilizarla, pero después, no hay ningún otro requisito extra. Quienes aún no la conozcan, pueden acceder desde aquí, a la Página oficial de la Audiocinemateca. Y bueno, si quienes no tienen una discapacidad quieren probar una experiencia diferente, la verdad también estaría bueno. Es más, les propongo un desafío. Podrían escuchar un cortometraje, para que no sea tan largo, con los ojos cerrados, y después escuchar el mismo con audiodescripción. ¿Qué les parece?

Es cierto que las personas sin una discapacidad se habrán sentido excluidas con la plataforma anterior. Pero también, lo habrán hecho, las personas con discapacidad auditiva. Es más, es probable que se hayan sentido igual durante todo el resto del artículo. Y es que, al tener una discapacidad visual, solo puedo hablar de lo que más conozco, y de lo que tengo posibilidades de probar. Unos días antes de publicar esta entrada, aprendí que los subtítulos, no son suficientes para que una persona sorda pueda acceder a una película en igualdad de condiciones que una persona que ve. No todas las personas sordas pueden leer subtítulos. Muchas de ellas, solo comprenden la lengua de señas. Y esta, es diferente para cada país. Además, para que puedan comprender la totalidad de lo que sucede en una película por ejemplo, así como nosotros necesitamos descripción en audio de las imágenes, ellos necesitan una descripción de los sonidos relevantes en subtítulos, y en lengua de señas. Es difícil encontrar una plataforma que sea totalmente accesible. Pero no imposible. Y para esto, nos volvemos a Argentina.

Teilú, no solo es la plataforma más accesible que conozco hasta ahora, si no la única. Su contenido tiene imágenes, audiodespripción, subtítulos, y lengua de señas. Por el momento continúa siendo gratuita. Y, aunque su contenido aún es poco, sí es variado. Y a medida que se siga conociendo, va a ir incrementándose aún más. Los productores ceden los derechos para que la gente de Teilú accesibilicen sus películas. Así, una persona ciega, una sorda, y una que ve, pueden disfrutar juntas del contenido, en verdadera igualdad de condiciones. Les invito a que se registren, prueben, y difundan Teilú desde su página oficial. Para así, poder encontrar más productores y creadores de contenido interesados en contribuir a esta idea, que me resulta sencillamente, maravillosa.

Conclusión

Sí, lo sé yo mejor que nadie, así que no me reten. Al final, me fui por las ramas. Y es que, a medida que empecé a investigar, leer y conocer más información, me pareció que estaría bueno compartirla. También sé, que hay otras plataformas, asociaciones y grupos de personas que hacen lo suyo para luchar por la accesibilidad en el contenido digital. Pero elegí centrarme en algo a lo que, sin mayores dificultades más que una conexión a internet, pueda acceder todo el mundo. Podría hablar de las plataformas pagas, de los Smart TV, de los chromecast, o incluso de los codificadores accesibles distribuidos por el gobierno entre 2011 y 2015. Pero como dije al principio, esto es algo a lo que no todos podemos acceder. Y bueno, tenemos una ley de difusión audiovisual que exige que los contenidos sean accesibles en la clásica televisión abierta. Esto se activa con funciones especiales disponibles en los codificadores de las compañías de cable, y en los televisores. Pero de nuevo, esto no se cumple del todo, y no todos tienen un televisor hoy en día. Aún así, pueden investigar como activar esto con su operador de cable, o con la compañía de la marca de su televisor.

Mis agradecimientos principalmente a Ximena. Sin ella este artículo no hubiera visto la luz. Desde el momento en el que comentó que quería hacer andar su televisor, mi mente comenzó a volar y a intentar encontrar otras alternativas en internet. A Martín Baldasarre. Un gran referente de accesibilidad, quien me ayudó con toda la información, con los testeos en Iphone y Chromecast, y me dio nuevas ideas para continuar agrandando este artículo todavía más. Y por supuesto, a la excelentísima comunidad de DaLat (desarrollo Accesible de Latinoamérica) a la que pertenezco. Son con los que aprendo todos los días cosas nuevas referentes a la accesibilidad, en todas sus formas. Y a la cual, le estoy muy agradecida por dejarme formar parte de ella. Pueden seguir a la Comunidad de Dalat en instagram.

En fin, aunque esto se transformó en algo mucho más largo de lo que había pensado en un principio, estoy muy contenta de haber escrito este artículo. Ya que gracias al mismo, aprendí muchísimas cosas que antes no sabía. Dicen que todos los días se aprende algo nuevo. Y el mundo de la accesibilidad, no es la excepción. Es por eso que, hay una frase que, a muchos les gusta, y hay quienes la repiten en sus charlas citándome, de lo cual, estoy muy orgullosa. He decidido usarla, para cerrar este artículo también. Y dice así:

No podemos ser totalmente inclusivos, pero sí podemos ser cada vez menos excluyentes, incluso yo misma. Es cuestión de ir mejorando día a día, y como mejor nos sea posible. Porque, con la exclusión, se puede aplicar el mismo concepto que se le aplica a la presunción de inocencia. Todas las personas somos excluyentes, hasta que se demuestre lo contrario.




Diferentes

listenButton10.onclick = function(){ if(responsiveVoice.isPlaying()){ responsiveVoice.cancel(); }else{ responsiveVoice.speak("Existen personas con discapacidad que no saben que pueden dedicarse al desarrollo de aplicaciones y sitios webs. Hay quienes no saben que pueden contratar personas con discapacidad, y que estas pueden desempeñarse en este trabajo, a pesar de las dificultades. Programar a ciegas. Tarea nada fácil. Pero que sea difícil, no quiere decir que sea imposible. Debido a las repercusiones que ha tenido la entrada anterior, he decidido dejar por aquí, e ir agregando posteriormente, es decir, actualizando la entrada, con herramientas y recursos que me han ayudado a aprender, y a desempeñarme como desarrolladora, durante los últimos 10 años. Si bien, no de forma totalmente autónoma y accesible en muchos casos, en otros sí. Creo que hoy en día, y con las herramientas actuales, puedo decir que es una carrera que podemos cursar, y de la que podemos trabajar, ya sea freelance o para alguna empresa, sin mayores dificultades, claro está, que las que ya hemos mencionado en la charla que dimos en la FemITCONF2021. Aunque ya en la mencionada entrada, he dejado algunos sitios webs de interés, en esta oportunidad, voy a optar por algo más concreto. Aplicaciones y recursos webs, listos para programar, de forma casi, o totalmente accesible. Espero, algo de esto les sirva. Lo primero que quiero destacar, es que yo, particularmente, no me he especializado en desarrollar apps móviles. Sí he trabajado con apps de escritorio y consola, sitios webs, y bases de datos. Entonces, son de estos temas de los que aquí voy a hablarles. Si quieren información sobre otras cuestiones, deberán dirigirse a páginas de otros desarrolladores ciegos, que sé que las hay. Habiendo dicho esto, ahora sí, comencemos. Editores accesibles Un editor, es básicamente un software que te permite escribir código de varios lenguajes de programación. No es muy distinto, de hecho también se puede utilizar, al clásico bloc de notas de windows. Pero a diferencia de este, en los editores de código, nos muestra el número de línea en el que nos encontramos, y además, nos detecta el lenguaje con el que estamos trabajando. Tienen función de autocompletado de código, y la posibilidad de ejecutar el código desde el propio programa, añadiendo complementos/extensiones, e instalando los intérpretes de los lenguajes que sean necesarios. Aquí, dejo los más utilizados. Primero, pueden descargar el Notepad++. Personalmente, es el que más he utilizado, ya desde hace años, incluso mucho antes de que sea totalmente accesible con JAWS y NVDA, los lectores de pantalla por excelencia para windows. También, desde el siguiente enlace pueden descargar el Visual Studio Code. Últimamente se ha convertido en el más utilizado no solo por personas con discapacidad visual, si no en general. No tengo mucha experiencia en este, porque empecé a usarlo hace poco, pero sé que tiene funciones de compatibilidad/accesibilidad con lectores de pantalla. Ambas opciones tienen atajos de teclado con los que su funcionalidad, es incluso más amena y versátil. Entornos de desarrollo integrado IDEs, por sus siglas en inglés, son programas mucho más complejos que los mencionados anteriormente. Mientras que los otros permiten escribir código en formato texto, estos traen soluciones integradas con las cuales se pueden además, diseñar aplicaciones gráficas. Son muy utilizados en apps para windows y móviles, entre otros sistemas operativos, e incluso sitios webs. Es cierto que el código en sí, es en formato texto. Pero diseñar ese sitio, redimensionar esa ventana, correr ese botón, o aumentarle el tamaño a alguna sección en particular, es mucho más fácil, al menos para quienes ven, hacerlo visualmente, que teniendo que tocar código. En lo personal, aunque las funcionalidades sí son accesibles, es difícil hacerlo si nunca tuvimos una representación del contenido de la pantalla en nuestra cabeza. No digo que sea imposible, pero es algo que particularmente a mí, se me dificultó mucho. Los más conocidos, o al menos que yo tuve la posibilidad de probar, y que obvio, son accesibles con lectores de pantalla, son: Microsoft Visual Studio. Fue diseñado originalmente para Windows, pero hoy en día es multiplataforma. Basado en .net, tiene versiones gratuitas, y otras más profesionales. Además de las mencionadas anteriormente, otras de sus características, son una base de datos SQL, y un servidor web. De estas utilidades, hablaremos más adelante. Otro de ellos,, es Eclipse. Basado en el lenguaje de programación Java, a diferencia del anterior, aunque no tiene todo integrado, es posible descargarse versiones distintas dependiendo del lenguaje, y de lo que se desee hacer. Por ejemplo, para crear un servidor web, puede integrarse con software como apache. Lo dicho, esto lo ampliaremos en breve. Aclaración. Que estén basados en .net y java, quiere decir que necesitan de estos motores de desarrollo. Son en sí, herramientas con pequeñas aplicaciones necesarias, para que tu código funcione. Si no instalamos .net o la máquina virtual de java, nuestra aplicación, no va a ir ni para atrás, ni para adelante. Gestores de bases de datos No es mi objetivo dar una explicación pormenorizada de como funciona un programa en su totalidad, si no, como ya mencioné, brindar herramientas accesibles. Pero en sí, creo que sobre esto, sí hace falta fundamentar un poquito más. Una base de datos, es la forma en la que, tus datos se almacenan, para luego poder ser utilizados por aplicaciones o sitios webs. Por ejemplo, podríamos ser dueños de una compañía de teléfono. Y esta, tendría, a simples rasgos, los siguientes datos. Tu nombre, como titular de la línea, tu identificación (DNI en Argentina) tu número de línea asociada, es decir tu número de teléfono, tu ciudad/país de residencia, entre otros. Después, en otros datos, podemos tener los distintos planes que ofrecemos. si es a abono o prepago, qué clase de recargas se pueden hacer en caso de prepago, que beneficios proporcionamos dependiendo de tu plan si es a abono, etc. Entonces, tendríamos que, mediante un código de identificación, relacionar la primer información, con la segunda, para saber qué tipo de plan, tiene tu celular. Es ahí, donde entran las bases de datos. En aplicaciones pequeñas, estos datos se guardan en archivos específicos, muchas veces en formato texto, o, en formatos más encriptados, pero en fin, archivos que no ocupan mucho espacio. Pero para aplicaciones más grandes o empresas, es necesario utilizar un gestor de bases de datos. Entonces, veamos cuales de estos son accesibles, de acuerdo a mi experiencia, como siempre digo. Algunas de las herramientas mencionadas más arriba, tienen integración con bases de datos, que pueden descargarse aparte, como en el caso de Visual Studio Code o Eclipse, o que ya vienen dentro de la propia aplicación, como es el caso de Microsoft Visual Studio. Pero si nos vamos a dedicar a gestionar bases de datos únicamente, necesitamos herramientas específicas, que realicen esta tarea. Uno de los más completos, es el SQL Server. Se integra con las aplicaciones de Microsoft, obviamente, y utiliza este lenguaje. Hay que tener en cuenta también, que SQL es en sí un lenguaje en su mayoría estandarizado, pero que cada vez que se lanza una nueva versión de este, ya sean desarrolladores o compañías, como en el caso de Microsoft, le agregan sus propias características. En sí, en su mayoría es lo mismo. Consultar datos, almacenarlos, actualizarlos, crearlos o combinarlos, para obtener los resultados requeridos. Habiendo dicho esto, continuemos. Existen también, bases de datos basadas en la nube. Sí, ya sé. Hay una premisa que dice que tu nube, es siempre la computadora de alguien más. Pero si una determinada empresa no tiene que comprar y mantener esas computadoras, aunque tenga que alquilar un servicio de otra, puede almacenar muchísima más cantidad de datos, lo que a la larga, es conveniente. Entre ellas, tenemos Salesforce Object Query Language (SOQL). Como su nombre lo indica, le pertenece a la compañía Salesforce. En este caso, no se puede decir que sea totalmente accesible. De hecho, la mayoría de su sitio no lo es. Aunque, he de destacar que están trabajando en ello de a poco. Podemos realizar consultas de datos, pero requerimos extraerlos en archivos CSV (archivos de valores separados por coma en español), para leerlos correctamente. Otra de ellas, con la cual yo estoy trabajando actualmente, y que sí es muuuy accesible, es BigQuery de Google. Tiene opciones de accesibilidad, autocompletado, se pueden filtrar los resultados, entre muchas otras funciones. Por supuesto, la nube de google tiene muchísimos más recursos, funcionalidades y herramientas que estas. Pero hasta que no las conozca un poco mejor, dejémoslo acá. Pero claro, eso no es todo, me dirán los expertos. Hay otros tipos de lenguajes y gestores de bases de datos, como MySQL, MariaDb, PostgreSQL, entre otros. Bueno, lo cierto es que, aunque son lenguajes similares a los mencionados, acá nos encontramos con un inconveniente. La mayoría de sus gestores, no son accesibles. ¿Y bueno, entonces, les debe surgir la duda de como hice yo para trabajar con ellos? Como decimos en el mundo de la discapacidad visual, cuando la accesibilidad no existe, hay que rebuscársela, darse maña, para que de una forma u otra, salga. Y es aquí, donde saltamos a la siguiente sección. Pero antes, les dejo para que le vayan dando un vistazo, este Curso de SQL de 1Keydata. Me sirvió muchísimo al principio, para ir buscando y conociendo las distintas posibilidades que existen, a la hora de manipular datos. Servidores webs Sin entrar al desarrollo web directamente, que eso va a ser un tema aparte, es preciso comentar que, podemos crearnos un servidor web, para manejar una base de datos local en alguno de los lenguajes mencionados, de forma totalmente accesible. Instalando WAMP (Windows, Apache, MySQL y PHP). O XAMPP (X de multiplataforma, Apache, MariaDB, PHP y Perl). Podemos utilizar sus gestores, como PHPMyAdmin, o mi favorito, por su simpleza, accesibilidad y por ser tan intuitivo, Adminer, como si de moverse por un sitio web se tratara. De hecho, es básicamente eso. Una página web en PHP, con la que podemos escribir consultas, eliminar, modificar y crear datos, leerlos en formato de tablas, Entre otras muchísimas cosas, sin usar esos gestores que traen por defecto, y que son inaccesibles. ¿Pero, qué es un servidor web? Microsoft Visual Studio trae el suyo propio, y se puede ejecutar código de ASP.Net, el lenguaje de programación para webs de esta compañía. Un servidor web, es un conjunto de herramientas que nos permiten crear y ejecutar una página web, como si estuviéramos ya en internet. De los de software libre, Apache es el más conocido. Y, si bien, las herramientas mencionadas anteriormente (Apache, PHP, MySQL), pueden instalarse por separado, la posibilidad que ofrecen estos servidores prediseñados, es facilitarnos el trabajo, a la hora de desarrollar nuestro sitio web. Instalamos todo, ejecutamos, y listo. Es más, como ya mencioné, el gestor de bases de datos MySQL o MariaDB, ya se ejecuta al iniciar los servicios, junto con el de apache, que es lo que hace que tu código web, esté disponible como cualquier página de internet, pero local, claro está. Para que esa página esté disponible en internet, bueno, eso ya es otro tema, que no vamos a tocar aquí. Creación de sitios webs Es uno de los temas que más me apasionan después de bases de datos, al menos a mí. Y de los que más traté de aprender. Como venimos hablando, el código de páginas webs, se puede escribir en cualquier editor de texto, o IDE. El problema es, transformar eso en algo que podamos ver en funcionamiento en tiempo real. Si está escrito en HTML/CSS/Java Script, no vamos a tener problema alguno. Solo bastará con abrir el archivo html con nuestro navegador, ya sea Chrome, Firefox, etc, y el resultado estará disponible. Para familiarizarse un poco con el código de HTML, les dejo en inglés, la página All The Tags. Una lista de todas las etiquetas HTML, incluso HTML5, para que al hacer click en cada una, nos aparezca su descripción. Ahora, si queremos algo más avanzado, podemos optar por El gran libro de HTML5, CSS3 y Java Script. Nota: este libro ahora es pago. Cuando yo lo leí era gratuito, y bastante ameno. No garantizo su accesibilidad en su versión actual, debido a que no lo compré. Solo enlazo a la nueva página del mismo. Por otro lado, si a ese código HTML y CSS queremos agregarle otro tipo de código diferente a Java Script, y además bases de datos, ahí sí vamos a necesitar las herramientas anteriores, para crear nuestro servidor web. Veamos qué opciones tenemos, para hacer esto. Podemos encontrar algo de lo que ya hemos mencionado. ASP.NET, ya sea C# o Visual Basic de Microsoft. PHP, mi favorito, el más utilizado en toda la web ya sea con WordPress, o en páginas tan populares como facebook. Python, un lenguaje similar a Java o .net, en el sentido de que además de sitios webs, se pueden hacer apps de consola y de escritorio, y cuya sintaxis es muy sencilla de aprender, entre otros. En cuanto a Java Script, lo que tiene de particular, es que a diferencia de los anteriores, se codifica del lado del cliente, es decir, el código se puede ver en el navegador del usuario. En cambio, en los casos anteriores, si el usuario quiere ver el código fuente de una página web, solo va a ver el HTML y el CSS. Quedando la programación del sitio, en manos solo del desarrollador. Ya para finalizar este tema, comentar que, sin duda, a mí lo que más me cuesta aprender, incluso hasta el día de hoy, es la parte de diseño. Es decir, los estilos en CSS, en sus distintas versiones. Y es que, aunque tengamos noción de como escribirlo, y qué código poner en cada momento, o qué color usar, es bueno contar con una persona que nos garantice que lo que estamos armando, quede realmente como queremos que quede. Entonces, en mi caso particular me hizo sentir tanta inseguridad, que terminé dejando lo referente al diseño web, un poco de lado. Insisto, al igual que con la parte gráfica de una app de escritorio. Es difícil, sí. Nos encontramos con barreras al realizarlo, también. Pero esto no quiere decir, que sea imposible, y que no haya personas que sepan hacerlo. Aplicaciones de consola Dije que aquí solo iba a brindar herramientas accesibles, y claro que estoy cumpliendo con el objetivo. Pero además, me parece necesario añadir algunos consejos a la hora de iniciarse en la programación. Y es que, hay tanta información, que de seguro no debe ser fácil tomar una decisión acertada. Como venimos hablando, hay varios tipos de aplicaciones. Las gráficas, las webs, y las de consola. Ya hablamos de las primeras 2. Pero creo firmemente, y las carreras en todo tipo de instituciones y cursos online están de acuerdo conmigo, que las aplicaciones de consola, son las primeras con las que debemos empezar. Para una app de consola, solo necesitamos el editor de texto, y un compilador o intérprete, dependiendo del lenguaje. No tenemos que preocuparnos por el diseño, si no por la lógica. El algoritmo, el problema y su solución. Es lo primordial a la hora de iniciarse en cualquier lenguaje. Y, excepto los webs y los basados en bases de datos, todos tienen su equivalente de consola. Desde Java, pasando por C#, e incluso Python. Es más, en mi caso en particular, si bien no he incursionado tanto en otros sistemas operativos además de windows, sí he logrado programar hace un tiempito en la consola de Linux con Python. Para dejar un poco más en claro el concepto de consola, comentar que, es una pequeña ventanita dentro del sistema operativo, en la que se pueden ejecutar tanto comandos propios del sistema, como código de programación, iniciando el intérprete o compilador de algún lenguaje. Se puede navegar con las flechas, o con los atajos específicos, en el caso de Linux. Lenguajes interpretados o lenguajes compilados También, veo necesario hacer una pequeña mención de esto, para que se entienda a qué hago referencia. Un lenguaje interpretado, es uno en el que, el código se escribe, se guarda con la extensión propia del mismo, .py para Python por ejemplo, y teniendo instalado python en la computadora, haciendo doble click o presionando enter sobre ese archivo, este ya se ejecuta en la consola. En los lenguajes compilados, el código pasa por un proceso adicional, en el que el compilador, transforma ese código en una aplicación .exe, en el caso de windows, que puede ejecutarse ahora sí, haciendo doble click. Esto es beneficioso en el sentido de que tu app puede correr en cualquier computadora sin instalar otro software aparte. Pero los lenguajes interpretados, te permiten probar el código en el intérprete cuantas veces sea necesario, antes de sacar la versión definitiva de esa aplicación, es decir, antes de hacer el proceso adicional, de transformarlo en un programa ejecutable. Otros recursos Antes de finalizar, les dejo unos últimos sitios webs que de seguro les resultarán de interés. Primero, la entrada anterior de la que vengo hablando. Desarrollo, usabilidad y accesibilidad con lectores de pantalla. Además, 2 de los sitios que compartí allí, pero, como pretendo que sea este el recursero informático por excelencia del blog, los comparto aquí de nuevo. El primero, es la Fundación Itgrarte. Ofrece mediante becas, capacitaciones en programación, con preferencia para personas con discapacidad. Y el segundo, Tutoriales Programación Ya. Para mí, el mejor sitio online, y casi totalmente accesible, para aprender programación de forma totalmente autodidacta. Después tenemos Programando accesible. Es una comunidad de personas con y sin discapacidad, que trabajan por el desarrollo de aplicaciones de forma accesible. Se hacen consultas, se comparten recursos, y se generan lindos debates y conversaciones, sobre la programación, con perspectiva de accesibilidad. Segundo, un sitio de un español, que es desde hace años un gran referente entre los programadores ciegos. Además, es el sitio en el que he decidido basar el título de esta entrada. Programar a ciegas. Y por último, para quienes sean ciegos y quieran optar por el desarrollo web, les recomiendo usar Bootstrap. Es un framework, es decir una especie de código integrado, en este caso de CSS, con estándares prediseñados para los sitios webs. Eso hace que podamos añadir diseño a nuestro sitio web ya codificado, y con la seguridad de que será compatible con varios tipos de dispositivos, incluyendo móviles. Conclusiones En primer lugar, comentar que, decidí escribir esta entrada, gracias a una persona con discapacidad que me escribió mediante la página de contacto del blog, explicándome que quería aprender a programar, y que no sabía por donde empezar. Al igual que esta persona, muchos no saben que teniendo una discapacidad, podemos dedicarnos al desarrollo, como dije al principio. Entonces, se me ocurrió que podía armar una especie de recursero para programadores ciegos. Me especialicé en la discapacidad visual total, es decir en la ceguera, porque es de lo que conozco, en lo que tengo más experiencia, por razones obvias, claro está. Aún así, no creo que esto sea todo, ni mucho menos. Invito a otras personas con discapacidad, a aportar, si así lo desean, sus propios sitios webs, herramientas o recursos para aprender programación, de forma accesible, los cuales, me comprometo añadir aquí. En segundo lugar, algunas aclaraciones sobre el diseño de apps y sitios webs. Dije que es difícil, que nos encontramos con muchas barreras, y que en particular yo, no sé hacerlo en su totalidad. Pero también dije que hay quienes sí. Y, si no, aún así, hay muchas otras cosas más que sí podemos hacer. Estoy totalmente convencida de que el trabajo en equipo, con una repartición de tareas de forma equitativa, es la verdadera forma del éxito, en todo proyecto de programación. Entonces, si una persona ciega, no puede hacer el diseño de tu página, podés darle como tarea encargarse de la programación, o de la base de datos, y no va a tener inconveniente alguno. Es más, ya yendo a la parte de testeo, incluso puede encargarse de verificar que tu página, sea accesible. En tercer lugar, sobre las herramientas para desarrollar. Como dije, de seguro no las conozco todas. Pero además, puede que haya muchas que tal vez sean accesibles, y no lo sepamos. Por ejemplo, yo no sabía que la consola de google lo era, hasta que no empecé a utilizarla. Lo importante en estos casos, es probar, probar y probar. Sí, así es. Si no sabemos si podemos usar una app o sitio web, naveguémoslo con los lectores de pantalla. JAWS o NVDA para Windows, u Orca para Linux, entre otros. Solo cuando probamos algo por nuestra cuenta, a menos que tengamos referencias previas de su accesibilidad, sabremos si vamos a poder utilizarla de forma accesible o a medias, o si directamente, es inutilizable. Tanto quienes tienen una discapacidad como quienes no, deben perder ese miedo a lo desconocido. Solo así, podemos también aportar nuestro granito de arena, para contribuir al maravilloso mundo de la programación, de la usabilidad y la accesibilidad. En cuarto lugar, sobre el inicio en la programación. El desarrollar apps de consola, es lo más recomendado, y lo más utilizado, al menos según yo sé. Pero si alguien desea iniciarse con el desarrollo web, yo no veo inconveniente alguno. Lo único, es que además de memorizar códigos, y conceptos específicos del lenguaje, ya sean PHP o Java Script, o cualquier otro, se debe ir recordando la estructura de las páginas HTML, lo que conlleva a mi entender, un tiempo adicional, que en un principio, puede ser innecesario. Pero mientras el instructor explique bien los conceptos, o estén claros en algún curso, y por supuesto, mientras este sea accesible, la verdad no me parece mal que empiecen por ahí. Además, surge siempre la duda de si, programación estructurada, u orientada a objetos. Tampoco veo inconveniente en ello. Mientras que la segunda va ganando terreno a medida que los lenguajes integran ese paradigma, la primera aún no ha quedado en desuso, y debido a que la tecnología en sí avanza más rápido que las carreras y cursos, en la mayoría de los casos, aún se sigue enseñando y utilizando en muchas instituciones y cursos. Lo que sí, ya sea que empiecen con el lenguaje y el paradigma que mejor les quede, o que más les guste, yo doy este último consejo. Si empiezan con algo, no lo dejen. Concéntrense en eso, y lleguen hasta el final. Una vez aprendido por completo un lenguaje, y en sí, todos sus conceptos, ya va a ser mucho más fácil aprender cualquier otro. Por último, he de destacar que yo no soy docente, ni mucho menos. Entonces, puede que no sepa explicar bien algunos conceptos, puede que estos queden incompletos, o resulten poco claros. Pido disculpas por eso. Traté de hacer el artículo lo más ameno posible, centrándome en quienes aún no conocen absolutamente nada de programación, e intentar explicarles algunas pautas de como esto es posible, aunque al principio, no parezca nada fácil. Espero haber sido clara. Y espero les haya gustado la entrada. Cualquier duda, consulta, sugerencia o idea, no duden escribirme a través de la página de contacto, en los comentarios, o a través de mis redes sociales. Mis más sinceros agradecimientos A todos aquellos programadores ciegos que marcaron mi camino. Allá por el 2008, cuando a duras penas conociendo muy por encima JAWS, ellos fueron mi luz, mi guía, quienes me enseñaron qué camino tenía que seguir, ya sea de este, como del otro lado del charco. Sí. Muchas gracias a todos. Nombrar a algunos, haría que tal vez me olvide de otros. Es por eso, que prefiero agradecerles en general. Contarles que desde entonces, mucha agua ha pasado bajo el puente. Dejé la carrera, empecé a trabajar, cambié de género, de cuentas de mail... Y en fin, ya llevo 10 años de dedicarme a esta profesión, la cual, más allá de algunos altibajos, me ha traído grandes satisfacciones. Gracias, muchísimas gracias, por ese abrazo virtual, que en momentos de desesperación y frustración por no poder compilar un código, entender un concepto, encontrar un programa accesible, me dieron a la distancia. Por muchísima más gente que contrate personas con discapacidad, y por muchísimas más personas con discapacidad, que se animen a programar. Para hacer de este mundo, uno mucho más inclusivo y accesible. Gracias, nuevamente, muchísimas gracias a todos ellos.", "Spanish Latin American Female"); } };

Hay más de siete mil millones de personas en el mundo. Todas y cada una de ellas, sin importar la razón, son diferentes. No existe, bajo ningún punto de vista, una persona totalmente idéntica a la otra. Pero, parafraseando una vieja y conocida premisa, todos somos diferentes. Solo que algunos, somos más diferentes que otros. Soy Katherine. Tengo discapacidad visual, soy una mujer trans, y hace 2 meses, me diagnosticaron celiaquía.

Mi primera reflexión ni bien tuve el diagnóstico, mientras caminaba del consultorio hacia la farmacia, fue: “¿Enserio? ¿Otra cosa más? ¿Qué viene después?” No lo podía creer. Es como que era demasiado para mí. Algo más a lo que acostumbrarme, algo más sobre lo que aprender, algo más a lo que tendría que adaptarme a partir de ese momento. Un mundo nuevo, y totalmente desconocido, del que hasta entonces, no tenía ni la menor idea. A medida que fueron pasando los días, las semanas, entendí, que eso me había pasado con todo lo demás, a lo largo de mi vida.

En cuanto a mi familia, cuando les conté el diagnóstico, lo primero que hizo mi nene, fue intentar averiguar en google, si había otras personas con estas 3 condiciones en simultáneo. Lamentablemente, aunque se crea que google lo sabe todo, en este caso, no encontramos una respuesta. O será tal vez, que no sabemos buscarla, no lo sé. El punto en sí, es que todavía seguimos con la duda. ¿Existe una estadística de ese tipo? ¿Cómo se puede saber? ¿Es posible a caso?

Hace poco, leí una publicación en el grupo de celíacos unidos de Argentina, en la que -una persona, explicaba qué significaba para ella, ser celíaca. Algunas de las cosas que dijo, y que cito para destacar, son las siguientes: “que te ayuda a ver el mundo con otros ojos”. Que te ayuda a encontrarte a vos mismo y a quererte, a aceptarte y cuidarte como nunca antes lo hacías”. Esos 2 puntos, son sobre los que al menos yo, me quedé reflexionando. Porque en mi caso, con respecto al segundo punto, es complejo. Sé, que tendría que haberme cuidado mucho más en el pasado, y que tendría que haber respetado las otras dietas que me mandaron. Y que no lo hice en su totalidad. Claro que esos diagnósticos anteriores, fueron erróneos. Pero eso, yo, no lo sabía. Hoy, al tener algo concreto, entender qué es y como debo enfrentarlo, me hizo comprender las cosas de otra manera. Me hizo entender, que ahora sí, si realmente me importa mi salud, mi vida, tengo que hacerlo. Tengo que quererme, cuidarme, y volver a aceptarme, con esta nueva condición. Y con respecto al primer punto, creo que empecé a ver el mundo de la forma en la que ella lo está expresando, no ahora, cuando entendí que soy celíaca, si no, ya hace tiempo. Cuando comprendí, que era diferente.

Ser diferente, es difícil. ir sobrellevando esas diferencias, lo es muchísimo más todavía. ser aún más diferente que los demás, bueno, que decir. Es como si fueras llevando una bolsa. cada vez que encontrás una diferencia, ponés una piedra nueva en esa bolsa. A medida que estas se van acumulando, esta se hace cada vez más y más pesada. Y es cada vez más difícil de transportar. Y no importa si esta última piedra es más o menos pesada que las restantes. No. Lo que importa, lo que me lleva a escribir este texto, es el peso total de esa bolsa. Así es, todas las diferencias juntas. Todo aquello que, no solo me hace diferente a cada una de las personas, o a un grupo de ellas, o que me hace pertenecer a una minoría. Si no, a lo que me hace diferente también, a la mayoría de las minorías en general. Porque ya no soy una persona ciega, una mujer trans, una persona celíaca. Soy esas 3 cosas al mismo tiempo. Y bueno, todos me dicen, sí, sos eso, pero también muchísimo más. Y sí, lo sé, claro que soy consciente de que hay muchas cosas más que me caracterizan. Pero estas, no tienen tanta determinación, tanta relevancia, tanta influencia en mi vida diaria, en mi relación con la sociedad, con mi entorno, como estas 3.
En realidad, no vengo a hablar de todo esto junto, no. Porque sobre lo que significa ser trans, y mi proceso de transición, ya hablé en otros artículos. Y porque, la celiaquía, es algo a lo que todavía me estoy adaptando, y sobre lo que aún estoy aprendiendo. Si no que, aquí vengo a hablar sobre lo que para mí, fue y es, ser diferente. Y es que, lo que la celiaquía me llevó a reflexionar, es eso de lo que hablé unas líneas más arriba. De cuando, yo empecé a entender que era diferente a los demás. De cuando, comencé a mirar al mundo con otros ojos. A mirar al otro, como si fuese un reflejo de mí misma, aunque en verdad, seamos ambos, un reflejo de algo que nos caracteriza. Algo de lo que nos hace iguales entre sí, pero diferentes a todos los demás.

Infancia

Es sin duda, la etapa más importante, más trascendental de nuestras vidas. Porque en la infancia, se forma nuestro carácter. Nuestra forma de ver la vida. Nuestros miedos, nuestras inseguridades, aquello que somos tanto internamente, como para con los demás. Y esto, depende pura y exclusivamente de nuestro entorno. De nuestras familias, de nuestros padres, compañeros de clase, amigos, docentes, Etc. Somos una esponja, que absorbe absolutamente todo sin distinción. Y de eso, algo nos va quedando, nos va moldeando, transformando. Pero en la infancia, no conocemos toda la historia. No sabemos todas las respuestas. No contamos con toda la información, como para hacer un juicio sobre algo específico. Y no es que la opinión de los niños no valga, por supuesto que no. Si no que, los adultos no nos proporcionan toda esa información. Ya sea para protegernos, para no preocuparnos, porque hay ciertas cosas que se supone, debemos saberlas a cierta edad, entre otras tantas causas. Voy a ejemplificarlo con una pequeña anécdota.

Hace muchos años, cuando yo tenía unos 3 más o menos, mi bisabuelo estaba durmiendo en su pequeño cuartito. No recuerdo exactamente por qué razón, salí de mi casa, pasé por el patiecito, y entré. Tampoco recuerdo qué hice exactamente, una vez dentro. Pero sí recuerdo cuando salí. Porque al estar volviendo, vi que había quedado la luz de la pieza del abuelo, encendida. Entonces, me dispuse a apagarla. Volví, y, según yo sabía, para apagar esa luz, había que empujar la lámpara hacia arriba. Lo hice, y se apagó. Pero al soltarla, se encendía de nuevo. Entonces, cabeza dura que soy ya desde tiempos inmemoriales, seguí insistiendo. La volvía a subir, y se apagaba. La soltaba, y se encendía. Estuve un rato largo así, hasta que… Bueno, pasó lo que tenía que pasar. Me dio una patada, y me caí al piso. Recuerdo varias cosas. La primera, es que todo empezó a dar vueltas. La segunda, es que al intentar pararme, el piso parecía resbaloso, y me picaba todo el cuerpo, como si todo estuviese lleno de hormigas. Y la última, que logré subirme a la cama de mi abuelo, pero como estaba muy dormido, no me dio ni pelota. Empecé a llorar y a gritar, hasta que mi mamá me vino a buscar y me llevó a la casa. Una vez ahí, me explicaron que lo que me había pasado, es que la electricidad me había dado una patada, por estar jugando con ella. Y, que la forma en la que había que apagar esa luz, era subiéndola para arriba, sí, pero luego atornillándola hacia la derecha. Esas, eran cosas que yo aún, no conocía.

Durante muchísimo tiempo, no entendí, ni supe explicar del todo, por qué razón no veía. El concepto de retinopatía del prematuro, era algo totalmente desconocido para mí. De eso se trata, y eso es lo que intento expresar. Podemos saber lo que nos pasa, intentar explicarlo hasta cierto punto, e incluso, convivir con eso. Pero no podemos llegar a comprender la dimensión de lo que somos, en su totalidad. Y eso, hace que nuestra infancia, la primaria, la secundaria; sean mucho más fáciles de sobrellevar que la vida adulta. Pero aún hay más. Porque, al menos en mi caso, y soy consciente que desafortunadamente en muchísimos casos no es así, todos los adultos que interactuaban conmigo, intentaban protegerme, contenerme, ayudar a que mi discapacidad, no sea realmente una dificultad. Claro que no es fácil que todos los demás chicos de la escuela vean, o que algunos te discriminen o te hagan chistes por tu condición. Pero no fueron tantas las situaciones en las que esto ocurría. Es decir, sabía que era diferente, porque obviamente yo no veía, y la mayoría de las personas que conocía, sí. Y entendía que necesitaban adaptarse ciertas cosas, o que incluso yo tenía que aprender cosas de forma distinta, como leer y escribir por ejemplo, debido a esta condición. Pero no comprendía realmente, qué significaba tener discapacidad visual, en un mundo en el que la mayor parte de las personas, no la tiene. Y, lamentablemente, nadie puede prepararte para que puedas enfrentarte a toda la gente con la que te vas a topar en tu vida adulta.

La informática

Todo empezó cuando entré a la secundaria. Aunque la profe me contó esta anécdota después, fue así, como realmente inició todo. En primer año, íbamos a tener computación. Fue una situación interesante, ya que, excepto en casos particulares, estábamos todos casi en las mismas condiciones. Es decir, no sabíamos nada, y muchos, ni siquiera teníamos computadora. Cuando le dijeron a la profe que iba a tener que enseñarle a una persona ciega, prácticamente, puso el grito en el cielo. Dijo que no sabía como hacerlo, que nunca lo había hecho, que la cambien de curso, o que me cambien de curso a mí. Le dijeron que no podían hacer eso. Que a lo sumo, podían ponerle una ayudante. Accedió, y comenzamos a aprender. Yo averigüé por un amigo, que existía un programa que leía todo lo que aparecía en la pantalla en voz alta, por los parlantes, o por los auriculares. Lo hablé con la profe, e intentó conseguirlo. Pero eso iba a llevar tiempo. Unos 3 años antes de eso, habíamos encontrado con mis hermanos en el patio de casa, un teclado de computadora. Yo iba tocando las teclas, y preguntando que letra o número, era cada una. Cuando en primer año, la profe, para pasar el tiempo hasta que consiguiéramos el lector, quiso enseñarme el teclado, yo, debido a ese conocimiento previo, ya lo conocía. Fui aprendiendo rápidamente los comandos de los programas. Abrir, cerrar, guardar… Y una vez llegó el lector, aunque teníamos la demo de 40 minutos, la cosa fue más fácil, y comencé a aprender mucho más rápido. A finde año, me regalaron a través de una donación, una computadora. Y así, seguí aprendiendo por mi cuenta, y con ayuda de un amigo. Casi a fines de tercer año, esta misma profesora que al principio no me quería enseñar, vio mis avances, y me dijo que si quería estudiar programación. Le dije que sí, que estaba bien, que de todos modos no tenía pensado qué carrera estudiar. Fue así, como gracias a ella, empecé a cursar la carrera al año siguiente.

El estudio

No fue nada fácil. La inclusión al parecer, al menos por aquellos años, funcionaba de la siguiente manera. Cualquier persona con una discapacidad, podía entrar a estudiar a cualquier institución pública. El problema era que, en ninguna de ellas, o muy pocas, los materiales estaban adaptados. Y, los profesores, menos estaban capacitados para enseñar a personas con discapacidad. Esto sin duda genera muchas frustraciones. Porque, para una persona con discapacidad, es terrible darse cuenta que no puede hacer la carrera que le gusta. Muchas veces, es tanta la frustración, que hay quienes terminan resignándose, y abandonando la carrera en cuestión. Porsupuesto, que para muchos docentes, esto también es frustrante. Pero es claro que ni alumnos ni profesores, tienen la culpa de que haya un sistema que deja a parte de la población, afuera. Aún así, con dificultades, con pocas posibilidades, y contra todo pronóstico, podemos también de nuestro lado, poner un granito de arena, para que las cosas cambien. Aunque a veces no llegue a ser suficiente, lo importante es no quedarnos con las ganas, y hacer algo. Demostrar, que, si bien probablemente sea muy difícil, por lo menos sabemos, que no es imposible.

Desde el principio, tuve muchas dificultades. Apenas conociendo el lector de pantalla, no tenía ni idea de qué lenguajes de programación existían, y cuales no. Ni mucho menos, cuales eran accesibles. Sabía que alguno debía de serlo, porque conocía a programadores ciegos. ¿Pero, cómo lo habían logrado? Esa, era otra cuestión. Pregunté en foros, listas de correo, me suscribí a páginas webs, y las investigué. Traté de ponerme en contacto con personas de otros países… Y así, después de casi 7 meses de haber empezado la carrera, pude dar mis primeros pasos, en C/C++, con un software que era compatible con JAWS, el lector de pantalla por excelencia de aquellos años. Pero la cosa, no terminó ahí. Porque, ahora mis compañeros iban muchísimo más avanzados que yo, y el profesor, no tenía tiempo de dedicarme unas clases, aunque sea, extracurriculares.

Otra materia, estaba dedicada al lenguaje de programación Visual Basic. Bueno, con este, el punto es que sí era accesible. Podía crear botones, funciones, y demás. Pero a la hora de colocar y mover estos por la pantalla, era muy difícil, o casi imposible. El problema era que, yo no tenía una representación gráfica de como se veía la pantalla en mi cabeza. Entonces, no podía saber como debía colocar los controles, para que queden bien dimensionados, y no se superpongan unos con otros.

Al año siguiente, todo cambió. De C/C++, el profesor decidió pasar a Java. Otra vez preguntar, consultar, averiguar, ponerse en contacto… Así conocí varias herramientas, que, para no aburrir demasiado, algunas eran más accesibles que otras. Pero la clase, aún seguía siendo inicialmente visual, y yo necesitaba una clase a parte, para poder aprender los conceptos. Si no, solo la explicación, o la clase gravada, no me servían de nada, si no tenía la práctica.

Recuerdo que, en un momento, alguien me dijo que, para este profesor de programación, una persona ciega, no podría trabajar en una empresa, que él no veía a un ciego programando. Sí, ya sé, yo también imagino el ruido de cuando mi cabeza hace Bum; en ese instante. ¿Para qué estaba estudiando entonces? ¿Qué iba a hacer si no me dedicaba a la informática, que era lo que tanto quería, lo que me apasionaba? ¿De qué otra forma podría mejorar un poco la calidad de vida de mi familia, y hacer algo que me guste al mismo tiempo?

Por supuesto, que no me fue igual con todos los profesores. Con otros, me fue mucho mejor. Los de las materias referentes a las matemáticas, junto con un compañero, estudiaron braille matemático específicamente para poder enseñarme a mí. Y en las mismas, logré grandes avances. Así fue, como mientras iba avanzando en otras materias más teóricas, en las referentes a programación, que fue la tecnicatura que estaba estudiando, y en lo que realmente quería especializarme, iba muchísimo más atrás que el resto de mis compañeros sin una discapacidad. Esto, fue realmente notorio para mí, cuando a fines del 2009, muchos de los que habían empezado conmigo, ya estaban pasando a tercero, mientras que yo todavía seguía en primero, con solo algunas materias de segundo.

Entre 2010 y fines de 2011, cursé programación en java, al fin, con un compañero que se ofreció a darme clases particulares como ayudante de cátedra, y gracias al cual, avancé muchísimo, y pude terminar lo requerido para los 2 años en los que esto se enseñaba. Rendí visual basic también en 2010, y pude iniciar java orientado a web, en 2011. También en esas fechas, inicié bases de datos, algo que, me apasionó mucho desde que lo empecé a aprender. Pero… Había muchos desafíos más, que aún estaban por llegar.

El trabajo

A inicios de ese mismo año, un compañero me preguntó si… Estaba buscando trabajo… Le dije que no, pero que si salía algo, no me hacía problema. Él me contó, que la empresa donde trabajaba, tenía un programa que daba oportunidades laborales para personas con discapacidad. Me pidió mi currículum, se lo envié, y luego solo restaba esperar. Al tiempo, entré a una escuelita de .net, y poco después de finalizarla, me llamaron para ingresar a la empresa.

Al principio, no fue nada fácil. Estaba todo en inglés, y había muchísimos términos que yo no conocía. El sitio web interno con el que me tocaba trabajar, no era accesible. Era muy difícil acostumbrarme a toda esa terminología nueva, y aún más, si estaba en inglés, que era un idioma que yo conocía muuuy básicamente. No es que lo hable perfecto ahora, pero sí entiendo que mejoré muchísimo. Después de casi 2 meses, y a pedido de un compañero, quien luego se convertiría en un gran amigo, que vio que me sería mucho más sencillo y accesible, entré a trabajar con SQL. En esto estuve bastante tiempo, oscilando entre SQL, ASP3, y ASP.Net. En el transcurso de todo esto, en 2012, tuve que abandonar la carrera. El trabajo, el estudio y mi casa, me quedaban muy a trasmano. Por lo que me sentí en la obligación de elegir, si continuar la carrera, o continuar con el trabajo. Me pareció mejor, esta segunda opción, por lo que, decidí dejar el estudio, y continuar capacitándome en el trabajo mismo, y por mi propia cuenta, en los lenguajes de programación que necesite, o que a mí me resulten interesantes.

Volviendo a las cuestiones laborales, muchas veces, veía que mis compañeros entendían las cosas, avanzaban, adquirían conocimientos, y las hacían mucho más rápido que yo. Me frustraba bastante, el hecho de que ellos tuvieran conocimientos que yo no podía adquirir, o que, por su inaccesibilidad, me costaban más. A medida que fue pasando el tiempo, que fui aprendiendo tanto de ellos, como de mí, entendí que, era precisamente por todas estas razones, y por muchas más, por las que era diferente. Porque las aplicaciones, ya sean móviles o de escritorio, los sitios webs, y demás contenido digital, deberían ser accesibles para que yo pueda utilizarlos. Y, aún teniendo sus mañas, es decir, su forma, por fuera de la navegación convencional, los lectores de pantalla, para sortear ciertas dificultades, estos conocimientos, no son, valga la redundancia, conocidos por todas las personas con una discapacidad visual. Así fue, como fui dándome cuenta, de una vez y para siempre, que era diferente a los demás. Y que siempre, de alguna forma u otra, tenía que convivir, sobrellevar, y enfrentar estas diferencias. Pero no desde un lugar de víctima, ni tampoco de superioridad. Si no desde el entendimiento de que, si bien, soy diferente, y entiendo que hay cosas a las que necesito adaptarme, el resto de las cosas, también deberían adaptarse, para que todos tengamos las mismas oportunidades, posibilidades, y en las mismas condiciones. He de destacar, que las cosas han cambiado muchísimo. Ya hay cursos accesibles de lenguajes de programación para personas con discapacidad. De hecho, al momento de publicar esto, yo estoy cursando uno de python. También, muchas empresas se están orientando a hacer sus sitios y apps, accesibles. ;todavía falta un largo camino por recorrer, pero como en todas estas cuestiones, siempre trato también, de ver el lado positivo, y los avances que se han hecho al respecto. Asimismo, a lo largo de mi carrera he aprendido un poco de varios lenguajes de programación, y lo he hecho de forma accesible, con herramientas que fui conociendo, encontrando, que me pasaron, etc. Y puedo decir, que hoy en día, es una carrera que una persona con discapacidad puede estudiar, y de lo que puede trabajar, sin tantas dificultades como antes.

Conclusión

Como de seguro imaginarán, hay muchos otros hechos de la vida cotidiana, en los que he pasado por situaciones similares a las relatadas anteriormente, sin que esto esté relacionado al ámbito de la informática. Pero me he referido a este tipo de situaciones, ya que es en sí, lo que ha marcado mi vida particularmente. Es decir, lo que hoy en día, me continúa dando muchísimas satisfacciones. A lo que me dedico, lo que me gusta, lo que me apasiona, de lo que sé, voy a trabajar durante el resto de mi vida laboral.

Tengo que agradecer, el hecho de haber contado con gente que me apoyó desde el principio, en todos los aspectos y dificultades que se me fueron presentando a lo largo de la vida. Y también, a aquellos que no lo hicieron. Si le hubiese hecho caso a ese profesor, y hubiese dejado la carrera, como sé que lo han hecho otras personas en situaciones similares a la mía, la verdad, no hubiese aprendido tanto, y obtenido tantos conocimientos como los que tengo ahora. Y por supuesto, no estaría trabajando, casi 10 años después, en proyectos nuevos con los que estoy muy entusiasmada, y en los que sé que tengo mucho para aportar. Siempre, ante la adversidad, ante la negatividad de quienes me rodean, yo pienso en que sí puedo. Y, aunque he tenido fracasos, frustraciones, y me he estresado por muchas de las situaciones que aquí comento, al final, siempre he seguido adelante. Siempre con las ganas, y la voluntad de seguir aprendiendo. Porque aprender, debe ser el gran objetivo de la vida. No importa intentar y fracasar. Importa, el siempre seguir intentándolo. Por lo menos, saber que adonde sea que nos lleve el destino, tenemos con nosotros los conocimientos que nos hacen comprender un poquito más de cada cosa. Y sentir, que algo, por pequeño que sea, podemos aportar.

Ahora, me enfrento a mis diferencias desde otro punto de vista. Si bien, al principio me deprimo, y claro, que nada es fácil de sobrellevar, sobre todo si es algo tan nuevo, como la celiaquía por ejemplo, sé que solo tengo que seguir aprendiendo, y adaptándome a una nueva condición, como ya lo hice en ocasiones anteriores. Esto, incluso me lleva a conocer otras cosas de las que, hasta este entonces, no tenía ni la menor idea, o mi conocimiento, era muy escaso. Es difícil, sí, lo sé. Nada es fácil. Pero ahora sé, que ser diferente, no tiene nada de malo. Porque todos, de alguna forma u otra, como dije al principio, somos diferentes. Lo realmente malo es, creerse normal. Porque al creerte normal, te estás creyendo superior. Y nadie, debería sentirse superior a nadie. Todos, deberíamos empatizar con el otro, y ponernos en sus zapatos.

Lamentablemente, hay muchísimas diferencias sociales, que hacen que no sea lo mismo una persona con discapacidad, que otra. Creo que la discapacidad, no está en la persona, si no en el entorno que la rodea. A mayor accesibilidad, hay menores dificultades para acceder a oportunidades de estudio, de crecimiento, de desarrollo personal. A mayor posibilidad de acceder a materiales adaptados, y a edificios en condiciones, menor, es la discapacidad de la persona. Lo que cambia realmente, son nuestras necesidades. Mi objetivo al escribir esto, es que quienes lo lean, se informen, aprendan, y entiendan las diferencias de ellos mismos, y de los demás. Que aprendamos a respetarnos, a aceptarnos, a comprender que tenemos los mismos derechos, a pesar de no estar en las mismas condiciones. Que la igualdad, es algo que tenemos que construir entre todos, sin importar el lugar que nos toque ocupar en este mundo. Que la discriminación, el prejuzgar al otro por su condición, cualquiera sea esta, sin tener en cuenta a la persona, y a sus capacidades, si no que, enfocándose en lo que se supone, no puede hacer, se consigue que esto no solo perjudique a quien sufre por esta discriminación, este prejuicio, este; dejar de lado, ignorar, desestimar al otro, si no que también, es perjudicial para uno mismo. Y termina desperdiciándose el potencial de las personas. Ya sea por miedo, desconocimiento, o cualquier otra razón. Lamentablemente, esto continúa ocurriendo en muchísimos ámbitos, incluso hoy en día. Lo que pretendo, es que luchemos, cada uno desde nuestro lado, por un mundo en el que haya más personas; como dijo Rosa Luxemburgo: “Socialmente iguales, aunque seamos todos, humanamente diferentes”.

Enlaces que pueden resultar de interés

Mi post sobre lo que significa para mí, “Ser Trans”.

Información sobre la celiaquía en Wikipedia.

Web de la Asociación Celíaca Argentina.

El sitio web accesible, casi en su totalidad, que recomiendo por excelencia, para aquellos que quieran iniciarse en esto de la programación de forma autodidacta:

Tutoriales Programación Ya.

Y por último, una experiencia de vida, cuya protagonista nos deja un muy bonito mensaje:

La historia de Milagros Costabel: La uruguaya que cumplió su sueño de llegar a Harvard.