Como programador, ¿qué tareas ha automatizado para facilitar su vida cotidiana? ¿Cómo se puede esperar mejorar la vida a través de la programación automatizada?

¡Mensajes de texto! Me cansé de escuchar “Nunca me enviaste un mensaje” de amigos y familiares, así que escribí un guión de bash que luego se convirtió en un guión de Apple que envía mensajes aleatorios a miembros de grupos aleatorios en momentos aleatorios en días aleatorios. Es bastante aleatorio.

Los mensajes se construyen ellos mismos dos veces al día utilizando, por supuesto, un principio y un final aleatorios de una oración. Las oraciones dependen del tipo de grupo.

Grupo familiar – [mamá, papá, abuela, tía, tío]

Comienzos – [Buenos días / tarde / noche, hey {nombre}, he querido llamarte]

Finales – [Espero que todo haya estado bien. Estaré en casa a finales del próximo mes. Te quiero. Hablemos en algún momento de la próxima semana, ¿cuándo estás libre?]

Así que a la 1:38 pm mañana, se enviaría automáticamente: Hola mamá, estaré en casa el mes que viene, te quiero.

También tengo un grupo para mis muchachos y, por supuesto, un grupo para damas.

Tendré que responderles más tarde, siempre y cuando sepan que pensé en ellos durante mi día. Eso es lo que es realmente importante.

Ahora que trabajamos en la automatización de este ingreso monetario, ¡seríamos geniales!

¡¡¡ACTUALIZAR!!!

Algunos de ustedes me preguntaron sobre el código para mi script de mensajería de texto automatizado. Bueno, para mantener el espíritu de A lways B e C onding lo reescribí para ti y lo puse en GitHub, se llama Zen. Fuente abierta por supuesto!

Los planes futuros incluyen convertirla en una aplicación de escritorio independiente y, finalmente, en una aplicación móvil. Si alguien está interesado en algo colaborativo, siempre estoy abierto a sugerencias. Desde el super novato hasta el veterano de la codificación, todos tienen algo de valor que pueden agregar a cualquier proyecto.

Lo que más me gusta del software es la comunidad y los valores que encarnamos. Desde entusiastas de la tecnología, hasta profesor de algoritmos, ¡nuestra comunidad es estrecha! ¡Siempre lo ha sido, siempre lo será!

Mantener el zen

Ah! Esto es algo que hago regularmente. Siempre espero encontrar una manera de automatizar las cosas que debo / quiero hacer pero que son de naturaleza repetitiva.

¡Comencemos con el más nuevo primero!

  • Abril de 2017 : Fui adicto a la plataforma StackOverflow durante estos tiempos. Construí un Messenger ChatBot que le envía a usted la bandeja de entrada de StackOverflow no leída y los cambios de reputación.

    La motivación era evitar la necesidad de abrir una aplicación / sitio web incluso de vez en cuando (desde el teléfono / escritorio) para ver si su pregunta fue contestada o si su respuesta fue aceptada o si alguien respondió a su pregunta / respuesta.

    Stackb0t está caído ahora, pero aquí está su repositorio de GitHub

  • Marzo de 2017 : en el trabajo, la mayoría de nosotros necesitamos completar las hojas de tiempo de forma regular. Entonces, construí un script de relleno de la hoja de tiempo utilizando una biblioteca de automatización de alto nivel llamada pesadilla. Sin embargo, el script estaba destinado solo para una aplicación web específica de hojas de tiempo (disponible en mi GitHub tho!)
  • Octubre 2016 : Soy un aficionado al cine. Veo muchas películas. Pero tenía que buscarlo en google (y luego en IMDb y todo) cada vez que quería saber sobre una película.

    ¿Solución? Mi primer chatbot, Cinephi1e , sugiere películas, proporciona un resumen de la trama … cosas así. ¡Saluda para empezar! Utiliza una combinación de TMDb y las API de la base de datos de películas abiertas para interactuar contigo.

    Cinephi1e está en vivo en m.me/cinephi1e (repo de GitHub)

  • 2015 : solía seguir un blog diario llamado F *** ING HOMEPAGE. Solían publicar una imagen del día que solía volar mi mente todos los días. Por lo tanto, solía descargar la imagen casi todos los días y tenerla como fondo de pantalla de mi escritorio. Pero, duh! Eso es tan aburrido y malditamente repetitivo, ¿no?

    Solución: construyó una aplicación NodeJS que elimina el blog, obtiene la imagen del día y la coloca en una carpeta de Google Drive todos los días .

    A continuación, señalé mi directorio de fondos de pantalla en Windows a esta carpeta de unidades y ¡boom! Tuve la imagen del día en mi fondo de pantalla 🙂

    Sin embargo, mi aplicación está actualmente inactiva, pero aquí está la colección de imágenes que realizó durante esos días. Y, GitHub repo.

    Además, uno de mis amigos creó un tema de Windows fuera de la colección de imágenes.

  • 2014 : Hubo un tiempo, yo era tan adicta a Quora. Quería descargar algunas respuestas en mi máquina. Entonces, construí una extensión de Chrome, Descargar Quora Answers, para tener un botón de descarga en cada respuesta / publicación de blog que veamos en Quora.

    Uno de mis amigos había hecho una colección de respuestas asombrosas.

Respondiendo de nuevo en Quora después de mucho tiempo hoy. Podría haber perdido mi encanto

De todos modos, es bueno compartir mis cosas que podrían ser útiles para otros.

¡Paz! 🙂

