Decálogo de buenas prácticas para mantenerse inspirado

Lo curioso de trabajar en un área del conocimiento que requiera ingenio y visión, es que no hay una fórmula para permanecer en un estado de continua iluminación. Y si no hay una, es porque hay miles, los métodos son tan variados como personas en estas profesiones, porque al final del día cada quien define su propio proceso creativo y muchas veces lo que anima a uno crear, frustra a otro y viceversa.

Hice un listado ilustrado de algunas cosas que en lo personal me funcionan y en seguida les cuento un poco más.

  1. Contacto con la naturaleza. Procura llenar tus pulmones de aire limpio cada que tengas oportunidad, camina descalzo en el pasto, pisa hojas secas. Adopta una planta y si se puede, una mascota también.
  2. Haz listas de palabras que te gustan. No entiendo esta manía propia, pero es algo que me funciona a la hora de necesitar algún nombre para algo. La inicié por gusto y sin razón pero al final resultó útil.
  3. Escucha las inquietudes de los demás. Solía ser muy celosa de mis ideas, pero me he dado cuenta de que la mayoría de las veces las demás personas no alcanzan a visualizar lo que imaginas de la manera que tú y además al compartirlas obtienes buena retroalimentación.
  4. Busca nuevas perspectivas. Nuevos usos de algo, diferentes interpretaciones de una misma cosa, conectar dos cosas sin relación aparente o enseñar algo a través de un juego.
  5. Degusta algo nuevo. El cerebro es un músculo que hay que ejercitar a la menor provocación si queremos mantenerlo fresco. No soy neuróloga pero, me gusta pensar que funciona como cuando aprendes algo nuevo, se almacena nueva información en tu biblioteca de experiencias y estímulos sensoriales; y no solo gustativo porque al comer usamos varios sentidos.
  6. Presta atención a los detalles. A veces creo que las ideas están en todos lados, solo tenemos que desarrollar cierta sensibilidad para percibirlas y asociar las pistas que nos son dadas.
  7. Infórmate de noticias de otros lados. Una vez escuché de una profe que, entre más indiferentes seamos a nuestros entorno, menos ideas tendremos de cómo transformarlo.
  8. Haz algo ante las injusticias (aunque sea un meme). Y si puedes hacer algo más que un meme, mucho mejor. La creatividad no es solo tener ideas, la etimología de la palabra lo dice, es crear. Así que al final del día no es más creativo el que tiene más ideas, sino el que hace más con ellas.
  9. Lee biografías de personajes interesantes. Leer también sus libros o entrevistas, es sumamente inspirador, es como tomarte un té con ellas.
  10. No esperes encajar. Si Coco Chanel hubiera seguido las tendencias de su época, jamás se hubiera convertido en la diseñadora que fue.
  11. Aprecia el plus de los finales inesperados. Esto ya no iba a seguir, pero cuando das más de lo que se te solicitó, obtendrás mejores respuestas y eso te motivará.

Un lugar llamado Pacueco

“Al otro lado del puente de La Piedad Michoacán…” Muchos hemos escuchado la canción del Perro Negro, y la asociamos a La Piedad Michoacán y ¿Cómo no hacerlo? Si así empieza, pero en realidad, hace referencia al otro lado del puente, a Santa Ana Pacueco ¿PA’ QUÉ? PA-CUE-CO…

Un poco de historia, La Piedad Michoacán llegó a ser reconocida como la capital del cerdo, y es que, en algún momento de la historia, fue el mayor productor de cerdos en el país, la realidad es que Santa Ana Pacueco y La Piedad, siempre han ido juntos y en la producción de cerdos también fue lo mismo, había muchos cerdos en La Piedad, pero también, había muchos en Santa Ana, muchos de niños nos preguntábamos ¿Qué significa Pacueco? Y nuestra conculsión de niño era simple: Pacueco igual a pa’ Puercos; hoy en día las cosas han cambiado, ahora es tan fácil ir al Google y preguntarle ¿Qué significa Pacueco? Pacueco es una palabra purépecha y significa: donde corva (da vuelta) el río, el río Lerma, el río que separa y une a Michoacán y a Guanajuato, el río que separa y une a medio país (dato curioso, en La Piedad existen varios puentes que comunican a Santa Ana con La Piedad uno se llama: Michoacán y otro Guanajuato).

