November 13, 2018


Fernando Briano

Cerveza de DATA – Donde Pinta 2.0

¿Se acuerdan de “Dónde Pinta” Aplicación sobre cerveza artesanal basada en datos abiertos? ¡Volvió! En forma de Cerveza de DATA.

Los “Café de DATA” (o en este caso “cerveza”) son una excusa para acercarse a la comunidad de DATA, y la más amplia comunidad de Datos Abiertos de Uruguay y América Latina. La oportunidad para conocer gente y limpiar un poco el karma negativo obtenido del trabajo que hacemos a diario alimentando este sucio sistema capitalista con trabajo voluntario para hacer del mundo un lugar mejor. Porque de entre todas las cosas que aprendimos gracias a Stan Lee, una fue que el super poder no hace al héroe, sino cómo lo usa. Así que si tenés ganas de aportar a un proyecto con un fin tan solemne y honrado como Dónde Pinta de forma voluntaria (o de hecho cualquiera de los proyectos de DATA), el primer paso es acercarte.

Si -como yo- sos de esas personas a las que les cuesta esa interacción inicial con desconocidos, una buena cerveza Índica, Davok, o tantas de las nuevas marcas que vienen surgiendo en el mundillo uruguayo de la cerveza artesanal pueden servir como catalizador social. Y si no tomás alcohol (o la cerveza no es lo tuyo), no hay problema. Mandate igual, DATA es un excelente grupo humano que te va a recibir de Brazos Abiertos™. Dejo la invitación:

Cerveza de Data - Dónde Pinta 2.0

DondePinta.uy Es una aplicación web que permite encontrar productores, bares, restaurantes y tiendas donde se pueda conseguir cerveza artesanal uruguaya.

El proyecto fue gestado junto a Underground Beer Club y Mirá Mamá y fue llevado adelante por la comunidad de los Café de DATA. Es un proyecto 100% voluntario y comunitario y su intención es que sea adoptado por los cerveceros como una forma de dar a conocer su oferta y compartir la información como Datos Abiertos.

La plataforma ya tiene un par de años, por eso creemos que ya es hora de volver a revisarlo ¡y hacerle algunas mejoras!
Para eso nos vamos a juntar en Shelter Patio Cervecero (Andresito Guacarí 1806) a las 17:00 a empezar el trabajo y discutir ideas. No dejes de sumar tus ideas en Meetup, o de llevarlas al evento.

Algunas ideas para discutir:

Se busca:

Este proyecto necesita gente con ganas de sumarse y destinar algo de su tiempo libre durante el sábado 1º y algunos ratos extra en las semanas siguientes, que seguramente seguiremos puliendo detalles vía web.
Todo por la excelente causa de facilitarnos a todos encontrar más y mejor cerveza artesanal, allí donde se encuentre en Uruguay 😁🍻

Precisamos gente con muchos talentos, como:

¿Qué va a pasar el sábado?

Vamos obviamente a trabajar en la app, aunque es probable que no terminemos el mismo sábado. El objetivo es acordar el plan, dar los primeros pasos y marcar cómo avanzamos de ahí en adelante. Quienes quieran y puedan comprometerse para seguir, seguiremos en contacto mediante Slack para terminar el proyecto y lanzarlo.

La pregunta que todos se están haciendo:

¡Claro que va a haber cerveza! Shelter nos va a invitar la primera ronda 👏 y DATA la segunda 😎

¿Te divierte?

Ya podés empezar a participar entrando a dondepinta.uy, probándola, pensando qué más te gustaría que tuviera y proponiendo ideas en los comentarios 😉

Inscribite Ya

by Fernando at November 13, 2018 10:00 PM

October 31, 2018


Fernando Briano

Hack2Progress – Hackathon en la Universidad de Cantabria, Santander

Los días 16 y 17 de noviembre se celebra en Santander la IV Edición de Hack2Progress. La cita en es la Casa del Estudiante – Torre A – Universidad de Cantabria.

Hack2Progress IV

¿Qué es Hack2Progress?

Se trata de un Hackathon social que te permite impulsar tu carrera profesional, conocer tus límites, compartir conocimientos y desarrollar una idea. En esta edición la idea debe estar relacionada con el sector energía (eficiencia, consumo, ….) y cómo ámbito tecnológico conductor el uso del servicio cloud de Azure (cuentas gratuitas disponibles) o si dispone de una cuenta de otro proveedor (AWS, Google Cloud, …). Todo en un ambiente muy creativo y amigable.

Hace mucho que no voy a una hackathon, pero son muy divertidas y enriquecedoras. En esta ocasión la asistencia es gratuita, y se ofrece comida, bebida, snacks, material de oficina y lo necesario para desarrollar la idea. El jurado estará para enseñar, aconsejar y valorar a los participantes y habrá gente de la organización disponible para que todos se sientan cómodos. Serán 24 horas de hackathon, con 3 premios que suman 4.800 €. Es un hackathon colaborativo y no competitivo, de mis preferidos. ¡Suena muy interesante!

Edición pasada

La III Edición de Hack2Progress congregó a 80 personas repartidas en 21 equipos de 2 a 5 personas, con diferentes perfiles: estudiantes universitarios y de FP, trabajadores en activo y en paro.

Pueden visitar el sitio web para ver más información o directamente registrarse.

by Fernando at October 31, 2018 11:00 AM

October 22, 2018


Fernando Briano

Game Dev Meetup Montevideo: Mujeres en Videojuegos

Gamedev Meetup Uruguay: Mujeres en Videojuegos

Llega la segunda edición de Gamedev Meetup Uruguay: Mujeres en Videojuegos organizado por CAVI con el apoyo de Girls in Tech – Uruguay, INAE Uruguay – Instituto Nacional de Artes Escénicas y MEC Uruguay.

Adriana Pignolo (Game Designer en Trojan Chicken) nos trae Diseñando una tercera entrega: Mejorar la experiencia de usuario sin cambiar “nada” .

Victoria De Lima (Senior Community Manager de Travian Games GmbH) y Lucía Gómez (Community Manager de Ironhide Game Studio) se unen en un panel para contarnos cómo crear y gestionar una comunidad para tu juego.

María Virginia Ambrosoni (Lead Artist de Arf Games) nos trae métodos de desorganización para artistas.

Fecha: jueves 25 de octubre desde las 18:30 hs , entrada sin costo.
Lugar: INAE Uruguay – Instituto Nacional de Artes Escénicas – Zabala 1480, 11000, Montevideo, Uruguay

GameDev Meetup en Twitter

by Fernando at October 22, 2018 02:00 PM

October 20, 2018


Fernando Briano

Kingdom Rush Origins

Kingdom Rush Origins

El estudio uruguayo Ironhide vuelve a la carga con Kingdom Rush Origins: La más reciente entrega de la saga Kingdom Rush está disponible en Steam para Linux, Mac y Windows y GOG (Mac y Windows).

Kingdom Rush es una saga de juegos que combina tower defense y estrategia en un universo fantástico con caballeros, héroes, magos, dragones y otras criaturas místicas. La mecánica es relativamente sencilla, tenemos que proteger nuestra base de olas de enemigos, pero a medida que avanzamos la estrategia es clave para poder seguir adelante.

Contamos con distintos tipos de torres que son más o menos efectivas según el enemigo que enfrentemos, y la combinación de torres que elijamos. Arqueros, magos, druidas de piedra e infantería élfica son la base de nuestro ejército y hay más de 18 habilidades para nuestras torres: tiradores elfos, osos, magos y hasta árboles gigantes.

Los niveles son bastante coloridos con una estética caricaturesca y los distintos personajes y enemigos son muy particulares. Arañas gigantes, gnomos, magos, vampiros y más. El juego mantiene la tradición de incluir homenajes a distintas series y juegos que parecen venir del cariño que de los desarrolladores a dichas series. Son pequeños huevos de pascua que divierten mucho al ser descubiertos, hay que estar atentos para encontra estos detalles. Entre los escenarios esta vez contamos con bosques élficos, reinos de hadas mágicos y ruinas aéreas de una antigua metrópolis.

La historia se cuenta con mini cómics entre algunos de los niveles, y este título es una precuela de los que vinieron antes. Pero no necesitan haber jugado los Kingdom Rush anteriores para divertirse jugando éste.

Como en instancias anteriores, contamos con héroes que van subiendo de nivel y ganando poder a medida que generan experiencia en el campo de batalla. Por ahora mi héroe preferido es Faustus, el dragón. Pero no los he probado todos. Cada héroe tiene su estrategia también, y según el nivel o nuestra forma de jugar algunos héroes son mejor que otros.

Nuevamente tuve el privilegio de poder probar la versión beta de Kingdom Rush Origins en Steam. Llegué a terminar la aventura principal sin encontrar ningún error y nuevamente volví a jugarlo entero con mi Steam Controller como hice con Kingdom Rush Frontiers. Al terminar la historia principal, me puse a jugar en el modo heróico, un poco más difícil con ciertas limitaciones en lo que podemos usar. Le sigue el modo Iron, todavía más limitado en las torres y habilidades, que pone a prueba nuestra capacidad como estrategas. Cuenta también con varios achievements de Steam que son bastante divertidos de ir encontrando.

[See image gallery at picandocodigo.net]

Como si todo esto fuera poco, faltan algunas actualizaciones gratuitas con más contenido. Al terminar la aventura principal podemos ver que el mapa tiene varias partes sin explorar y quedan héroes por descubrir:

Última semana de Diciembre – Actualización 1.1

¡Cuidado! ¡Un poderoso ejército de ogros está preparando una estrategia para invadir y destruir todo!

Esta actualización incluye:

Última semana de Enero – Actualización 1.2

El último y más leal teniente de Malicia se ha vuelto loco y está tramando venganza.
¡Lidera las fuerzas élficas y detén los planes de Baj’Nimen el Odioso antes que destruya todo en su camino!

Esta actualización incluye:

Última semana de Febrero – Actualización 1.3

Como nuestro Reino vuelve a sus antiguos tiempos de paz, el mensaje que mandamos pidiendo ayuda a los enanos nunca volvió, si hay algo más molesto que un enano ruidoso, ¡es uno callado!
Necesitas viajar a su tierra y buscar respuestas.

Esta actualización incluye:

No tengo mucho más que decir que si les resulta interesante el género o la ambientación del juego, probablemente les resulte divertido. Cuenta con mucho contenido, y más contenido en camino todavía. En lo personal la saga es de lo que más he jugado en computadora, y siempre estoy atento a nuevas entregas. Así que recomiendo ampliamente que jueguen y disfruten de Kingdom Rush:

Otras reseñas de la saga en el blog:

¡Muchas gracias Ironhide por volver a darme la oportunidad de jugar la versión beta!

Concurso Kingdom Rush

Manteniendo algo así como una tradición iniciada en 2014: Para cerrar el post, por haber leído hasta acá, para repartir la alegría, y celebrar la salida del juego, voy a estar regalando claves de Kingdom Rush para Steam. El juego está disponible en GNU/Linux, Mac OS y Windows. Como en otros sorteos, hay varias formas de participar:

En breve anunciaré los ganadores. ¡Suerte y a jugar Kingdom Rush!