Me parece fascinante la idea de la automatización. Aquí hay una lista de cosas que he automatizado. Hace la vida más fácil, pero una computadora que hace cosas por ti es extrañamente satisfactoria. Los puntos 3,4 y 9 son mis favoritos.

  1. Odio cuando alguien se mete con mi PC o incluso ingresa a mi habitación, así que cada vez que sucede algo y hay un movimiento en frente de mi cámara web, ¡toma una foto automáticamente! y me envían un correo electrónico de inmediato !.
  2. Estoy algo interesado en la historia, como si voy a un monumento o lugar que me gusta saber sobre él. Entonces, ¡qué mejor que Wikipedia para ser tu guía !. Cuando mi GPS está cerca de un lugar de importancia histórica, mi teléfono abre automáticamente Wikipedia.
  3. Me gusta GoT / The Flash / BBT / Mr.Robot. y muchos más. Y en la India los torrentes son la mejor manera. Así que cada vez que se lanza un nuevo episodio, se descarga automáticamente. En caso de que necesite descargar un programa que haya completado su temporada, solo tengo que escribir [Show Name] + [Season x]. Automáticamente ordenará los episodios y los descargará junto con los subs.
  4. Hablando de torrents, según las calificaciones de IMDb cada mes, se descargan 10 grandes películas en inglés. Pero esto a veces no funciona debido a las semillas bajas en sus torrentes.
  5. Me encantan las cosas relacionadas con el espacio, así que cada vez que el Telescopio Espacial Hubble de la NASA lo carga Imagen del día, el fondo de pantalla de mi teléfono está configurado para esa imagen.
  6. El clima es bastante predecible en estos días, pero aún necesitamos que alguien nos lo recuerde, recibo un mensaje de texto si va a llover mañana.
  7. Siendo un indio, nunca compramos cosas en MRP, siempre buscamos un precio más bajo, así que hice lo mismo en línea. Un script rastrea el precio de un producto y actualiza una hoja de Excel, siempre que haya una buena caída, ser notificado de que debo comprarlo.
  8. Cada vez que hay una venta flash o un gran billón de días, un script agrega automáticamente todo lo que tenga un gran descuento para mi carrito. Esto ayuda a comprar los teléfonos Redmi que se venden en 5 segundos, obtener una invitación temprana a los teléfonos OnePlus, etc.
  9. Cada vez que estoy en una ventana de incógnito, haciendo mi negocio caliente. La historia no se registra, obviamente, pero tiene un intervalo de tiempo donde no se hizo nada. Así que mi guión llena este vacío con sitios web normales y artículos aleatorios cuando estoy de incógnito.
  10. Ahora hay otras automatizaciones menores, como mi twitter DP se sincroniza con mi Facebook DP, el estado se sincroniza, las fotos etiquetadas se almacenan en mi Dropbox, si alguien llama más del triple, el modo silencioso de mi teléfono se desactiva automáticamente, siempre que conecto mi auricular , el reproductor de música se inicia y reproduce cualquier canción, realiza copias de seguridad, etc.

Todas estas tareas son realmente fáciles de ejecutar, no se requieren muchos antecedentes de programación para que se realicen. Herramientas como IFTTT, en {x}, Tasker lo ayudará. Pero la verdadera diversión de la automatización es con los scripts de programación (VB, Java y PHP son algunos de los nombres). Ahora mismo está en una fase de idea, pero tengo la intención de abrir todos los scripts geniales, como un producto. donde incluso la persona más tecnológicamente desafiada puede automatizar cosas. Ahora diría que las aplicaciones que mencioné anteriormente ya están haciendo un buen trabajo, pero ¡hey! “E muy Facebook tiene un MySpace y Freindster

¡Feliz automatización! Actualizaré la lista en caso de que recuerde algo más

No sé si me hizo la vida más fácil, pero aquí hay algunas cosas que hice:

Hoy en día me olvido mucho, así que me costó mucho recordar cosas. Por ejemplo, conecté la bomba de agua y, finalmente, me olvidé de apagarla (hasta que mi madre gritaría al ver todo el depósito de agua desbordado por todas partes). Me propuse establecer una alarma para tales recordatorios, pero luego olvidé para qué he programado la alarma. Así que hice una aplicación para Android que me recordaría en momentos de tales trabajos programados. Ahora puedo programar mis trabajos y recordarlos mucho mejor.

Aquí es cómo puedo agregar un ‘trabajo’ y programar lo mismo para una fecha y hora en particular.

Y así es como mi amigo me recuerda el trabajo activando una alarma en esa fecha y hora en particular

Una vez que presiono el botón ‘hecho’, el trabajo se elimina del almacenamiento local del teléfono. ¡Mi madre está muy tranquila hoy en día!

Otra cosa que hice fue en relación con Facebook. Tuve algunas páginas seleccionadas que me gustaron, así que escribí un script PHP que se llamaba Graph API de Facebook para filtrar las publicaciones más “gustadas” de esas páginas en la última hora y mostrármelas. Esto me resultó útil, ya que siempre que lo deseaba, simplemente abría esa página web y me mostraba los mejores 10/20 mensajes en ese momento. Se consumió mucho menos datos y tomó muy poco tiempo para cargar. En el lado del servidor, un trabajo cron actualiza los enlaces posteriores en la base de datos cada 60 segundos. La página web simplemente integró esas publicaciones de los enlaces almacenados en la base de datos. Me gustaría, compartir, comentar desde esa página una vez que haya iniciado sesión a través de mi cuenta de Facebook. Entonces, aunque todo se cargaba constantemente en el backend enviando solicitudes a Facebook, la página web solo consultaba la base de datos y mostraba las publicaciones, por lo que era mucho más ligero que un servicio de noticias típico de Facebook. De este modo, se eliminó la carga innecesaria de tener que desplazarse a través de enormes cargas de mensajes no deseados de publicaciones asociadas en Facebook, y aún podría pasar por lo que quisiera, ya que podía personalizar y mostrar solo las cosas que quería ver, y solo eso. Extendí esta idea, donde los usuarios podrían registrarse a través de Facebook, y poner su propia selección de páginas, y la cantidad de publicaciones que les gustaría ver, las frecuencias de actualizaciones, etc. pero desafortunadamente los dioses se pusieron celosos de esto, y mi proveedor de alojamiento eliminó mi cuenta ya que, según ellos, básicamente había desarrollado un rastreador de Facebook, que era una violación estricta de sus TOS. Todavía tengo los códigos conmigo, y puedo volver a ponerlos en algún momento en el futuro si me da la gana.

Una vida de desarrolladores es divertida una vez que no tienes fechas límite para cumplir

Ruby y Python son lenguajes de programación muy divertidos para este tipo de cosas.

Aquí hay un bot de cumpleaños bastante crudo que escribí en unos 10 minutos y que desea a tus amigos de Facebook en su cumpleaños.