Cuando yo era un poco más joven, y estudiaba fuera me preguntaban ¿De dónde eres? Respondía de La Piedad, y cuándo me preguntaban ¿Dónde está eso? Decía, “Si ves un mapa con división política, La Piedad se encuentra donde se juntan Michoacán, Guanajuato y Jalisco”; a principios de este año, las oficinas de Girasolo se mudaron de La Piedad a Santa Ana, Santa Ana Pacueco, es una pequeña población que pertenece al municipio de Pénjamo Guanajuato, a principios de este año, también decidimos separar a Girasolo en dos divisiones: Girasolo todo lo relacionado a comunicación y BigPink todo lo relacionado a tecnologías de la información.

Captura de pantalla de la página http://www.brimalog.com (en producción).

Mientras hacíamos investigación para un proyecto nuevo, encontré que varias páginas y plataformas, en el footer decían “Made with love in NY” y surgió una idea ¿Por qué no poner un “Hecho con amor en Pacueco Mx” como firma a todos nuestros desarrollos?

Captura de pantalla de propuesta web para el proyecto de Safe-T

Pero ¿Por qué elegir Pacueco para firmar? Pues bien, más allá del significado literal  de Pacueco, Pacueco para mí significa esa unión (Guanajuato y Michoacán), pero representa también una palabra física, para darle nombre a ese espacio donde se unen diseño y programación, comunicación y funcionalidad, Pacueco, representa pues, un montón de sueños.

Y hablando de sueños, aprovechamos para desearte de parte del equipo de Girasolo y BigPink un grandísimo año, que sea el año para tus sueños. ¡Felicidades!

@ChenBrimac
chen@girasolo.com
www.girasolo.com
www.ThinkBigPink.com

Buenas prácticas de programación en BigPink

La mayoría hemos escuchado sobre la importancia del trabajo en equipo, cómo aumenta la eficacia y calidad de los resultados, cuando trabajas en equipo con programadores que tienen distintas habilidades y talentos, es de suma importancia buscar que la forma de programar se estandarice y no se convierta en una complicación innecesaria; para ello, es recomendable establecer y seguir una serie de buenas prácticas.

A continuación, te platicaré algunas de las buenas prácticas que implementamos en BigPink.

  • Legibilidad en el código.

La legibilidad es muy importante, debes escribir tu código, pensando que cualquier programador lo pueda comprender, además, ten en cuenta que entre más complejo sea tu código, más difícil resultara dar mantenimiento en el futuro.

  • Leer código fuente.

Escribir código fuente es mas fácil que entender el código escrito por otros, muchas veces nos encontramos con código desordenado, o con la documentación de código incompleta, por eso, leer código fuente te ayudará a entender la diferencia entre código de buena o mala calidad, también, te ayudará a mejorar tus habilidades de programación.

  • Estructuras de control e indentado.

Con tu equipo de trabajo, deberán acordar un estilo de sangría en su código, para tabular o delimitar bloques de código, con esto harán que su código sea más fácil de leer.

  • Valores fijos.

Cada vez que tengas un valor concreto en tu código, el valor debe ser almacenado en una constante, así, ayudarás a reducir el mantenimiento ante cualquier modificación que afecte la estructura.

  • Comentarios en el código.

Los comentarios en el código, deben ser para favorecer la comprensión del código y no para introducir mayor complejidad en su entendimiento, realiza los comentarios por bloques, cuando consideres importante reflejar la importancia de alguna línea en tu código, puedes agregar comentarios al final de esta.

  • Caracteres únicos del español.

Procura escribir código en inglés y que tu teclado esté configurado en este idioma, ya que caracteres como la ñ o las tildes pueden generar errores al no ser caracteres ASCII.

  • Testear el código.

Siempre debes estar realizando este paso, incluso, después de haber realizado un pequeño cambio en tu código, de esta manera, evitarás frustraciones futuras al momento buscar un error.

  • Tamaño del código.