Actualización: Concurso cerrado, y los ganadores son martin olivera, Arlequin y nicomanso.

by Fernando at October 20, 2018 01:00 PM

La Programación…

Fernando Briano

A veces la programación es 1% escribir código y 99% cuestionar todas las decisiones que tomaste en tu vida que te llevaron a estar sentado frente a una pantalla sin tener la más remota idea de lo que está pasando.

— Fernando Briano (@picandocodigo) 19 de octubre, 2018

by Fernando at October 20, 2018 11:50 AM

October 18, 2018


Fernando Briano

Nintendo en Madrid Games Week

Si están en Madrid este fin de semana, no se pierdan Madrid Games Week, la feria del videojuego referente a nivel nacional. Se realiza a partir de hoy 18 de octubre hasta el 21 de octubre en el pabellón 12 de IFEMA.

Nintendo va a tener una gran presencia, con 850 metros cuadrados de espacio dedicado a Nintendo Switch y más de 90 puestos de juego. Van a haber más de 30 juegos a disposición de los asistentes, incluyendo Super Smash Bros. Ultimate y Pokémon Let’s Go Pikachu y Pokémon Let’s Go Eevee.

Nintendo en Madrid Games Week

El “¡Todos están aquí!” es la expresión perfecta para hablar de Super Smash Bros. Ultimate, el crossover de personajes que no solo enfrenta en divertidos y frenéticos combates a Mario, Link, Pikachu, y otros personajes de toda la historia de Nintendo, sino que engloba a grandes estrellas invitadas y todos los personajes que han estado alguna vez en la saga Smash, como los míticos Sonic y Pac-Man. El juego más completo de la saga, con más de 70 personajes y más de 100 escenarios, llegará a las tiendas el 7 de diciembre, pero todos los asistentes a Madrid Games Week podrán probarlo meses antes de su lanzamiento.

Estarán también todos los Pokémon de la primera generación por primera vez en Nintendo Switch, y por primera vez en España, gracias a Pokémon: Let’s Go, Pikachu! y Pokémon: Let’s Go, Eevee!. Madrid Games Week será la primera oportunidad que tendrán los fans de todo el país para probar esta nueva aventura que combina elementos de la saga clásica con elementos de Pokémon GO, el fenómeno de masas que a día de hoy sigue superando récords de actividad gracias a su entregada comunidad. Pokémon: Let’s Go, Pikachu! y Pokémon: Let’s Go, Eevee! se pondrán a la venta el próximo 16 de noviembre, y los asistentes a la feria podrán probar varias de sus novedades, como el modo cooperativo para explorar, capturar y combatir en compañía, y el control con el nuevo accesorio Poké Ball Plus.

En la Zona Mario los asistentes se podrán montar fiestas sobre la marcha con sus acompañantes y disfrutar con los minijuegos de Super Mario Party, o demostrarán quién es el rey de la pista con Mario Tennis Aces y quién domina mejor el volante y los caparazones con Mario Kart 8 Deluxe.

Las aventuras de mayor calibre están en la Zona RPG, como The Legend of Zelda: Breath of the Wild, el considerado por la crítica (y el autor de este blog) como el mejor juego del año 2017 y uno de los mejores de la historia.

En la Zona de Acción y deportes no sólo están títulos exclusivos de Nintendo Switch como Splatoon 2. El apoyo third party está patente en EA SPORTS FIFA 19, Dragon Ball FighterZ y el gran fenómeno de Fortnite en un formato que permite jugar en cualquier lugar. Ubisoft tendrá un gran peso en esta zona con Starlink: Battle for Atlas, el título de acción y exploración espacial que el mismísimo Shigeru Miyamoto presentó en el pasado E3.

Nintendo Switch, la consola de los indies

Nintendo Switch es la consola en la que todos los desarrolladores independientes quieren estar. Así, la Zona Nindies crece con un gran número de experiencias diferentes, con títulos
ya considerados por muchos como inolvidables como Celeste, Hollow Knight, Dead Cells, y apuestas con la originalidad por bandera como Toki, Flipping Death, The Gardens Between.

Todos los asistentes al stand de Nintendo en Madrid Games Week tendrán la posibilidad de llevarse una de las dos Nintendo Switch que se sortearán cada día (de viernes a
domingo) entre todos aquellos que hayan conseguido un número de sellos por jugar en cada una de las diferentes zonas. A través de Twitter también se sortearán tres Nintendo Switch
entre todos aquellos que tuiteen una foto desde cualquier lugar del stand utilizando el hashtag #NintendoEnMGW.

Quien busque la diversión en la emoción de la competición, también tendrá su lugar en el stand de Nintendo en Madrid Games Week. Los asistentes podrán inscribirse en los torneos de Mario Tennis Aces y Mario Kart 8 Deluxe, y para quienes disfruten de ver una competición de alto nivel tanto como de jugar, se celebrará un Torneo Invitacional de Super Smash Bros. Ultimate, en el que los mejores jugadores del país se enfrentarán en frenéticos combates.

La guinda al pastel de la competición la pone la clasificación nacional del Splatoon 2 European Championship 2019, en el que los mejores equipos de inklings y octolings se llenarán las caras de tinta para demostrar quién merece representar a España en el campeonato europeo que se celebrará en primavera de 2019.

Están los juegos más esperados meses antes de su lanzamiento, están los juegos third party en las mejores versiones para jugar en cualquier lugar, están los Nindies, están los mejores
juegos para la diversión en familia, están las aventuras más sorprendentes, están las competiciones de alto nivel, están los regalos y sorteos… Todos están aquí, ¡solo faltas tú!

Más información:
http://www.nintendo.es
https://www.nintendo.es/nintendoswitch
https://twitter.com/nintendoes
https://www.facebook.com/NintendoES
https://www.facebook.com/NintendoSwitchES
http://www.youtube.com/NintendoES
https://instagram.com/nintendoes/
https://www.instagram.com/NintendoSwitchES

Sobre Nintendo
Pionera en la creación de entretenimiento interactivo, Nintendo Co., Ltd., con sede en Kioto (Japón), fabrica y distribuye hardware y software para su consola de sobremesa Nintendo Switch, y para las familias de consolas portátiles. Desde 1983, cuando lanzó la Nintendo Entertainment System (NES), Nintendo ha vendido más de 4.600 millones de videojuegos y más de 725 millones de unidades de hardware en todo el mundo, incluyendo las actuales consolas Nintendo Switch, New Nintendo 3DS y New Nintendo 3DS XL, Nintendo 3DS, Nintendo 3DS XL y Nintendo 2DS, así como Game Boy™, Game Boy Advance, Super NES™, Nintendo 64™, Nintendo GameCube™, Wii, Nintendo DS, Nintendo DSi, Nintendo DSi XL y Wii U. También ha creado personajes tan conocidos como Mario™, Donkey Kong™, Metroid™, Zelda™ y Pokémon™. Como empresa subsidiaria, Nintendo Ibérica, S.A., con sede en Madrid, actúa como sede central de operaciones de Nintendo en España y Portugal.

by Fernando at October 18, 2018 09:15 AM

October 16, 2018


Fernando Briano

10 años de la Ley de Acceso a la Información Pública en Uruguay

Hoy se celebran 10 años de la Ley de Acceso a la Información Pública en Uruguay. Una ley que ha ayudado mucho a los datos abiertos y la transparencia, en algunos casos. Gracias a esta ley podemos hacer un pedido de información directamente desde la web con ¿Qué Sabés?.

Para celebrar el aniversario, Fabrizio Scrollini lista 10 cosas que deberíamos ir pensando sobre cómo solucionar en los próximos 10:

1) Aún tenemos organismos que o bien no publican información, o no responden pedidos de acceso. Trasciende partidos, y hay hasta quien quiso (caso de la Intendencia de Maldonado) declarar la ley inconstitucional. Esto no debería ser aceptable.

2) En el país líder en América Latina en gobierno electrónico, hay organismos que no responden pedidos vía correo electrónico. No solo es irónico. Está desfasado de la realidad del siglo XX (ya ni XXI)

3) Necesitamos más recursos para el organismo regulador y posiblemente un nuevo diseño institucional. Eso debería ayudar con el cumplimiento de la ley y la capacitación del servicio civil.

4) En estos 10 años han existido interpretaciones disparatadas (y otras respetables) del Poder judicial sobre como aplicar excepciones. Necesitamos generar doctrina legal adecuada y consistente.

5) La actividades de formación ciudadana son importantes. Deberían escalarse lo cual asume recursos. Solo un 25 % de la ciudadanía (aproximadamente) conoce este derecho y es clave que más lo conozcan.

6) Los programas de Datos Abiertos deben ser fotalecidos para favorecer más publicación y uso de la ley en formas no tradicionales. Ahí vamos por buen camino y podemos hacer mucho más.

7) Nos debemos una conversación seria sobre transparencia en el sector de seguridad y defensa. Está claro que no todo puede ser público pero hay mucha información útil para la ciudadanía y para evaluar que no está aún disponible.

8) Hay un problema en todas las tiendas políticas. La transparencia no gusta. Hay declaraciones disparatas. Precisamos fortalecer una sociedad civil que cobre ese tipo de declaraciones y eso debe incluir financiamiento público.

9) No existe no tener registros ni archivos adecuados sobre los pedidos que se responden. No solo pasa en Uruguay, pero no se puede medir lo que no se cuenta. Si nos vamos a quejar que hay muchos pedidos y toma trabajo, al menos midamos.

10) Seguimos precisando de medios de prensa que molesten al poder y hagan uso de estas herramientas. Cada vez hay más. También la administración ha adaptado sus prácticas. Esconder información no es jugar limpio.

Bonustrack 11). Creer que nuestra democracia ha mejorado solo por esta ley sería un error. Hay gente que resiste la transparencia en todas las tiendas partidarias e institucionales. Son la gente que puede ayudar a que nuestra democracia deje de ser seria.

by Fernando at October 16, 2018 01:30 PM

October 11, 2018


Fernando Briano

Taller de tidyverse: manipulación y transformación de datos en R por R-Ladies Montevideo

R-Ladies Montevideo

La organización mundial que promueve la diversidad de género en la comunidad de R, R-Ladies, tiene una instancia en Uruguay: R-Ladies MVD. El martes 23 de octubre organizan su cuarto encuentro: Taller de manipulación y transformación de datos con tidyverse en R por Lucía Coudet.

La cita es en Scanntech (Duvimioso Terra 1975) a las 19:00. Pueden confirmar asistencia en este enlace.

Pueden unirse y estar al tanto de su actividad en Meetup o seguir la organización en Twitter.

by Fernando at October 11, 2018 08:05 PM

September 28, 2018


Fernando Briano

Profiling de Emacs e instalación Emacs 26

Editando un archivo relativamente largo de código, me empecé a frustrar porque el desplazamiento y renderizado de código andaba lento. Lo primero que tenía que hacer era encontrar el culpable de la lentitud. Por suerte Emacs tiene incorporado un profiler. Para activarlo tenemos que usar M-x profiler-start y seleccionar si queremos hacer profiling de cpu, memoria o ambos. Mi problema parecía de cpu porque se trancaba en momentos que intentaba desplazarme rápido por varias líneas de código. Con M-x profiler-report, podemos ver un buffer nuevo que nos muestra los resultados. Y un test bastante corto mostró cuál era el problema:

Emacs Profiler

No olviden ejecutar M-x profiler-stop si están probando algo, porque no deja de gastar algunos recursos extra tenerlo corriendo.

El nombre linum me resultaba familiar por haber leído al respecto antes, particularmente relacionado a la lentitud de Emacs. Se trata de una biblioteca que provee el número de línea, y viene incluida con Emacs desde su versión 22. Como Emacs no proveía ver el número de línea de forma nativa, las bibliotecas de número de línea en general son bastante lentas.  Pero en la versión estable actual, Emacs 26, finalmente se implementó el número de línea nativo. Así que era el paso que me faltaba para actualizar a Emacs 26. De los cambios de la versión 26:

Ahora Emacs soporta mostrar el número de líneas en el buffer. Esto es similar a lo que provee `linum-mode`, pero mucho más rápido y sin usurpar el margen para los números de línea. Personaliza la variable local de buffer ‘display-line-number’ para activar este display opcional. Alternativamente, se puede usar el modo menor ‘display-line-numbers-mode’ o el global ‘global-display-line-numbers-type’ con el mismo valor que ‘display-line-numbers’.

Los números de línea no se muestran en las ventanas de minibuffers y tooltips, porque no son útiles ahí (…)
‘linum-mode’ y todos los paquetes similares se vuelven obsoletos de ahora en adelante. Se alenta a los usuarios y desarrolladores a cambiar a esta nueva característica en su lugar.

Lamentablemente en Debian y Ubuntu todavía no han actualizado a la versión 26.1 de Emacs. En ArchLinux sí, como era de esperarse. Pero por suerte a los que usamos .deb, siempre nos salva un ppa. En este caso el PPA de Kevin Kelley: https://launchpad.net/~kelleyk/+archive/ubuntu/emacs

Dicho repositorio contiene paquetes basados en las versiones estables de Emacs: 25 y 26. Así que lo agregué a mi apt y procedí a instalar emacs26. Lo bueno es que emacs25 y emacs26 pueden convivir en el sistema. Así que en este momento tengo ambos por las dudas que encuentre alguna cosa que no funcione perfecto en Emacs 26 y pueda usar 25 como respaldo. Por ahora viene todo bien.

Con respecto a la lentitud, ni bien actualicé a la versión más nueva abrí el mismo archivo de código que había destacado el problema en un principio, y la diferencia fue gigante. El desplazamiento entre líneas es mucho más rápido y fluido. Probé con archivos más grandes de miles de líneas, y es el día y la noche.

¿Y Spacemacs?

Desde hace poco más de un año vengo usando Spacemacs (una “distribución” de Emacs). Por suerte Spacemacs soporta la nueva implementación de número de línea desde hace un tiempo. Incluso noté al iniciar Spacemacs con Emasc 26, que se desinstalaba el paquete relacionado a linum, y al iniciar Emacs 25 se vuelve a instalar, por lo que Spacemacs sabe qué usar dependiendo de la versión de Emacs.

Así que por el momento, sigo usando Emacs 26 🙌🏻

by Fernando at September 28, 2018 09:44 PM

September 25, 2018


Fernando Briano

Hackea con Tor en México 🇲🇽

TorEl proyecto Tor organiza una serie de eventos en Ciudad de México a partir de la semana que viene. Sumamente interesantes, para aprender qué tienen planeado, cómo tener un repetidor de Tor, y cómo unirse a la comunidad. A continuación la información de los eventos, desde el blog oficial de Tor:

A finales de septiembre, personas que colaboran con Tor en todo el mundo se reunirán en la Ciudad de México por uno de nuestros encuentros bianuales. Hablaremos sobre el futuro de Tor como organización y decidiremos en qué protocolos y características enfocaremos nuestros esfuerzos. Es una oportunidad para que los equipos distribuidos en Tor pasen tiempo juntos y definan en qué trabajar en los próximos meses y años.

Como parte de este encuentro, también tendremos dos días de hackatón abierto para que todos pueden sumarse. Los días de puertas abiertas durante el encuentro en Ciudad de México serán el martes 2 de Octubre y el miércoles 3 de Octubre en el Sheraton María Isabel. Para obtener más información, consultá la wiki de la reunión.

¿Qué son los días abiertos?

Estos días son oportunidades para desarrolladores y personas sin experiencia técnica para venir y pasar el rato con algunos miembros del equipo de Tor. Aquí se puede obtener más información acerca de Tor, hackear algo con nosotros o simplemente conocer a gente interesante que también esté interesada en el software libre y de código abierto, la privacidad en línea y la libertad de expresión.

Estos días están abiertos a todos, independientemente de su nivel de habilidad técnica. Si estás interesado en contribuir con Tor (ya sea como voluntario o por un puesto pagado), este es también un buen momento para aprender más sobre lo que estamos haciendo y unirte a nuestra comunidad.

Este año, tendremos varias sesiones diseñadas para los recién llegados. Estas incluyen Introducción a Tor para principiantes (en inglés y en español) y “State of Onion” una charla sobre dónde estamos y hacia dónde vamos. Estaremos desarrollando el cronograma hasta los mismos días del evento, pero puedes ver todo lo que tenemos planeado hasta ahora.

¡Ven a contribuir con Tor!

Los días de puertas abiertas durante la encuentro de Tor, al igual que todos los eventos de Tor, se ejecutan según las pautas y el código de conducta de nuestros participantes.  ¡Traé tus ideas y preguntas, vamos a juntarnos y hackear! La mayoría de las sesiones se realizarán en inglés, pero habrá algunas en español. Recuerda que habrá oradores de múltiples idiomas asistiendo.

¿Que más sucede?

Tor Mexico City Hack Days

Relay Meetup

2 de octubre, 6:30 p.m. Sheraton María Isabel. En inglés.

La red Tor está compuesta por miles de voluntarios que dan su tiempo y ancho de banda para hacer del mundo un lugar mejor ejecutando nodos o relays. Los días de puertas abiertas de esta reunión incluyen una reunión de operadores de relays organizada por Colin Childs, aka Phoul en el IRC.

Vení y conocé a otros operadores de relays y escuchá las últimas noticias sobre Tor: tendremos camisetas y calcomanías para equipar sus dispositivos. Si no maneja un nodo o relay pero le gustaría saber más, habrá muchas personas en la reunión dispuestas a ayudarlo.

Coloquio “Mecanismos de Privacidad y Anonimato en Redes”

4-5 de octubre, de 10 a.m. a 6 p.m. Auditorio Sotero Prieto, Facultad de Ingeniería, en la Universidad Nacional Autónoma de México (UNAM). Este evento se llevará a cabo en español e inglés.

Después de la reunión, se llevará a cabo un coloquio centrado en la privacidad y la seguridad en la UNAM. El evento está siendo coordinado por gwolf. Haga clic aquí para obtener información del mapa y programa.

Tor: Diálogos feministas

Tor Meetup Feminista

Tormenta: diálogos feministas para las libertades y autocuidados digitales
4 de octubre, de 4 a 8 p.m. Facultad de Ingeniería, UNAM. Sala de videoconferencia, en el sótano del Centro de Ingeniería Avanzada. En Español.

Invitación a un encuentro de activistas feministas de México a las mujeres y personas no binarias de la comunidad de Tor, para conversar y compartir experiencias sobre el uso de internet, y el desarrollo de herramientas técnicas para el anonimato. El objetivo de este encuentro es reconocer el trabajo y las apuestas que están detrás de algunas de las herramientas de protección digital que utilizamos todos los días. Será un encuentro informal de entrada libre, abierta y gratuita.

by Fernando at September 25, 2018 07:00 PM

The Legend Of Zelda: Breath of the Wild en Game Boy Color

La Leyenda de Zelda es de esas sagas que sigue publicando nuevos títulos y reinventándose. El año pasado Breath Of The Wild sorprendió al mundo rompiendo récords de ventas y revolucionando el género open world. Link’s Awakening fue el primer Zelda que jugué. Con sólo 8 bits, y a través de la pantalla verde del Game Boy que me prestaba mi vecino, el juego lograba transportarme a Koholint Island y vivir las aventuras como Link intentando despertar al Wind Fish. Por la intriga y el sentimiento de aventura y misterio que me despertaba (y el factor nostalgia) sigue siendo uno de mis juegos favoritos. Con Breath Of The Wild volví a vivir la experiencia, esta vez en un mundo mucho más amplio y poblado.

El siguiente video muestra cómo podría verse una versión “Link’s Awakeningesca” de Breath Of The Wild. Como si fuera poco los gráficos y la música, usan el modelo de Game Boy Color Atomic Purple que compré hace tantos años y donde volví a jugar varias veces esta aventura con Link’s Awakening DX:

Después de mirarlo no sé si ponerme a jugar a Breath Of The Wild o Link’s Awakening…

by Fernando at September 25, 2018 12:00 PM

September 24, 2018


Fernando Briano

2 paquetes de ebooks interesantes: Learn you some Code y Game Development by Pack

La gente de Humble Bundle tiene 2 paquetes de ebooks bastante interesantes. Los ebooks están disponibles en PDF, ePUB y MOBI, por lo que pueden ser leídos en casi cualquier dispositivo. Como se acostumbra en los paquetes Humble Bundle, además de elegir el precio, podemos elegir dónde destinamos el dinero que pagamos, incluyendo una organización de beneficencia.

En el primer bundle se trata de Electronic Frontier Foundation, la fundación sin fines de lucro que defiende nuestros derechos en el mundo digital. Activistas, abogados y tecnólogos que luchan en las cortes y el congreso para proteger la privacidad y libre expresión en línea en todo el mundo. El segundo beneficia a Code.org, fundación sin fines de lucro dedicada a expandir la participación en ciencias de la computación habilitándola en más escuelas, y aumentando la participación de mujeres y estudiantes de color.

Los paquetes:

Humble Book Bundle: Game Development and Learn you some CodeGame Development by Packt – Un paquete con 25 libros sobre desarrollo de videojuegos, incluyendo uno sobre Godot, el motor de desarrollo de videojuegos software libre. Quedan 6 días para comprarlo:

Game Development by Packt

Pagando el monto mínimo de USD 1, obtenemos: Creating a Game with Blender Game Engine, Mastering SFML Game Development, Game Physics Cookbook, Basics of Coding with Unreal Engine 4 y Beginning C++ Game Programming

Pagando USD 8 o más, también obtenemos: Practical Game AI Programming, Modern OpenGL C++ 3D Game Tutorial Series & 3D Rendering, Mastering Unreal Engine 4.x Game Development, Virtual Reality Blueprints, Building a Character using Blender 3D, Unity 2017 Mobile Game Development, Unity 2017 Game Optimization, Practical Game Design y Learning C# 7 By Developing Games with Unity 2017

Pagando USD 15 o más, el paquete incluye: Vulkan Cookbook, Godot Engine Game Development Projects, Swift 3 Game Development, Mastering Unity 2017 Game Development with C#, Getting Started with Unity 2018, Unity 2017 Game AI Programming, Unity 2017 2D Game Development Projects, Unity Virtual Reality Projects, Learning C++ by Creating Games with Unreal Engine 4, Game Development Patterns and Best Practices y Learning C# by Developing Games with Unity

