Saltar el host checking de SSH

Muchas veces cuando hacemos alguna tarea automatizada que involucra SSH nos salta la verificación de host la cual involucra una interacción humana. También nos suele trolear cuando tenemos la tarea creada hace mucho tiempo y un día migramos uno de los servidores involucrados a otra dirección IP y blam, automáticamente la tarea deja de andar por que cambio el fingerprint.

Para saltearnos esta verificación tenemos dos opciones.

Una es meter el finger print de antemano

ssh-keyscan IP.ADDR.OF.HOST >> ~/.ssh/known_hosts

Esto evitaria que pregunte por si aceptamos o no la firma la primera vez que nos conectamos.

La otra es saltear la verificación por hosts, para eso podemos añadir algo así en el archivo config de ssh en nuestro home (~/.ssh/config).

Host my_trusteable_host
Hostname IP.ADDR.OF.HOST
StrictHostKeyChecking no

Ojo, pueden abrir una posible falla de seguridad pero les simplificara la vida.

Share

Upload de archivos grandes

Siempre que tengo que subir un archivo grande a algún server, grande mas de 20GB, intento con un simple scp olvidandome de que en Argentina tenemos una conexión a internet malisima, que se corta todo el tiempo y el ancho de banda es malisimo.

Por ende, lo ideal es utilizar algo que suba el archivo y si la conexión sufre algun desperfecto se pueda cancelar y continuar desde donde quedo, resume, aquí es donde rsync viene al rescate. El siguiente comando posee soporte de resume

Para subir

rsync --partial --progress --rsh=ssh local_file user@host:remote_file 

Para Bajar

rsync --partial --progress --rsh=ssh user@host:remote_file local_file

Un recuerdo de un viejo maestro que viene al caso

Share

“No CAPTCHA reCAPTCHA”, Que ?

Vieron cuando están un un sitio web y desean comentar algo, o logearse o realizar cualquier acción y les aparece una imagen que deben escribir lo que dice para continuar, si esa cosa que siempre molesta. Esa cosa se conoce com CAPTCHA.

CAPTCHA son las siglas de Completely Automated Public Turing test to tell Computers and Humans Apart (prueba de Turing completamente automática y pública para diferenciar computadoras –ordenadores– de humanos); en otras palabras, es una funcionalidad que sirve para identificar que no sos una máquina.

Por que los sitios necesitan probar que no sos una maquina ?, por el maldito SPAM, este no solo se limita a los mails sino que afecta a toda la internet. Existen maquinas que corren programas que buscan registrar usuarios en sitios, generar comentarios con links a publicidades o virus y muchas otras cosas mas maliciosas. Por que ?, para hacer daño y para promocionar productos principalmente.

Como la gente odia los captchas, y siendo google es el dueño de reCAPTCHA, uno de los mejores captchas existentes, el gigtante de las búsquedas se tomó el trabajo de mejorar su captcha para no molestar mas al usuario.

El nuevo captcha es como este.

Este captcha trata de identificar si sos humano o no mirando en tu navegador información que google utiliza todos los días para identificar tu comportamiento en la internet a fin de mostrarle publicidad adecuada para vos mediante el sistema AdSense. La información que mira es que sitios visitaste?, que haces?, en que estas logeado? entre otras, con esta información se aplica un poco de IA y esta determina si sos o no una máquina, el usuario no tiene que hacer nada en caso que la IA resuelva bien.

En el caso que la IA no identifique si sos o no humano te pone un desafío que puede ser resuelto solo por un humano, como antes. De este modo solo un humano puede pasar la verificación. Sabiendo de entrenamientos de IAs, claramente en dicho caso le enseñamos a la misma que el patron de comportamiento que teníamos corresponde a un humano si pasamos o maquina si no pasamos.

Pros, va a ser super fácil para los usuarios, Cons, no creo que exista ninguno.

Aqui un video

Developers

Aquí podrán encontrar información de como implementarlo, hay un link a unos snippets en PHP de la implementación.