requiere ‘watir-webdriver’
@config = {
url: ‘ http: //www.facebook.com&#039 ;,
cumpleaños: ‘/ eventos / cumpleaños’,
día: 86400,
deseo: ‘te deseo un muy feliz cumpleaños! 🙂 ‘
}
@account = {
nombre de usuario: ”,
contraseña: ”
}

@locator = {
email_id: ’email’,
contraseña_id: ‘pasar’,
login_value: ‘Log In’
}

mientras que verdad
@ b = Watir :: Browser.new: phantomjs
@ b.driver.manage.window.maximize
@ b.goto (@config [: url])
@ b.text_field (: id => @locator [: email_id]). set @account [: username]
@ b.text_field (: id => @locator [: password_id]). set @account [: password]
@ b.button (: value => @locator [: login_value]).
@ b.goto (@config [: url] + @config [: cumpleaños])
cumpleaños = @ b.textareas
cumpleaños.hacer | cumpleaños |
birthday.set @config [: wish]
@ b.send_keys: enter
fin
@ b.close
dormir @config [: día]
fin

ACTUALIZAR:

¿Como lo usas?

Si está utilizando mac , ya tendrá Ruby instalado en su máquina. Teniendo en cuenta que también tiene homebrew en su máquina, debe realizar los siguientes pasos en su terminal

$ gem install watir-webdriver
$ brew install phantomjs
$ ruby ​​birthday.rb &

El bot sigue corriendo deseando todos los días hasta que lo mates.

Si está utilizando Windows , instale a continuación para ruby ​​y phantomjs

Ejecute los siguientes comandos en el símbolo del sistema

$ gem install watir-webdriver
ruby birthday.rb &

Si está utilizando el sistema Linux basado en Debian

1. Instale phantomjs siguiendo este enlace Cómo instalar PhantomJS en Debian / Ubuntu (Cómo instalar PhantomJS en Debian / Ubuntu)

2. instalar rubí

$ \curl -L https://get.rvm.io | bash -s stable --ruby

3. Entonces $ gem install watir-webdriver

4. Enciende el bot $ ruby birthday.rb


El bot sigue corriendo deseando todos los días hasta que lo mates.

Actualizar:

Facebook está detectando controladores web y raspadores y deshabilitando el inicio de sesión. Lo están haciendo midiendo el tiempo necesario para moverse entre diferentes acciones. La secuencia de comandos anterior aún funcionará agregando un sleep 5 (reposo durante 5 segundos antes de realizar el siguiente paso) entre cada uno de los pasos.

Pregúnteme qué tareas no he automatizado, desde que reinicié mi enrutador WiFi a Acosar a mi celebridad favorita, lo he hecho todo. Pero la mejor de todas ellas sería Stephanie .

Por lo tanto, la asistente virtual Stephanie a su servicio es una plataforma de código abierto diseñada específicamente para aplicaciones controladas por voz, así como para automatizar las tareas diarias y, por lo tanto, imitar gran parte del trabajo de una asistente virtual / personal. Está escrito en python y lo llamo más como un marco que una aplicación.

Bueno, primero que nada, Stephanie es completamente de código abierto , incluso el algoritmo que se usa para predecir la intención (he escrito un artículo sobre el mismo que recomendaría altamente a cualquier persona interesada en este enlace: Sounder Algorithm) es de código abierto, básicamente. está utilizando un software que es impulsado por la comunidad. Y si eso no es lo suficientemente bueno con Stephanie, he escrito muchos motores para cumplir con sus requisitos de privacidad, como con siri u otros servicios, diga lo que diga que ha sido grabado por ese software y no puede hacer nada al respecto, Stephanie es completamente diferente, ya que tendrá el control de qué tipo de datos le gustaría compartir con otras personas y, por lo tanto, es una iniciativa para concienciar al público en general sobre cuestiones de privacidad. Ahora, si eso todavía no es suficiente, los siguientes puntos probablemente te interesarán, si aún no te joden bien.

Por lo tanto, dado que Stephanie es completamente de código abierto, puede integrarla con muchas API públicas / privadas para llevar la aplicación a un nuevo nivel, no me crea, vea algunas de sus funciones.

Echemos un breve vistazo a las redes sociales , ¿vale? ¿Qué tal twitter eh?

Tu: Hola Stephanie, ¿Tengo alguna notificación de Twitter ?

Stephanie: Tu último tweet ha sido favorecido por 20 personas, mientras que @rayhudon mencionó que dejas de desmayarte por el Real Madrid, no van a ganar 3 CL consecutivas, eso es una locura.

(También puedes twittear algo con la ayuda de stephanie, de manera similar, no hablaré de cada una, ya que hay demasiadas funcionalidades, pero puedes revisarlo por ti mismo).

Está bien, entonces, ¿qué hay de facebook ? ¿Alguna vez te olvidaste de los cumpleaños de tus amigos? pues no temas, ahora Stephanie te cuida la espalda.

Tu: Hey Stephanie, ¿Tengo algún recordatorio de cumpleaños?

Stephanie: ¡Oh sí! Tu amigo Karan Sachdeva cumple años hoy.

¿Quieres escribir algo en Facebook como una publicación en la pared para presumir entre tus amigos? Cmon sea humilde amigo.

Tu: Hola Stephanie, quiero hacer una actualización de estado en Facebook.

Stephanie: Entonces, ¿qué tienes en mente?

Tú: ¿Cómo pueden ser reales los espejos si nuestros ojos no son reales?

Stephanie: ‘¿Cómo pueden ser reales los espejos si nuestros ojos no son reales?’ ha sido puesto como poste de pared.

Ahora, nuevamente, solo se trata de redes sociales, hay muchos más módulos con los que trabajar, por ejemplo: ¿Alguna vez quieres anotar algo sobre la marcha? No se preocupe, su cuenta de Evernote le ayudó con su integración, ¿o tal vez quiere sus correos electrónicos no leídos? ¿Gmail está ahí para ti, actualizaciones del clima? ¿pronóstico? Últimas noticias, olvídate de desearle a tu mamá el día de la madre? sincroniza tu google calendar hombre. ¿Eres un fanático de la película? Jesús, ¿entendido? ¿Sugerencias de restaurantes? Wikipedia? ¿Respuestas rápidas a preguntas generales de CI? Y un maldito (mi favorito) módulo de fútbol que tiene solo más de 20 funciones para que puedas soñar con tu equipo o liga de fútbol favorita.