Visita Humble Book Bundle: Game Development

Humble Book Bundle: Learn You Some Code

Learn you some Code tiene algunos títulos muy interesantes a partir de los USD 8, los leería todos. Los de Haskell y Lisp son clásicos (el de Haskell lo empecé alguna vez…). Quedan 13 días para comprarlo:

Humble Book Bundle: Learn You Some Code

Pagando el monto mínimo de USD 1, obtenemos: Automate the Boring Stuff with Python: Practical Programming for Total Beginners, The Linux Command Line: A Complete Introduction, The Book of F#: Breaking Free with Managed Functional Programming, Learn Java the Easy Way: A Hands-On Introduction to Programming y Perl One-Liners: 130 Programs That Get Things Done

Pagando USD 8 o más, también obtenemos: Ruby Under a Microscope: An Illustrated Guide to Ruby Internals, Learn You Some Erlang for Great Good!: A Beginner’s Guide, Learn You A Haskell for Great Good!: A Beginner’s Guide, Clojure for the Brave and True: Learn the Ultimate Language and Become a Better Programmer y Land of Lisp: Learn to Program in Lisp, One Game at a Time!

Pagando USD 15 o más, el paquete incluye: Python Crash Course: A Hands-On Project-Based Introduction to Programming, Python Playground: Geeky Projects for the Curious Programmer, Think Like a Programmer: An Introduction to Creative Problem Solving, The Book of R: A First Course in Programming and Statistics y Wicked Cool Shell Scripts: 101 Scripts for Linux, OS X, and UNIX Systems

Visita Humble Book Bundle: Learn you some Code

by Fernando at September 24, 2018 08:14 PM

September 21, 2018


Rodolfo Pilas

fingerprint de certificados ssh

Con el tiempo uno va coleccionando muchos certificados, algunos dedicados a un determinado proyecto, otros dedicados a algun cliente y, por supuesto los propios. En ese repositorio de certificados que suele ser la carpeta ~/.ssh/ hay que agregar los certificados que por algun motivo distribuimos en algunos servidores… en fin, llegará el día que necesitemos identificar algun certificado privado.

Así que estos son los comandos para obtener el fingerprint (huella dactilar) de certificados privados.

Certificado ssh

$ openssl rsa -in id_rsa -pubout -outform DER | openssl md5 -c
Enter pass phrase for .ssh/id_rsa:
writing RSA key
a2:d7:19:27:fa:89:43:aa:59:fd:ac:eb:71:3f:fb:a8

Como ven, mi certificado privado tiene passphrase y, para leerlo se require que la escriba.

Certificado pem (AWS)

openssl pkcs8 -in .ssh/proyectoX  -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
d3:ff:c0:cf:6f:25:a1:88:b5:c7:9e:9b:ba:b9:57:a4:bb:45:62:68

Los certificados que creamos en AWS se suelen guardar sin passphrase y el fingerprint se muestra inmediatamente.

by pilasguru at September 21, 2018 01:11 PM

September 17, 2018


Rodolfo Pilas

FIX AWS cli “An error occurred (AuthFailure)”

Uno de los deployments que estoy automatizando con aws-cli funcionaba perfectamente cuando utilizaba recursos RDS, por ejemplo:

$ aws rds describe-db-snapshots --db-instance-identifier production
{
    "DBSnapshots": []
}

lo que significa que estaban correctamente configuradas las credenciales y los permisos dentro de IAM.

Pero al ejecutar comandos sobre EC2 obtenía un error, en algo tan sencillo como listar las instancias

$ aws ec2 describe-instances

An error occurred (AuthFailure) when calling the DescribeInstances operation: 
AWS was not able to validate the provided access credentials

y es un poco desconcertante, porque algunos comandos/servicios funcionan y otros no.

Una prueba que hice fue dar de alta las variables

export AWS_ACCESS_KEY_ID="AKIAIW......A"
export AWS_SECRET_ACCESS_KEY="GOvDvOPvjBW0n.........."

pero el error continúaba.

El problema es que la máquina local necesita tener una hora correctamente configurada:

$ date
Sat Sep 15 16:12:01 UTC 2018

$ sudo apt install -y ntp

$ date
Sat Sep 15 16:23:57 UTC 2018

Esos 9 minutos de retraso que tenía mi máquina local evitaba el uso de EC2.

Hay muchas formas de ajustar la hora, el servicio NTP no es la única solución y puede no ser la mejor. Tal vez un simple

$ sudo date 091516232018

hubiera sido una solución más adecuada; pero la idea es la misma, poner el host local en hora

by pilasguru at September 17, 2018 01:45 PM

September 15, 2018


Fernando Briano

Siete días en el Megaverso

Noticias de cómics, cine, TV y videojuegos como ejercicio de escritura por alguien que debería escribir más seguido.

Esta columna nace como respuesta a la columna de Nacho Alcuri: Siete días en el Multiverso. Se trata de una serie de notas con una línea editorial que se inclina claramente hacia cierto extremo del espectro polí… digo del mundo de los cómics. Como defensor de la justicia, la libertad y la información como herramienta para alcanzarlas, propongo una contra columna con una clara inclinación hacia el extremo opuesto del espectro. Seguramente sea más entretenido leer esto después de haber leído la columna de Nacho.

Salgan los jueves, total el viernes es el último día de la semana laboral (para gran parte de nosotros que tenemos “trabajos de oficina”). Lo que sí recomendaría es no salgan los sábados. Porque es cuando sale todo el mundo y está todo lleno de gente. Es más tranquilo salir los domingos.

Largados

Los que seguimos a los héroes de la Casa de las Ideas en distintos medios no festejamos esta semana la salida de ningún servicio en particular. Si queremos acceder al catálogo de cómics en formato digital tenemos Marvel Unlimited, con acceso a más de 20.000 títulos. En animación no nos estamos perdiendo de mucho porque tampoco es que Marvel se destaque en eso. Está bien, que sean los mejores en crear un universo cinematográfico pero no son perfectos.

En lo que refiere a Netflix (aprovechemos a disfrutar el contenido de Marvel mientras Disney no saca su propio servicio de streaming y se lleve todo para ahí), se estrenó nueva temporada de Iron Fist (meh) y próximamente tendremos temporada 3 de Daredevil (yey). Con el garrón que me comí de mirarme toda la primera temporada de Iron Fist y que terminara en bruto cliffhanger, no merece una segunda oportunidad. Daredevil estuvo genial, así que ahí estaré para mirala.

Recuerden que se viene la película de Venom en octubre. En lo personal me es imposible olvidarlo porque Marvel viene queriendo convencernos de que Venom es un personaje genial con crossovers en casi todos los títulos de su línea. Me tocó directamente sólo con Venom Inc que invadió los títulos de Spider-Man. Si bien tenía alguna buena idea, no dejó de sentirse como una movida marketinera para intentar venderme a Venom. Ojalá me sorprenda pero no tengo mucha expectativa (lo dice alguien que de todas formas vaya a verla al cine). Estoy esperando con mucho más ansias Spider-Man: Into the Spider-Verse.

Mi opinión jugada, subjetiva y por lo tanto indiscutible: DC anda bien para la animación, Marvel para las películas. Pero nunca le voy a perdonar a DC la cancelación de Green Lantern: The Animated Series tras la primera temporada (la definiría casi tan injusta como la cancelación de Firefly). Y a Marvel tampoco le perdono cancelar la serie animada Avengers: Earth Mightiest Heroes para reemplazarla por la basura cósmica de Avengers Assemble.

Capitana Marvel

El martes 18 de setiembre tendríamos el estreno del primer trailer de Captain Marvel, una de las películas más esperadas del Universo Cinematográfico Marvel (por mí) y la primera en tener a una mujer super heroína como principal protagonista (en ese universo). La información surgió en una publicación eventualmente borrada en Reddit, hablando de la supuesta grilla filtrada del programa de televisión “Good Morning America”. Habrá que esperar a la semana que viene para saber si finalmente veremos a Brie Larson en acción como Captain Marvel.

Y hablando de Captain Marvel, se estrenó un trailer de la nueva serie animada Marvel Rising: Secret Warriors

Ésta se concentra en el equipo de super héroes integrado por Ms. Marvel, Squirrel Girl, Spider-Gwen (perdón, Ghost-Spider), America Chavez, Patriot, Inferno y Daisy Johnson (o Quake, o “la hacker” [abro un paréntesis anidado para decir que hago especial énfasis en las comillas] de la serie de TV Agents of S.H.I.E.L.D., con voz de la actiz en cuestión). En el trailer hace aparición Captain Marvel así que posiblemente tenga un rol de mentora con el equipo y particularmente Ms Marvel como en los cómics. También aparece el mejor perro de los cómics: Lockjaw (Otros columnistas de otros medios digitales dirían tal vez Krypto, pero ya sabemos de qué lado de la historia están…). Por cierto Lockjaw tuvo una mini serie en los cómics este año y es altamente recomendable. De la versión televisiva no voy a comentar nada porque esto es un sitio de bien y no hablamos de la serie de televisión de Inhumans.

No me he enterado de ninguna novedad entorno al relajo de Guardians Of The Galaxy 3 y James Gunn. Veremos si surge algo nuevo la semana que viene.

Cómics

La primera familia está de vuelta, volvieron los Fantastic Four. El primer número de este esperado regreso (que no sorprendió a nadie porque en los cómics nadie queda muerto excepto Mar-Vell 😢) estuvo medio flojo aunque esto no lo detuvo de estar bastante alto en el ranking de ventas. Dan Slott -quien había estado escribiendo Spider-Man suficiente tiempo como para darse cuenta que era momento de dejarle lugar a otro- hizo algo así como una introducción a lo que Ben y Johnny Storm venían viviendo por la suya. No conformó como primer número y era algo que venía haciendo mucho mejor Chip Zdarsky (me pongo de pie, porque en esta columna no somos devotos de otros falsos dioses aunque tengamos mucho respeto por cierto escritor calvo nacido en Escocia) en Marvel Two-In-One. Pero el segundo número publicado esta semana se vino con todo e hizo que seguir la serie valiera la pena.

Y ya que nombramos a Zdarsky, esta semana también salió Peter Parker: Spectacular Spider-Man #309, la conclusión de un arco de dos números centrados en Sandman. Zdarsky ha escrito de los mejores números de Spider-Man que he leído en mucho tiempo. Captura perfectamente el humor que uno espera de Spidey, pero las historias cuentan con la profundidad y heroísmo que lo caracterizan. No imaginé que después de tantas historias con Sandman, quedaran todavía excelentes historias nuevas por contar. Lamentablemente el próximo número va a ser el último de Zdarsky como autor, ya que se muda a otros proyectos en Marvel. Lo bueno es que su número despedida de la serie con un #310 escrito e ilustrado por él. Seguiré leyendo lo que escriba Zdarsky para Marvel así sea sobre Jarvis, el mayordomo de los Avengers.