https://developers.google.com/recaptcha/ 

No parece ser muy diferente a la versión previa.

Aquí pueden ver el articulo completo.

Thank you Google

Share

Apple obtiene patente sobre técnicas para evitar rotura de vidrios por caídas de iphones

Así de loco como suena, Apple logro obtener una patente para técnicas que podrían llegar a evitar rotura de vidrios cuando el iphone se cae.

Screenshot 2014-12-02 20.50.00

La técnica principal consiste en utilizar el motor vibrador del celular para hacer girar el celular mientras este caé. Según entendí el celular se daría cuenta que este esta cayéndose, en ese momento el sistema calcularía como va a caer y al determinar que esta por caer de una forma que pude llegar a lesionar el celular gravemente ajustaría el movimiento para que el celular caiga de una manera menos dañina.

Una alternativa a al vibrador para modificar la trayectoria de caída esta basada en pequeños dispensers de gas incorporados en el celular, estos dispararían el gas, a modo propulsor, si sistema considera que ayudará a mejorar el sistema de caída.

Que tengan la patente no quiere decir que lo implementarán, pero en menos de una semana con un iphone 5s se me cayo dos veces y se me rompió, mas de un año con android y miles de caídas, nunca un problema. Así que si esto va a ayudarles a hacer celulares mas resistentes, bien por Apple.

Algunas imágenes del diseño

Screenshot 2014-12-02 20.50.45

Screenshot 2014-12-02 20.50.22

Aquí información de la patente.

Lo ví en Mashable.

Share

JsConfAr, mi resumen

Este finde me escape a Buenos Aires para asistir la #JsConfAr, conferencia de JavaScript en Argentina, aquí va un humilde resumen de lo que ví.

Modalidad

Para comenzar, la organización increíble, este evento no fue como otros donde había miles de charlas y varias de ellas en paralelo. En esta solo había un thread de ejecución, clásico de javascript, una charla seguida de la otra. Cada charla duro aproximadamente 20 minutos y cada 3 charlas teníamos un break. Pro no te perdías ninguna charla, cons era medio agotador.

Resources

El evento estaba limitado a 400 personas dado las limitaciones de espacio del lugar. El wifi no funcaba como los mejores, pero bueno, wifi de eventos.

Ingles everywhere

Como todo buen evento internacional, todas las charlas fueron en ingles, inclusive la de los disertantes hispanos; el equipo organizador brindo dispositivos traductores para aquellos flojitos en el ingles así estos podían tener audio traducido en tiempo real de las charlas.

Branding

El branding del evento estaba presente por todos lados, la decoración del lugar acompaño el diseño del sitio web y el mismo también se aplico a los regalos, esto me gusto mucho, se noto el increíble y meticuloso laburo ahi.

Aquí un ejemplo de como estaba decorada la entrada.

Otro, Un espacio en la escalera, quería llevarme ese cartel del fondo :) , el monito fue uno de los souvenirs.

Pro, había paneles informativos con la charla en curso y la que venia, ademas de información del lugar, muy muy bueno.

Otro detalle super estúpido que fue genial, con los badges que entregaban en la entrada del evento venía adjunto un cronograma del evento para que lo lleves con vos todo el tiempo, así sabias que pasaría ver y a que hora. Pro, respetaron el schedule casi casi casi a rajatabla. Para mejorar, adjuntar el menu de comida (gordoooo).

Auditorio

El escenario contaba con una pantalla enorme, a los costados estaba presente el branding del evento, animado y todo, me encanto. Cons, hubo problemas técnicos para presentar adecuadamente todas las pantallas pero fue totalmente aceptable anyways.

Comida

Había mucha comida, mucha. Pro, buenos postres. Cons, era casi todo vegetariano :@; Otro cons, la comida era “cheta” (por ponerle un nombre) pero no práctica para comer de parado ni para servir a 400 personas a la vez, mal el que eligió el menu.