Entonces, como podría, Stephanie no solo es completamente gratuita, de código abierto, sino que también es rica en funcionalidad, pero cree que estaría bromeando, pero esto es solo la punta de esto. El verdadero problema se da en su naturaleza con desarrolladores / programadores como yo.

Mira, si eres un desarrollador / programador, ¡boom! Tienes un Jarvis v2.0 en tus manos, creo que Stephanie es más un marco que una aplicación y, con su extensa documentación y una interfaz realmente genial, puedes crear uno de los programas más complejos e intrincados con él. Honestamente, siento que La persona puede incluso crear una aplicación basada en la empresa a partir de ella.

La guía para desarrolladores escrita es básicamente para que los programadores los guíen en el proceso de cómo escribir sus propios módulos y ampliar la funcionalidad de Stephanie. ¿Desea sincronizar su cuenta de Quora? Reddit? ¿Algún foro de internet oscuro? Genial, solo escribe tu propio módulo e integra con Stephanie usando una interfaz realmente agradable que te brinda toda la funcionalidad necesaria para construirlo de inmediato.

También lo uso para acceder al control de mi Enrutador WiFi (DLINK) virtualmente para algunos comandos básicos, como Reiniciar el enrutador, encender / apagar el enrutador. reconecte en caso de que la conexión PPOEE falle al usar un bucle de respaldo, etc. De manera similar, ejecuto un raspador para obtener todos mis datos gastados con un procesamiento y administración ordenados con mi proveedor de banda ancha (DEN). Si alguien está interesado, entonces podría hacer un repositorio público con todo el código para el control del enrutador Dlink y la administración de datos de banda ancha DEN.

Finalmente, los conecté con Stephanie, y ahora puedo hacer cosas tan fáciles como: “¡Hola Stephanie, reinicia mi enrutador wifi!” y todo funciona como amuleto sin tocar una sola tecla, porque hay una pizza en mi mano.

¿O tal vez solo quieres integrar el módulo escrito de otro tipo (como el mío en este caso, dlink y den)? Impresionante con una comunidad y métodos de integración fáciles, haga lo que sea con Stephanie, cambie su nombre a Munni o siga con el actual, es 100% personalizable y la decisión está en sus manos.

Finalmente, este es un video en el que explico algo sobre Stephanie, con pocas demostraciones si alguien está interesado y no quiere leer esta publicación.

Y, por último, el enlace al sitio web principal para obtener más información: Asistente virtual a su servicio.

Además del enlace al artículo algorítmico: algoritmo de sonda.

Cuando estaba haciendo mi pasantía el año pasado, me irrité con las llamadas telefónicas de mis jóvenes y sus padres durante la asesoría de JEE.

  • ¿Qué universidad es mejor entre x y y?
  • ¿Qué rama es mejor entre x y y?

A veces no respondía.

Pero lo sé internamente, ¿cómo se siente?

Esto va a ser una gran decisión en sus vidas y recuerdo cómo se siente cuando no conoces a ningún senior lo suficientemente digno para ayudar. Lo difícil que es llenar las elecciones, buscamos en Internet, pasamos por el rango de apertura y el de cierre durante aproximadamente 2–3 días y la mayoría de los estudiantes no crean una buena lista de opciones. No hay nada en la web, lo que puede ayudar en este proceso. Para hacer esto más difícil, ahora el gobierno decidió crear una lista de selección única para IIT, NIT e IIIT combinados.

Piense en la complejidad, un total de 92 institutos, 10 a 20 sucursales en cada universidad.

Creé este sitio web para ahorrar tiempo a personas mayores como yo.

Y hacer esta tarea de llenado de elección fácil.

Solo tienes que ingresar tu rango (principal y avanzado), preferencia de sucursal, ubicación y eso es todo.

Obtendría una lista de opciones que debería llenar.

Ha sido probado por alrededor de 100 MNNITians y casi 60 eruditos de Siemens que están estudiando en toda la India. (Si no lo sabe, Siemens otorga becas a 60 estudiantes en toda la India en base a su talento, que cubre toda su universidad, libros y capacitación gastos.)

Aquí puede obtener detalles de todos los IIT, NIT, IIIT. (Gracias Google Map)

Este sitio web no contiene ningún anuncio y no tiene que iniciar sesión para usar esto.

Solo consigue ayuda y no me molestes.

Edit 1- Gracias por su apoyo, significa mucho para mí. Sería genial si compartes esta información con tus juniors y amigos que necesitan esto.