En el ámbito cósmico, las cosas se están poniendo interesantes para Tierra 616. El actual evento cósmico tras el cual “nada volverá a ser como antes” es Infinity War. Si bien la conexión con el universo cinematográfico (aunque sea sólo por el nombre) es obvia, ha traído bastantes sorpresas y tiene muchos giros inesperados. Thanos tuvo un one-shot esta semana con Thanos Legacy, lectura recomendable conectada a los eventos de Infinity War. También medio conectado y medio en otro plano (bien puede leerse por separado sin depender de otros títulos) está Cosmic Ghost Rider. Este título parece ser el resultado de alguien en Marvel diciendo “Tenés carta blanca para hacer un cómic cósmico de lo que se te ocurra” y Donny Cates dejando volar su imaginación con tiburones espaciales. Diversión asegurada.

Aunque no todo es amor para Donny Cates, encargado también de Death of the Inhumans. ¡Literalmente está matando Inhumanos! Viene siendo lo único que hay para leer sobre Inhumanos, y si bien arrancó medio raro (no respeta mucho la continuidad o algunos agujeros argumentales se resolverán eventualmente) en el tercer número publicado la semana pasada la cosa empezó a agarrar color.

Una sorpresa muy bienvenida en este ámbito fue la publicación la semana pasada de Silver Surfer Annual #1. Inesperada porque el personaje no cuenta con serie regular actual después de terminada la escrita por Dan Slott. Bienvenida porque es una aventura autocontenida como un cuento corto de ciencia ficción con un arte que acompaña perfectamente. Recomendable, escrita por Ethan Sacks e ilustrada por André Lima Araújo. Veremos si se viene otra serie más de este estilo y menos “tratando de escribir cómics de Dr. Who con Silver Surfer”.

No todo lo que brilla es Marvel

La otra columna ya habló de Mister Miracle, pero acá hago eco porque lo vengo leyendo y es genial. La semana que viene se publica el penúltimo número 😱
Volition es un cómic de Aftershock sobre inteligencia artificial y robots. Me llamó la atención la premisa y no decepcionó. Está escrito por Ryan Parrot e ilustrado magistralmente por el artista argentino Omar Francia. Si les gusta la ciencia ficción, los robots, y el buen arte, no se pueden perder esta serie. Esta semana se publicó el segundo número. Hablando de artistas sudamericanos, la semana que viene sale un nuevo número de Coda, la serie de Boom ilustrada por el uruguayo Matías Bergara.

Consejo de la semana: Tengan cuidado con CBR, no tienen el más mínimo escrúpulo y te spoilean historias de los cómics en los títulos de sus noticias que también difunden por Twitter.

Videojuegos

El videojuego de Spider-Man para PlayStation 4 publicado la semana pasada sigue vendiendo como loco. La crítica y fans lo han recibido con muchos elogios, pero todavía no he tenido la oportunidad de probarlo. Y una para mi amigo Nacho, aparentemente un jugador descubrió un guiño a la Liga de la Justicia en el juego.

Esta semana hubo Nintendo Direct: La transmisión donde Nintendo anuncia sus novedades al mundo. En este caso se mostraron juegos nuevos para Nintendo Switch y 3DS. Hubo varias sorpresas, entre ellas las destacadas (porque son las que más recuerdo): Luigi’s Mansion 3 en 2019, prácticamente todos los Final Fantasy que existen, Cities Skylines, un bundle de juegos Beat ‘Em Up de Capcom, un Animal Crossing nuevo, New Super Mario Bros U Deluxe, y más. No te digo, te muestro. El juego de mechas gigantes que tiene bruta pinta pero nadie parece estar prestándole atención, Daemon X Machima, va a tener co-op online de hasta 4 jugadores.
Se vienen Mega Man 11 (que ya tiene un demo gratis en el eShop) y Diablo III en breve.

La semana que viene entra en funcionamiento Nintendo Online, el servicio en línea para Nintendo Switch. Creo que no podemos esperar mucho, Nintendo no parece haber resuelto bien qué esperan sus usuarios de este servicio. Diría que no me pueden decepcionar si no tengo expectativas, pero la experiencia me ha demostrado que por muy bajas que estén, igual puedo decepcionarme.

Caballos

Para que vean que con Nacho está todo bien, también comparto el trailer de la quinta temporada de Bojack Horseman, que empecé a mirar justo antes de ponerme a escribir esto y es muy genial:

Al terminar de escribir esto la seguiré mirando y discutiendo spoilers.

Por si no resulta obvio, la rivalidad con la otra columna no es para ser tomada en serio y estoy en buenos términos con Ignacio Alcuri (por ahora… 😏)

by Fernando at September 15, 2018 12:14 AM

September 13, 2018


Fernando Briano

¡Feliz día del Programador!

Picando Código

Feliz día del programador lectores y lectoras de este blog. El día del programador se celebra en el día número 256 (28) del año por ser la cantidad de valores representables en un byte de datos (13/9 en los años comunes y 12/9 años bisiestos).

Como todos los años, hago un balance de lo que ha sido el último año en programación y un repaso de lo que ando. Al igual que el año pasado, estoy trabajando en la empresa Cultivate en Edimburgo, Escocia. Llevo más de un año viviendo acá, he conocido muchos lugares del país y me gusta mucho.

En cuanto a programación he estado haciendo Ruby y ya he escrito algo de código Go en producción. No es el lenguaje que más me gusta, pero es lo que hay que usar. He estado bastante contento con Spacemacs y cada vez aprendo más y le agrego más cosas que me facilitan el trabajo día a día. Tengo pensado escribir algun artículo sobre Spacemacs por acá en algún momento. Tengo unos cuantos artículos más en mente, pero siempre me termino distrayendo y no me siento a escribir. He estado programando en varios proyectos personales y espero terminarlos pronto para poder estar escribiendo al respecto por acá. Casi todo en Ruby, algo de Elixir y con ganas de aprender Rust y otras cosas.

En cuando a conferencias, volví un poco al ruedo. Estuve en Euruko 2017, Bath Ruby 2018 y ElixirConf EU 2018. Las conferencias de Ruby siguen siendo mis favoritas, y espero ir a alguna más el año que viene y ver más gente conocida por ahí.

No he escrito tanto como quisiera en el blog, pero escribí dos artículos para la diaria:

También he escrito cosas en el blog de Cultivate (en inglés):

Como resumen, no he estado escribiendo tanto como quisiera por acá, pero sí he estado escribiendo código fuera del trabajo, lo que me resulta entretenido y me mantiene programando fuera de lo que el deber exige. Así están las cosas por Picando Código. ¡Feliz día! A quienes sigan leyendo del otro lado, ¿en qué andan por estos días? ¿Qué están programando? ¿Qué proyectos tienen en desarrollo o en mente?

El día del programador otros años: 2007200820092010201120122013201420152017

by Fernando at September 13, 2018 07:07 PM

September 12, 2018


Rodolfo Pilas

Deepin

Ya hace tiempo que vengo utilizando Deepin como mi distribución de escritorio de Linux. Es algo que podemos cambiar, pero hace tiempo que Deepin es mi distribución preferida a la hora de montar un desktop.

Se trata de una distribución para desktop que busca ser elegante y fácil de utilizar para el usuario promedio.

No solo viene out-of-the-box con el software que uno espera (navegador Chrome, Correo Thunderbird, etc.) sino que trae algunas aplicaciones propias que buscan seguir la misma idea de sencillez y elegancia como un centro de aplicaciones (Deepin Store), Deepin ScreenShot y multimedia con Deepin Music y Deepin Movie.

Para ofimática viene ya pre-instalado todo el WPS Office que busca seguir la estética de los ciéntos de íconos y sub-menúes del MS-Office.

La base es GNU/Debian Linux, por lo que esta todo, todo lo demás que quieras instalar para personalizar tu deepin.

Hay una barra de aplciaciones preferidas donde puedes anclar tus aplicaciones más usadas y un launcher para buscar y lanzar tus aplciaciones.

El Centro de Control es un panel que se despliegua a la derecha y permite hacer tus configuraciones.

Es lindo, me gusta y lo uso y recomiendo y aquí está el enlace al sitio en español.

by pilasguru at September 12, 2018 07:44 PM

September 10, 2018


Rodolfo Pilas

Vagrant cheat sheet

Hace ya un tiempo que hice y vengo manteniendo un

Vagrant cheat sheet

con la lista ordenada de los comandos vagrant.

Si te interesa Vagrant, este resúmen puede ayudarte.

by pilasguru at September 10, 2018 01:11 PM

September 06, 2018


Rodolfo Pilas

Tabla periódica del DevOps

La empresa XebiaLabs mantiene una tabla periódica de las herramientas para DevOps que es una forma muy interesante de tener tanto nombre y herramientas ordenados en una forma visual y comprensible.

Las herramientas listadas tiene cada una un enlace que lleva a información adicional.

Fuente: PERIODIC TABLE OF DEVOPS TOOLS

by pilasguru at September 06, 2018 07:05 PM

¿cómo evitar subirse al tren de la desinformación en las redes sociales?

No compartas sin antes filtrar la información por estos cinco puntos

by pilasguru at September 06, 2018 05:10 PM

September 03, 2018


Rodolfo Pilas

Instalar Docker con Ansible

Instalar en Ubuntu 16.04 con Ansible docker engine y docker-compose.

- hosts: all
  become: true

  tasks:
    - name: ensure repository key is installed
      apt_key:
        id: "58118E89F3A912897C070ADBF76221572C52609D"
        keyserver: "hkp://p80.pool.sks-keyservers.net:80"
        state: present

    - name: ensure docker registry is available
      # Ubuntu 16.04 LTS
      apt_repository: repo='deb https://apt.dockerproject.org/repo ubuntu-xenial main' state=present

    - name: ensure docker and dependencies are installed
      apt: name={{ item }} update_cache=yes
      with_items:
        - docker-engine
        - docker-compose

    # To enable insecure registries with Docker
    #- name: ensure docker can use insecure registries in 10.1.0.0/16
    #  lineinfile: "dest=/etc/default/docker regexp=^DOCKER_OPTS line=DOCKER_OPTS='--insecure-registry 10.1.0.0/16'"

    # Optional if you are provisioning vagrant
    #- name: add vagrant to docker group
    #  user: name=vagrant groups=docker append=yes

    - service: name=docker state=restarted

Configuración de provision con Vagrant:

  config.vm.provision "ansible_local" do |ansible|
    ansible.playbook = "playbook.yml"
    ansible.compatibility_mode = "2.0"
  end

by pilasguru at September 03, 2018 01:32 PM

August 31, 2018


Rodolfo Pilas

Detener la ejecución de Ansible

Ansible (version >2.2) provee el módulo meta para configurar sus acciones y con una task como esta:

- name: stop processing task
   meta: end_play

se puede detener la ejecución de un playbook e ignorar todo las tareas siguientes.

Referencias

by pilasguru at August 31, 2018 02:46 PM

August 29, 2018


Fernando Briano

10 años de List Category Posts, mi primer plugin para WordPress

Mientras trabajaba en List Category Posts, recordé que debía estar por cumplir la década en cualquier momento. Fijándome en el repositorio svn original, encontré que así es:

~/workspace/picandocodigo/list-category-posts
$ svn log -r 1:HEAD --limit 2
------------------------------------------------------------------------
r59895 | plugin-master | 2008-08-16 15:09:04 +0100 (Sat, 16 Aug 2008) | 1 line

