As a programmer, what tasks have you automated to make your everyday life easier? How can one expect to improve life through automated programming?

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 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 :P .

Go automate, have fun!

Thanks.

Footnotes

The 20-20-20 Rule: Preventing Digital Eye Strain


I find the idea of automation just fascinating. Here is a list of things that I've automated. It does make life easier but a computer doing stuff for you is oddly satisfying. Point 3,4 and 9 are my favorites.

  1. I hate it when someone messes with my PC or even enters my room, so whenever such a thing happens and there is motion in front of my webcam it automatically takes a picture! and I am emailed right away!.
  2. I'm somewhat interested towards history, like if I go to a monument or place I like to know about it. So what's better than Wikipedia to be your guide!. Whenever my GPS is near a place of historical importance, my phone automatically opens Wikipedia.
  3. I thrive on GoT/The Flash/BBT/Mr.Robot. and many more. And in India torrents are the best way. So whenever a new episode is launched, it gets automatically downloaded. In case I need to download a show that has completed it's season, I just have to type [Show Name ] + [Season x]. It will automatically sort the episodes and download them along with subs.
  4. Talking about torrents, based on IMDb ratings every month 10 great English movies are downloaded. But this sometimes doesn't work because of low seeds on their torrents.
  5. I love things related to space, so whenever NASA's Hubble Space Telescope uploads it Picture of the Day, my phone's wallpaper is set to that picture.
  6. Weather is quite predictable these days but we still need someone to remind us, I get a text message if it is going to rain tomorrow.
  7. Being an Indian ,we never buy things on MRP, we always look for a lesser price, so I did the same thing online, A script tracks the price of a product and keeps updating an excel sheet, whenever there is a good drop, I get notified that I should buy it.
  8. Whenever there is flash sale or a big billion day, a script automatically adds anything that has a great discount to my cart. This helps to buy the Redmi phones which get sold in 5 seconds, get an early invite to OnePlus phones etc
  9. Whenever I am in an incognito window , doing my horny business. The history is not recorded obviously but it has a time gap where nothing was done. So my script fills this gap with normal websites and random articles whenever I am incognito.
  10. Now there are other minor automations, like my twitter DP syncs with my Facebook DP, status is synced, tagged photos get stored into my Dropbox, If someone calls more than thrice my phone's silent mode is automatically turned off, whenever I plug in my earphone, the music player starts and plays any song,performs backups etc.

All these tasks are really easy to execute, you don't require much programming background to get them happening. Tools like IFTTT, on{x}, Tasker will help you But the real fun of automation is with programming scripts (VB,Java & PHP are a few to name). It's just in an idea phase right now but I intend to opensource all the cool scripts , Like a product. where even the most technologically challenged person can automate stuff.  Now you'd say the apps I mentioned above are already doing a good job, but hey! "Every Facebook has a MySpace & Freindster" 

Happy Automation! I will update the list in case I remember anything else :)


Text messages! I got tired of hearing "You never message me" from friends and family alike so I wrote a bash script which later on turned into an apple script that sends random messages to random group members at random times on random days. Its pretty random.

The messages constructs themselves twice a day using an of course randomized beginning and ending of a sentence. The sentences are dependent on the group type.

Family group - [mom, dad, grandma, aunt, uncle]

