Spanish Synonyms Finder for Alfred

I installed Alfred yesterday and bought the power pack to be able to use the workflows feature. I started playing with it and found out a piece of functionality that I couldn’t find: a Spanish Thesaurus. For English, I found one quickly. However, for Spanish, I was unable to find any, so I decided to build one myself.

My strategy to accomplish this:

  • Find out how to use JS (and NodeJS) inside Alfred.
  • Find a service that provides an API for Spanish (surprisingly there is none, or I couldn’t find one).
  • As there was no API, I’d have to do some web scrapping. I found an excellent page to do so https://www.sinonimosonline.com/, and I hope I am not transgressing any law by doing so. If so, please let me know…

My pseudo code looks like this:

  • Get the {query} to be searched for
  • Request the URL with the {query}
  • Parse the response
  • Get the results in an array
  • Send that to Alfred for display.

I found alfy a nice library that facilitates the creation of Alfred workflows with JS. and based my efforts from there. The documentation is straightforward on how to use it. Before alfy I used axios to make the request but moved back to alfy to reduce dependency.

The final product looks like this:

Is very simple to use. You call Alfred and then type sps (Spanish Synonym). Then you write the word you are looking for, and a series of synonyms appear. You can enter in any of them, and it will take you to the sinonimosenlinea.com page. You can type shift to see a previous as well.

The code is here: https://github.com/sindresorhus/alfy)
The packal site here: http://www.packal.org/workflow/spanish-synonyms

My first open source contribution for a while. Hope someone finds it useful.

“El Experto”

Hace algunos años se hizo popular el siguiente video, que muestra un problema muy recurrente a la hora de ejecutar proyectos, e ilustra el distanciamiento que áreas técnicas y de negocio pueden llegar a tener:

 

En software cualquier cosa se puede hacer. O casi cualquier cosa. La pregunta real no es sí una cosa puede hacerse o no, la pregunta real es si vale la pena hacerse. Esto cambia mucho el ángulo desde el cual se aborda el problema, ya que si suponemos que algo puede hacerse, dejamos de pensar en el cómo para enfocarnos más en el qué y sobre todo en el por qué.

Read more “El Experto”

Mejores prácticas, buenas prácticas en programación Java

Cómo muchos de ustedes saben, esta sección ha tenido un fuerte enfoque en patrones de diseño de software, en buenas prácticas y en cómo desarrollar software específico. El software es un tema muy amplio que tiene bastantes esquinas interesantes para digerir. Pero sin duda, uno de los puntos cruciales de todo el ecosistema técnico y de negocios del software, la calidad del código es una pieza fundamental para un software exitoso.

Hasta ahora nos hemos enfocado en muchas buenas prácticas y patrones de diseño intentando hacer un enfoque global, agnóstico del lenguaje de programación que se utiliza. Sin embargo, gracias a la experiencia en una variedad de proyectos, creo que es necesario una pequeña sección en el sitio sobre buenas prácticas, o mejores prácticas, al momento de escribir el código, pero enfocándonos en el lenguaje de programación que se utiliza para x o y desarrollo. En nuestro caso abriremos una sección de mejores prácticas en Java.

¿Por qué Java? Sencillamente es el que más usamos, el que más conocemos y el que más nos gusta. Espero les guste esta nueva sección, y si tienen comentarios o sugerencias no duden en plantearlas, porque poco a poco hemos comenzado a construir una comunidad más o menos grande, y nos encantaría irla agrandando con el tiempo.
cheap custom essay writing services

Hacer Software NO es programar

Una de las lecciones que más cuesta aprender para un buen programador es la siguiente: programar NO es lo más importante en el software. Un poco irónico, pero cierto. Para ser más específicos, hacer del software un negocio NO se hace programando. Claro, nos toca el orgullo, el karma, el ego. Nos gusta sentirnos esenciales en el proceso. Pero no, al final somos los peones de todo el camino. No nos estoy desprestigiando, somos peones de alto nivel, difíciles de conseguir, que podemos ser caros y lo demás…pero somos altamente reemplazables, y en rol de negocio NO jugamos un papel importante. Así como los cortadores de café no son claves en el negocio del café, o los cocineros en un restaurante de comida rápida poco tienen que decir ese negocio, o como los ingenieros químicos de comidas empacadas tienen poco que decir en su negocio. De nuevo son puestos CLAVES siempre y cuando EXISTA y FUNCIONE el negocio. Pero ellos, al igual que nosotros, no suelen influir desde el punto de vista de negocios.

Read more Hacer Software NO es programar

Patron Adaptador – Pattern Adapter – Patrones de diseño

adaptadorEl patrón estructural que ahora vamos a analizar es muy eficaz así como sencillo. Se puede utilizar en muchos contextos y es de especialidad utilidad cuando se utilizan códigos o librerías ajenos al que estamos utilizando y sobre el que no tenemos control. Este patrón se le conoce como adaptador o adapter en inglés, aunque algunos lo llaman también wrapper, que viene siendo como envoltorio. Ambos nombres tienen bastante sentido y explican el por qué de este patrón.

Read more Patron Adaptador – Pattern Adapter – Patrones de diseño

El ejemplo del constructor

albanilHace ya algunos años lei por primera vez este texto. Quisiera poner la referencia del autor, pero no encontré quien lo pudo haber escrito,  así que si alguien me dice a quién darle el crédito, con gusto se lo daremos 🙂 Aparte de lo gracioso en sí mismo, ahora que lo leo años después, desafortunadamente es muy acertado. Digo desafortunadamente, porque tenemos que cambiar la manare de hacer proyectos de software. Urgentemente. Nuevas metodologías, nuevas herramientas, nuevos paradigmas. Actualmente el proceso de hacer software es más complicado de lo que, en mi humilde opinión, debería ser. ¿Qué piensan?

Read more El ejemplo del constructor