adding list-category-posts by fernandobt
------------------------------------------------------------------------
r59980 | fernandobt | 2008-08-16 21:27:29 +0100 (Sat, 16 Aug 2008) | 1 line

Adding version 0.1 of the plugin
------------------------------------------------------------------------

  

No sólo fue mi primer plugin de WordPress, sino que fue el que tuvo más popularidad. Más de 10 años después, List Category Post sigue vivo y coleando. Según WordPress.org, hay más de 100.000 instalaciones activas del plugin y ya ha tenido más de 2 millones de descargas. Tiene un rating de 94/100 y tanto el foro como mi correo electrónico se mueven bastante con dudas y consultas.

En algún momento me dió trabajo, y he recibido alguna que otra donación (tanto a través de PayPal como libros de mi wishlist de Amazon). También cada tanto recibo un mail de alguien agradeciéndome por el plugin. Me hacen tan bien los mensajes de agradecimiento tanto en los correos como en las reseñas que opacan totalmente los otros.

Un aspecto que ha ayudado mucho al desarrollo es los colaboradores. He tenido la suerte de contar con los colaboradores que cualquier desarrollador de un proyecto de software libre sueña. El más reciente zymeth25 ha sido responsable de la mayoría de las actualizaciones los últimos tiempos. Ni que hablar que el proyecto me ha dado una experiencia tremenda en lo que es desarrollar código abierto y libre, con todo lo bueno y lo malo que eso acarrea.

WordPress sigue siendo la única razón por la que sigo programando PHP de vez en cuando. No he seguido muy de cerca el desarrollo pero parece que el lenguaje se ha modernizado bastante en las últimas versiones. Sigo prefiriendo Ruby y otras cosas, pero está bueno mantenerme al tanto de PHP aunque sea un poco a la distancia.

Es difícil adivinar si WordPress va a seguir siendo relevante dentro de 10 años, era difícil imaginar que iba a seguir manteniendo este proyecto 10 años después. Pero por todo lo que me ha dado en esta década y lo que ha aportado a mi carrera profesional, hoy brindo por 10 años más de List Category Posts 🍻. Y terminado de escribir este blog, sigo revisando Pull Requests antes de publicar una nueva versión.

by Fernando at August 29, 2018 10:06 PM

July 29, 2018


Rodolfo Pilas

246 días y renace

Si, fueron 246 días off-line. Más concretamente 5907 horas, 51 minutos y 5 segundos en que este blog ha estado off-line, según mi sistema de monitoreo.

La baja del blog se debió al cierre de la capa gratuita del servicio RedHat OpenShift en octubre, cuando procesaron un cambio de versión (tengo entendido que la capa gratuita se ha restaurado, pero no estoy seguro).

Aprovechando este “apagón” decidí migrar toda la plataforma a una infraestructura de docker y entre los tiempos que puede dedicar, las pruebas, los armados, que ahora dedico tiempo al podcast deployando.me y si …. pasó mucho tiempo.

Primero levanté el wiki pi.lastr.us, luego el sistema de certificados Let’s Encrypt y por último este blog. Pero lo que más pruebas me llevó fue armar un sistema de respaldos coherente para todo lo que voy levantando.

La estructura armada es de la siguiente forma:

En el host se levantan un conjunto de contenedores docker:

Las dos aplicaciones

que están detrás de un proxy reverso que atiende las conexiones de los navegantes

que recibe los certificados y configuración SSL gestionada por

el blog que guarda datos en un volumen definido en una carpeta del host y en una base de datos

que se respalda a un espacio de disco diariamente mediante un contenedor

que es invocado desde una tarea diaria en el crontab.

Estoy muy conforme con el resultado, pues es un sistema coherente para mantener y respaldar y escalable para agregar eventualmente más aplicaciones.

Volver a ver mi blog online fue la culminación de un proyecto personal bastante lindo para mi.

by pilasguru at July 29, 2018 07:52 PM

July 18, 2018


Fernando Briano

Humble Book Bundle: Linux Geek

Humble Bundle tiene un nuevo paquete de e-books sobre Linux , GDB, Perl, GIMP, Inkscape, Blender, Python, y más de No Starch Press.

Linux Geek Book Bundle

Pagando el monto mínimo de USD 1, obtenemos: Automate the Boring Stuff with Python: Practical Programming for Total Beginners, The Artist’s Guide to GIMP: Creative Techniques for Photographers, Artists, and Designers, The Art of Debugging with GDB, DDD, and Eclipse, Perl One-Liners: 130 Programs That Get Things Done, The Book of GNS3: Build Virtual Network Labs Using Cisco, Juniper, and More y No Starch Sampler. Éste último un compilado de capítulos de muestra de varios libros sobre Linux, redes y seguridad.

Pagando USD 8 o más, también obtenemos: The Book of Inkscape: The Definitive Guide to the Free Graphics Editor, The Book of GIMP: A Complete Guide to Nearly Everything, The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall, The GNU Make Book, Blender Master Class: A Hands-On Guide to Modeling, Sculpting, Materials, and Rendering y Doing Math with Python: Use Programming to Explore Algebra, Statistics, Calculus, and More!

Pagando USD 15 o más, el paquete incluye: How Linux Works: What Every Superuser Should Know, Wicked Cool Shell Scripts: 101 Scripts for Linux, OS X, and UNIX Systems, Absolute OpenBSD: Unix for the Practical Paranoid, Arduino Project Handbook Vol. 1: 25 Practical Projects to Get You Started y Think Like a Programmer: An Introduction to Creative Problem Solving.

Por último, pagando USD 30 o más, obtenemos The Linux Programming Interface: A Linux and UNIX System Programming Handbook.

Los ebooks están disponibles en PDF, ePUB y MOBI, por lo que pueden ser leídos en casi cualquier dispositivo. Como se acostumbra en los paquetes Humble Bundle, además de elegir el precio, podemos elegir dónde destinamos el dinero que pagamos, incluyendo una organización de beneficencia.
En este caso se trata de Electronic Frontier Foundation, la fundación sin fines de lucro que defiende nuestros derechos en el mundo digital. Activistas, abogados y tecnólogos que luchan en las cortes y el congreso para proteger la privacidad y libre expresión en línea en todo el mundo.

Visita el Linux Geek Book Bundle.

Linux Geek Book Bundle

by Fernando at July 18, 2018 09:48 PM

June 11, 2018


Fernando Briano

Lanzamiento ATuNombre.uy 2.0 👩👧👱👵

DATA presenta una versión renovada de ATuNombre: la aplicación que señala el problema de la desigualdad de género en el nomenclator urbano:

ATuNombre.uy

Hoy les escribimos para contarles del re-lanzamiento, en una versión completamente renovada, de ATuNombre.uy. Un proyecto que toma los nombres de las calles de Montevideo, para hablar sobre la desigualdad de género.

El objetivo de este mapa es dar visibilidad a los aportes que hacen las mujeres a nuestra sociedad, promover su visibilidad y reconocimiento público a través de los nombres de calles de Montevideo. Queremos ver en qué medida estos aportes son valorados, reconocidos y qué hacían esas mujeres para que “pasen a la historia” otorgándoles el nombre de una calle, pasaje o avenida.
¿Cómo lo hicimos?

Este proyecto nace de una propuesta de DATA Uruguay, que invitó a la comunidad a desarrollar esta idea a través de nuestros encuentros regulares llamados Café de DATA (reuniones para trabajar en Datos Abiertos y herramientas sociales).

La primera versión de este sitio se comenzó a trabajar junto a un equipo voluntario (¡gracias!) el 21 de febrero de 2015 (Día Mundial de los Datos Abiertos) y en 2017, empezamos a trabajar nuevamente en renovar la propuesta a lo largo de varios encuentros y con trabajo remoto. Conocé al equipo que hizo esto posible y tené en cuenta que este proyecto va a seguir desarrollándose y mejorando.

by Fernando at June 11, 2018 12:00 PM

May 29, 2018


Fernando Briano

NotPinkCon – conferencia de seguridad informática en Buenos Aires, Argentina

NotPinkCon es un evento de conferencias técnicas en seguridad informática, impartidas por mujeres y dirigidas a estudiantes, profesionales y entusiastas del tema (hombres y mujeres). Las charlas serán de nivel técnico variado, útiles tanto para quienes recién comienzan o aún no lo han hecho pero tienen interés en aprender, como para quienes tienen más experiencia.

Está abierto registro y call for papers en este enlace. El llamado a charlas cierra el 30 de junio, las charlas se anuncian el 10 de julio y el evento es el 24 de agosto.

Pueden seguir la conferencia en Twitter para mantenerse al tanto de las novedades: @NotPinkCon.

Fecha y hora
Viernes 24 de agosto de 2018
9:00 – 17:00 hora estándar de Argentina (Buenos Aires)

Ubicación
Mario Bravo 1050
1050 Mario Bravo
Palermo, CABA C1175
Argentina

La entrada es gratuita, y ya está abierto el registro.

NotPinkCon 2018

by Fernando at May 29, 2018 06:16 PM

May 21, 2018


Fernando Briano

Humble Book Bundle: libros digitales sobre Desarrollo y Diseño Web por O’Reilly

Nuevo paquete de libros digitales sobre Diseño y Desarrollo Web por O’Reilly. Paga el precio que elijas por hasta 15 libros sobre JavaScript, CSS, HTTP/2, SVG y más.

Humble Book Bundle: Web Design & Development

Pagando el monto mínimo de USD 1, obtenemos: Programming Voice Interfaces, Mobile App Development with Ionic, JSON at Work, Refactoring JavaScript y CSS Refactoring.

Por USD 8 o más, obtenemos también: Interactive Data Visualization for the Web, Learning React Native, Learning HTTP/2, SVG Animations y Working with Static Sites.

Por último, pagando USD 15 o más, el paquete incluye React Native Cookbook, CSS: The Definitive Guide, Using SVG with CSS3 and HTML5, Learning React y High Performance Images.

Los ebooks están disponibles en PDF, ePUB y MOBI, por lo que pueden ser leídos en casi cualquier dispositivo. Como se acostumbra en los paquetes Humble Bundle, además de elegir el precio, podemos elegir dónde destinamos el dinero que pagamos, incluyendo una organización de beneficencia. En este caso se trata de Code for America, una fundación sin fines de lucro que trabaja con sociedad civil y el gobierno para mejorar las comunidades.

Visita Humble Book Bundle para comprar el paquete de libros

Humble Book Bundle: Web Design & Development

by Fernando at May 21, 2018 08:30 PM

May 16, 2018


Fernando Briano

Emacs y personas: un post “personal”

EmacsHace poco vi un artículo compartido en reddit sobre “Usuarios famosos de Emacs (que no son famosos por usar Emacs)”. Entre ellos se encuentran Martin Fowler, Yukihiro “Matz” Matsumoto (creador de Ruby 🙌), Guido van Rossum (creador de Python), Julian Assange, Linus Torvalds, Donal Knuth, Eric Raymond, Richard Stallman, y más.

En los comentarios un usuario menciona a su profesor de sistemas operativos como alguien que debería estar en la lista. Esto me hizo pensar en personas con las que compartí el uso de Emacs que fueron importantes en mi experiencia. Generalmente agregan más valor que los “famosos” que conozcamos, y alimentan la motivación de seguir aprendiendo y usando Emacs, a pesar de no ser el editor de texto más popular.