Aquí hay algunas ideas de automatización diferentes, algunas que ya he implementado, algunas todavía están en mi lista de tareas pendientes.

  • Un comando de alias para enviar un archivo al servidor del departamento de CS local e imprimirlo desde una impresora del departamento.
  • Agregar un documento de bloc de notas a los programas de inicio que funciona como mi lista de tareas pendientes
  • Un programa de rutina por la mañana que comienza con una canción de activación, pasa a una “canción de la ducha” después de un minuto o dos, después de más tiempo cambia a una nueva canción que me avisa que debería salir de la ducha, y básicamente sigue cambiando las canciones hasta que termine. Estoy lo suficientemente despierto como para tener un cerebro y decidir en qué trabajar a continuación.
  • Mi arrendador actual no me dejará, pero en el futuro será un bloqueo activado por chip RFID en mi puerta. Poner ese chip RFID en un anillo sería el siguiente.
  • Un programa que detecta si un USB está conectado a mi computadora, si no lo está, lo bloquea y lo vuelve a bloquear (incluso con la contraseña)
  • Saliendo de esto, un programa que detecta la potencia del bluetooth de mi teléfono, obtiene una distancia aproximada. Si mi teléfono se aleja demasiado, se bloquea.
  • Alguien ya lo dijo, pero un programa para apagar automáticamente su computadora para que pueda escuchar música en la cama. Realmente asusté a mi compañero de la universidad con este.
  • Estoy seguro de que estaré pensando y escribiendo más de estos a medida que pase el tiempo, así que actualizaré esta lista cuando piense en más.
  • Algunas cosas que vienen a la mente son:

    1. Solíamos obtener nuestros resultados del semestre en línea desde una página que solo pedía 2 credenciales: número de semestre y número de becario (que estaban en secuencias continuas, algo así como 131112001 a 131112099 para cse). Siempre fue divertido ver los resultados de otras personas, pero fue un dolor hacerlo manualmente, por lo que escribí un simple script de Python, lo llamé “exprimidor”, y guardaría todos los resultados en un archivo de texto de bloc de notas, que luego subiría. al grupo cse de Facebook para que todos lo usen.
    2. Tuvimos un gran evento en el que invitamos a personas de todas las universidades de la ciudad a registrarse. Desafortunadamente, no teníamos ninguna forma sofisticada de inscribirlos, por lo que terminamos usando un formulario de vainilla de Google. Más tarde, cuando necesitábamos hacer un análisis, como la cantidad de personas registradas para cada subevento, la cantidad de x college, la cantidad de x branch, etc., estábamos condenados a hacerlo prácticamente de forma manual. Pero no permitiría que eso sucediera ahora: I: P, así que creé una secuencia de comandos de Python para leer los archivos xls y realicé varios procesos para obtener los resultados correctos y realizar un análisis simple. (Los problemas incluyen cosas como, personas que no usan el mismo nombre para el campo “rama”, como algunos escribirían CS, algo de informática, algunos CSE, algunos CSE y similarmente para otros campos)
    3. Muchas veces, mientras usábamos MATLAB, teníamos que realizar algún tipo de operación en cargas de archivos, que estaban dentro de una jerarquía de carpetas, es decir, no estaban todas en la misma carpeta, pero podían encontrarse en carpetas anidadas. Además, no es necesario procesar todos los archivos de las carpetas, solo extensiones específicas. Así que utilizamos una función recursiva recursiva simple, que atravesaría la jerarquía y trabajaría en los tipos de archivos específicos, en lugar de tener que revisar manualmente todas las carpetas y copiar todos los archivos en un lugar o algo.
    4. No estoy seguro si esto también sería un ejemplo, pero durante la copa mundial de quince años, una vez que un grupo de mis amigos comenzaron a adivinar quién ganaría y así sucesivamente, y comenzamos a hacerlo en WhatsApp. Era complicado, por decir lo menos, y, por supuesto, como WhatsApp era WhatsApp, aparecían mensajes sin sentido y no podíamos hacerlo funcionar de manera eficiente. Tenía algún espacio de alojamiento gratuito, y suficiente conocimiento de php, mysql, html, para hacer un sitio web simple durante la noche que tuviera cuentas para todos nosotros, y haríamos nuestras conjeturas allí. También hubo políticas de puntuación, como si adivinas quién gana correctamente, obtienes x puntos, si adivinas la cantidad exacta de goles correctamente, obtienes y puntos y así sucesivamente. ¡Y también había una tabla de clasificación!
    5. Una vez creé una aplicación de línea de comandos relacionada con acordes de guitarra. ¡Seleccionarías tu escala y tu nota base, y te diría qué acordes tocar!

    He automatizado prácticamente todas mis tareas mundanas, pero aquí solo compartiré algunas de las interesantes.

    1. Tengo un programa que descarga series de televisión como Game of Thrones todos los lunes por la mañana automáticamente tan pronto como el nuevo episodio esté disponible.
    2. Mi enamorado quería comprar un dispositivo Xiaomi, pero no pude comprar uno debido a las ventas instantáneas. Cada vez que lo intentaba solo veía un mensaje agotado en su pantalla. Entonces, mis habilidades de programación me ayudaron a impresionarla. Creé un programa para reservar N números de dispositivos Xiaomi en el momento en que las ventas de flash se activan. Desde entonces, he usado ese programa para reservar múltiples dispositivos Xiaomi para mis colegas y amigos.
    3. Siendo programador, tengo que actualizar mis habilidades con regularidad, lo que significa actualizar mi currículum y también publicarlo en los portales de trabajo. Entonces, creé un programa, que hace este trabajo de actualización para mí sin mi intervención. Mi programa recoge mi último currículum y lo actualiza en cada portal de trabajo en el que estoy registrado.
    4. Yo uso para pagar mi factura de electricidad después de la fecha de vencimiento. Este mal hábito mío se convirtió en una molestia para mi bolsillo, así que escribí un guión que paga mi factura de electricidad en línea automáticamente cada 25º. Ahora nunca pago extra por pagos atrasados!
    5. Todo profesional independiente sabe que ofertar en sitios independientes es bastante difícil. Tienes que escribir una propuesta personalizada con el monto de la oferta correcta para obtener un proyecto. Por lo tanto, para evitar esta molestia durante mis días de trabajo independiente, escribí un script con un algoritmo que se utiliza para decidir automáticamente el monto de la oferta y presentar mi propuesta en cada proyecto de mi categoría específica. Esto no solo ahorró mucho tiempo sino que también me permitió obtener algunos proyectos bastante buenos sin mi intervención.
    6. Soy un aficionado al cine! Así que tengo un programa que descarga la fecha de lanzamiento de la película completa desde IMDB y descarga la película automáticamente después de su lanzamiento.
    7. Tengo un tío que es gerente de ventas en una MNC y con frecuencia hace malabares con datos y hojas de excel. Solía ​​depender del analista de datos para obtener los últimos informes. Después de recibir los últimos informes, utiliza para desperdiciar todo el día filtrando la información relevante de ese informe. Automatice que para él y ahora todos los días se descarga una nueva hoja de Excel con todos los datos relevantes en su sistema sin siquiera abrir el navegador.
    8. Me encanta leer citas famosas. Tengo un programa que descarga las últimas citas de Famous Quotes en BrainyQuote y lo establece como mi fondo de pantalla todos los días.

    Durante mi preparación de UPSC solía confiar mucho en editoriales de periódicos. Además, me sentí más cómodo leyendo en línea. Sin embargo, fue un verdadero dolor abrir los sitios web de los periódicos (The Hindu, The Indian Express, Business Standard), hacer clic en todos los editoriales y luego guardarlos uno por uno.

    Así que escribí un código de línea de ~ 200 en Python para automatizar este proceso. Como resultado, solo tenía que ejecutar el programa y podía descargar todos los artículos automáticamente sin necesidad de abrir el navegador. Usé el sitio Lo llamamos Tortuga porque nos enseñó en la biblioteca (Beautiful Soup) la web de la página web del periódico y la extracción de artículos relevantes.

    Esto me ahorró mucho tiempo y fue bastante divertido 🙂

    He leído sobre alguien que había automatizado su trabajo de trabajo.

    Programador, despedido después de 6 años, se da cuenta de que no sabe cómo codificar

    El usuario de Reddit FiletOfFish1066 revela una situación desafortunada que suena casi como que Silicon Valley de HBO es cierto. OP fue despedido después de pasar seis años completos trabajando en una empresa de tecnología conocida en el Área de la Bahía. Ahora, nuestro amigo reflexiona sobre su tiempo allí y admite que puede haber cometido algunos errores en el camino: por ejemplo, automatizando su trabajo hasta el punto en que olvidó cómo codificar. Investiguemos qué sucedió y veamos qué puede hacer OP para salvar su carrera tecnológica. Alerta de spoiler: OP no es “Big Head” Bighetti.

    (Crédito de la foto: startupstockphotos / Pexels)

    Fondo

    Después de graduarse de la universidad con una licenciatura en ciencias de la computación hace siete años, OP consiguió un trabajo en el Área de la Bahía haciendo trabajo de Aseguramiento de la Calidad para una compañía de tecnología. Y, al ser el experto en tecnología que es, OP automatizó casi todas sus tareas después de ocho meses en el trabajo. Así que con la mayor parte de la parte difícil de su trabajo hecho para él, OP tuvo algo de tiempo libre … de hecho, vale seis años. Veamos cómo lo gastó, en sus propias palabras:

    “Desde hace aproximadamente seis años, hasta ahora, no he hecho nada en el trabajo. No estoy bromeando. Por 40 horas a la semana, voy al trabajo, juego League of Legends en mi oficina, busco Reddit y hago lo que me da la gana. En los últimos seis años tal vez he hecho 50 horas de trabajo real. Así que básicamente nada. Y a nadie le importaba realmente. Las pruebas se ejecutaron con éxito. No te jodí, tampoco tenía amigos ni nada en el trabajo, así que nadie me habló, excepto mi jefe y, ocasionalmente, los desarrolladores del software que estaba probando “.

    Pero todo se detuvo en seco cuando TI descubrió que OP había estado automatizando su trabajo durante los últimos seis años. Fue entonces cuando OP fue oficialmente despedido.

    El problema real

    Si bien ser lo suficientemente inteligente como para automatizar tareas que requieren mucho tiempo es excelente, también puede ser peligroso para su carrera. No solo por el hecho de que probablemente lo despidan por automatizar su trabajo durante seis años completos, sino también porque tiende a olvidar cómo trabajar. OP continúa:

    “Después de seis años, ya ni siquiera sé escribir un buen software. Básicamente lo olvidé todo. Acabo de jugar League of Legends y no hice nada más. Sin embargo, me puse en forma, lo cual es una ventaja, ya que iba al gimnasio todos los días durante el trabajo. Pero no sé nada de programación ni nada más. Tengo 28 años, sin trabajo (aunque me dan tres meses de pago) y no tengo habilidades. Tengo alrededor de $ 200k en mi cuenta bancaria ya que todavía vivo con mis padres y vivo frugalmente, así que no me muero de hambre ni nada por el estilo, y definitivamente puedo mantenerme “.

    ¿Qué debería hacer OP a continuación?

    Con $ 200,000 ahorrados, sería fácil para OP tomarse un año de descanso y concentrarse en aprender las valiosas habilidades tecnológicas que lamentablemente perdió durante su tiempo jugando League of Legends . Cuando se trata de solicitar un nuevo trabajo, OP puede explicar la brecha del año durante las entrevistas explicando que quería tomarse un año libre para mejorar sus habilidades y mejorar su dominio de la tecnología antes de aceptar otro trabajo a largo plazo.

    Fuente: PayScale – Comparación salarial, encuesta salarial, búsqueda de salarios

    • Soy un gran fanático del fútbol. A menudo sucede que hay un partido de fútbol en vivo, pero también tengo trabajo que hacer. Así que me siento con mi computadora portátil para hacer el trabajo, pero termino cambiando al navegador para revisar las puntuaciones cada dos minutos. Para resolver el problema, se me ocurrió la idea de crear soccer-cli. Es una aplicación de línea de comandos simple para obtener resultados de fútbol en vivo, clasificaciones, resultados de equipos. Es de código abierto, échale un vistazo aquí architv / soccer-cli

    • Muchas veces cuando abro mi código de código fuente, me olvido de agregarle la licencia. Sin una licencia, todo el código es propiedad del autor y no puede ser utilizado por nadie. Entonces, para agregar licencia, cada vez que tengo que copiar la plantilla de licencia y agregarle mi nombre. Para automatizar el proceso creé harvey. De nuevo, es un CLI que administra y agrega licencia a su proyecto de código abierto. Está aquí: architv / harvey

    • Solía ​​participar en muchos concursos de programación en línea (todavía lo hago, pero no con tanta frecuencia). Estos desafíos ocurren en una serie de sitios web como hackerrank, codechef, spoj, hackerearth, etc. Cada vez que tenía que visitar cada uno de los sitios para ver si había algún problema de programación. Para automatizar el proceso, creé un agregador de desafíos de programación en línea de código abierto Challenge Hunt . Código: ChallengeHunt / challengehunt

    Esto fue en el día en que no pude enviar una VPN a la computadora de mi trabajo desde mi iPhone, por lo que ahora esta configuración está un poco desactualizada, sin embargo, aquí va …

    PARTE I

    Había escrito un script VBS muy extenso (esto era antes de PowerShell) que se ejecutaba a través de los registros de los servidores, y verificaba otras condiciones de falla para determinar posibles problemas en la granja de servidores que estaba soportando (conservé un historial muy documentado de todos los problemas que alguna vez he subido y escrito un script que resolvería los problemas automáticamente al reiniciar los grupos de aplicaciones, los servicios y si todo lo demás fallaba en el propio servidor).

    PARTE II

    También había creado una regla de Outlook (ejecutar un script) que ejecutaría una macro VBA (o un archivo por lotes, no lo recuerdo ahora), que a su vez lanzaría mis scripts VBS si se recibiera un correo electrónico con palabras específicas en el tema. Recibió (esta fue la parte más inteligente, supongo).

    El pago

    Recuerdo estar sentado en una reunión con mi blackberry sobre la mesa y todos los ejecutivos en la sala, y durante la reunión, recibimos un anuncio de que teníamos un problema de producción que afectó a mi área (yo estaba a cargo de la aplicación y el negocio En ese momento, les dije a todos que no era necesario que volviera a mi escritorio y que todo debería volver a la normalidad en 5 minutos.

    Todo lo que tuve que hacer fue enviarme un correo electrónico (mi cliente de Outlook se estaba ejecutando en mi PC) con las palabras “iniciar la reparación del servidor de almacenamiento automático”, que eliminó todos los trabajos atascados en los servidores de almacenamiento automático, borró las colas y reinició los servicios y me informó el estado de éxito por correo electrónico de nuevo (mediante el lanzamiento de un archivo por lotes que envió un correo electrónico usando sendmime.exe).

    No tenía precio ver la expresión facial de mi jefe en ese momento, cuando notifiqué a todos que el problema se había resuelto (tomó 3 minutos), por lo que el trabajo definitivamente había valido la pena.

    Ahora dirijo 3 departamentos (2 tienen que ver con la programación):

    1. Servicios de Integración de Sistemas (Application Virtualization)
    2. DevOps (Títere)
    3. Configuración de ServiceNow (CMDB)

    I’ve done a few other neat scripting setups (mostly for fun though), now involving Amazon Alexa, so now I just say the trigger keywords sitting in my office and let the “magic” happen 🙂

    Hope you enjoyed this story.

    Aclamaciones,

    One of my friend lost his mobile twice to pick-pockets while traveling in the metro trains. Being an app developer, I thought of helping him out through an app. Then I created this app called Pocket Sense which uses mobile’s proximity sensor to detect whether it is in user’s pocket or not.

    It works as follows:

    1. You need to download the app from Google Play Store at Pocket Sense – Android Apps on Google Play
    2. Set a delay time for the alarm to 5/10/15 seconds.
    3. Enable Pocket Sense Mode in the app before keeping it in your pocket while travelling in a public transport or passing through a crowded place where you believe the pick-pockets would steal your mobile.
    4. If you take out the mobile and unlock its lock screen within the delay time, nothing will happen.
    5. If someone else takes the mobile out of your pocket and didn’t unlock the mobile within the delay time (which they couldn’t do), the app will start ringing the alarm!

    The app was released 2 weeks back and accumulated more than 3000 downloads. Also the app got featured at Android Police’s new notable apps of the week section at 11 new and notable Android apps from the last week (4/11/17 – 4/17/17).

    Overwhelmed by this response, I am working on a new update which will provide few more cool options! If you like the app, give it a try on your mobile and let me know your feedback.

    PS : The app is just 2 weeks old, if you find any issues in the app, please comment below. I will look into it and fix it in the upcoming version!

    Torrent Download Automation

    As a TV Series lover, I had a habit of getting early to download my favorite episodes from torrents (specially for Game of Thrones, where spoilers are always a risk!).

    So I developed a simple python script to automate that job for me! And it has saved me a lot of time and frustration of getting up early just to download episodes.

    Now I know there could be lot of other (maybe better) ways to do this. But I personally took efforts in learning selenium specially for developing this script, so I am using it and proud of it!

    Without wasting much time, lets get started how it works.

    Simple algorithm of my script goes like this,

    1. Search torrent on popular websites (piratebay, kicka**).
    2. Get the magnet URL from there.
    3. Log in to torrent caching website and download the episode.

    Script in full working mode can be seen below,

    You can read more about it here techexploreweb.

    So you must be wondering how does this script help me download episodes at specific time, answer is simple, Linux.

    Linux is awesome and I love it, why Amit Bhandari’s answer to What is it that Linux can do but Windows can’t?

    So I have integrated this script along with the cron utility of Linux. You can google what cron utility is, its pretty amazing stuff!

    So I use cron job to fire this script at whatever time I want and my computer (like JARVIS) obeys me and does stuff for me! Its pretty cool, give it a try!

    Me encanta esta pregunta.

    Being a problem solver, I optimize whatever, wherever I can. That includes my lifestyle. I think that is where the main saving is.

    1. I keep the daily commute to 22 minutes.
    2. I don’t have a boss. I don’t waste time in
    1. doing things which clearly do not make sense to me. It saves me from stress. It helps me focus and achieve results much faster.
    2. writing weekly status reports on what I did last week and what I will be doing next. The irony is, if you are a hard working and motivated person, you do a lot in one week which means extra effort to write reports!
    3. doing any clerical work.
    4. meetings which add no value.
    5. política.
  • I do bills/renewals online wherever possible.
  • I anticipate what I will need in a week or two and use Amazon to get things delivered at my door step.
  • I maintain a TODO list for all outdoor tasks. Before leaving home
    1. I plan the entire tour to cover as many tasks as possible in limited time.
    2. I call the people I plan to visit to ensure they are going to be available.
    3. I use any unforeseen waiting time to finish next foreseeable activity (finish dinner if doctor is busy in a surgery)
    4. I plan where to park my car. Not all places have car parking.
  • I use Google’s Calendar to remind recurring tasks. Before I dismiss the reminder, I finish the task to avoid repeated reminders.
  • I am an introvert. Meaning, all 24 hours in a day are mine.
  • Thankfully, I don’t have to write code for any of the above 🙂

    I’ve only started learning Python 2 weeks ago (which is my second language, after HTML/CSS), so I’m very new at this.
    I just wrote a program for work to help me sort and track invoices. It is a time-consuming task because we receive hundreds weekly, and they are billed to one of our many entities owned by the parent company. They are all named in this convention:
    “BilledCompany_Vendor_Date_InvoiceNumber”. Part of my job is to write account codes on the invoices, track them in excel, and move them to their respective files sorted by vendor. It’s supposed to be a minor part of my job, but has been taking up almost half my workweek!
    I wrote a script that takes all files in a folder, splits the name into its separate components (ie company, vendor, date, and invoice number), and inputs these values into an excel sheet for tracking. Then the program moves the files into its vendor’s folder for storage.
    The only thing I’m trying to tweak right now is the input into an excel file. I currently have it set up that I manually change the starting row number every time it runs so it won’t override existing data, but I’d like it to automatically update so I can have it run daily without having to change the rows. I also eventually want to see if I can automate the account codes for recurring invoices. I’ll be perfecting this program as I keep learning!
    Here’s my code, but I have a few redundant lines because I wanted the output to show me a few steps along the way. It could also probably be condensed beyond these lines.
    – I took out the path names –
    E DIT 1/17/2017: Thanks to Mark Graves, I added sheet.max_row to solve my problem of pulling the row number. Now I am tweaking it to handle exceptions (such as when a vendor folder does not exist or improperly formatted file names). Thank you everyone for the feedback so far!

    import shutil
    import os
    import openpyxl

    source= os.listdir(“-“)
    print(source)

    path= “-”
    moveto_path = “-”
    files=next(os.walk(path))[2]
    print(files)

    names=([os.path.splitext(x)[0] for x in files])
    print(names)

    wb=openpyxl.load_workbook(“-/Invoices.xlsx”)
    sheet=wb.get_sheet_by_name(“2017”)
    rowNum=sheet.max_row+1

    for n in names:
    company, vendor, date, invoice_number = n.split(“_”)
    print (“company= %s, vendor= %s, date = %s, invoice number = %s” %(company, vendor, date, invoice_number))
    sheet.cell(row=rowNum, column=1).value=company
    sheet.cell(row=rowNum, column=2).value=vendor
    sheet.cell(row=rowNum, column=3).value=date
    sheet.cell(row=rowNum, column=4).value=invoice_number
    moveto_=moveto_path+vendor
    print(moveto_)
    print(path)
    shutil.move(path+n+’.docx’,moveto_+’/%s.docx’%n)
    rowNum=rowNum+1

    wb.save(“-/Invoices-2.xlsx”)

    I tend to automate everything which needs a certain amount of time and bores me. Especially when there are things where you could do a mistake by being bored doing it 😉

    I use AutoHotkey a lot. Like I don’t like to type my various email adresses when logging in to a web app or registering for some service. I use a autohotkey shortcut for that.

    For programming I do the same like when I code SQL or PL/SQL there are some things which you do always. Typing eg “Select * from”, inserting properly formatted documentation comments and stuff like that. Also I like it for often used but long to type identifiers like long database object names I always use.

    In the past I heired a big application where the former developers compiled them by loading a module in the IDE, compile by mouse click and later put the compiled objects in the location where they should be executed. It was a kind of IDE which does not do that for you… My first attempt was a simple makefile. It was not related to the used technology, but I thought mixing up best practices is a good idea. That worked very well so instead of say an hour compiling it took of course much less of my time.

    Later I changed that by building an ant build process including a file listener which is still in production use – after more than 15 years! It helps the developers which are now usually contractors to build the whole project without having to know the systems names and overall configuration.

    I found out they still use it because I now work in the company, which does the project work for my ex employer since a few years and I work next door to the team which now works on my old code. XD

    Of course I use shortcuts a lot. I hate mousing around for something you can get with a key-shortcut 😉

    At home I use a Logitech harmony for switching on/ off my Hifi system as it need usually 3 devices switched on with different IR codes.

    If I rip my (officially bought) CDs for NAS storage I use dbpoweramp to rip songs and code them in ALAC plus storing it in the folder structure they belong to.

    I would love to do some house automization like me and my wife are not home: heating goes to say 17 degrees in winter. Sadly that would need some investment and research in a combination of house automization stuff plus a little this and that to get it done.

    The overall idea is having more time for interesting and important stuff.

    I actually love to automate stuff, Python and JavaScript are my usual go to languages. Some examples are,

    1. To follow 20–20–20 rule[1] I wrote a python script which notifies me every 20 minutes to look at an object 20 feet away for 20 seconds. Also, to stand up from my desk every hour for 5 minutes.
    2. My laptop battery recently died just after an year of use, so I had to buy a new one. I did some research and found that 40–80% charge is the sweet spot for battery life. Hence I wrote a script to notify me to connect the charger if the battery goes below 40% and remove the charger if the battery goes above 80%.
    3. I suffer from privacy paranoia so I keep my VPN always on. But the problem with my VPN service provider is the connection frequently breaks exposing my real IP. So I wrote a script to stop my internet traffic and notify me as soon as the connection breaks.
    4. Our college network requires us to sign in to initialise a WiFi session, which is an actual pain to do every time. I wrote a script which checks the SSID I’m connected to, if it matches the college SSID, then launches a selenium browser instance in the background and logs me in. The script also refreshes the session just before it is about to expire.
    5. I have hooked a RPi to my TV to turn it to a Smart TV. I haven’t connected mouse and keyboard to it. So to troubleshoot the RPi, I use my laptop and VNC viewer. For this I need the local IP of the RPi. So every time my RPi boots, it send an E-Mail mentioning its local IP to my E-Mail address.
    6. I have another RPi which is just used for experimenting. Nowadays, its running a script to notify me every time a new user connects to my WiFi and disconnects that user if I don’t respond in next 5 minutes. This is just to make sure no unknown device is able to access the local network.
    7. I tend to research about random topics for hours, even days sometimes. So it happens often that I’m tired before the research ends. To counter the loss of open tabs in browser, I wrote a chrome extension to save the plethora of tabs as a session with a tag and gives me the ability to restore it whenever I want.
    8. This one was just for fun. Once a good friend of mine tried to spam me with WhatsApp emojis, the poor lady received 500 “U+1F595” 10 minutes later. Just used some GUI automation 😛 .

    Go automate, have fun!

    Gracias.

    Notas al pie

    [1] The 20-20-20 Rule: Preventing Digital Eye Strain