Cómo me pagaban por ver Netflix

Esta historia presenta una aplicación que tal vez podría, solo tal vez, usar para automatizar todo su trabajo.

Probablemente no, pero bueno, han sucedido cosas más extrañas. Como ese tipo que subcontrató todo su trabajo a China.

Principalmente, sin embargo, esta es una historia de cómo canalicé mi propia pereza para crear una solución innovadora a un problema. Con suerte, te inspirará a hacer lo mismo.

Mi amigo Zach Sexton (de Eficiencia asiática) me pidió que escribiera sobre estos episodios de “innovación perezosa”, de los que le hablé mientras estábamos en Portland; aquí está el primero.

Supuse que debería comenzar diciendo que hay dos tipos de perezosos en mi mente:

  1. Perezosos tipo 1: Aquellos que son demasiado perezosos para hacer un trabajo tedioso.
  2. Perezosos tipo 2: aquellos que son demasiado perezosos para encontrar formas de evitar ese trabajo tedioso.

A medida que ha pasado el tiempo, he descubierto más sobre mí mismo. Específicamente, descubrí, sin sombra de duda, que soy una persona perezosa tipo 1. El trabajo tedioso y aburrido es la perdición de mi existencia y haré todo lo posible para evitarlo (incluido eludir las clases obligatorias).

“Peter Parker. Brillante pero perezoso.” – Doctor Oc

Es probable que las personas perezosas tipo 1 sean innovadoras. Es más probable que dediquen unas pocas horas de esfuerzo mentalmente agotador y creativo para encontrar una solución innovadora (o al menos investigar una), en lugar de tomar la ruta más fácil de simplemente seguir el guión.

O eso, o es probable que estén voluntariamente desempleados.

Por mucho que me gusten los rusos blancos, también me gusta tener el dinero para hacer dichas bebidas sabrosas. Entonces, después de mi segundo año, seguí el consejo del Sr. Lebowski y encontré una verdadera pasantía, que resultó ser en el departamento de TI de una gran empresa financiera.

Un día, durante la pasantía, hice una pausa en mi trabajo normal para ver a uno de los compañeros de trabajo de mis jefes parado en la entrada de mi cubículo. Estaba mirando mi segundo monitor, probablemente con una pequeña cantidad de silencio celoso porque la máquina corporativa de alguna manera había arrojado un nuevo modelo de pantalla ancha para mí mientras que la mayoría de los verdaderos empleados todavía usaban los cuadrados de 15″.

Sin embargo, en lugar de ir a por mi garganta, me dijo:

“Tengo un proyecto especial para ti, Thomas. Si estás dispuesto a hacerlo.

Por supuesto, mi ingenioso instinto interno lo pateó. Por eso contratas pasantes. Harán cualquier cosa con una sonrisa en la cara. La tira cómica de Dilbert donde usan a Asok, el interno, como quitagrapas es divertido por una razón.

Así que puedes apostar que respondí afirmativamente. Estoy seguro de que su siguiente pensamiento fue: “Vaya, se ve tan ansioso. Tal vez este proyecto realmente rompa su espíritu por completo”.

Continuó diciéndome que la empresa tenía una herramienta que almacena la configuración de los distintos servidores del campus corporativo. Ingresó a esta herramienta y la pantalla me presentó una lista de estos servidores que se desplazaba casi eternamente. Había cientos de ellos.

La esencia del proyecto resultó ser esta:

  1. Necesitaba hacer clic en cada servidor de la lista.
  2. Una vez que hice eso, encontraría los paneles de configuración para ese servidor.
  3. Debía cambiar varias configuraciones: marcar algunas casillas, seleccionar algo de un menú desplegable y escribir un par de nombres en algunos campos.
  4. Luego tuve que presionar “OK”.
  5. Una vez hecho esto, repita – para cada uno de los cientos de servidores.

Ah, y el pateador? El programa tomó alrededor de un minuto después de presionar “OK” para procesar los cambios antes de regresar a la lista principal.

Puedes ver a dónde va esto.

El tipo me dijo, con una mirada triste y lamentable en sus ojos, que este proyecto probablemente me llevaría todo el día. Tal vez incluso dos días.

Ahora, me gustaría hacer una pausa por un momento para que puedan apreciar mi situación aquí. Eran alrededor de las 8 de la mañana cuando estaba dando este proyecto. Estaba viendo 8 horas sólidas de hacer la misma tarea repetitiva una y otra vez. Haga clic, haga clic, haga clic, escriba un poco, haga clic, espere. Repetir. , o eso parecía.

Sísifo“Eh… ¿jefe? ¿Por qué mi ID de inicio de sesión cambió repentinamente a ‘Sísifo’?

El hombre salió de mi cubículo, y luego la pereza tipo 1 entró en acción.