Beginnings - [Good morning/afternoon/evening, Hey {name}, I've been meaning to call you]

Endings - [I hope all has been well., I will be home later next month love you., let's talk sometime next week when are you free?]

So at 1:38 pm tomorrow it would automatically send: Hey mom I will be home later next month love you.

I also have a group for my lads, and of course a group for the ladies.

I'll get to responding to them later on, as long as they know that I thought about them during my day. That's what's truly important.

Now working on automating this monetary income, then we'd be great!

UPDATE!!!

Some of you asked me about the code for my automated text messaging script. Well to keep in the spirit of Always Be Coding I rewrote it for you and put it on GitHub, it's called Zen. Open source of course!

Future plans include making it a standalone desktop application and eventually a mobile app. If anyone's interested in something collaborative, I'm always open to suggestions. From the super novice to the coding veteran, everyone has something of value that they can add to any project.

The one thing I love most about software is the community and values that we embody. From tech enthusiast, all the way to algorithm professor, our community is tight! Always has been, always will be!

Keep Zen.


I have pretty much automated every mundane task of mine, but here I'll only share some of the interesting ones.

  1. I've a program that downloads TV series like Game of Thrones on every Monday morning automatically as soon as new episode is available.
  2. My crush wanted to buy a Xiaomi device, but was not able to purchase one because of flash sales. Every time she tried she only saw out of stock message on her screen. So, my programming skills helped me to impress her. I created a program to book N numbers of Xiaomi devices the moment flash sales goes live. Since then I've used that program to book multiple Xiaomi devices for my colleagues and friends.
  3. Being a programmer, I've to update my skills on a regular basis, which means updating my resume and also posting my resume on Job portals. So, I created a program, which does this updating job for me without my intervention. My program picks up my latest resume and updates it on every job portal I'm registered to.
  4. I use to pay my electricity bill after due date. This bad habit of mine became a pain to my pocket so I wrote a script that pays my electricity bill online automatically on every 25th. Now I never pay extra for late payments!
  5. Every freelancer knows that bidding on freelancing sites is quiet tough. You have to write a personalized proposal with correct bidding amount to get a project. So, to save my self from this hassle during my freelancing days, I wrote a script with an algorithm which use to automatically decide bidding amount and submit my proposal on every project of my specified category. This not only saved a lot of time but also fetched me some pretty good projects without my intervention.
  6. I'm a movie buff! So I have a program that downloads the entire movie release date from IMDB and downloads the movie automatically after they are released.
  7. I've a uncle who's a sales manager in an MNC and often juggles around with data and excel sheets. He use to be dependent on the data analyst to get the latest reports. After receiving the latest reports he use to waste his entire day filtering out the relevant information from that report. I automated that for him and now every day a new excel sheet with all the relevant data is downloaded on his system without even opening the browser.
  8. I love reading famous quotes. I have a program that downloads latest quotes from Famous Quotes at BrainyQuote and sets it as my wallpaper everyday.

When I was doing my internship last year, I got irritated with the phone calls from my juniors and their parents during JEE counselling.

  • Which college is better between x and y?
  • Which branch is better between x and y?

Sometimes I did not respond.

But I know internally, how it feels?

This is going to be a big decision of their lives and I remember how it feels when you do not know any senior worthy enough to help. How difficult it is to fill choices, we search on internet, go through opening rank and closing rank for about 2–3 days and most of the students fail to create a good choice list. There is nothing on web, which can help in this process. To make this more difficult, now government decided to create a single choice list for IIT, NIT and IIIT combined.

Think of complexity, total 92 institutes, 10–20 branch in each college.

I created this website to save time of seniors like me.

And make this choice filling task easy.


Ah! This is something I do on a regular basis. I always look forward to find a way to automate things which I have to/want to do but are repetitive in nature.

Let's start with newest first!

  • April 2017: I was addicted to StackOverflow platform during these times. I built a Messenger ChatBot that sends unread StackOverflow inbox and reputation changes to you.

    Motivation was to avoid needing to open app / website even now and then (from phone / desktop) to see whether your question got answered or answer got upvoted / accepted or whether someone replied to your question / answer.

    Stackb0t is down now but here's its GitHub repo
  • March 2017: At work, most of us need to fill timesheets on a regular basis. So, I built a timesheet filler script using a high-level browser automation library called nightmare. Though, script was meant for a particular timesheet webapp only (available on my GitHub tho!)
  • October 2016: I am a movie buff. I watch plenty of movies. But I had to google it (and then IMDb and all) every time I wanted to know about a movie.

    Solution? My first chatbot, Cinephi1e, it suggests movies, provides plot summary.. things like that. Say hi to get started! It uses a combination of TMDb and The Open Movie Database APIs to interact with you.

    Cinephi1e is live at m.me/cinephi1e (GitHub repo)
  • 2015: I used to follow a daily blog named F***ING HOMEPAGE. They used to post an image of the day which used to blow my mind everyday. So, I used to download the image almost everyday and have it as my desktop wallpaper. But, duh! That's so boring and damn repetitive, no?

    Solution: Built a NodeJS app that scraps the blog, gets the image of the day and puts it into a Google Drive folder everyday.

    Next, I pointed my wallpaper directory on windows to this drive folder and boom! I had image of the day in my wallpaper rotation :)

    Though, my app is currently inactive, but here's the collection of images it made during those days. And, GitHub repo.

    Also, one of my friends created A windows theme out the images collection.
  • 2014: There was a time, I was so addicted to Quora. I wanted to download some answers on my machine. So, I had built a chrome extension, Download Quora Answers, to have a download button on each answer/blog post we see on Quora.

    One of my friends had made a collection of amazing answers.

Answering again on Quora after long today.. Might have lost my charm :D

Anyway, good to share my stuff which could be helpful to others.

Peace! :)


Do students who go to private high schools do better in life than public high school students?

I gather this is directed at US & Canadian kids. In some coutries, only the privately-funded 4-yr high schools exist. It is totally within the individual student & his/her opportunities in life as to

Is China the most technologically advanced nation among developing countries?

China for all practical purposes , a Developed Country in many parts ( of course there could be pockets of under development) - It may be ranking low in Per Capita GDP or Human Development Index , but on many parameters it is developed.China

Should children take vitamins?

As long as they are eating a balanced diet, with plenty of fresh whole foods, and spent a reasonable amount of time out of doors so that their skin can make vitamin D, then there is no need for vitamin supplements.