En mi caso la persona que identifico como que “debería estar en esa lista” es Jim Weirich. Siempre es bueno recordarlo como un buen ejemplo a seguir. Y siempre me alegro al ver que es recordado de alguna forma u otra en cada conferencia Ruby que voy. En mi post de 2015: Emacs, mi editor de texto, comentaba:

(…) recuerdo con mucho cariño y como uno de los puntos altos de mi carrera una vez que tuve la oportunidad de trabajar sobre Emacs con Jim Weirich.

Jim estaba visitando las oficinas de Neo en Montevideo, y se puso a disposición para hacer pair programming con quien quisiera. No estaba trabajando en un proyecto muy interesante en ese entonces, pero sabía que Jim era usuario de Emacs desde hacía mucho tiempo. Así que fui con la propuesta de hacer pair programming con nuestras configuraciones de Emacs. En una hora o dos con Jim aprendí muchísimo. Intercambiamos trucos y bloques de código y en ese momento me llené de orgullo al ver que Jim agregaba código que yo le había pasado a su configuración de Emacs.

Es una de las memorias que me quedó grabada muy fuertemente, y recuerdo exactamente la funcionalidad que le pasé a Jim en ese momento. Se trataba de un código (que sigo usando hoy) que permite mover una región. Se ve que lo había obtenido hace poco, porque el commit en mi configuración fue el mismo mes que Jim lo agregó a la suya. Ya ahí se podía ver la diferencia entre lo ordenado y modular de la configuración de Jim en contraste con la mía. Pero eso fue parte de lo bueno, ese día aprendí muchísimo y me motivó a seguir usando Emacs. Lamentablemente no tengo idea quién fue el autor original del código en cuestión.

Con Federico Iachetti hablamos varias veces de hacer algo sobre Emacs, pero por alguna razón yo siempre me terminaba colgando o la vida terminaba pasando y por ahora no hemos hecho nada. Si siguen el enlace a su blog van a ver un montón de posts sobre Emacs. Y capaz que algún día finalmente me pongo las pilas y hacemos algo juntos!

Más recientemente en mi trabajo actual, Cultivate, me encontré con más usuarios de Emacs. Más bien usamos Spacemacs, para compartir un ambiente en común al hacer pair programming. Spacemacs es algo así como una “distribución” de Emacs que incluye un modo para replicar el comportamiento de Vim (hace tiempo que estoy queriendo escribir algo al respecto). En el blog de Cultivate escribimos (en inglés) sobre cómo tener un ambiente de desarrollo Ruby en Spacemacs y cómo tener una configuración compartida con capas privadas. Lo interesante es que al haber más personas usando el mismo editor, aprendemos cosas nuevas y lo compartimos con el resto. Y vamos viendo cosas interesantes que se pueden hacer y agregando funcionalidad o temas.

Ese ambiente de constante retroalimentación, motivación y aprendizaje es súper productivo, y nos hace sentirnos cada vez más cómodos con la herramienta que usamos. Con todo esto voy al tema que a veces una persona se siente un poco “rara” o “desubicada” por ser quien usa Emacs en vez del editor de texto o IDE que esté de moda en el momento. Me pasa seguido, capaz que es parte de la condición humana, o simplemente soy raro. Pero esos momentos me generan un poco de frustración y no son divertidos. Es más o menos lo mismo que me pasa generalmente por ser la única persona en la empresa que usa Linux.

Pero si se encuentran en esa misma situación, siéntanse en su casa en este blog. Hay varios posts sobre Emacs, algunos menos serios que otros. Los comentarios y demás vías de contacto están abiertos para hablar de Emacs, Linux, la inmortalidad del cangrejo, el nuevo cómic de Avengers de Jason Aaron y Ed McGuinness, los paisajes de Escocia, o lo que sea.

También recomiendo el blog de Sacha Chua, que ha escrito cosas maravillosas sobre Emacs, aparte de publicar noticias semanales. Otra persona que nos ayuda a no sentirnos mal por usar tan divertido e interesante editor de texto. Y si todo este texto les genera intriga y quieren aprender a usar Emacs, no se pierdan sus guías:

by Fernando at May 16, 2018 10:52 PM

January 16, 2018


Andres Tarallo

Adios, Hemingway - Leonardo Padura

Es verano en esta parte del mundo. El año recién comenzó, todo transcurre con un ritmo más tranquilo. Algunos están de vacaciones, otros ya retornamos al trabajo. Época para leer alguna novela, cuando no se puede estar bajo el sol. 

Ordenando los libros que se apilan en mi mesa de luz, encontré una novela de Leonardo Padura, que lei el pasado verano. Padura es un escritor cubano, de su imaginación nace el Teniente Mario Conde de la Policía de Investigación de Cuba. Un Detective/Investigador con aspiraciones de escritor, con un variopinto grupo de amigos. Adiós Hemingway integra la serie de "Mario Conde", es la quinta novela de la serie. Las cuatro primeras fueron llevadas a televisión en una miniserie llamada "Cuatro estaciones en la Habana". La miniserie esta disponible en NETFLIX, me despertó la curiosidad y salí a recorrer librerías donde encontré a la novela que motivó este post. 

Tapa de la edicion de Tusquets Editores (foto del autor)
Esta quinta novela encuentra a Mario Conde retirado de la Policía, intentando escribir una novela. Recibe una llamada de quien fuera su compañero de tareas. Luego de una tormenta apareció un cadáver en Finca Vigia, la que fuera residencia de Ernest Hemingway. El cadaver fué enterrado a fines de los 50, cuando Hemingway residía allí.Conde no puede resistir a ese misterio.

by Andres Tarallo (noreply@blogger.com) at January 16, 2018 11:00 PM

November 26, 2017


Andres Tarallo

2 articulos: History of Linux - Getting Started with FreeBSD

Hace un rato Federico nos compartía (a algunos amigos y colegas) dos articulos de DigitalOcean. Los acabo de terminar y quiero dejarlos en una entrada del blog. Estan especialmente interesantes para quien esta dando sus primeros pasos en Linux o FreeBSD, así como para docentes y alumnos de cursos de Sistemas Operativos o Linux.

El primero, History of Linux, nos presenta un relato desde la previa a  la creacion de Linux. Linux existe por que existe el proyecto GNU. Pero antes existió Minix, que debe sus raíces a BSD y a UNIX. Y no olvidarse de MULTICS. Pero no se queda en la sumatoria de hechos históricos, va a los datos técnicos, a las innovaciones que hicieron que UNIX desde un origen tuviera la relevancia que tiene. Y como eso repercutió en los sistemas operativos inspirados o desarrollados a partir de el.

El otro articulo, es un listado de una serie de artículos para facilitar el primer contacto con FreeSBD a quien tiene experiencia con Linux.  En Getting Started with FreeBSD van a encontrar una introduccion amena y actual varios de las primeras tareas que van a tener que enfrentar en nuevo sistema: crear usuarios y claves de SSH, instalar paquetes o tareas de mantenimiento de rutina.

¡Disfruten la lectura! Espero pronto subir algún articulo más largo.


by Andres Tarallo (noreply@blogger.com) at November 26, 2017 02:23 PM

November 06, 2017


Santiago Ferreira

SysAdmin

El mundo de la desolación, el control, el alma y el espíritu, la tecnología , los valores y el clon-az-epam.
Mientras funcione, los usuarios no se tienen que dar cuenta de los cambios en el sistema.
OK.
Wearables, horas de sueño, el tiempo es oro,demasiado ego, la máquina de ser feliz.
SED-AWK -Vi -uptime #uname -a

by Sanux at November 06, 2017 05:13 AM

October 10, 2017


Andres Tarallo

C elements of Style

Programar es análogo a escribir. De pequeños aprendemos poner letra tras letra para formar palabras y estas forman frases.  Análogamente quien aprende a programar escribe programas cortos, aprendiendo a manejar archivos o familiarizarse con las estructuras de control. 

Cuando pasamos la etapa de programas cortos, de unos cientos del lineas, a programas más complejos, bibliotecas o sistemas completos es necesario aprender a estructurar estos programas.A lo largo del ciclo de vida un programa este va a sufrir modificaciones. Para poder modificar un programa es necesario entender su funcionamiento, hablamos allí de "código legible". Hay quien compara el código difícil de leer con un plato de tallarines, hablamos de "spaghetti code".

En producción escrita se habla de "estilo" para redactar bien y con propiedad. Si hablamos de programar también se habla de estilo. Y pasa por cosas que escuchamos hasta el hartazgo: comentar el código, nombres de variables y  funciones claros, acordes al contexto y tarea. 

El Kernel de Linux tiene un documento con pautas para sus desarrolladores: Linux Kernel coding Style. Las pautas están inspiradas fundamentalmente en El lenguaje de programación C, de  Kernighan y Ritchie. Un viejo libro, escrito por Kernighan y Plunger, sobre el tema es The Elements of Programming Style. Un libro viejo, con muchos ejemplos en Fortran, pero con una serie de lecciones aun validas y aplicables en lenguajes mas modernos como Python o Go. Lo menciono ademas por haber influido Libros y Papers sobre el tema. Uno de esos Papers es Recommended C Style and Coding Standards

Hace algunas semanas buscando otra cosa llegué a la página de Steve Oualline, autor con varios libros publicados sobre C, C++ y PERL. Tengo (y lei) Practical C Programming y Practical C++ Programming. Me impresionó muy bien cuando los leí por el énfasis en escribir programas claros, bien documentados y mantenibles. En el sitio del autor me encontré una copia de C Elementos of Style, de rápida lectura y muy recomendable.

http://www.oualline.com/books.free/style/index.html

by Andres Tarallo (noreply@blogger.com) at October 10, 2017 02:48 PM

October 06, 2017


Andres Tarallo

Pan de Banana

El pan de Banana es de los llamados Panes rápidos, utilizan polvo de hornear en vez de levadura biológica. Este pan tiene origen en USA, en la década de los años 30 del pasado siglo. Una de las explicaciones de su origen afirma que lo inventaron amas de casa, como una forma de aprovechar bananas demasiado maduras para su consumo.

En una tarde lluviosa, buscando hacer algo distinto y rápido, encaré una receta de pan de banana, que saqué del Libro del Crandon. A la que hice algunos cambios: sustituí parte de la harina por harina integral y la manteca la cambié por aceite vegetal; este ultimo usé aceite de Girasol, lo que tenia en casa en ese momento; puede ser interesante hacerlo con aceite de oliva.

Tamizar y Mezclar:
 Mezclar en otro Bowl:
Mezclamos los ingredientes líquidos con los secos y vertemos en un molde enmantecado. Luego llevamos a horno caliente  (180 grados) por unos 50 minutos.

Pan de Banana recien desmoldado  (Foto del autor)

Conclusiones

El pan es agradable de gusto, apto para untarlo o utilizarlo en Sándwiches. Se puede tostar, si bien no es usual esto último. Envuelto en film se conserva varios días.  Hay variantes de esta receta, vi en un envase de salvado una receta interesante y otra en el blog de Silvia Pirez, concursante de la primera edición de MasterChef Uruguay. Esta última receta utiliza levadura biológica, lo que la hace interesante para probarla.