Para variar el catering no se distinguió a ningún otro evento a la hora de servir, la comida salía de un solo punto el cual estaba congestionado con los zombis y hambrientos asistentes los cuales enloquecidos atacaban a las bandejas, la comida nunca llegaban al fondo.

Lo peor fue que como obviamente querían seguir a bien el schedule del evento cortaron la comida para que la gente se dirija al auditorio y muchos quedaron sin almorzar.

No se si poner cons aquí por que siempre en todos los eventos esta este problema, pero estaría bueno que para futuros eventos contraten caterings con experiencia en servir y que ,como diría el Tano Pasman, no se hagan los cancheros y sirvan comida rápida y practica para comer como empanadas, sandwiches, albondigas, hamburgesitas, pizitas combinado con comida fría ya servida con anterioridad asi la gente se distribuye en varios lugares para saciar su hambre y no congestionan la salida de comida, la cual no debería ser única.

También los asistentes pueden ser mas educados y no ir como animales a buscar comida y por otro lado agarrar el botín y correrse para ceder el lugar a otro, siempre agarran el plato y se quedan parados al lado del mozo, que el resto se cague.

Anyways, no fuimos solo a comer así que continuemos.

Presentación

La intro de bienvenida la brindó el genio de Guillermo Rauch, hablo de como sería el evento en general. Resalto unas palabras que dijo al publico, solo para entendidos.

Be excellent to each others

This guys rocks or what ?!

Luego vino el host del evento, @Mgonto, puso unas pilas enormes todo el evento muy gracioso. Se tomo esta selfie de espaldas al publico.

y Largamos con las charlas

180 sitios en 180 días

Una chica conto como hizo 180 websites en 180 días, impresionante lean su blog http://jenniferdewalt.com/ 

ES6 Rocks

@Jaydson hablo de ES6, que es lo que se viene y cosas interesantes. Lo que mas resalto es que contó porque hicieron este cambio en la Spec de ES6

https://github.com/paulmillr/es6-shim/issues/306

Para hacerla corta, String.contains estaba implementado en Moo.tools pero con otra interface. Si ellos implementaban con otra interfaz String.contains muchos sitios que corren con moo.tools se verían afectados rompiendolos. Para no romper la web decidieron cambiar el nombre del método a String.includes. Sorprendente las cosas que piensan y analizan los miembros del equipo de estandarización.

Moving JS from Libraries to Polyfills

@sebmarkbage hablo de si conviene usar librerías o polyfills para cubrir cosas que nos faltan en los browser actuales y que aparecerán en futuras versiones de ES. Su conclusión es las librerías son pesadas y no siempre cumplen con el estándar, tratar de usar polyfills que cumplan las specs de ES en lo posible es lo mejor.

Making 3D Graphics Accessible

@mrdoob mostró aplicaciones 3D realizadas en Js con WebGL, impresionante, no dejes de seguirlo si te interesan las cosas 3D, WebGL y visualización.

Parallax 101

@evaferreira92 Mostró como implementar parallax, el cual es una técnica para hacer scrolls copados. Muy interesante la charla

Internationalize your web apps

@juandopazo trabaja en Yahoo, desde Buenos Aires, trabajaba para Yui el cual  Yahoo descontinuó su desarrollo. Hoy trabaja en crear formatjs.io una libreria para i18n en javascript.

Visualizing data with JavaScript at Twitter

De @philogb no hay mucho para decir, es una bestia. Mostró nuevos casos de visualización en twitter para grandes, grandísimos volúmenes de datos. Vean https://interactive.twitter.com/ para ver lo que mostro.

From JS to manufacturing, a hardware journey

Aca me dormi, estaba muerto.

JavaScript and Artificial Intelligence

El maestro y amigo @Angel Java Lopez, aka j lo, mostró técnicas de IA aplicadas con JavaScript, igualmente todos creo estábamos mas atentos a los chistes que a las técnicas.

Else Considered Harmful

Estaba muerto para esta, salí a hacer un break. Básicamente decía que no uses el else. Ver el comentario de Tiagox para mas detalle (gracias Tiagox!).

Your Very Own Component Library