La longitud de un método no debe exceder 100 líneas de código sin causa justificada, recuerda que siempre puedes hacer uso de un método dentro de otro. Por línea, evita la incorporación de más de una instrucción que rebase los 80 caracteres.

  • Compartir.

Compartir conocimientos ya sean técnicos o profesionales con tus compañeros, motiva a que se puedan ayudar mutuamente a mejorar y logra que el trabajo en equipo funcione mejor.

  • Investigar cosas nuevas.

Es muy importante que te intereses en los temas a aprender, que tengas inquietudes al respecto y que, fundamentalmente disfrutes programando. Existen muchas herramientas y plataformas que te pueden ayudar a expandir y mejorar tus conocimientos, siendo productivo(a) y de una forma divertida, sin generar estrés y aburrimiento.

La programación requiere de paciencia y resistencia a la frustración, tal vez, el trabajar con código ajeno o tratar con datos desactualizados puede dificultar tus tareas asignadas, pero debes perseverar y seguir adelante.

Andrea Adriana Hernández
www.girasolo.com
www.ThinkBigPink.com

Safe-T

Para quienes estamos inmersos en el mundo del diseño, el desarrollo de una nueva marca es un tema que resulta mucho, muy emocionante, pero al mismo tiempo, genera un poco de incertidumbre. Qué tipografías utilizar, qué colores son los que encajan mejor con la personalidad de la marca y cómo podemos lograr un “buen diseño”.

Lo cierto, es que no existe un mejor diseño. La idea de generar el “mejor diseño” resulta utópico, pues no existe una sola manera de resolver los problemas, menos aún, cuando nos encontramos dentro del contexto creativo. Todo lo contrario, existen infinidad de caminos que podemos tomar para resolver correctamente un problema. Y es precisamente esto lo que nos encanta, ese mar de posibilidades que se nos presentan ante el umbral del desarrollo de una nueva marca.

Es el caso de Safe-T. Una empresa dedicada a la instalación de sistemas de seguridad y redes contra incendios.

El nombre Safe-T deriva, por una parte, de una síntesis del anterior nombre (Safety Systems & Solutions) mientras que, por la otra, de la apreciación fonética de: Safe, en español seguridad; y la letra T, que en inglés se pronuncia como ti. Al combinarlas, obtenemos Safe-T, cuya pronunciación es similar a Safety, que hace referencia a la seguridad, siendo éste el principal campo de acción de la empresa.

Para la construcción del símbolo de la marca, debíamos generar un gráfico que, por sí solo, representase de manera concreta qué es Safe-T. No solamente desde el concepto de los sistemas contra incendios, sino también desde la seguridad y todo lo que esta implica.

Luego de elaborar diversos bocetos, logramos generar lo que sería el isotipo final.

En la parte central del símbolo, encontramos la silueta de una flama, rodeada por una serie de líneas que nos recuerdan, no sólo a las tuberías, sino también al cableado de los sistemas de seguridad. Así mismo, podemos apreciar que todos estos elementos se encuentran dentro de las curvas abstraídas que componen la letra S, inicial de la marca.

Como el símbolo generado resulta tan fuerte y rico en cuanto a su significado, optamos por utilizar una tipografía sans serif que lo complementase de manera sutil, centrando la atención en el isotipo.

En cuanto a las tonalidades de la marca, encontramos como color principal, un rojo con matices magenta, que nos remiten al color del equipo y material utilizado para combatir los incendios. Como color secundario, tenemos un negro enriquecido que cuenta con un matiz azul, para representar el mundo Life Safety, la seguridad y el profesionalismo.

Una vez definidos los puntos anteriores, pudimos dar paso a la creación de los elementos de papelería corporativa, como lo son las tarjetas de presentación, así como también, al diseño y desarrollo del sitio web de la marca.

Adrián López P.
www.girasolo.com
www.ThinkBigPink.com

Importancia de GIT