“Como el infierno, me voy a sentar aquí y hacer esto”, pensé.

¿Qué haría usted en esta situación? ¿Rechinarías los dientes, comenzarías a hacer clic y simplemente “harías tu trabajo”? ¿O tratarías desafiantemente de encontrar una salida?

Pensé en tomar la segunda opción, pero como era una persona lo suficientemente decente como para no dejarlo ahí mismo, decidí ver si había alguna manera de automatizar todo este proceso.

Uno pensaría que un técnico de servidor experimentado en la empresa, alguien con mucho más conocimiento que yo, podría haber escrito un script de shell súper complicado que se encargó de todo este problema en una vieja terminal brillante donde nadie más habría tenido que hacerlo. Míralo.

Pensarías eso, pero como me dieron el proyecto, sabía que no era así. Tendría que hacerlo a través de esta interfaz gráfica de usuario infernal, porque no había otra manera.

Entonces se me ocurrió una idea: ¿qué pasaría si pudiera hacerlo a través de la GUI como se suponía que debía hacerlo, excepto que no sería yo quien lo haría?

Durante mi primer año, había jugado con un proyecto de código abierto llamado Sikuli. Desarrollado por programadores del MIT, Sikuli te permite crear programas a partir de una combinación de sintaxis de Python y capturas de pantalla. Así es, en realidad puede escribir un programa basado en cómo se verá su escritorio en un momento dado.

SikuliHan pasado años y ya no tengo el guión original. Así que aquí hay un ejemplo que preparé: ¿puedes averiguar qué hace?

Entonces, todo lo que tenía que hacer era averiguar qué cambiaría en mi pantalla después de completar cada paso del proceso en mi horrible y desagradable pequeño proyecto.

Primero, revisé algunos servidores solo para familiarizarme con todo. Luego, hice otro servidor, esta vez prestando mucha atención a cada paso del proceso, al mismo tiempo que pensaba en la mejor manera de escribir un bloque para hacerlo en Sikuli.

Afortunadamente, Sikuli es flexible. Tiene muchos comandos, incluyendo:

  • Hacer clic(): colocando una captura de pantalla de una determinada región de su escritorio entre los paréntesis de esta función (esto hace que la captura de pantalla sea , o , por cierto) Sikuli hará clic en ella. También puede definir las coordenadas exactas de dónde hacer clic si la captura de pantalla es lo suficientemente grande.
  • Escriba (“Cualquier texto”): Sikuli escribirá el texto que especifique
  • Find(): encuentra objetos específicos en función de las opciones que defina. Esto es bueno para encontrar el elemento correcto cuando hay muchos en la pantalla, por ejemplo, una casilla de verificación en particular.
  • Wait(): le dice a Sikuli que espere un cierto período de tiempo antes de pasar al siguiente paso del programa. Esto es excelente para cuando la pantalla todavía se está cargando (¿recuerdas la espera de un minuto?) pero muestra cosas que Sikuli está buscando.

Después de aproximadamente una hora de prueba y error, mi guión de Sikuli finalmente fue perfecto. Luego le doy los toques finales a mi solución; Abrí Netflix en mi segundo monitor, comencé a jugar Iron Man 2, luego presioné “Ir” en mi guión.

La computadora se apoderó de mi mouse y el script comenzó a pasar por los servidores, haciendo todos los cambios que se suponía que debía hacer. Mientras tanto, me estaba relajando y disfrutando de un momento agradable con el Sr. Downey Jr.

Justo antes de que fuera hora de ir a casa, mi secuencia de comandos terminó de cambiar la configuración en el último servidor. Debido a que la secuencia de comandos simplemente toma el control de su mouse y hace las cosas de la forma en que normalmente las haría, no funcionó mucho más rápido de lo que lo habría hecho yo mismo. Todavía tenía que esperar a que se cargaran las páginas (y tuve que programar los tiempos de espera para tener esto en cuenta).

Sin embargo, mi script de Sikuli tenía dos grandes ventajas sobre mí:

  1. nunca se aburrio
  2. Como solo estaba haciendo lo mismo una y otra vez, podría seguir ejecutándose durante mi hora de almuerzo

En el transcurso de ese día, terminé viendo varias películas en Netflix. ¡Fue un día bastante relajante! Cuando terminó el proyecto, me acerqué al cubículo de mi compañero de trabajo para hacerle saber que había completado la tarea.

“¿Ya?” preguntó.

“¡Sí! Y, para ser honesto, en realidad solo vi Netflix y me relajé todo el día”.

Luego procedí a decirle cómo había automatizado todo el proceso. Quedó muy impresionado y me pidió que le mostrara Sikuli cuando tuviera la oportunidad. Misión cumplida.

Similar Posts

Leave a Reply

Your email address will not be published.