@SlexAxton, una de las mejores charlas, hablo de que para proyectos grandes conviene hacer una component library, como esta armado boostrap, para hacer mas mantenible el desarrollo con CSS y Javascript. Muy interesante para comenzar a estudiar como hacerlo. Rescato una frase que dijo

“Css is an append only language, once you add a line you can not delete that line, ever, so take care about what you are including in your css files”

Concuerdo totalmente.

Writing a Webmodule

@TooTallNate, No cace una lo que quiso mostrar, pero básicamente dijo algo de hacer NPM para módulos que trabajen en la Web, Web Modules.

JavaScript Robotics: A NodeBots show

Esta estuvo buena, mostro javascript aplicado a la robotica. Drones manejados por JavaScript, robots controlados por javascript, etc. Muy bueno, rescato dos framework que mencionaron Jony Five y Firmata, ambos para interactuar con placas como Arduino, Spark, Raspberry entre otras. No dejes de seguir a @julian_duque.

Building a Distributed Data Ingestion System with RabbitMQ

@old_sound hablo rápido, pero muy muy rápido, de RabbitMQ. Interesante.

Sandboxing Node.js with CoreOS and Docker

Esto fue muy loco, @tjanczuk mostró como correr procesos aislados, sanboxearlos, usando docker, coreos y node. Sinceramente no me da el cuero para poder explicarlo, era muy muy complejo, necesito investigarlo, pero fue increible. Cuando salga el video de la charla no dejen de verlo.

j2me.js – a multi-threaded Java VM in JavaScript

Llegamos a lo mas interesante, @andreasgal, actual CTO de Mozilla, conto su experiencia implementando j2me.js el cual es un runtime para aplicaciones Java 2 ME en JavaScript. La necesidad de una aplicación como esta surge por que Mozilla esta creando FirefoxOS, un sistema operativo para celulares basado en firefox. La arquitectura de este sistema operativo no permite correr Java por ende FirefoxOS se va a perder apps muy solicitadas por la gente como Whatsapp o Line llevando al fracaso el sistema operativo. Por ello Andreas decidió correr esta aplicaciones java con javascript y lo lograron, dice que inclusive hasta mas rápido que el verdadero Java.

La charla fue muy muy técnica y planteo tópicos super interesante, se las recomiendo que la vean cuando salga el video.

The future of Javascript

El broche de oro fue @BrendanEich, creado de JavaScript, hablo del pasado y como llego JavaScript a ser lo que es hoy. Su visión esta enfocada a la visualización 3D, las mejoras de ES y JavaScript universal (en todos los dispositivos). Su resumen fue, sigan confiando en Javascript.

Sorteos

Sortearon Mates y dos Drones Geniales, lamentablemente no gane nada :( .

Cabe recalcar que la app de sorteo anduvo bien, muy bien, como dev PHP me da vergüenza dar este punto a la JsConference :(

Final de los Finales

Guillermo llevo a Andreas y a Brendan un living del amor que estaba en el escenario y comenzó a dispararles preguntas. Si quieren ver las preguntas vean la el video cuando salga, hubo un par muy interesante.

La fiesta

La fiesta post evento era en un local cercano al auditorio, conseguir una birra era mas difícil que conseguir una audiencia con Obama (Punto ahi para la PHPConference :) ), el lugar era demasiado chico para tanta gente, pero hubo mucho morfi, salí empanzado.

Conclusión

Mas alla de todos los pros y los cons, el evento genial, los organizadores se pasaron, hats off muchachos, son unos grosos.

Los speakers toda la onda, muchas gracias. Y los asistentes muy piolas, saludos a todos los que conocí.

Los dejo con un video que pasaron al final del evento, me sigo preguntando como lo hicieron tan bueno tan rápido, cosa de JavaScript será ;)

Nos vemos el año que viene

El streaming en raw

Gracias Blunk por pasarmelo.

Mas Links

Pondré aquí link a mas material si voy viendo

ES6 Rocks

Web Modules Presentation

Share