Dentro del desarrollo de software existen distintos tipos de herramientas que nos ayudan a solventar alguna necesidades específicas, las cuales facilitan la parte de desarrollo, implementación, despliegue, documentación, o testing. El día de hoy yo les hablaré de una herramienta para desarrollo de software profesional que nosotros internamente usamos en cada uno de nuestros proyectos, GIT.

Pero para poder hablar de git, primero tenemos que saber qué es, de dónde surge y cuál es su función.

Git es un sistema de control de versiones, el cual es distribuido, es decir, que bajo un mismo proyecto múltiples programadores pueden trabajar y desarrollar en conjunto. Es de código abierto así que es totalmente gratuito, se puede adaptar fácilmente a un proyecto pequeño así como a uno grande, cuenta con una gran documentación en la web y es muy usado por los programadores, es una herramienta muy útil a la hora de hacer correcciones a bugs y documentación de proyecto ya que cuenta con una línea del tiempo de desarrollo.

Git es un sistema multiplataforma, lo que quiere decir que podemos usarlo con Windows, Linux o Mac OS. Git también cuenta con plataformas de desarrollo colaborativo, o también llamadas red social de los desarrolladores, donde se alojan los repositorios, el código se almacena de forma pública pero se puede hacer privado con una cuenta de pago, algunos ejemplos de esto son github.com o gitlab.com.

En el caso de nuestra empresa, nosotros usamos git y lo combinamos con el uso de gitlab ya que este nos ayuda a hacer CI/CD (continuous integration / continuous delivery) que son terminos muy utilizados en el DevOps.

Para ponerlos un poco más en contexto CI es un proceso en donde cada cambio que realizamos en nuestro código debe ser testeado y verificado por las pruebas que hemos escrito con anterioridad.

CD es el mismo proceso anterior, solo que de una manera más automatizada y además nuestros tests de aceptación o acceptance tests deben ser de una gran calidad. Porque Continuous Delivery se asegura de que cada cambio realizado esté listo para ser lanzado a producción.

Para trabajar eficientemente con git es necesario tener un gitflow eficiente pero, ¿qué es un gitflow?, según la pagina oficial de Github https://github.com/doapps/software/wiki/Gitflow.

Gitflow es un flujo de trabajo de basado en git que fue publicado y popularizado por Vincent Driessen. El flujo de trabajo de Gitflow define un modelo de ramificación estricto, diseñado en torno a la versión del proyecto. Esto proporciona un marco robusto para la gestión de proyectos grandes.

¿Por qué usar Gitflow?

Por los siguientes motivos:

  1. Desarrollo Paralelo
  2. Colaboración
  3. Área de puesta en escena de la versión
  4. Soporte para reparaciones de emergencia

Nuestro gitflow es uno de los más estándares, comenzamos con dos ramas principales que son máster y develop, la rama máster está protegida y nunca se sube nada directamente a ninguna de estas cuando se va a realizar una nueva funcionalidad. Nunca se trabaja sobre ninguna de ellas lo que se hace es posicionarse en develop, actualizar con el repo remoto y después crear otra rama en la que se trabajará con el prefijo feature, una vez terminas la funcionalidad se sube esa nueva rama al repo remoto para ser revisada por medio de pipelines, y de ser aprobada, se integra con develop.

Cuando se va a corregir un bug el proceso es bastante parecido, solo que en lugar de feature se usa el prefijo Hot-fix, cuando el proyecto esté listo para mandarse a producción se hace un merge entre develop y máster para crear la primer versión o relace esto se repite conforme a los relace que son lanzados.

Como pueden ver, git es una herramienta muy útil para los desarrolladores que cuando es manejada debidamente, acorta tiempos de desarrollo y ayuda con la gestión de software, en el siguiente enlace les dejaré algunos de los comandos que son más usados en git por si les interesa.

https://github.com/miguel199529/Notas/blob/master/GIT.md

Miguel Ángel López
www.girasolo.com
www.ThinkBigPink.com

¿Cómo tomar fotos MACRO sin un lente MACRO?

A continuación les dejo un pequeño tutorial en donde les enseño una técnica que puedes usar para hacer fotografías macro sin tener que comprar un lente macro.

Pasos a seguir:

  1. Ten un amigo que tenga un lente macro y se lo pides prestado.