by Andres Tarallo (noreply@blogger.com) at October 06, 2017 08:52 PM

September 12, 2017


Rodolfo Pilas

Openstack CLI y autocompletar en bash

Hace ya tiempo que utilizo el comando integrado openstack para vincularme con nubes en Openstack de distintos proveedores y siempre extrañe que en algunas distribuciones de GNU/Linux no estuviera disponible el autocompletar en Bash.

El comando openstack ofrece el parámetro complete que genera el script para que bash-completion lo cargue y quede funcional.

Ejecutar como usuario con permiso sudo:

$ openstack complete | sudo  tee /etc/bash_completion.d/osc.bash_completion > /dev/null

o también como root:

# openstack complete > /etc/bash_completion.d/osc.bash_completion

El parámetro complete implementado en el comando openstack utiliza el framework cliff – Command Line Interface Formulation Framework para obtener la salida del script de bash-completion.

by pilasguru at September 12, 2017 09:15 PM

September 11, 2017


Rodolfo Pilas

Cambiando vencimiento llave GPG

Las llaves GPG que me identifican les coloco un vencimiento anual.

Mi llave pública GPG en keybase

entonces cada año en esta época debo proceder a renovar la llave, que lo que hago es correrle un año para adelante el vencimiento y vovler a sincronizar con los keyservers.

Este es el proceso total que ejecuto:

Buscar mi llame en mi llavero:

$ gpg --list-keys Rodolfo
pub   rsa2048 2014-09-07 [SC] [caduca: 2017-09-14]
      FCE66FC5849DA0F6E30DD1FCA33C4E6423B5BE7B
uid           [  absoluta ] Rodolfo Pilas <rodolfo@>
uid           [  absoluta ] Rodolfo Pilas <rodolfo@>
uid           [  absoluta ] Rodolfo Pilas <rpilas@>
uid           [  absoluta ] [jpeg image of size 4579]
uid           [  absoluta ] [jpeg image of size 13611]
sub   rsa2048 2014-09-07 [E] [caduca: 2017-09-14]

Editar la llave:

$ gpg --edit-key FCE66FC5849DA0F6E30DD1FCA33C4E6423B5BE7B

Clave secreta disponible.

sec  rsa2048/A33C4E6423B5BE7B
     creado: 2014-09-07  caduca: 2017-09-14  uso: SC
     confianza: absoluta      validez: absoluta
ssb  rsa2048/65841C4E15CF2ADC
     creado: 2014-09-07  caduca: 2017-09-14  uso: E
[  absoluta ] (1). Rodolfo Pilas <rodolfo@>
[  absoluta ] (2)  Rodolfo Pilas <rodolfo@>
[  absoluta ] (3)  Rodolfo Pilas <rpilas@>
[  absoluta ] (4)  [jpeg image of size 4579]
[  absoluta ] (5)  [jpeg image of size 13611]

Está editando la key 0 o sea la que se identifica como A33C4E6423B5BE7B

gpg> expire
Cambiando caducidad de clave primaria.
Por favor, especifique el per'iodo de validez de la clave.
         0 = la clave nunca caduca
      <n>  = la clave caduca en n d'ias
      <n>w = la clave caduca en n semanas
      <n>m = la clave caduca en n meses
      <n>y = la clave caduca en n a~nos
?Validez de la clave (0)? 1y
La clave caduca Tue Sep 11 17:26:48 2018 -03
?Es correcto? (s/n) s

sec  rsa2048/A33C4E6423B5BE7B
     creado: 2014-09-07  caduca: 2018-09-11  uso: SC
     confianza: absoluta      validez: absoluta
ssb  rsa2048/65841C4E15CF2ADC
     creado: 2014-09-07  caduca: 2017-09-14  uso: E
[  absoluta ] (1). Rodolfo Pilas <rodolfo@>
[  absoluta ] (2)  Rodolfo Pilas <rodolfo@>
[  absoluta ] (3)  Rodolfo Pilas <rpilas@>
[  absoluta ] (4)  [jpeg image of size 4579]
[  absoluta ] (5)  [jpeg image of size 13611]

Ya quedo cambiada la caducidad de la llave primaria, ahora la secundaria 65841C4E15CF2ADC:

gpg> key 1

sec  rsa2048/A33C4E6423B5BE7B
     creado: 2014-09-07  caduca: 2018-09-11  uso: SC
     confianza: absoluta      validez: absoluta
ssb* rsa2048/65841C4E15CF2ADC
     creado: 2014-09-07  caduca: 2017-09-14  uso: E
[  absoluta ] (1). Rodolfo Pilas <rodolfo@>
[  absoluta ] (2)  Rodolfo Pilas <rodolfo@>
[  absoluta ] (3)  Rodolfo Pilas <rpilas@>
[  absoluta ] (4)  [jpeg image of size 4579]
[  absoluta ] (5)  [jpeg image of size 13611]

gpg> expire
Cambiando fecha de caducidad de subclave.
Por favor, especifique el per'iodo de validez de la clave.
         0 = la clave nunca caduca
      <n>  = la clave caduca en n d'ias
      <n>w = la clave caduca en n semanas
      <n>m = la clave caduca en n meses
      <n>y = la clave caduca en n a~nos
?Validez de la clave (0)? 1y
La clave caduca Tue Sep 11 17:27:37 2018 -03
?Es correcto? (s/n) s

sec  rsa2048/A33C4E6423B5BE7B
     creado: 2014-09-07  caduca: 2018-09-11  uso: SC
     confianza: absoluta      validez: absoluta
ssb* rsa2048/65841C4E15CF2ADC
     creado: 2014-09-07  caduca: 2018-09-11  uso: E
[  absoluta ] (1). Rodolfo Pilas <rodolfo@>
[  absoluta ] (2)  Rodolfo Pilas <rodolfo@>
[  absoluta ] (3)  Rodolfo Pilas <rpilas@>
[  absoluta ] (4)  [jpeg image of size 4579]
[  absoluta ] (5)  [jpeg image of size 13611]

Guardar la llave editada y salir de gpg

gpg> save

Subir la llave al keyserver, para que los cambios se repliquen

$ gpg --keyserver pgp.mit.edu --send-keys FCE66FC5849DA0F6E30DD1FCA33C4E6423B5BE7B
gpg: enviando clave A33C4E6423B5BE7B a hkp://pgp.mit.edu

Y aprovechar a actualizar todas las demas llaves de mi llavero, pero eso ya es otra tarea.

by pilasguru at September 11, 2017 08:48 PM

August 28, 2017


Rodolfo Pilas

LXC en Debian con Ansible

Desde antes del 2013 vengo insitiendo con las ventajas de los containers en Linux, ya que permiten un rápido despliegue de muchos sistemas Linux corriendo en forma independiente.

En 2014 había hecho experiencias para tener con una máquina virtual de DigitalOcean muchos contenedores Linux instalados y prestando servicios y en 2016 tuve la oportunidad de compartir en forma práctica con la comunidad de Paysandú un ejemplo de uso de contenedores.

Hace unos meses atrás armé un perfil de vagrant (Vagrantfile) que permite levantar una máquina virtual con Debian e instalar (aprovisionar) un servidor de contenedores LXC, y un primer contenedor de pruebas.

Este artículo tiene por objetivo, compartir esa configuración, para que la pueda usar quién desee.

Repositorio: debian-lxc-ansible

El aprovisionamiento se realiza mediante Ansible, por lo que es fácil de parametrizar y adaptar.

Una vez levantado el primer contenedor (que ya queda en el aprovisionamiento inicial, luego de correr vagrant up) es muy fácil levantar más contenedores con los comandos normales.

También, en el directorio /vagrant/utils se entregan scripts (requieren revisión y adaptación a la instalación particular) que sirven cómo muestra de cómo levantar containers para producción:

a) Levantar un container con sitio web funcional

/vagrant/utils/create-container.sh name

b) Borrar el container creado con el script anterior

/vagrant/utils/destroy-container.sh name

c) Crear una página web para ver el status de los containers a través de web en el servidor lxc

/vagrant/utils/status.sh

Toda esta instalación, obviamente puede ser modificada y mejorada. Si desean compartir sus mejoras conmigo lo pueden hacer a través de Merge Request.

by pilasguru at August 28, 2017 06:02 PM

August 09, 2017


Rodolfo Pilas

Carguemos las pilas

Creo que he llegado a una nueva marca sin publicaciones en el blog desde abril pasado.

Una de las razónes es Deployando.Me el podcast de tecnología para sysadmin y devops que trato de mantener en forma períodica ¿ya lo escucharon?

Otra de las razones son nuevos proyectos laborales, viajes al exterior para distintas tareas profesionales y un montón de etcéteras que puedo encontrar, pues razones hay muchas pero…

el que no publica soy yo, y no es porque falte material o falte qué compartir.

Entonces, va este artículo como auto-compromiso de seguir publicando.

by pilasguru at August 09, 2017 01:42 PM

July 17, 2017


Fernando Da Rosa

Drones

Captura de pantalla 2017-07-17 a la(s) 16.09.58

Últimamente me ha dado por incursionar en el mundo de los Drones, con un Phantom 4, acá les dejo un video que hice la semana pasada dedicado a Barra de Valizas:

https://www.youtube.com/watch?v=KPyu8F6HCOM&t=9s

Luego Carlos da Silvera, sonorizo el siguiente:

https://m.youtube.com/watch?feature=youtu.be&v=wZWtkH9mzsY

 

 

by fedaro at July 17, 2017 07:09 PM

June 07, 2017


Andres Tarallo

Listar Esquemas y Tablas de Oracle

Una de mis tareas laborales es fungir como DBA de una base de datos Oracle. Para un nuevo proyecto necesitaba crear un usuario y darle a ese usuario permisos de SELECT sobre todas las tablas de un Esquema.  Estuve investigando y llegué a algunas consultas útiles, pero todo repartido en varios sitios. 

Listar todos los SCHEMAS

Esta consulta la encontré en sitio de Burleston Consulting, un referente para todos los que tenemos que lidiar con bases de datos Oracle. Si nunca visitaron el sitio vale la pena hacerlo. La consulta la encontré aquí

SELECT DISTINCT owner AS SCHEMA
FROM dba_segments
WHERE owner IN (SELECT username  

                FROM dba_users 
                WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))
ORDER BY owner ASC;

Listar todas las tablas de un SCHEMA

Encontré varias posibilidades para resolver esta consulta. De todas esta es la que me convenció más, la  saqué de una discusión en stackoverflow.

SELECT DISTINCT owner, object_name
FROM all_objects
WHERE object_type = 'TABLE' AND owner = '[PROPIETARIO_SCHEMA]'

Listar todas las tablas de todos los SCHEMAS

A partir de las dos anteriores hice una consulta que me lista todas las tablas de todos los schemas.
 
SELECT DISTINCT owner, object_name
FROM all_objects
WHERE object_type = 'TABLE' AND
owner IN (SELECT username
FROM dba_users 
WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))
ORDER BY owner ASC;

by Andres Tarallo (noreply@blogger.com) at June 07, 2017 09:01 PM