Mi blog personal sobre investigación y divulgación
Tag Archives: software
Writefull te ayuda a escribir bien en inglés

Los que tenemos que escribir habitualmente en inglés, pero este no es nuestro idioma nativo, solemos tener dudas independientemente de nuestro nivel en el idioma. ¿Aquí va un “in” o un “on”? ¿Quizás un “at”? ¿Esta frase estará bien, o hay una manera mejor de escribirla?

Hace unos meses descubrí un programa que ayuda a terminar con esas dudas, con lo que podemos sentirnos más seguros a la hora de escribir nuestro texto. Se llama Writefull y mejora una técnica que muchos ya usábamos: buscar en Google nuestra frase, o una similar, para ver si mucha gente ya la había escrito en esa forma, y así asegurar que estamos escribiéndola correctamente.

writefull app

Esta aplicación está hecha a caballo entre Países Bajos y Reino Unido. Curiosamente, uno de sus creadores es originario de La Orotava, municipio de Tenerife donde yo trabajo. Esto lo descubrí cuando me escribí con él para tratar de resolver un error que encontraba en la versión para Linux. ¡El mundo es un pañuelo! 🙂

Veamos qué funcionalidades tiene Writefull. Para empezar, está bien que sepas que hay versión del software para Windows, para Mac y para Linux. Como novedad, y te aseguro que es algo realmente cómodo, ahora también hay versión extensión para el navegador Chrome (las capturas de este post son de esta versión). La primera utilidad es ver cuántas veces aparece una expresión en Google, y puedes seleccionar que busque en webs, en noticias, en libros o en papers de revistas científicas (Scholar). En la siguiente imagen puedes ver un ejemplo, buscando una expresión en Google Books. Dependiendo de qué tipo de texto estés escribiendo, te interesará buscar en books, scholar, news o web, pues el lenguaje utilizado en cada contexto puede variar bastante. En la imagen puedes ver que indica el número de veces que encuentra la expresión y te muestra ejemplos.

writefull

Un poco más abajo, en la misma imagen, puedes ver un ejemplo de mi uso favorito de Writefull: la comparación entre dos textos. Si quieres, por ejemplo, ver si lo más habitual es escribir “inside in” o por el contrario lo normal es escribir “inside at”, solo tienes que escribir en la aplicación el texto inside in vs inside at. Todo lo que separes por un “vs” será comparado y se te mostrará el porcentaje de casos, con ejemplos. Esto ayuda muchísimo a resolver muchas dudas y a acelerar el proceso de escritura.

Otra ayuda que te presta este programa, sobre todo para el momento del bloqueo mental: palabras en contexto. En la siguiente imagen puedes ver un ejemplo. Con solo poner un guión bajo detrás de la expresión que quieras, verás contextos en la que se usa. Y por supuesto, puedes hacker click sobre cualquiera de los casos mostrados para ver ejemplos.

 

Más cosas que hace Writefull: buscar sinónimos, poniendo un asterisco antes y después de cualquier palabra, o traducir una palabra (escribiendo /translate y a continuación la palabra), o definir una palabra (escribiendo /define y luego la palabra), o incluso escuchar lo que escribas (escribiendo /say y luego lo que quieras escuchar).

Es un programa o extensión de Chrome muy rápido, muy intuitivo y muy útil. Por supuesto no te va a servir de mucho si no sabes nada de inglés, pero si sabes y tienes que escribir textos en este idioma, con esto puedes corregir errores y tener más confianza en tu texto final. Además, y muy importante, es gratis. Los creadores de este programa han sido premiados con Catalyst Grant 2016 – Digital Science, y de Writefull app se ha escrito en medios muy importantes como BBC, Enterpreneur Magazine o Lifehacker, por poner solo tres ejemplos. En la web afirman que tiene usuarios en muchas universidades, como Harvard, Oxford, Stanford y otras. No es de extrañar, porque creo que es útil incluso para nativos de habla inglesa.

He enseñado este programa a varias personas de mi entorno y nadie la conocía. Es una pena que no se conozca más en el mundo de habla hispana, así que espero poner aquí mi granito de arena para que corra la voz.

 

Cursos para los que hay que instalar software imposible