Si aun así te es imposible conseguir uno, y no me refiero al lente sino al amigo, entonces quédate a la segunda parte del tutorial.

Antes de comenzar debo darles una pequeña advertencia. Sé que dije que no tendrías que comprar un lente, pero sí hay que comprar algo y me refiero a un pequeño tubo de plástico que funciona como extensión para tus objetivos. Es realmente barato y hay en diferentes marcas y para diferentes monturas.

Te dejo un link a Amazon: shorturl.at/cuzC8

Colocas un extremo del tubo en el cuerpo de tu cámara y el lente en el otro extremo. El extensor aleja el objetivo del sensor, lo que permite que este se acerque más de lo que normalmente podría.

A continuación solo necesitas elegir qué es lo que te gustaría fotografiar. Puede ser una rosa, un insecto, joyería, lo que se te venga a la mente. Es importante también tener en cuenta que obtienes mejores resultados con un diafragma muy cerrado, para mayor profundidad de campo.

Ahora solo es cuestión de encuadrar, hacer click y ¡voila!. Lista para subirse a Instagram.

Bonus Tip: Si deseas mayor profundidad de campo y que se distinga el objeto con mayor claridad, puedes utilizar un tripié y hacer 3 o 4 fotografías cambiando únicamente el punto focal en la imagen. Posteriormente utilizando Photomerge de Photoshop podrás unirlas y tener una sola fotografía en foco.

¿Qué es DevOps?

¿Alguna vez has escuchado hablar sobre DevOps? existen varios puntos de vista sobre el término DevOps ( Develop / Operations ), pero la gran mayoría coinciden en que es una cultura que promueve la comunicación entre el departamento de desarrollo (Development) y el departamento de Administración de sistemas (Operations). 

La cultura DevOps tiene como objetivo acelerar la entrega de software de manera ágil asegurando la calidad del software, todo esto, por medio de buenas prácticas, herramientas de integración de código, pruebas automatizadas, administración de infraestructura, etc.

Las prácticas más populares de la cultura DevOps son las siguientes:

Infraestructura como código: Infraestructura como código es un método de automatización que está basada en prácticas de desarrollo de software. Los cambios realizados a los sistemas y sus configuraciones específicas son bien definidas y capturadas en archivos de configuración (scripts, playbooks, manifests, módulos).

Integración continua ( CI ): La integración continua es una práctica de desarrollo de software mediante la cual los desarrolladores combinan los cambios en el código en un repositorio central de forma periódica, tras lo cual se ejecutan versiones y pruebas automáticas.

Entrega continua ( CD ): La entrega continua es una práctica de desarrollo de software mediante la cual se preparan automáticamente los cambios en el código y se entregan a la fase de producción.

Herramientas DevOps más populares: Red Hat Ansible, Jenkins,Terraform, Chef, Docker, GIt, GitLab, Kubernetes, Nagios, Puppet.

DevOps en BigPink

Nosotros en BigPink adoptamos una cultura DevOps que va desde la configuración de los proyectos, testing y pruebas de integración de código hasta entornos automatizados con despliegue continuo ( continuous delivery ), para ello, implementamos las siguientes practicas y herramientas:

Configuración de proyectos: Todos los proyectos son configurados con GIT como sistema de control de versiones de software, así como el uso estricto de linters para detectar errores de estilo y mantener el código limpio.

Infraestructura como código (IaC): Toda la infraestructura la manejamos como código por medio de configuración de plantillas cloud formation para Amazon Web Services. 

Integración continua (CI): Para la integración del código utilizamos GitLab como plataforma de repositorios privados en donde por medio de Pipelines ejecutamos varias pruebas (build, linters, testing, etc.) para asegurar la calidad antes de que el código sea integrado en el repositorio central.


Entrega continua (CD): Para lograr la entrega continua se automatiza el despliegue de nuestros proyectos por medio de Pipelines programadas en GitLab que se conectan a nuestra infraestructura previamente montada en Amazon Web Services, una vez pasadas las pruebas de integración del código.

Edgar Leyva
www.girasolo.com
www.ThinkBigPink.com