Ante la gran cantidad de cursos on-line, muchos interesantísimos y de prestigiosas universidades, es difícil resistirse a dedicar un tiempo a hacer unos cuantos. Con plataformas como Miriadax, Coursera, o edX tenemos una oferta enorme que nos ayuda a aprender cosas nuevas y, de paso, mejorar nuestro currículum. Pues bien, me dispuse a comenzar un curso de bioestadística que ofrece una universidad española a través de Miriadax y, oh sopresa, llegó un punto en el que sentí que solo para instalar el software necesario para seguirlo necesitaba otro curso previo. 🙂 Voy a contar aquí la aventura para que me sirva de recordatorio de lo que hice y, por encima de todo, para que esta información pueda servir de ayuda a alguien que se encuentre con el mismo problema.

Cuando un curso se anuncia como “curso con R”, automáticamente piensas que teniendo instalado el R ya vas a poder hacerlo. Además, yo pensé que sería una buena oportunidad para aprender un poquito más de R, con el que estoy haciendo mis primeros pinitos, pero resulta que el curso se hace usando unos plugins que hay que instalar en R, y más concretamente un plugin creado en la propia universidad que ofrece el curso. Ahí, al menos yo, empiezo a mosquearme un poquitín. Ya no es lo que esperaba, pero bueno, vamos a darle una oportunidad porque me sigue interesando mucho obtener los conocimientos sobre bioestadística.

Genial, vamos a comenzar a instalarlo todo. Primer problema: no se pueden instalar esos plugins (RKWard y RkTeaching) con la versión del sistema operativo que tengo en mi ordenador. Tendría que actualizar sistema operativo, pero no quiero hacerlo porque perdería otros programas que ahora sí funcionan. Muy bien, vamos a trabajar con una máquina virtual entonces.

Una máquina virtual es algo así como otro ordenador dentro de tu ordenador. Instalas el software necesario, que podría ser por ejemplo VirtualBox o VMWare (son gratis) y en ellos cargas la imagen virtual de el sistema operativo que tú quieras. Por ejemplo, yo instalé una distribución de Linux en una máquina virtual dentro de mi ordenador Mac. Las imágenes de los sistemas operativos puedes encontrarlas en páginas como http://virtualboxes.org/ .

Ahora que tengo un linux en mi ordenador, abro esa máquina virtual e instalo R. Perfecto. Ahora sigo las instrucciones a modo de receta paso por pasos que han dejado los profesores del curso para instalar el resto de software. Segundo problema: RKWard no se instala si no tengo la última versión de R, que no se ha instalado (sino una versión anterior) porque la imagen de mi linux no es de la última hornada. Toca hacer un upgrade de todo el sistema operativo y volver a instalar R. Siguiente problema: no voy a poder obtener la última versión de R, ni de RKWard, si no actualizo desde un repositorio concreto. Ahora hay que empezar a modificar cosas en la configuración del sistema.

En el fichero /etc/apt/sources.list tuve que añadir la siguientes línea:

deb http://cran.univ-lyon1.fr//bin/linux/ubuntu trusty/

Perfecto, lo vuelvo a intentar y ahora sí obtengo la última versión de R y de RKWard. Los siguientes pasos parecen sencillos, pues es volver a seguir la receta de los profesores. Ahora solo hay que entrar en la consola R de RKWard y escribir una serie de comandos, uno detrás de otro, para instalar los paquetes necesarios para tener RkTeaching. Parece fácil, pero aquí comienza otra pesadilla: hay problemas de dependencias de los paquetes que quiero instalar. Los mensajes de error me piden que instale otro paquete, que a su vez me pide que instale otro, que a su vez me pide que instale el de antes…un jaleo. En concreto tengo muchos problemas con un paquete que se llama devtools.

Llega un momento en que pienso seriamente en abandonar la idea de seguir el curso. Llevo nada más y nada menos que tres días intentando instalar el software necesario para seguirlo. Pregunto en el foro si es posible que lo pueda seguir usando solo R, sin plugins adicionales que supuestamente facilitan hacer las tareas del curso, pero me dicen que no es un curso de programación sino de estadística, y que tengo que instalar los plugins (curiosa respuesta, porque no pedía que me enseñaran a programar en R, sino preguntaba si podía seguir el curso sabiendo ya programar R). Empiezo a mosquearme un poquito más si cabe. 🙂

Finalmente, después de buscar y rebuscar por los foros del curso, viendo las preguntas y respuestas de un montón de usuarios con problemas para instalar el software, llego a una respuesta que podría ser la solución a mi problema. La publica un usuario para otra distribución de linux diferente a la mía pero yo, que no tengo ya nada que perder, la pruebo en mi máquina virtual. Consiste en escribir unos comandos en una terminal del sistema (no dentro de RKWard). Estos comandos instalan paquetes necesarios para lo que estoy intentando obtener. Abro una terminal y escribo:

apt-get -y build-dep libcurl4-gnutls-dev
apt-get -y install libcurl4-gnutls-dev

A partir de ahí ya pude volver a la consola de R de RKWard e instalar el resto de paquetes. ¡Por fin!

Tres días para instalar el software necesario para empezar a hacer un curso de bioestadística. No es que sea una experta, pero juraría que tengo el nivel suficiente como usuaria de diferentes sistemas operativos para instalar software con los ojos cerrados. Esto de pedir a los alumnos de un curso que instalen un software que es, por decirlo de alguna manera, muy poco amigable de instalar, me parece un despropósito.

De resto el curso está muy bien, me gustan los contenidos y lo estoy siguiendo con ganas. Por eso no voy a poner aquí el nombre del curso ni la universidad que lo imparte. Solo es un recordatorio de estos tres días de darle vueltas al asunto, y un tirón de orejas para algunos profesores. Por favor, no pidan instalar software imposible. Está muy bien que hayan desarrollado software propio, pero si no es algo que casi todos podemos instalar sin mucho problema, no nos pidan que lo instalemos. De hecho, estoy segura de que todo sería más útil si hiciéramos el curso con herramientas ya muy extendidas como por ejemplo R puro y duro. Los foros del curso están que arden con los problemas de instalación de los usuarios, tanto en linux como en OSX o en Windows. Perder más tiempo en la instalación que en el propio curso es un poco raro.

Perdón por el tostón de post de hoy. Espero que al menos a alguien le resulte útil.

P.D.: mi máquina virtual estaba configurada para un teclado en inglés. Si también es tu caso y quieres pasar el teclado a español, abre una terminal y escribe esto:

setxkbmap es

Programar es el nuevo inglés

Hace unas semanas leí en Twitter esta frase que he puesto en el título: “Coding is the new English”. Efectivamente, hasta hace poco tiempo saber inglés podía ser el elemento diferenciador entre dos personas con similar currículum. Saber inglés como lengua extranjera no solo aumenta nuestros conocimientos y nuestras posibilidades, sino que demuestra que hemos sido inquietos y hemos querido ir más allá de lo que nos enseñaron en el colegio/instituto/universidad.

Libros de programación

El caso es que, como ya se asume que el inglés es el idioma para todo (al menos en ciencia así es) y debemos utilizarlo sí o sí, este idioma ya no es el elemento diferenciador. Todo el que se dedique a ciencia, ingeniería y seguramente cualquier profesional en cualquier otra área, se supone que se defiende razonablemente bien en inglés. En ciencia, por ejemplo, no se concibe que no sepas leer bien en inglés, pues todas las publicaciones internacionales y muchísima de la información que necesitas está en ese idioma. Y no solo leer, porque cuando tienes que escribir lo que llamamos un “paper”, es decir, un artículo científico, o un poster para un congreso internacional, también tienes que ser capaz de hacerlo en inglés. Hablar en inglés también es fundamental para dar una charla en un congreso o para relacionarte con colegas de otros países. Como todo esto se asume como normal y ya forma parte de la vida diaria de casi todos, el inglés ya tiene que venir en nuestra configuración por defecto 🙂 y hay que diferenciarse por otras cosas. La clave ahora, estoy de acuerdo con el que formuló la frase que da pie al título de esta entrada, es la programación de software.

Programar, o “picar código” como siempre han dicho los programadores, es algo que deberías tener en tu lista de cosas que aprender si estás empezando en esto de la ciencia. En algún momento puede que necesites hacer un análisis estadístico de datos que podrías hacer de manera más rápida y eficaz (puedes usar el código para otra ocasión) si escribes un programa en cualquier lenguaje de programación (Fortran, Phyton, Java….el que quieras) o un script en un entorno de los pensados para este fin (Matlab, R y similares). Podrías incluso necesitar hacer software que no fuese específicamente para tratamiento estadístico relativamente sencillo, sino modelos de cualquier tipo, redes neuronales, reconocimiento de patrones, programas para tratamiento de imágenes (muy típico, por ejemplo, en medicina), simulaciones de biofísica, …. seguro que se te ocurren cientos de problemas que podrías resolver haciendo tu propio programa. Los economistas y analistas de todo tipo también se benefician del saber programar. Con esto último quiero decir que no solo es deseable que sepan programar los científicos, por supuesto los informáticos, o los ingenieros, sino que todo esto es aplicable a muchísimas profesiones, incluidas las “de letras”.

Hoy en día, en mi opinión, no puedes permitirte llegar a un trabajo y, a la hora de necesitar programar, decir eso de “es que no me enseñaron en clase”, o “es que a mí no me gustan los ordenadores”. He visto gente en ciencia decirme que no sabe descomprimir un archivo, que no sabe instalar un programa, o que solo sabe usar Excel para tratar datos. Esto no debería ocurrir porque hoy en día todos tenemos un ordenador con conexión a internet y una fuente inagotable de recursos gratuitos (no ilegales, sino libres) a nuestra disposición. Lo que hace falta son ganas de aprender a usar las herramientas. Ganas de aprender de manera individual. Inquietud por aprender cosas nuevas por nuestra cuenta. Si esas ganas de aprender las focalizamos, al menos en parte, a aprender a programar, nos va a ser muy útil en el mercado laboral y nos va a diferenciar de otros. Yo no soy una experta programadora, pero me defiendo y suelo ser capaz de crear los programas que necesito para trabajar. Si no lo pudiese hacer entorpecería mucho mi trabajo, lo ralentizaría mucho, y además no me habrían surgido algunos bonitos retos laborales que he vivido.

Si no lo has hecho ya, te invito a que busques información sobre lenguajes de programación, elijas uno y aprendas a programar algo. Poco a poco, según las necesidades que vayas teniendo, irás buscando más información y aprendiendo más. La programación es como un edificio que empieza siempre con el típico “Hola mundo!” en pantalla y puede acabar siendo un rascacielos con vistas maravillosas.

Mi próximo reto es aprender Python. Ya estoy en ello. Sabiendo programar en otros lenguajes el reto no parece extremadamente complicado. Lo anterior fue aprender a hacer apps para móviles, que además de útil es muy divertido. ¿En qué lenguajes de programación hablas tú?

Editor de textos para trabajar con columnas

Supongo que todos los que nos dedicamos de una u otra manera a tratar con datos (científicos, economistas…) en algún momento nos encontramos con el problema de trabajar con columnas de texto. Si tienes un conjunto de datos en formato texto, ordenados en columnas, puedes necesitar seleccionar una columna entera (o una porción) para copiarla en otro sitio, o puedes querer escribir una nueva columna al lado de otra. El caso es que no todos los editores de texto permiten trabajar con columnas y hay que buscar uno que sí te deje hacer todo esto.

En mi caso, hace mucho tiempo un compañero de trabajo me recomendó un editor llamado Crimson Editor (puedes encontrarlo aquí). Es gratuito, es genial, y su único problema es que solo hay versión para Windows. En su momento para mí no era un problema porque trabajaba con ese sistema operativo, pero al pasarme a Linux y luego comprar un portátil Mac la cosa se complicó y hubo que buscar alternativas.

En Linux mi opción fue seguir usando Crimson Editor a través de Wine, un sistema que te permite ejecutar software de Windows en un equipo con Linux. Tienes más información sobre Wine aquí.

Aquí puedes ver el Crimson Editor corriendo en una máquina de Linux (Xubuntu). Incluyo la captura de pantalla casi completa para que veas que efectivamente es un Linux, aunque abajo veas los iconos del Microsoft Office (que también corre en mi equipo gracias a Wine).

Crimson Editor

En este editor, si pulsas Alt+c seleccionas al modo columna (se ilumina la palabra “COL” en verde, como puede verse en la imagen). También puedes ver en la imagen que pueden abrirse varios ficheros a la vez, ordenándose estos en pestañas. Es el editor más sencillo y útil que he usado en mi vida.

Para Mac, la alternativa que encontré fue Ultra Edit. La gran desventaja de Ultra Edit es que es un software de pago, pero es muy flexible y muy potente. Puedes probar una versión free trial y decidir si te vale la pena pagar los 80 eurazos que cuesta. Existe otra alternativa más barata llamada Text Mate y seguramente habrá alguna más, incluso gratuita, que yo no conozco.

Espero que si estás buscando editor de textos por columnas te haya servido esta entrada del blog. Si tienes alguna recomendación personal, puedes usar los comentarios para compartirla.